Lullu
One poem a week. No accounts, no tracking, no noise.
A weekly-poetry app for Estonia, launched on national TV and quietly endorsed by the Minister of Literature, a Teacher of the Year, and nublu. Shipped in thirteen weeks, on a non-profit budget, against a hard October deadline.
The brief
MTÜ Eesti Jutt came with a simple ask and some unusually strict rules. One curated Estonian poem, delivered to a phone each week. Browse backward through previous poems. Share them with friends.
Then the rules:
- No user accounts. No sign-up, no password, no login.
- No personal data collection. No behavioural tracking.
- No advertising. Ever.
- No noise. One poem per week, on a fixed schedule, curated by a three-person editorial board – not an algorithm.
- Launch by October 2025. A hard deadline tied to planned press activity.
The thesis, as writer and founder Armin Kõomägi put it on ERR launch day: rather than the reader going to the poem, the poem should come to the reader – and a phone screen is, by happy accident, almost exactly the size of a short poem.
Our approach
A framework contract with a hard cost ceiling, not a fixed price. A €5,000 cap for the MVP let us start design and architecture in parallel with contract signature, without forcing either side to pretend we knew the exact shape of the product on day one. New ideas got quoted as their own small projects rather than smuggled into the first release.
MVP discipline, honestly labelled. In-app search, favourites, poem categorisation, rich notifications – all documented as a backlog from day one rather than added to the first build. Several of those backlog items have since been commissioned as paid follow-ups. That’s the healthy version of scope growth.
Privacy as architecture. Because there are no accounts, user state lives on the device. The backend serves poems, nothing else. No auth flows, no password resets, no GDPR data-subject handling beyond the minimum – a whole category of future liability designed out of the product on day one.
Unblocking the blocker. Apple’s developer-account verification kept bouncing the application because the registered entity had no web presence. Rather than delay the project, we scoped and shipped lullu.ee as a parallel workstream in under 48 hours. The October window stayed open.
What we shipped
Mobile app (iOS and Android) – Expo and React Native, single codebase. Push notifications via Expo Push API and Firebase Cloud Messaging. Light and dark modes, system-default option, offline caching. Share-sheet integration across Facebook Story, Facebook Feed, Facebook Message, Instagram Story, Instagram Feed, Instagram Message, WhatsApp, Telegram, Signal, and Viber – each platform’s capability and link-handling behaviour mapped individually because they are not interchangeable.
Backend – Laravel 12 API with a Filament-based admin panel for the three-person editorial board. Release scheduling, automatic numbering, multi-user curator access. Queue workers under Laravel Horizon; errors to Sentry; uptime via updown.io. Hosted on a Zone.ee VPS with push-to-deploy via Laravel Forge.
Marketing website – lullu.ee, static site built in under 48 hours to unblock the Apple verification. Later extended with app-store banners and refined social-share preview behaviour.
Custom social-share image generation – commissioned after launch. Blade templates rendered through a headless browser (Spatie Browsershot and Puppeteer) produce per-platform share images with fixed aspect ratios and overflow-hidden layout, so a poem shared to Instagram Stories looks like Lullu, not like a formatting accident.
Ongoing product work – side-swipe navigation, dropdown poem picker, in-app share improvements, bonus-poem support for International Poetry Day, Meta Pixel integration, GA4 event-dimension fixes, and a long-running App Store search-autocorrect dispute with Apple that remains open.
Outcomes
Launch – 23 to 24 October 2025
- Featured on Ringvaade (ETV’s flagship evening magazine show).
- Independent coverage in ERR Kultuur, Postimees Kultuur, Edasi, and Lääne Elu within the first two weeks.
- ~1,075 unique devices opened the app in the first ~24 hours.
- 99.92% crash-free sessions in week one; eight distinct error signatures in monitoring – a standard shape for a first public release.
Endorsements (public, unpaid – product endorsements, not paid-for agency references)
- Mart Juur, Minister of Literature – public endorsement.
- Berit Kaschan, poet and member of the curation board – founding editorial voice.
- Ivika Hein, Estonian Teacher of the Year (literature) – recommended the app to teachers.
- nublu, artist – public endorsement via Edasi’s monthly Lullu collaboration.
Why this one matters
Lullu is the shape of client relationship our positioning rewards: a small, mission-driven first engagement that compounds. A non-profit culture client, a quiet product idea, a hard deadline, strict constraints – and six months later, a working programme with national press, cabinet-level endorsement, and ongoing feature work. The initial scope wasn’t the prize. The trust that followed was.