My wife is not a programmer. She opened a terminal, launched Claude Code on Opus — and two weeks later she was taking payments on a site where she had not typed a single line of code by hand. The service is called SignDog: it signs PDFs and designs company stamps. I sat next to her the whole way — watching what she asked the model for, where things broke, and the moment the project stopped being a toy. What follows is a layer-by-layer breakdown, from code to money.
Vibe coding: what it is, and how it differs from "ask a chatbot"
Andrej Karpathy put the term into circulation in February 2025. The idea: you describe in words what the result should be, and the model writes and edits the project files itself. You do not read diffs line by line — you look at the result in the browser and say what is wrong.
The difference from the familiar "ask a chatbot, paste the snippet" is fundamental, and it is not about code quality. A model that writes code sits in every chat window: it hands you a chunk of text, and after that you decide where to put it, what to rename and why it crashed. Claude Code works inside the project: it sees the repository structure, edits a dozen files at once, runs the build, reads the error and fixes it. What is left for the human is to look at the screen and say "the button is in the wrong place" — exactly what a human can do without training.
That is why vibe coding turned out to be available not to programmers but to people with an idea. The barrier stopped depending on knowing syntax — and "build a website with AI" went from a fantasy to an evening of work.
Two weeks to the first payment
The first version of SignDog had no stamps, no digital signatures and no blog. It did one thing: take a PDF, put a signature and a stamp on it, hand the file back — and charge for that. Everything else grew later.
The model picked the stack itself and explained why: Next.js on the front and back, Prisma as the database layer, PostgreSQL for storage. Nothing exotic — things that are abundant in training data and therefore get fixed on the first attempt. That it really is Next.js is visible from the outside: the server returns x-powered-by: Next.js and incremental-regeneration headers.
The biggest surprise was payments. Card acquiring is usually where hobby projects die: webhooks, statuses, receipts, repeated notifications, idempotency. She wired up the payment provider herself, in a dialogue with the model, in a single evening. The first payments arrived that same week.
She designed the pricing model herself too, and it is an honest one: the service is free but stamps a watermark on the document — plans of about $2, $4 and $8 for 30 days remove it. Ten percent of every payment goes to helping stray animals; that decision was made before the first dollar of revenue existed.

After that — one piece at a time
Once payments worked, the project grew in chunks, each one closing the bottleneck the previous one had created.
Blog and search landing pages. It became clear there was nowhere for traffic to come from. The service's first blog post went up on 4 March 2026, and thirteen separate pages followed, each aimed at a specific query: sign a contract, sign an invoice, certify a copy of a document, create a facsimile online. As of this writing the sitemap holds 44 addresses — 27 pages and 17 articles.
Its own analytics. Off-the-shelf counters answer "how many people came" but not "how many of them paid, and what did they do first". Claude wrote a custom subscription and usage tracking system — built around the owner's actual questions instead of an averaged dashboard.
Qualified electronic signatures. The most technical piece, and the riskiest one for vibe coding: a desktop crypto provider, the national signature standard, USB tokens, a signature embedded inside the PDF and a detached one in a separate .sig file. The result validates in the official government signature checker — meaning the signature is real, not a picture. A separate diagnostics page had to be built as well: the browser crypto plugin fails to start on users' machines roughly always, and without that page support would have ground to a halt.
The stamp editor. A layered vector editor: text curved along the top and bottom of the circle, frames with millimetre-precise offsets, guilloche and microtext against copying, a built-in catalogue of 1,600 images across 18 categories, automatic background removal for an uploaded logo, export to SVG and to PNG at 4,096 pixels. This is no longer "a little page thrown together" — it is a graphics editor in the browser.

More tools are planned — each new one closes its own search query and brings its own traffic.
The agent that runs the blog by itself
This is the part I like most. Writing an article a week by hand is impossible, so she asked Claude Code to build her an author.
The result is an agent that runs the full cycle on its own: it researches through Perplexity, pulls search-demand figures and picks the topic and headline from them, hands the writing task to Claude Sonnet 5 through our API, generates illustrations in Creative Lab, and publishes the finished piece. There is no manual step between "idea" and "published".

The logo is a neural network too: the signature-dog mark was drawn by an OpenAI image model. SEO and ad campaigns were set up in the same dialogue: semantics, meta tags, ad copy. Regular content and traffic — the thing that usually costs more than the development itself — ended up costing this project almost nothing.
What it costs: a hundred dollars and ten more per month
The direct expenses. The Claude Code subscription is $100 a month — that is the entire engineering budget. Running the agent (Sonnet 5 for text plus images) is about $10 a month on the GPTunneL API, charged by actual usage, with no monthly fee.
Two things worth separating here, because they get mixed up constantly. Claude Code itself is an Anthropic subscription, billed separately — an API key from us does not replace it. Everything around the development, though — the blogging agent, text and image generation, any script of your own — runs on a GPTunneL key, pay-per-use, no subscription. That is exactly how it played out here: the code is written inside the subscription, the content runs on our key.
For comparison: a service of this scope — front end, database, user accounts, payments, a crypto-provider integration, a vector editor — would in my estimate have gone to an agency for several thousand dollars and months of calendar time. Here the cost of an attempt dropped to a number you would not mind losing.
That is the real shift. The old order put money and a contractor between an idea and its test, so ideas got discussed for a long time first. Now it is cheaper to build it and look.
Where vibe coding breaks
The honest part, without which this would be an advertisement.
The model does not make product decisions. What to build and what to leave out, what to charge for, where to place the watermark so that people still use the tool but also buy it — a human came up with all of that. Claude answers "how" brilliantly, but "what" stays entirely yours, and the quality of the project is decided there.
"Without code" does not mean "without work". The terminal, git, environment variables, API keys, database migrations, deployment, the domain, company registration, a business bank account, terms of service — all of that still has to be understood and done by hand. Vibe coding removed the programming skill, not the labour.
The pieces you cannot check with your eyes are the hardest. Layout is instant feedback: it looks wrong, you say so, it gets fixed. Whether a detached signature is correctly formed under the standard is invisible — there you go in circles with a real token and an external validator. Money is the same: acquiring webhooks cannot be accepted on vibes, they have to be run through test payments.
One more thing: the bigger the project, the more it matters that the model holds all of it at once. The million-token context window in Opus 5 is not a line in a price list — it is the difference between "edits one file" and "edits a feature across the whole project".
What to do with this
If you have an idea sitting around — a site, an app, a small service — that never had a programmer for it, this is the best moment to test it. Not "learn to program": pick up the tool and describe in words what you want. And start not with the whole product but with the single screen you need right now — for SignDog that screen was a PDF upload.
The models all of this runs on are here: Claude Opus 5 and Sonnet 5, pay-per-use, no subscription. One key covers the code, the copy and the images for your future blog. Check the pricing and create a key — the rest will grow in pieces, the way it did for SignDog.



