Shipping · Product Design · Design Engineering
TEMBO
A social app for people doing things.
- Role
- Founder · Product Designer + Engineer
- Timeline
- August 2026 – Present
- Platform
- iOS · Android
- Status
- 4 weeks to MVP · 2 weeks testing · Ongoing
I founded, designed, and developed TEMBO, a social app built around Storylines that keep ongoing experiences together. I took the product from idea to launch, owning the product, design, engineering, and release.
Where does your social life of doing things live?
The problem
Life doesn’t happen one post at a time.
Social media makes it easy to share moments, but harder to keep the experiences behind them connected. We run, cook, travel, and build things with friends, yet those experiences end up as scattered posts or across disconnected platforms Strava, Letterboxd, notes apps, and group chats.
- Running: Strava
- Friends: WhatsApp, iMessage
- Film: Letterboxd
- Travel: Google Maps, Google Photos
- Reading: Goodreads
- Building: X, Product Hunt
- Cooking: Pinterest, Notes
- Learning: Duolingo
The opportunity
Designing for context and continuity.
A trip, a friendship, a fitness journey, or a project has its own history, context, and people who are part of it. Together, these experiences tell a fuller story of who we are.
I wanted to explore a social experience where those different parts of life could continue over time, keep their context, and reach the people they matter to.
Introducing TEMBO, a social app for ongoing life!
The product
A utility-first social app.
TEMBO is built for people doing something over time. Each ongoing activity becomes a Storyline, with its own history and audience.
Moments are the updates added along the way.
People can follow the Storylines they care about, rather than a whole account.
01
Create a Storyline
02
Add Moments over time
03
Discover and follow
The Storyline Format
Making context a first-class object.
I designed Storylines with their own identity, history, lifecycle, and audience, giving Moments context as they build over time.
I designed layered privacy around this structure, where the account sets the widest audience, each Storyline can narrow it, and Moments inherit that choice. These rules extend through the database and media delivery, so privacy is enforced at the system level, not just in the interface.



- Sets the widest audience
- Edit privacy or close anytime
- Each Storyline can narrow it
Engineering the atomic unit
Turning complexity into a one-tap post.
Posting a Moment takes one tap. Behind it, TEMBO checks the Storyline can still take Moments, screens the photo before anyone sees it, and saves the Moment and its media together, so nothing is ever half-published.
Each photo is then delivered under its Storyline’s privacy rules, and deleting a Moment removes its media too. The complexity stays in the system, so posting stays one tap.
Upload
- 01 TEMBO app to Supabase: Request upload intent.
- 02 Supabase to TEMBO app: One-time Direct Creator Upload URL.
- 03 TEMBO app to Cloudflare: Direct upload, private from the first byte.
- 04 Supabase: Verifies the asset with Cloudflare, then AI moderation: ALLOW or REVIEW.
- 05 Supabase: publish_photo_moment(): one atomic write, ALLOW only.
Viewing
- 06 TEMBO app to Supabase: Request media through the proxy.
- 07 Supabase: can_view_moment(), evaluated per request, never cached.
- 08 Cloudflare to Supabase: Server-side signed fetch, 60s, never exposed.
- 09 Supabase to TEMBO app: Authorized bytes, private, no-store.
Photos upload straight to private storage and publish only after verification and moderation. Every view is re-authorized on the server, so a privacy change or deletion applies on the very next request.
Defining the MVP
Building less to ship sooner.
KESHO (opens in a new tab) taught me the cost of overbuilding. With TEMBO, I focused on the foundations of a complete social product, building Storylines, photo Moments, discovery, following, and privacy while leaving more complex features for later.
I also chose a simpler, proven stack of React Native, Expo, TypeScript, and Supabase, allowing me to build for iOS and Android from one codebase. This approach helped me secure App Store approval in five weeks while entering Google Play closed testing at the same time.



The Workflow
Design the product before writing any code
I designed and built TEMBO through an AI-native workflow with Claude Code. AI explored and challenged every decision, but nothing was built until I approved it, and nothing shipped until it passed automated tests, security checks, and device testing.
- Idea.
- I define it: specs and user flows.
- I challenge it with research and AI.
- Approved? If not, back to Challenge.
- AI (Claude Code) builds it in parallel worktrees, inside CLAUDE.md and approved contracts.
- I verify it: tests and device QA.
- Passes? If not, back to Build. If so, ship.
Testing & Quality Assurance
Testing beyond the happy path.
Before release, I tested TEMBO across real devices, core user flows, authentication, privacy, and security. I built automated app and database tests covering permissions, concurrency, failure scenarios, and critical product behavior.
I also load-tested the backend on synthetic data in an isolated environment, and before submission brought in a senior software engineer for an independent review of the app for release certification.
- Automated tests, all passing
App, database and server - 4,238
- Synthetic Moments
across 10,000 test users - 116K
- Concurrent users
under mixed read and write load - 200
- Errors across 1.29M requests
in a 30-minute soak test - 0
Compliance & Release
Shipping at production standard.
Building a working app wasn’t enough. I had to meet Apple and Google’s requirements around user-generated content, including privacy policies (opens in a new tab), content moderation, reporting, blocking, and account deletion.
For me, onboarding is a launch blocker, so I refined the first-time experience alongside the compliance work. I invited users into Android closed testing, prepared the native builds, and worked through Apple’s review process to secure App Store approval, followed by Google Play approval two weeks later.
App Store/Play Store · 1 / 4
CI & Observability
Building for what comes after launch.
As TEMBO moved into production, I established a lean foundation for maintaining and improving it, using GitHub Actions for automated quality checks, Sentry for error monitoring, and PostHog for product analytics.
I deliberately kept the infrastructure simple, focusing on catching regressions, understanding failures, and learning from real usage without introducing unnecessary complexity.
Reflection & What’s Next
Shipping was the start. Distribution is harder!
End-to-end product ownership.
TEMBO taught me how to take a complex product from idea to production by breaking it into smaller, connected systems. From the core experience to privacy, media, and release, I designed, built, and tested each part while keeping the whole product in mind.
Getting users is the next challenge.
I’m exploring ways to reach the right people, help them find value in TEMBO, and give them reasons to keep coming back, using early feedback to guide my approach to distribution, activation, and retention.









