How we're applying AI to our software development workflow

Monday July 29th 2024 | 6 min read

How we're applying AI to our software development workflow blog post header image

In this post I'm going to share how Add Jam is leveraging AI to enhance our software development workflow as of July 2024, with a particular focus on our latest tool of choice: Raycast.

At Add Jam we're constantly seeking ways to optimise our software development processes. We're always open to adopting new technologies that can streamline our development workflow and boost productivity, whether that's our Ruby on Rails projects or React Native mobile apps we're always looking at ways to improve the process of making these products. Artificial Intelligence (AI) is really in the early days of impacting our day-to-day lives but has already made a profound impact on productivity when it comes to developing software and across our team we've been keen adopters of various AI services over the years such as Copilot and GPT. The rate of development is relentless and we're always evaluating our ways of working as of July 2024 we're using various AI models (such as Claude 3.5 Sonnet, GPT-4o) through Raycast on our Macs.

Applying AI in software development

Our journey with AI in software development began with GitHub Copilot, which we integrated into our code editors. Copilot has been good to us and helped us on recent projects like Attachment Bot and Property Tracker by suggesting code snippets, refactoring code, and helping us write boilerplate code more efficiently and that's across the various languages we use here at Add Jam such as Ruby, TypeScript, and the specific frameworks we use for mobile and web application development such as React Native and Ruby on Rails.

We then expanded our AI usage to include GPT models from OpenAI for various tasks such as code review, documentation writing, and problem-solving using it predominately through the Web UI (the mac app from OpenAI was only released in May 2024). We also actually developed some custom scripts to work against the OpenAI api to assist with tasks like translating our English internationalisation files (i18n) into other locales or automate writing copy for app store listings and release notes.

As AI tools evolved, particularly with the introduction of Anthropic's models, we recognised the need for a more unified and flexible approach to AI integration in our software development process. That's when we turned to Raycast.

One AI app to rule them all

We've previously discussed how Raycast boosts our productivity by replacing Spotlight, but its AI capabilities deserve special attention, particularly in the context of software development.

Key benefits of using Raycast for AI in software development

  1. Keyboard shortcut mapping: Raycast allows us to map AI commands to keyboard shortcuts, enabling our developers to summon AI assistance without breaking their coding flow. It sounds so trivial but having the assistant available in a couple of keystrokes across our work environment (not just in our code editors) is such a time saver.
Raycast ai ui
Raycast AI options
  1. Shared presets: We create and share AI 'Chat Presets' across our team, maintaining them in a git repository. What is a "Chat Present" you ask? It's pretty much like how you create a custom GPT on ChatGPT/it's your opening prompt to the model. With Raycast this allows us to configure which model we work against, set a creativity threshold and obviously set the content through a text block. Having these predefined, shared presets ensures consistency in how we leverage AI across different projects and team members.

    For example, we have an "Add Jam Rails" preset that sets the tone for AI models to consider our internal conventions and approaches, such as using RSpec for testing (rather than minitest) and ERB for templates (instead of HAML) in our Ruby on Rails projects.

  2. Model flexibility: I've mentioned this already and its a huge factor in why we're loving using Raycast. Raycast allows us to easily switch between different AI models, including those from OpenAI and Anthropic. Obviously GPT from OpenAI has taken the world by storm and for many has become synonymous with 'AI' to the point where AI starts and ends with GPT. However as of July 2024, we've found Claude 3.5 Sonnet from Anthropic to be particularly powerful for software development tasks to the point where its the default model in all our chat presets.

  3. Contextual awareness: Raycast's AI integration understands the application we're working in allowing for seamlessly paste responses directly into our active application such as code editors, word processors, browsers, and even communication tools like WhatsApp. There;s a browser extension too which allows the context of our current window to passed to the assistant.

  4. Privacy as a feature: Raycast prioritises privacy, ensuring that none of our inputs are recorded or used to train models - a crucial consideration when dealing with sensitive code and project information.

Real-world applications in our software development process

We've integrated AI into numerous aspects of our software development workflow:

  • Code Review: AI performs initial code reviews, catching common issues and suggesting improvements before human review.
  • Documentation Generation: AI assists in creating and updating documentation for our custom software solutions.
  • Problem-Solving: We consult AI for fresh perspectives on tricky bugs or architectural challenges in our web and mobile app development projects.
  • Test Case Generation: AI helps generate comprehensive RSpec tests, improving our code coverage and reliability.
  • Refactoring Suggestions: We use AI to identify potential refactoring opportunities, maintaining clean and efficient codebases.

Integrating AI into our software development workflow through Raycast has significantly enhanced our productivity, code quality and general level of output at Add Jam. As a small but highly productive software development company we're constantly refining our tools, services, process and exploring new ways to leverage technology such as AI to deliver better software solutions for our clients.

Are you interested in optimising your development workflow with AI? Or perhaps you're curious about how we can apply these advanced techniques to your project? Whether you're looking for Ruby on Rails development, React Native app development, or any other custom software solution, get in touch with Add Jam. Let's explore how we can leverage cutting-edge AI technology to bring your software ideas to life and drive your business forward.

If you're local to Glasgow and interested in AI we recommend getting involved with the ML Club meetup which has recently started back up. It's free to participate in and brings together some of the best AI practitioners in Glasgow.

Chris Sloey's avatar

Chris Sloey

Co-founder

Recent case studies

Here's a look at some of products we've brought to market recently

One Walk A Day

One Walk A Day

During lockdown we rapidly prototyped a health and wellbeing app using React Native then expanded on the concept and redeveloped using SwiftUI

Come Back Soon Tracker

Come Back Soon Tracker

Save money at Center Parcs with Come Back Soon Tracker. Get alerts if the price of a booking decreases and claim a refund with the Come Back Soon Price Promise.

Attachment Bot

Attachment Bot

Attachment Bot is a desktop app that automates finding, saving, and organizing your email attachments.

Let's work together

Add Jam is your plug in team of web and mobile developers, designers and product managers. We work with you to create, ship and scale digital products that people love.

Hello, let's chat 👋