Roamzy.io
RU · EN · ES · PT · TR · ZH
Launch story · 2026-05-06

Made by 1 person
+ AI.

Production SaaS. Site + admin + biller + RSP integration + crypto checkout + 193 countries. Three days. Zero engineers in the room.

The Question

Can you ship a production SaaS
in ~72 hours
for nearly $0?

No engineering team. No frontend dev. No backend engineer. No QA department. No dedicated DevOps. One person with product vision — and AI as the co-builder.

"That's impossible"

The classic playbook: a stack like this needs 4–6 people for 3–6 months, tens of thousands of dollars in build cost, separate rounds for security audit and load testing, plus another month for biller, RSP and crypto-acquirer integrations.

What has to work on day-1 to call it "production"

Wait —

Already done.

Open roamzy.io · sign in · your first eSIM comes with $0.50 of data on us

roamzy.io →
FIRST eSIM ON US

See it work before you pay · no card, no code

The Build

What's actually live
in production right now

Figures as of 7 October 2026.

56
DB migrations
6
Locales
193
Countries
6
Live integrations
13
Health checks
1623
Tests in CI
~3
Days from zero to ship
$0
Engineering payroll

Frontend
  • Public site — Vite SPA, 6 locales, hreflang-correct sitemap, 193 country landing pages with local pricing, hero photo, FAQ and structured data
  • Dashboard — real-time eSIM status, balance, history, per-country spend minibars, install modal with device info
  • Admin SPA — code-split (41 KB gzip), 11 sections, 67 buttons audited, Russian-only for the operator
Admin
  • Users — list, drawer, suspend/whitelist, impersonate-as-user (magic-link + 30-min cap + write-block)
  • eSIM — full lifecycle, ICCID/IMSI/MSISDN copy, balance reconciliation with the biller
  • Payments — refund (with cap + 2FA step-up), on-chain refund, NowPayments status sync, simulate-IPN
  • Reports — overview, clients table, per-client drawer, CSV+JSON export
  • Marketing — UTM analytics, promo codes, A/B experiments scaffold
  • System — Health (11 checks), Errors, Audit log, Pool, Tickets, SEO meta editor (Variants B+C)
Backend
  • Stack — Fastify + better-sqlite3 + drizzle-orm, single Fly machine, Litestream → R2 backups
  • Auth — Google OAuth, Telegram Login Widget, Telegram Mini App, dev-login (gated to non-prod)
  • Security — bcrypt-12, 2FA TOTP + recovery codes, per-account login lockout, idle-timeout, SameSite=Strict, HSTS-preload, Permissions-Policy
  • Reliability — busy_timeout, WAL, indexed queries, unhandledRejection handler, request-level rate limits
Integrations
  • Venta (biller) — clients, contracts, services, tariffs, /payment/topup, /payment/refund, traffic-sync cron every 12 min
  • EsimPlatform / RSP — getProfileByIccid: status, device (Apple iPhone 15, etc.)
  • NowPayments — invoice, IPN with HMAC-SHA-512, /v1/refund chain-refund, /v1/payment/:id status sync
  • Telegram — login widget + mini app + /id bot + alerts (chat_id list)
  • Litestream — continuous SQLite replication to Cloudflare R2
  • Search Console — a sitemap index per language; IndexNow for Bing/Yandex after every content change
Quality
  • Security audit — 20 findings, 1 CRITICAL + 5 HIGH closed before launch (INDEXNOW, login lockout, CSRF, refund step-up, dev-login gate)
  • Reliability audit — 25 findings, 5 RED closed (ledger index, OOM-killers in /me/stats and /admin/reports/clients/:id, busy_timeout)
  • Cleanup audit — 34 findings, dead code archived (no losses)
  • i18n discipline — sweep across user-facing hardcoded strings, 5 locales, keys everywhere
The Cost

What did this actually cost?

Human · Artur
  • Time — about 3 days of focused work, plus late-night iterations
  • Lines of code written by hand — 0
  • Role — product vision, decision-making, copy for UI/SEO, operator-grade acceptance of every feature, debugging the real flow
AI · Claude
  • Time — roughly 30+ hours of active session
  • Lines of code written — several thousand (migrations, routes, frontend, CSS, mental tests, docs)
  • Role — implementation, audits via subagents, migrations, deploys, debugging, docs, i18n sweep, security hardening
External
  • Hosting — Fly.io shared-cpu-1x · ~$5/mo
  • Storage — Cloudflare R2 (Litestream) · free tier
  • Auth providers — Google OAuth · free
  • Payment processor — NowPayments · % per transaction (no fixed fee)
  • Domain + DNS — Cloudflare · ~$10/yr
Total
  • Capex — $0 build cost, minus the Claude subscription
  • Opex — <$10/mo infrastructure up to the first 1k DAU
Timeline

How it came together

Day 1 · 2026-05-04
  • Production live at roamzy.io · Fly app · custom domain · TLS
  • Frontend + backend + DB · 18 migrations · 5 locales · 193 countries
Day 2 · 2026-05-05
  • eSIM pool import (xlsx → CSV → DB) · IMSI backfill · pool-first reservation
  • Admin tooling — users, eSIMs, payments, reports
  • NowPayments coin whitelist (11 stablecoins, no ETH mainnet)
Day 3 · 2026-05-06
  • Morning — Venta E2E success: a real $20 hit the main balance
  • Afternoon — full audit (security + reliability + cleanup) → fixed everything found
  • Evening — admin impersonate, eSIM rename, RSP status, bundle split, refund modal, NP /v1/refund + status sync, partial-refund cap, footer reorg, SEO Variants B+C
after launch

The part that turned out
to be more interesting

Everything above is still true — it shipped in three days. What follows is what happened after, and it is the half that surprised me: the product built by one person and an AI is now bought by AI.

Not "has an API". An agent can discover Roamzy, open an anonymous account with no human in the loop, check per-country rates, pay in stablecoin, receive the eSIM, and earn a referral share — without ever asking a person to fill in a form. That is a different product from the one this page originally described.

Figures as of 7 October 2026.

12
MCP tools, anonymous
1604
Published URLs
1623
Tests, 148 files
493
Commits

What was added

What running it actually taught me

Shipping fast was the easy part. The expensive part was everything that only shows up once real money moves through the thing — and the honest lesson is that AI does not remove the need for rigour, it moves where the rigour has to live.

None of that contradicts the headline. One person plus AI really did ship this in three days. It is just that shipping was day one, and every day since has been about earning the right to keep it running.

August 2026

The channel that turned out
to be the only one

Something shifted in the last week, and it is worth writing down honestly, because it was not what I expected.

The remote MCP endpoint is now in the official MCP Registry, on npm as @roamzy/mcp-server, and carried by Cline's marketplace, Smithery, Glama, LobeHub and mcpservers.org. A sixth locale — Chinese — went live across all 193 country pages and the entire blog.

Here is the part I did not plan. Every external link this site has ever earned came from that side: developer catalogues and GitHub. Not one from travel media. The machines found the product before the people did — which is either a distribution strategy or an accident, and I am still not sure which.

"Made by 1 person + AI" isn't marketing.
It's the technical truth.

Open roamzy.io · your first eSIM comes with $0.50 of data on us — see it work before you pay.

— Artur & Claude · 2026-05-06, updated 2026-10-07