Instant Python
PythonAnywhere is a hosting platform that lets you deploy Python projects online in a few clicks, using an online code editor and out-of-the-box environments with useful packages preinstalled.
A friend of mine was using it for a freelance project, so his non-technical client could deploy their code without learning a stack of professional dev tools like Docker, which would have been overwhelming for them. It looked like an interesting product, but when I dug in I found a few problems:
- The design and UX were poor and unprofessional.
- It mixed advanced features (like vim keybindings) with positioning as a teaching tool for beginners — an unfocused combination.
- Anaconda acquired it a decade ago and hasn't meaningfully improved it since.
I started on a prototype in my spare time and used it as a chance to work on AI-first development. The first version was completely vibe-coded. Progress was fast — I had a working page up in minutes, and showed the demo to a few people for feedback. But as I added more features (or revised old ones), the LLM got worse at implementing what I actually wanted, and I wasn't happy with its design decisions. The code was also getting harder to read. If I was going to have real users, I'd need to be able to fix live production issues myself — so I changed approach.
I made all the architecture decisions and left the AI to implement the details of individual features, and made the architecture more modular. The backend was built from standalone "services", each with a well-defined interface the rest of the app could plug into. The authentication service, for example, exposed an explicit contract other modules could rely on — so if I later wanted to swap magic-link auth for an OAuth provider, I could replace that one module and leave everything else untouched. This let me vibe-code new modules quickly without worrying as much about the LLM degrading the quality of the app as a whole.
PythonAnywhere also wasn't doing any marketing, which looked like an opportunity. To test that, I ran Google Ads against a landing page and got a good enough response on a small budget to think there was a real market here. I also used a keyword research tool to check there was genuine search intent and catalogued the related search terms.
That's where the project stands for now. One takeaway stands out: I don't want to build B2B SaaS — I want to solve deeper, more interesting engineering problems.