Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
JOHNWICK
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
My AI SaaS Tech Stack
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
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. [[file:My_AI_SaaS_Tech_Stack.jpg|650px]] 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 :) Read the full article here: https://shawhin.medium.com/my-ai-saas-tech-stack-c03b9a421f0e
Summary:
Please note that all contributions to JOHNWICK may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
JOHNWICK:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
My AI SaaS Tech Stack
Add topic