I’m a marketer turned dev. When I built my first SaaS 3 years ago, I went with ROR because it seemed like the ideal stack for a solo dev.
But with all the development in AI, I wonder, is it still the best choice? Most AI tools have JS or Python integration but the Rails ecosystem seems a bit behind.
But at the same time, a lot of the JS ecosystem feels all over the place.
So what tech stack should a solo dev use in 2025?
The ideal tech stack for a solo dev to use in 2025 is the one you are most comfortable with.
The ideal tech stack for a solo dev to use in 2025 is also the one that is most suitable to the problem that you are trying to solve.
Unless those two are wildly different from each other — such as one being Ruby and the other being Haskell — learning the same concepts that you already know in a new language takes a few weeks at best.
Personally I picked up Python for a couple of small LLM demos that I have given, but ironically the sample application is otherwise written in .NET (because I am most comfortable hacking GUI applications with .NET), with the Python parts being invoked as a subprocess.
Prototype the crappiest thing you can in RoR (if you're still happy to use it).
When you hit a problem ask people (most likely still doable as it's just REST api endpoints) and if not, possibly re-evaluate.
At worst you'll know if your idea is worthless (probably lol) and if the tools you used were good or not. Rinse-repeat.
Good luck!
Thanks! The thing is, I like ROR but I don’t love it. As in, I like it a lot better than full stack JS but it doesn’t feel quite right. That’s why I’m tempted to give Elixir Phoenix a try.
Is your goal to ship a product and get customers, or to learn a framework?
Both are totally valid, but they're somewhat orthogonal.
Getting customers is the main goal but I’m lucky enough to have an existing SaaS that pays the bills on autopilot so I can afford to learn and not get results nearly as fast.
I'll echo @ejs and say it depends, but I'm a huge fan of Laravel (https://laravel.com/)! The team recently released some updated starter kits (https://laravel.com/starter-kits) as well which are nice (Vue, React, and Livewire)
For the uninitiated, Laravel is an opinionated, "batteries included" stack that lets you get right to the meat of the application without spending time working on authentication, routing, html templating, and so much more.
There are also several (paid) resources the organization provides that allow you to get your app hosted pretty quickly (see Forge and Cloud).
Depends what you’re doing, but I think these are sensible defaults:
HTML/CSS/JS won’t go out of style (could use templates like Askama, utility classes like tailwind to speed things up)
Axum is a nice option for backend because it’s much less buggy than the Python/JS stuff
Redis / Valkey for a KV cache
PostgreSQL database
Whatever stack you are most comfortable using.
If all your integrations with AI are via HTTP API's then it does not matter what stack you choose, they all can call API's. Maybe some stacks will have pre-built libraries but really, AI like cursor, copilot or chatgpt can create an AI HTTP API library if that's what you're doing. If you are building AI/ML yourself then you'll have narrower choices of stacks.
If you choose a stack that is widespread and has been around for years, like ROR or python/django, then chances are AI will be better trained to be your helpful assistant that is sometimes wrong.
That’s a good point about the integration. I mostly need to make API calls and have an app that’s easy enough to maintain as a solo founder so it’s mostly a matter of finding the stack that feels right.
As usual, isn't the next question... "What are you trying to build?"
I build most projects in Elixir/Phoenix these days, but wouldn't flinch at ROR if you are comfortable with it.
Right now, an AI tool that generates mockups for branding agencies. But I’m still validating the idea so who knows. Ideally, I would like a stack that would work for most SaaS I may think of building. Tempted to give Elixir Phoenix a try. I briefly tried it a few years back and it just felt right.
>What are you trying to build?
Indeed. Not everything even has to be a "web app" in the first place.
> But with all the development in AI, I wonder, is it still the best choice? Most AI tools have JS or Python integration but the Rails ecosystem seems a bit behind.
The language you use has nothing to do with your ability to participate in "AI". Use what you know. 99% of working with this technology is making a JSON HTTP call to a chat completion endpoint. If your ecosystem supports HTTP and strings, you should be good to go.
As always, the answer is likely whatever tech stack you are comfortable with already.
Inevitably, your AI will get stuck and you will have to roll up your sleeves and dig into the problem. In what framework/language are you most quickly able to read (likely overly-verbose) AI code and dig into the root issue? The one you're most familiar with.
RoR, because it’s what you know. If you know something else better, use that.
If you’re calling out to AI tools, you’ll likely use worker processes and these can be in whatever language you want.
Don’t fall into the trap of selecting the perfect stack. Just get started and iterate. You’re already working against the odds enough.
ive been using Go + HTMX + Go Templates. So far ive like the experience a lot. i mostly chose this stack to learn Go better coming from a web dev background.
For me it’s been the same since 2017: TypeScript and Node. I occasionally need extra libraries for something highly specific like XTerm.js. I have so many personal libraries that cover so many common and edge cases that I can generally just reach into my personal library for 95% of what comes up and be running within 3 hours with a solution that scales well and achieves higher performance than the big frameworks.
I've recently been experimenting with Jumpstart Rails [1] in Cursor and it feels like a super power (coming from a generalist-but-mostly-spring-boot dev).
I'm really burnt out by the current state of JS, and the way rails 8.0 does server-side rendering feels like a complete breath of fresh air. The ability to just add slight JS functionality with stimulus and action cable seems like just the right level of abstraction for most web apps.
Django is the productive choice, choose it first and you won't have to reinvent it. Htmx pairs well, until you need something fancier. Postgres for data.
This is the correct answer. Pro-tip: use Django admin as a user facing interface in your prototype, then you won’t even need to write HTML templates, let alone client-side JS.
Just use TypeScript frontend and backend. For backend, use Node+Express+TypeScript. If doing anything in ML, create a service in Python, but keep application code in TypeScript.
If you are doing full stack development, this works much better. The npm ecosystem is amazing. You can create common libs, share types, don't have to context switch and all future developers can do some full stack.
This is the boring stuff, but works and scales.
I'm very comfortably leaning heavily into "local first," and "persistence last" with vite, preact, and peerjs. I'm honestly looking into hono.js literally because of that meme video, and because I like the idea of workerd. But the more I look into building out a hono app, the more I miss Rails.
I like Ruby on Rails + Postgres, GoodJob for background Jobs, sveltejs for complex widgets, bootstrap as CSS framework, vite for "compiling" the assets, deploy on Fly.io
As a lover of Rails, I’d vote that. It’s known as the single-developer framework.
It is a highly opinionated question. Whatever gives you the oomph to do things.
Generally speaking, typescript everywhere. LLMs know it quite well. If you are doing agentic work, you can do a FastAPI encapsulated python service.