Build1 publisher3 min readPublished
AI built the store in weeks. Production itemised what the apprenticeship would have cost
A solo operator with no engineering background shipped a paying eSIM store, then published six failures. Not one of them was a coding problem.
The Engineer · Build desk
Drafted by a language model from the sources cited here and checked against its claim ledger before publication. How we use AISend a correction

What happened
- The author states he is not a developer, runs a product with real customers and real money moving through it, that AI wrote most of the code, and that he got there in weeks.
- The author spent ten years in travel and aviation as a product manager (booking funnels, GDS integrations, checkout tests) and a few years ago completed a full-stack bootcamp so he could argue with engineers in their own vocabulary, coming out able to build things slowly and badly.
- In early 2026 he started a travel eSIM store: web app, mobile app, backend, his own catalogue, 190 countries, 25 languages, run alone.
- First paying order was on June 14, and since then he has had customers in 21 countries, most in markets he has never marketed in; the volume is small but the money is real and moves through the same rails a large store uses.
- He shipped a working store in weeks instead of the six months four people would have needed, and says that part of the AI productivity claim is true and he is not arguing with it.
Compiled by The EngineerSomething wrong?How this is made
Why it matters
A product manager with ten years in travel and aviation and no engineering job history has published an itemised list of what production charged him for skipping the apprenticeship [2][13]. It is a useful document because the argument that AI ate the junior curriculum has mostly been made by seniors describing what juniors are no longer learning [14], and this is the same ledger read from the other end.
The setup, per his account: a travel eSIM store started in early 2026, web app, mobile app, backend, own catalogue, 190 countries, 25 languages, run alone [3]. AI wrote most of the code and he had a working store in weeks rather than the six months he estimates four people would have needed [1][5]. First paying order on 14 June, customers in 21 countries since, most of them in markets he never marketed in [4]. He is explicit that the volume is small and that he is not disputing the speed claim [4][5].
Then the itemisation. Stripe took money and no matching order existed; the webhook was configured and fired, something downstream consumed the event, and he learned about it from a customer rather than a dashboard [6]. He now runs an hourly reconciler that walks recent charges and checks each has an order [6]. PostHog showed roughly half the purchases his database had rows for, because the event fired in the browser on the confirmation page and half his customers pay and close the tab; he ran on a reported 3% conversion rate for weeks when the real figure was 16% [7], an understatement of about 5.3 times [8]. The function resolving a customer's language defaulted to French when it could not find one, which was most of the time, so Japanese and Brazilian buyers got French confirmation emails; nobody complained, they just did not return [9]. Turning on Cloudflare bot protection served challenge pages to the server-to-server webhooks his eSIM suppliers use, orders sat in limbo, and his test suite did not catch it because the suite does not run through the CDN [10]. Next.js wrote incremental static pages to a small ephemeral host disk until the disk filled and the site stopped serving [11]. And he launched on a flat markup, then did the arithmetic on supplier cost, card processor percentage, fixed fee, EU VAT and refund rate, and found the fixed costs consumed the entire margin on small orders: a three euro sale lost money [12]. He rebuilt pricing around net profit per order and added a small-order fee [12].
Six failures [15], and his own reading is that none of them is a coding problem and no function in the list was written wrong [13]. What the list actually inventories is distrust of a webhook you can watch fire, knowledge that client-side events undercount, suspicion of a framework default before it bites, the understanding that a security control is an integration change, and the habit of reading unit economics before setting a price [16]. That is the specific content of the grunt work, stated as consequences with dates and figures attached rather than as a complaint about kids today.
What to watch is the shape of the bill rather than the total. Five of the six failures sat at a boundary between his system and someone else's, and the sixth was a default inside his own framework [6][7][9][10][11][12]. That is the load AI code generation does not reduce, and it is the load that gets discovered by customers when nobody on the team has been paged before. Worth tracking whether the reconciler-and-audit pattern he arrived at reactively starts showing up in AI-assisted builds as a default rather than a scar.