How it was built
One person, two AIs, and a log of who decided what.
Minimal PDF started as one prompt on 15 September 2026. Claude wrote the code, Grok checked the plan, and Federico Etinger decided what shipped. This is the log, including the things that went wrong.
Federico Etinger
- The problem worth solving
- The seven rules and the look
- The name
- Which features ship and which wait
- When it launches
Claude, by Anthropic
- The app's code and its tests
- The PDF writer and its test harness
- Market research and the launch plan
- The release pipeline and installer
- This website
Grok, by xAI
- Design review and risk register
- Competitive research
- A first prototype of Minimal AI
- Standing bots that watch the launch, draft package manifests and audit this site
The log.
Dates are when the work happened, in New York time.
One prompt, one working viewer
A search for a minimal, up-to-date PDF viewer for Windows found nothing that fit, so he asked Claude Code for one. The first build was 753 lines of C# on WPF and .NET 10, drawing pages through the PDF engine inside Windows, with no third-party code. It was tested by screenshot against 3-, 60- and 500-page files, rotated pages, Unicode file names and broken files. The review found one crash, fixed the same day.
A plan before a launch
A go-to-market plan covered the market as it stood (SumatraPDF, Edge on Adobe's engine, Acrobat, Foxit), the seven rules, the channels and the dates. Three medium bugs from the review were patched: a badge that never faded, the wrong message for password-protected files, and a render loop that could run twice.
A second opinion
Grok joined as co-developer. Its long research runs produced a design review, a risk register and a competitive check. Three standing bots took on the launch watch, the release drafts and the site audits. The review also changed the site: no mock-ups as the hero, only real captures.
A working name, and highlights
The working name Terse was chosen after trademark, domain and app-store checks. Highlighting was built: words from the OCR engine inside Windows, highlights saved into the PDF as standard annotations. The writer was tested against classic, cross-reference-stream, linearized, rotated and 500-page files, and every result passed qpdf's structure check.
A review before strangers use it
A second code review, run by a Claude session that hadn't written the code, found ways the highlight feature could change or lose data. A drag meant to pan could write to the file, and closing the window mid-save could drop a highlight. So highlights moved to 1.1, and 1.0 ships read-only. The release pipeline, installer and this site were built the same night.
The name it already had
The folder and the project file had said MinimalPdf since the first day, and that is what he kept calling it. So the working name was dropped. The viewer is Minimal PDF, the line is Minimal Software, and the site lives at minimalsoftware.org.
What it shows
AI did the typing. A person held the line.
Almost every line of code here was written by an AI, and that's the reason this page exists. It also shows where a person still matters: choosing a problem that's real, holding to rules that make the product what it is, and deciding not to ship a feature that wasn't safe yet.
The source goes public with the first public release, so you can judge the result yourself.