About Kiroku - automated photo-book platform
Upload a camera roll, get a printed photo book. 540 tests, pre-revenue.
WHAT IT IS. A complete consumer product, not a prototype. Live at kiroku.it (marketing site) and app.kiroku.it (application), running continuously since 13 July 2026. THE FLOW. Pick a format, upload photos in any order from a phone with no account needed, and a deterministic composer discards near-duplicates, orders the moments by capture time, chooses a varied page rhythm and builds a collage cover with a spine width computed from the printer's own formula. The customer swaps, crops, re-lays out and retitles with full undo/redo and a live price, then pays. The system exports PDF/X-4 at 300 DPI with bleed, split into cover and book block with md5 checksums, and submits the order to Cloudprinter over API. Webhooks bring back validation, shipping and tracking, and the customer is emailed. A book that fails pre-flight is never shipped and the payment is refunded automatically. WHY THE ENGINE MATTERS. It is deterministic, not generative: same photos in, same book out. That is what makes the on-screen preview a true promise about the printed object. One millimetre-accurate page structure drives the preview, the editor, the quality check and the final render; a page is never flattened into an image. 92 unit tests cover the engine alone, including determinism and page rhythm across every photo count from 2 to 150. WHAT IS BUILT. Automatic composition, editor with undo/redo, PDF/X-4 export, pre-flight checks, Stripe Checkout with refunds and idempotent retry, the print integration (two sandbox orders accepted, the full return path verified), 7 email templates, a complete admin back office (orders, refunds, customers, catalogue, queues, audit log), guest checkout, encrypted backups, health probe, structured logging. WHAT IS NOT. EUR 0 revenue, 0 customers, 0 real orders. Payments run in mock mode and products carry a developmentOnly flag - deliberately, to prevent an accidental sale by someone with no legal entity. No physical proof copy exists (about EUR 20 and a week to fix; do it first). The seven legal pages are written but the operator identity fields are blank, because they belong to the buyer. No marketing, no SEO, no traffic, no mailing list. ECONOMICS, measured against the printer's real quotes. EUR 29.90 per book shipping included, flat across 24-180 pages; extra copies EUR 14.90. Landed cost EUR 14.40-18.49; margin EUR 6.20-7.55 per copy between 24 and 52 pages. Infrastructure EUR 20-40 per month - the platform pays for itself at five or six books a month. STACK. pnpm monorepo, strict TypeScript, Next.js 15 / React 19, Node worker on BullMQ, PostgreSQL 17 with Drizzle (21 migrations), Redis, S3-compatible storage, Sharp, better-auth, Stripe behind a provider interface, Resend, Docker Compose. 378 unit + 141 integration + 21 end-to-end tests, all green. About 4,100 lines of documentation, 32 architecture decision records, and an engineering journal of every production incident. INCLUDED. The domain kiroku.it with the app subdomain and DNS zone (note: the .it registry restricts holders to the EU/EEA, Switzerland, Norway, Iceland, San Marino and the Vatican), the private GitHub repository with full history, the brand (name, logos, visual identity, product photography), the Cloudprinter account and integration, working configuration for Stripe, email and storage with all keys rotated at handover, the full documentation set, and a documented handover with an architecture call and 30 days of email support. NOT INCLUDED. The current production server (the buyer deploys their own - three Docker images, one Compose file, one migration step, documented for someone who has never seen the system), my legal entity, and any customers, traffic or revenue, because there are none. TRY IT. app.kiroku.it/account with demo@kiroku.it / KirokuDemo2026! - two books already composed, checkout reachable, mock payments, nothing printed and no money moves. Or upload your own photos at app.kiroku.it: about three minutes, no account needed. REASON FOR SELLING. I built it to completion but I am not in a position to operate a consumer retail business. It needs an operator with a trading entity and a channel, not another developer.
For sale
Asking price: $14,900 USD
What's included
Domain name, Source code, All related data, All related design work
Included: the domain kiroku.it with the app.kiroku.it subdomain and DNS zone (the .it registry restricts holders to the EU/EEA, Switzerland, Norway, Iceland, San Marino and the Vatican); the private GitHub repository with its complete history, 32 architecture decision records and the engineering journal; the brand - name, both logo variants, visual identity, design tokens and product photography of the three book formats; the Cloudprinter account and its integration, transferred or recreated in the buyer's name; working configuration for Stripe, email and object storage, with all keys rotated at handover; the full documentation set including the deployment runbook; and a documented handover with an architecture call and 30 days of email support. Not included: the current production server (the buyer deploys their own - three Docker images, one Compose file, one migration step), my legal entity, and any customers, traffic or revenue, because there are none.
Reason for selling
I built it to completion, but I am not in a position to operate a consumer retail business. Kiroku needs an operator with a trading entity and a channel - not another developer. I would rather hand it to someone who has both than let it sit deployed and idle.