Picking the right tool for a task can be the difference between it taking minutes vs hours. When it comes to building an AI SaaS, however, there are so many tools to choose from that figuring out where to start can be overwhelming. In this article, I share the tech stack that I'm using (as an ex-data scientist) to ship AI products.

Although it's never been easier to build an AI SaaS, it's not a lack of tools that holds founders back — it's being overwhelmed by them. Every month, it seems there is yet another new tool, technique, or model that captures the tech news cycle.

But here's what I've learned. The most successful solo founders aren't the ones using the latest shiny tool. They're the ones who build with what they know and move faster than everyone else.

Here, I'll share what that looks like for me as someone transitioning from data science to (solo) product development. My goal isn't to say this is the best stack to use, but rather to share what's worked for me in case it helps those coming from a similar background.

My apps: y2b, Ghst

Language

Python

My dilemma when building my first AI app was that I had no experience with the standard web development tech stack (e.g., HTML, CSS, JS, Typescript, React). I only knew Python.

So I had two options: spend months learning them or figure out how to use Python to build websites. In keeping with the advice "build with what you know" from supreme indie hacker Pieter Levels, I went with the latter.

But how? Cue FastHTML.

Frontend

FastHTML

FastHTML is a Python library that lets you build modern web apps. You write all the code in Python, and then FastHTML takes your code and translates it to the HTML and CSS that all Internet browsers understand.

One of the upsides of FastHTML is that you can combine it with most front-end tools e.g. Tailwind CSS and daisyUI.

Tailwind CSS

Tailwind is a CSS framework with custom classes that help you build modern websites faster. Many UI component libraries have been built on top of Tailwind so if you're not a front-end developer (like me) you can use one of those to make your life easier.

daisyUI

The UI component library I use is daisyUI. It comes with pre-built themes and components, which have allowed me to build web pages (like this) that aren't hideous without being a designer.

Backend

FastHTML

Another upside of FastHTML is that you can use it to build both your frontend and backend. It works a lot like FastAPI, so you can add a @rt() decorator to regular Python functions to turn them into webpages or endpoints.

OpenAI

A critical part of your AI app is the model you use to power it. I'm currently using OpenAI's API, which comes with all their models (of course), easy agent tool integration, structured outputs, and automatic logging.

SQLite

For storage, I use SQLite, a lightweight (i.e. fast) database that lives in your application's directory. While this isn't a scalable solution (>10,000 users), if I am lucky enough for this to become a problem, I can always do a database migration to something more scalable.

Until then, sticking with SQLite allows me to keep things simple, cheap, and fast.

Development

Cursor

If you're not using AI to help you code, you are moving 5–10X slower than you would otherwise. While there are many ways to do this today, I'm currently using Cursor, an IDE that integrates AI directly into its UI.

uv

For the longest time, I used pip and Python's native virtual environments to manage Python projects. Recently, however, I've made the switch to uv, and my quality of life has improved.

Not only is it (very) fast, it also automatically keeps a detailed record of your project's dependencies so you never have to worry about reproducibility (especially when pushing to prod).

Jupyter Lab

A key part of getting AI systems to work is experimentation. For this type of work, I like Jupyter notebooks because they make it easy to explore and iterate on system design choices.

While you can run Jupyter notebooks in Cursor (and most IDEs), I personally prefer the Jupyter Lab user interface (probably because I've used it so much).

Deployment

Railway

Railway is an infrastructure platform that makes it easy to host your apps in the cloud. After struggling with GCP and AWS, Railway finally felt as simple as I always thought the cloud should be.

GitHub

Railway (like many other infra services) makes it super easy to deploy an app from a GitHub repo. This makes my workflow super smooth:

make changes locally --> push to GitHub --> auto deploy to prod

Services

Canva

While Canva is not a development tool, it is a key part of my tech stack. Before writing any code, I do two things in Canva.

  1. Create a brand template i.e., design logos, pick fonts, and colors
  2. Create front-end mock-ups

This allows me to iterate much faster on design compared to trying to do it with code. Additionally, once I have a website mock-up, I can give it to an LLM (via Cursor), and it will typically provide a good starting point for implementation.

Cloudflare

I use Cloudflare to register and manage my domains. They sell domains at cost (many sites don't) and make it seamless to connect them to your hosting platform.

Kit

Kit lets you create and manage email lists. Since I was already using it for my personal newsletter, I decided also to use it for my next AI app's waitlist.

Stripe

For accepting payments and managing subscriptions, I use Stripe. It is the most popular payment processor I've seen for SaaS founders, and I was already using Stripe for other ventures, so using it was an easy choice.

Google Analytics

To track how users interact with my app and where they are located, I use Google Analytics. It's a free tool that I've used on my past websites, allowing me to have all my site analytics in one place.

Conclusion

The secret to success in SaaS is finding a tech stack that aligns with your experience and sticking to it. This allows you to build and iterate as quickly as possible.

Here, I shared what that looks like for me as someone coming from a data science background. While there are endless tools to choose from, I hope this article gave you some ideas of what your ideal stack might look like.

If you have any questions about these tools (or suggestions for me), please let me know in the comments :)

💻 Get 30 (free) AI project ideas: https://the-data-entrepreneurs.kit.com/30-ai-projects