Firstage
At Firstage, the company I founded, I plan, build, and run on my own a family of services led by Journey, which turns photos and places into a record of everyday life, along with the modules they share.
166Page layouts to choose from in the photobook editor, across 10 themes
- 2025.05 ~ Present
- Founder

Core value
When you upload photos, the time and place they were taken connect, so scattered days are easy to find again and share with the people close to you.
Outcomes
- Original photos are saved first, and heavier work such as previews and reading where they were taken runs in the background
- A photobook editor where AI suggests the layout and fixed rules place everything the same way every time
- 10 photobook themes and 166 page layouts available
- Live on the web, with the iOS app in internal testing before release
Tech stack
Context
Firstage gathers the photos people take and the places they visit, so individuals, couples, and families can return to their everyday life. It began as a travel content site for visitors to Korea, where I experimented with ads and SEO. I then moved the product’s center to a flow from photos to places, a feed, shared spaces, and a map. I handle planning, frontend, backend, infrastructure, and operations alone.
Decisions and implementation
- I designed photo upload to store the original first. A BullMQ worker then creates previews, HEIC conversions, EXIF data, and reverse geocoding, which keeps heavy processing separate from preserving the original.
- Capture time and GPS connect to a timeline, place albums, and map exploration. Photos without location stay in their own group; the product never invents coordinates for them.
- To support photobooks and print as the business output, I built a canvas editing engine. AI returns a structured plan and editing intent, and a deterministic engine owns coordinates, photo placement, bleed, and DPI checks. Ten editorial themes and 166 layouts are in production.
- A Capacitor shell wraps the Next.js web app so web and mobile share screens and features, while native lifecycle and upload recovery are handled separately.
- In September 2026 I moved the frontends to Cloudflare Workers and the backend to a Kubernetes (K3s) cluster I operate, monitored with Prometheus and Grafana.
- I turned development with AI agents (Codex, Claude Code) into rules, skills, and automated checks inside the repository. I approve external submissions, payments, and deployments myself.
Current state
The web service is in operation, and the iOS app is in internal TestFlight testing. Print ordering is deployed through the payment integration, but stays closed until the merchant contract and physical proof checks are done.






