Inspiration

Anyone trying to learn programming today hits one of two walls. Either the documentation buries them — a hundred pages before the first line of code. Or they let an AI write it for them and tell themselves: I will understand it later. They never do. The second wall is new, it is getting taller every month, and it is the one that worries me: a generation is learning to obtain code without ever learning to read it.

I wanted the thing in between. An AI that teaches interactively, inside a real code editor, holding your hand until you no longer need it — and then letting go.

What it does

AIssistant is a Python workshop for people who have never programmed. The editor, the terminal and the course material are free and unlimited — Python runs for real in the browser, not simulated. What is metered is the mentor, because the mentor is the only part that costs money to produce.

The mentor is not a chatbot next to the app. It receives the learner's actual file, the step they are on, and the exact instruction they are trying to satisfy. When it answers, it streams back word by word and then highlights the lines it is talking about, in the learner's own code. A beginner asking "what is the difference between print and return here?" gets an answer about line 5 of their file, not a definition.

The whole interface, the course material, the mentor and the error messages exist in French, English and Spanish. Python identifiers stay in English everywhere, deliberately: def, return and print are untranslatable English keywords, so half-translated code teaches a convention that does not exist in the industry.

The part I am proudest of: an AI that makes a spending decision

There is a second Gemini model in production that nobody supervises. When a user sends feedback, a gemini-3.5-flash-lite call reads it and returns a structured verdict: is it useful, does it describe a reproducible bug, is it abuse. Based on that verdict alone, the system grants the user mentor credits — up to a monthly cap. No human reads it first.

That is an AI taking a recurring economic decision, in production, with real money on the other side of it. It also solves a real problem: the people most able to tell me what is broken are the beginners who have no reason to spend their time doing it.

How I built it

A single Express service on Google Cloud Run (europe-west1, scale to zero) serves both the app and the API, so the mentor logic exists once. Gemini is called through @google/genai with chunked streaming, and every response carries an X-Mentor-Source header saying whether it came from Gemini, from an offline fallback, or from a local script — so the app can never quietly pretend the AI answered. If a call falls back, the credit is refunded automatically.

Python runs in the browser through Pyodide. Accounts and progress use Firebase Authentication and Firestore. Payments are Stripe Checkout with an idempotent webhook keyed on the event id, so a replayed webhook cannot double-credit an account.

The interface itself is generated: a pristine design export is never edited by hand, and a build script applies every change as an assertive string patch that fails loudly if its anchor is missing. That is what let a solo founder keep two AI coding sessions working in the same repository without destroying each other's work — twice during the final week, that assertion is what caught a collision.

Challenges

The hardest bug was not a crash. The guest credit badge showed a number inherited from the original design mock, and only became truthful after the first mentor answer — so a visitor was told they had 27 answers left and was refused on the sixth. Nobody reported it for weeks, because it never threw an error. It was found because a real beginner — my mother — tried the app alone and got stuck, and I read the code instead of trusting my own memory of how it worked.

Business model and where it stands

Learning is free. Only mentor answers are metered, because they are the only thing that costs money to produce. There is a free daily allowance, a €5.99 monthly subscription, and a €5 one-off pack. Unused paid credits never expire, and a month without use pauses a subscription automatically — a beginner who drops off should not keep paying.

Honest numbers, as the rules require. Revenue to date: €5.00, one transaction, collected on 8 August 2026 in live mode. That transaction was paid by me, with my own card, and is declared as related-party revenue. Third-party revenue: €0.00. It proves the chain works end to end in production — Checkout, signed webhook, credits delivered — and it proves nothing about demand. Costs over the period were €19.93, including €0 of marketing, declared explicitly. Net result: −€14.93.

I would rather show you a working payment and an empty customer list than a plausible number.

Current limitations, stated plainly

I would rather you read these here than find them yourself.

The mentor still speaks French inside the English and Spanish interfaces. The chrome, the modules, the lesson cards and the glossary all switch languages correctly; about thirty of the mentor's own scripted lines are hardcoded French strings in the source. They are located and listed. They are not fixed.

The lessons do not yet each carry their own starting code: every lesson opens on the same starter file and the exercise is described rather than pre-loaded. That is the work in progress right now.

My own audit rates 5 of the 25 modules as fully operational and 20 as partial, and 23 of the 77 milestones as verified end to end. One branch, "architecture", has no translations at all. Those numbers come from an inventory script that reads the application's real data; it is in the repository. I would rather hand you the measurement than a claim.

On a phone, the workshop shows a message asking for a computer rather than a shrunk-down layout. The conversational mobile mode exists in the code but is not finished, and a first impression only happens once.

And the weakest part, repeated because it matters: no third-party users, and the only euro collected is my own.

What's next

Distribution, which is the actual bottleneck — not code. The product is built and running; nobody knows it exists yet. The next step is putting it in front of teachers and beginners, one at a time, and watching them use it.

Built With

Share this project:

Updates