Written by James Britt
A Rails feature rarely stops with the Ruby code. A booking form needs a usable layout, a controller needs tests, and a slow dashboard may need its database queries reviewed. AI tools can help with these jobs, though each calls for different instructions and checks.
For Ruby developers, a helpful assistant needs to fit the project they maintain. That means respecting the Ruby version, installed gems, test framework and choice of front end.
These eight tools cover design, coding, debugging and visual exploration. Flowstep comes first for teams deciding what a new Rails feature should look like.
1. Flowstep
Useful for: Designing interfaces for Rails applications
Flowstep is an AI UI/UX tool that allows you to create editable screens by describing the behavior you want in your screens and providing it with reference material. You can improve upon a design via conversation or edit individual elements right on its canvas. It also provides real-time collaboration and handoff capabilities with Figma.
For a Rails team, the starting point could be an appointment dashboard. Here is a brief you could try:
Design an appointment dashboard that includes a date filter, booking statuses, an empty state screen and mobile layout options. Include a cancellation confirmation screen.
The empty state matters. A populated table can look convincing while leaving questions about loading, validation failures and what a new user sees unanswered.
How the output fits a Ruby application
Flowstep supports exporting to React, TypeScript and Tailwind CSS. In a typical scenario where you have a Rails API connected to a React frontend, the export provides interface code to review and connect to your endpoints.
However, if you’re creating a Rails application that uses ERB templates and Hotwire, you’ll want to treat the design as a reference and implement it using your Rails templates, partial views and interactions that your app already uses. A React export is not an ERB template.
Regardless of setup, the Ruby application will still need to provide authorisation, data access and business rules. Verify keyboard navigation, responsive behavior and error states before calling the feature ready.
Flowstep is useful when a team needs to agree on screens prior to spending time building them. Its value for Ruby developers is helping make that handoff more concrete.
2. GitHub Copilot
Useful for: Ruby suggestions inside your editor
GitHub lists Ruby among the languages Copilot handles particularly well. Copilot offers code suggestions as you type and may assist with drafting repetitive parts of a change.
Some good starting tasks would be small Ruby methods, request specs or test cases which are similar to nearby examples. If the project uses Minitest, provide an existing test so the assistant can follow the style used in those tests.
Ask for specific behaviour:
Add tests for missing input, an empty array and duplicate records. Follow the conventions in the existing tests.
Then read what it provides. A generated test may pass because it replicates the assumptions made by the implementation. Review the expected result against the requirement, especially around nil values, time zones and database writes.
3. ChatGPT
Useful for: Debugging Ruby issues and evaluating design decisions
Ask ChatGPT to explain a stack trace, compare two implementations or turn a broad debugging question into a smaller investigation.
Provide the relevant method and error, the Ruby and Rails versions, and a description of what should happen.
Remove credentials and customer data from examples.
A useful request might look like this:
The Rails page generates repeated database requests when displaying associated data. Describe what kind of evidence I will find if I am experiencing an N+1 issue, and propose a modification that I can verify.
That leaves room to investigate before rewriting the query.
This Reuters report covers ChatGPT’s growth. For your Ruby project, judge the explanation by whether it holds up when you reproduce the problem and test the proposed fix.
4. Cursor
Useful for: Changes across a Ruby project
Cursor’s agent can search a codebase, edit files and run terminal commands. In a Rails project, that can help with a change involving a controller, a Ruby service object and their tests.
Start simple. Ask Cursor to show you how a particular piece of functionality already exists in your system before you add anything else to it.
Use project instructions to record conventions that are easy to overlook: follow the existing test framework, use the application’s authorisation pattern, and explain any proposed gem dependency.
For example, ask Cursor to take one calculation out of a controller and leave everything else intact. Look at the diff. Run the appropriate tests. Once everything looks good, expand your changes.
The new class still needs to preserve the application’s behaviour.
5. Replit
Useful for: Browser-based experiments around a Ruby project
Replit Agent can create projects and configure their environment. Its General Agent supports a broad range of languages and frameworks, although some setups need additional work.
Specify Ruby when asking Replit to create a project. Say whether you want a small script, a Sinatra app or a Rails application. Check the runtime and dependencies it installs.
A small CSV-processing tool with sample data makes a useful trial. Check that it installs the required gems, runs the Ruby program and produces the expected result.
A Rails application may also need a database, background workers and a deployment configuration. Confirm those requirements before treating a browser preview as proof that the full application is ready to run.
6. Tabnine
Useful for: Teams that need control over AI deployment
Tabnine offers cloud, on-premises and air-gapped deployment options. These give organisations choices about where an assistant processes their code.
For teams maintaining private Ruby gems or an established Rails application, deployment requirements can shape the shortlist before autocomplete quality does.
Try a few tasks with examples from your own codebase: a Ruby class, a test file and something that depends on an internal convention. Check which capabilities and model options are available in the deployment you are considering.
Keep the assessment practical. The suggestions should be useful, the assistant’s access to your code should be understood, and its output should be easy to review.
7. Codeium / Windsurf
Useful for: Checking the current tools behind a familiar name
If you remember Codeium as a free coding extension, look into the current Windsurf branding and support before installing it.
Windsurf provides an AI editor and coding assistance. Its plugins have different support arrangements, though. Current documentation puts several legacy plugins in maintenance mode and flags changes to JetBrains support. RubyMine users should pay attention to that distinction.
Check the supported path for your editor and the current plan limits. An old comparison promising every feature for free is not a reliable basis for choosing.
For Ruby work, try a method completion and a refactor in a small branch. See whether the suggestions respect the APIs, naming and test conventions already in use.
8. Midjourney
Useful for: Visual concepts for a Ruby product
Midjourney generates images from prompts and can use reference images to guide the result. A Rails team could use it to explore a landing page’s visual direction, an illustration or an onboarding screen.
Keep the brief tied to your product. You might want a quiet booking interface, an illustration for an empty state or a colour direction for a reporting dashboard.
The output is an image. Developers still need to build the interface, with real text, controls and navigation.
One possible workflow is to explore the visual direction in Midjourney, develop the screens in Flowstep, then implement the agreed design in Rails.
Choose Tools Around the Ruby Work You Actually Do
The attraction is easy to understand: skip repetitive work and spend more time on the difficult parts of a product. Community accounts describe that benefit, but they do not establish how much time a particular Ruby team will save.
Start with one recurring task. It might be writing request specs, investigating exceptions or agreeing on a screen before implementation.
Give the assistant enough context to work within your project:
- The Ruby and Rails versions.
- Relevant gems and existing examples.
- The test framework and commands to run.
- Expected behaviour, including failure cases.
- The front-end approach, such as ERB with Hotwire or React.
Measure the whole job, including review and corrections. A suggestion produced in seconds can still take time to repair if it adds an unnecessary dependency or misses an important condition.
Flowstep can help clarify the interface. Coding assistants can help develop and inspect the Ruby behind it. Choose the combination that makes your next change easier to understand, test and maintain.
