Startup update 7: cartesiantutor.com is live
Originally posted 2025-06-09
Tagged: cartesian_tutor, llms
Obligatory disclaimer: all opinions are mine and not of my employer
Progress update
Cartesian Tutor’s website is now live, although it really needs some polish and is still broken in a variety of ways. I don’t think I really appreciated how hard it is to get all the small details right, such that the final page has the right vibes.
A snapshot of all the fiddly productionization config stuff:
- getting the frontend to correctly redirect calls to /api/ to my backend
- setting up correct networking so my backend could access the database
- setting up a local VPN so I could access the database to run ad-hoc queries and database migrations
- getting auth working in prod mode (google OAuth2 login wanted me to register my app, etc.), needed a bunch of DNS settings to get login.cartesiantutor.com working
- docker, container hosting + deployment
- setting up passwords, api keys, secrets repository and getting those secrets into my backend app
Would I trust an AI to do this stuff without accidentally opening up my database/API keys/GCP account to the world? Hell no lol.
This week, I’m going to do a lot of polish and work on a proper user onboarding journey. Right now you just log in and you get dumped into the app; I need at least a basic intro, some onboarding (“Welcome! What are you hoping to get out of us?”), some callbacks to add their email to a mailing list for app updates, and of course, some basic billing integration! I’m also going to work on some landing pages + do some SEO.
I’m also giving a talk and presenting my app to some kids at my old high school this week. The talk is advertised as “Join us for a talk on the importance of a solid math foundation in your career, and a discussion on how AI is changing the future of education.” and I suspect the material will be more broadly relevant/interesting for the internet at large, so I’ll polish and put it onto a company blog or something.
Startup stack?
My prod stack is now:
- GCP-hosted CloudSQL database
- Docker container around FastAPI Python backend, deployed via Cloud Run, talking to the sql database + handling LLM calls
- Sveltekit frontend (with some server-side Javascript) hosted on Vercel, making API calls to my Python backend
I am also starting to appreciate why an entire parallel universe of Javascript-only stacks exist - the way I’m doing things is just a very heavily manual, yet scalable and easily lift-shift’d to another cloud provider if necessary, whereas a Javascript-only megaframework like Firebase, Vercel+Supabase, Lightsail, etc. basically automates all the fiddly stuff, although it costs 10x more at scale. If I did this again, I think I now know enough Typescript/Javascript that I would just go with one of these megaframeworks and figure out the migration path to a proper backend+frontend architecture if the app ever succeeds.