ONE PERCENT

We build the one percent of digital products.

0%
WorkServicesAboutInsightsProcess Estimate Get an Estimate
All work

MagicalBook

SaaSWeb

Upload one photo. Get a printed book your child is the hero of.

Personalised children's books are a lovely idea with a brutal conversion problem: parents will not pay before they can see the thing. MagicalBook had to generate a believable cover for free, in seconds, from a single family photo, and then carry that trust all the way through checkout to a physical book on a doorstep in Czechia.

Year 2026
Services AI Product Development, Full-Stack Web
Scope Storefront, generation engine, admin console
Markets Czechia, international
MagicalBook landing page with a generated storybook cover
2 Languages from one codebase: English and Czech
4 Illustration styles, from 3D cinematic to voxel
4 Age bands tuning vocabulary and words per page
01 / Challenge

Nobody buys a book they have not seen.

Two things stood between MagicalBook and a sale. The first was belief: a parent uploading a photo of their four-year-old needs to see that specific child on a cover before they will reach for a card. The second was trust: they are handing a photo of a minor to a website, and vague reassurance is not good enough.

Behind the storefront the problem changed shape entirely. A personalised book is not a digital product. It is a generation job, a payment, a print job at a third-party press, and a parcel with a tracking number, and every one of those steps can fail independently while the customer waits.

02 / Approach

Give the value away first, then ask for money.

We built the funnel backwards from the moment of belief. The free cover preview is the product: no card, no account friction, just a photo and a generated cover with the child's name on it. Everything before that step exists to get a usable photo, and everything after it exists to keep a parent who is already convinced.

Consent is stated where the risk is felt rather than buried in a policy page. The upload step says plainly that photos are used only to make the book, are not used to train models, are never sold or placed in ads, and are deleted within thirty days. Saying it at the point of upload turned the privacy question from a blocker into a reason to continue.

MagicalBook character step: photo upload with plain-language photo handling terms

“The privacy note is not legal cover. It is the conversion copy. Parents read it, relax, and keep going.”

One Percent On the upload step
03 / Solution

A short creative brief, not a settings panel.

Story creation is two steps. First the cast: one to several characters, each a human, animal, or object, each with a photo and a name, so a sibling or the family dog can join the adventure. Then the brief: title, language, art style, and the age band the book is written for.

Age is the setting that does the most work and asks the least of the parent. Choosing Early Readers rather than Little Listeners changes sentence length, vocabulary, and words per page, and the interface shows exactly what it changed: sixty to ninety words per page, seven to twelve sentences, easy reading level. Art style is picked from rendered samples rather than described in words, because no parent knows what they want until they see it.

MagicalBook art style picker with rendered samples for each style

The reader is where the purchase actually happens. A parent flips through the generated spreads, edits pages that miss, shares a link, exports a PDF, or orders the printed copy. Regenerating a page costs credits, which keeps expensive image generation bounded without turning the experience into a metered utility.

MagicalBook reader showing a generated spread with edit, share, export and print actions
04 / Operations

The part customers never see is the part that has to work.

Ordering a print sets off a chain across three systems: Stripe takes the payment and remains the source of truth for what was charged, Lulu receives the print job, and a carrier eventually produces a tracking number. We built an admin console around that chain rather than around the database tables, so a support question has a single screen that answers it.

Each order shows the original price, any discount code applied, and the final charged amount reconciled against Stripe, alongside the print provider's job id, quantity, shipping method, and current fulfilment state. Failed print jobs can be resubmitted after a corrected address instead of being refunded and started over. Credit requests, reviews, users, and the full book library sit in the same console, so the people running the business are not asking engineers to run queries.

Every customer-facing surface ships in both English and Czech, including the generated story text, which meant treating language as a property of the content pipeline rather than a wrapper on the interface.

05 / Outcome

A storefront and a working business behind it.

MagicalBook launched as a complete commercial product rather than a demo: free previews converting into paid books, credits governing generation cost, printed orders moving through a real print-on-demand partner, and an operations console the founders use daily without engineering support.

The libraries tell the story best. Customers do not buy one book. They come back for the next adventure, with the same characters, in a new story.

MagicalBook customer library of created storybooks with reorder and tracking actions

Next project

Prepify

Prepify

Master your interviews with AI

View case study