OpenTomorrow.

A shared time-capsule product: capture photos and video today, lock them into stashes, and open them when the time is right—solo, with friends, or with a community.

Timeline
Ongoing — mobile app, marketing site, and Supabase backend
Role
Founding engineer — product, mobile, web, and infrastructure
Stack
Expo · React Native · Next.js · TypeScript · Supabase
Visit opentomorrow.app
OpenTomorrow marketing site hero with headline and waitlist call to action

Be present. Open it tomorrow.

OpenTomorrow is built around stashes—containers for media that stay locked until a date or condition you choose. The experience spans a React Native app (Expo Router) for capture, discovery, chat, and social flows, and a Next.js site for storytelling, SEO, and waitlist signups. Supabase ties it together with auth, PostgreSQL, Row Level Security, and storage.

My focus was end-to-end ownership: navigation and feature modules on mobile, server-backed data patterns, and a fast, accessible landing page that explains the product clearly.

What people can do

Three stash modes anchor the UX—each maps to real user journeys we support in the app and on the site.

Personal stashes

A private vault for reflection: lock monthly check-ins, yearly reviews, or whole chapters of life and open them on your schedule.

Stashes with friends

Groups contribute media to one timeline—trips, weddings, nights out—so everyone’s perspective lands in a single place when the stash unlocks.

Community stashes extend that idea to shared events—concerts, festivals, city moments—where people opt in to a collective capsule.

Feature set

Stashes & unlock rules

Create, join, and schedule opens for personal, group, and community capsules.

Capture pipeline

Camera, gallery, and media flows tuned for mobile—photos and video feed into the right stash.

Social graph

Friends, invites, and discovery paths so shared stashes are easy to find and trust.

Realtime & chat

Messaging and activity around stashes, backed by Supabase-shaped data and policies.

Marketing & waitlist

Next.js landing with structured metadata, CTAs, and email capture into Supabase.

Accounts & recovery

Email auth, session handling on native (including secure storage), and password reset flows across web and app.

How it fits together

The Expo Router app organizes screens by feature—stash creation, swipe-based home, discovery, friends, chat, profile, and settings— with TypeScript end to end. The Next.js app handles public pages, SEO, and bridges like password reset links that deep-link into the app where needed.

Supabase is the system of record: Auth for users, Postgres for relational data with RLS, and Storage for media, with migrations versioned in-repo so environments stay reproducible.

Brand mark used across web and app surfaces.

Next

Conducting Tutor

Video analysis pipeline: MediaPipe landmarks, beat detection, and graphs for conducting motion.

All projects