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:

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.

The Instant Python dashboard, showing project stats, deployment status, and a table of deployed projects with their frameworks and last-deploy times.
The dashboard after the rebuild — projects, deploy status, and stats running on the new modular backend.

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.

Waitlist landing page reading 'Your Python app, live in 5 minutes', with an email signup and a 'Join the Waitlist' button.
The waitlist landing page I ran Google Ads against to gauge demand.

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.