Atlaso started with a reel. My girlfriend sent me one on Instagram after we got back from a trip, basically saying we should order one of those travel photobooks to remember it by. I looked at the prices, looked at how clunky most of these services were, and thought, “I could just build this.” So instead of buying the book, I went and built the company.
The pitch was simple: dump all your travel photos in, let AI do the boring part, and get a print-ready hardcover book out the other end. No curating, no fiddling with layouts, no design skills required.
Under the hood, it turned into a surprisingly deep project. You upload a whole trip’s worth of photos and the backend runs each one through GPT-4o-mini’s vision model to score it on things like sharpness, aesthetic quality, scene type, faces, lighting, and dominant colours. From there a selection algorithm ranks everything, throws out the blurry frames and near-identical burst shots, weights the mix between landscapes, people, food and city scenes, and orders it all chronologically so the book actually reads like the trip happened.
Then it groups the survivors into spreads by looking at time gaps, location changes and visual similarity, picks a layout for each page, and lays the whole thing out into a print-ready 50-page hardcover. The frontend handles the rest of the journey: drag-and-drop upload with EXIF and location detection, client-side HEIC conversion for iPhone photos, a cover designer with illustrated country stamps, a live preview of every spread, and a full order, payment and checkout flow.
I built both sides end to end. The backend is Kotlin and Spring Boot with Postgres; the frontend is Next.js and React. Google sign-in, S3 for uploads, Razorpay for payments, OpenStreetMap for reverse-geocoding the trip location out of photo GPS, transactional emails for order confirmations and “your book is ready” notifications, and a small admin dashboard for order fulfilment.
The honest part is that the hard bit was never the software. It’s the operations: managing a print partner, quality-checking physical books, shipping and returns, customer support for when a corner turns up bent. That’s a logistics business wearing a tech costume, and for a long while I wasn’t sure I wanted to run it, so Atlaso sat as a very polished thing I’d built for myself and one very specific trip.
But I kept coming back to it, and this time I took it live. I put the whole thing through a proper security pass (server-side pricing so the client can’t name its own price, one-time signed upload grants, real image validation, rate limiting), moved storage over to S3, deployed the backend on Railway and the site on Vercel, and shipped it at myatlaso.com. The logistics are still the hard part, and I still respect that. But it felt worth seeing the whole thing through, all the way to a hardcover landing on someone’s doorstep.
It’s one of the most complete products I’ve built solo, from a vision model scoring a single photo to a printed book in the post, and it scratched a real itch.
The preview, where the whole book comes together and you can page through every spread:

One of the cover designs, with your trip title:

And the generation screen, where the AI does its thing:
