Kapmo!!
A photo diary built around small challenges.
Kapmo gives you one photo challenge at a time, picked for where you are. You go out and find it, and the photo goes into a diary that only you can see. I design, build and run it on my own.
How it works
These screens are from the redesign, which is still in progress and not in the app yet. Follow the steps, or tap the phone the way you would in the app.

Why redesign it
I released Kapmo without spending much time on the design, because I wanted feedback early. Since then I've been reworking every screen, adding a social side and making the app easier to use. The redesign isn't out yet. Below is Home as it is in the app today, next to where it's heading.


- 1Home leads with the challenge. It had about 15 things on screen and now has about 6, so the challenge is the first thing you read.
- 2I've removed points and levels. Profile opens on your week in photos, so it feels more like a diary than a game.
- 3Every screen uses the same components and type styles, and small text has enough contrast to read.
- 4I try each screen in a prototype before building it in the app. That has caught states like offline mode and rare errors early.
What's under it
I run all of it myself, so every part has to be easy to keep running.
The app
Expo, React Native and TypeScript. One codebase for iOS and Android, in five languages.
Supabase
Database, sign-in and file storage. Supabase covers the whole backend, so I haven't needed a server of my own yet.
Edge Functions
They write each challenge, translate it, find nearby places and check photos.
- !Every photo is checked against the challenge before it goes in the diary.
- !The whole app ships in five languages, and I keep all of them current.
- !Every screen has unit and end-to-end tests. There's no release schedule, and I test each change in TestFlight before it goes out.
- !I release early, even when a feature isn't finished, because I'd rather iterate on feedback than wait. What the app lacks most right now is marketing.

