Inspiration

Time Capsule was born from real, heartfelt moments within our team. One teammate received a wedding book from his mother, filled with wisdom and love—along with voice messages and ongoing words of encouragement. That deeply personal experience sparked a question we all resonated with: How can we help parents be there for their kids, even when they physically can’t be?

Another teammate had long imagined a way to store meaningful messages—like a vault—only to be opened at the perfect time. When we came together around this concept, we knew we were building something more than an app. We were building a tool for emotional connection, for love, legacy, and presence.

What it does

Time Capsule lets parents and loved ones record messages—text, video, or audio—and schedule them to arrive exactly when they’re needed. From “open when you’re feeling sad” to “before your big game,” messages can be tagged, categorized, and saved in a personal vault.

Teens can respond with their own messages, creating an ongoing emotional dialogue. If there’s no message in the vault, they can request one. And if you’re unsure what to say, our AI can suggest heartfelt prompts that speak directly to your child’s moment.

The vault lets users edit, reschedule, and manage delivery—because sometimes life moves fast, and messages need to arrive sooner. Everything is designed with one goal: helping families feel connected, supported, and understood—wherever they are.

How we built it

Research & Problem Framing

We started by identifying a growing disconnect: Nearly 40% of youth say they can’t talk about what matters with their parents. At the same time, 96% of teens are constantly messaging—but rarely about emotions.

Our insight: Parents want to support their children emotionally, but often miss the moment. Current tools (journals, texts, “Open When” letters) are fragmented, static, or too late.

We saw the opportunity to create a proactive, dynamic solution.

Design & UX

We outlined a roadmap and began wireframing in Figma. Each flow was mapped with intention—how might a parent feel writing a message for their child’s future heartbreak? How can we make that moment as smooth and heartfelt as possible?

We leveraged UXPilot to quickly iterate screen flows and Bolt.new to begin development in real time.

Our focus was always the same: How does this feel for the user? Emotional clarity guided every UX decision.

Collaboration & Roles

Our team operated as a tight-knit unit: • Project Lead / UX & PM: Owned vision, created flows in Figma, led sprints, and coordinated handoffs • Frontend Dev: Translated designs into functioning Bolt components and logic • Backend Dev: Built our database schema and implemented secure user management via Supabase • All: Contributed to refining the tone, storytelling, and emotional experience

Emotional Design

One of our biggest priorities was making sure the app felt emotionally authentic—not just functional. With such a deeply personal product, the experience had to resonate with real families and real moments.

Our project lead, currently expecting their first child, approached the product from the perspective of hope and preparation—imagining what messages they’d want their child to receive years from now. Our backend developer, a parent of three, brought real-world insight into the types of moments that truly matter and how busy parents might want to engage with an app like this. Their feedback helped us shape flows that were meaningful but not overwhelming.

While our frontend developer isn’t a parent yet, they contributed a fresh design lens and provided real life interviews with parents to ensure the user experience was intuitive, clear, and emotionally light when needed.

Technical Execution

We built the mobile app in Bolt.new, ensuring a smooth, secure experience with role-based flows for parents and children.

We integrated with Supabase for data storage, authentication, and media handling, and used Render for backend hosting.

🗄️ Supabase Architecture

Database Layer (PostgreSQL) • Schemas: public (core data) and api (views & RPC) • User Roles: Directors (parents) and Actors (children), linked via relationships

Auth & Row-Level Security • Secure sign-up with auth.uid() • RLS policies to ensure users only access their own data • Messages visible only to authenticated, verified connections

Media & Messaging • Media stored separately from message logic • message_media table links content types per message • Flexibility to support video, audio, or text in one message

API Layer • RPC functions for all CRUD operations • Views for safe, read-only access • Patch-style updates and strict validation

Challenges we ran into

Throughout the build, we ran into several challenges that tested our coordination, resourcefulness, and patience as a team.

On the database side, implementing secure and scalable row-level security (RLS) in Supabase took careful planning. We needed to ensure that only verified users could access or modify sensitive data like messages or account links, especially with complex many-to-many relationships between parents (directors) and children (actors). We also had to separate media storage from message logic, which meant coordinating uploads, references, and database transactions in a reliable and modular way.

Managing user onboarding was another challenge. Automating the linkage of users to the correct roles (e.g., creating a “director” on sign-up via auth.uid()) introduced edge cases, especially under RLS and Supabase’s strict permission system. We also had to build out nested RPC functions to insert full messages—media and categories included—in atomic, validated transactions.

On the frontend side, we used Bolt.new to speed up development. While it helped us rapidly visualize the UX and bring the concept to life, it became clear the auto-generated code had issues. Token handling was unreliable as it cost a lot of tokens to make, and the platform introduced errors we couldn’t fix without spending more Bolt tokens. Our dev ended up cloning the project locally and refactoring the token flow manually just to keep things moving. However we moved back to Bolt.new once we fixed the errors and continued forward.

Another frustrating blocker was the "director not found" error. It stemmed from Supabase queries failing silently when no matching user rows were found. This highlighted how essential it was to tightly coordinate user creation logic across the frontend, auth, and database layers.

As we neared our MVP, we hit a major turning point: we weren’t ready for the App Store yet. The receiving end of the app—how teens would interact with and respond to messages—was still under construction. We tried to pivot to a web-first version, but that transition revealed how deeply coupled our architecture was to mobile flows. Converting the entire app from mobile-first to web-compatible proved far messier than expected, and our developer did everything they could to adapt the codebase—but we ultimately realized more foundational changes would be required.

These challenges, while tough, helped us learn what it truly takes to scale a deeply emotional product with the technical rigor needed for security, flexibility, and real-world use.

Accomplishments that we're proud of

We’re proud that Time Capsule isn’t just a concept—it’s a fully working product built from scratch by a small, committed team. In a short time, we designed, developed, and deployed a system that captures something deeply human: the desire to be there for someone you love, even when you can’t be.

We coordinated across time zones, roles, and unfamiliar tools to build something that felt both emotional and functional. We leaned on trust, communication, and shared vision to keep moving, even when it got hard.

One of the most powerful moments was recording our first real messages inside the app—intended for our own children and families. For our project lead, who is expecting his first child in November, writing that first message wasn’t just a test—it was personal. And for our backend developer, a father of three, it was a chance to imagine how his kids might feel receiving encouragement years from now. That moment of using what we built is what brought the full emotional arc to life. It reminded us that this isn’t just a tool. It’s a bridge between now and the moments that matter.

On top of all that, for several of us, this was our first mobile app build. Learning to navigate Bolt, Supabase, and building secure messaging flows in real time taught us more than any course could—and we came out the other side with something we’re genuinely proud of.

What we learned

This project stretched us in every direction—from emotional storytelling to system-level thinking. Here’s what stood out most in our growth:

Turning Emotion into UX

We learned how to take deeply emotional insights and turn them into actionable user experiences. Designing for parent-teen relationships meant balancing intimacy with usability. We had to translate intangible feelings—like love, encouragement, and absence—into clean, intuitive flows that honored the emotional intent without overwhelming the user.

Rapid Prototyping with Bolt

Using Bolt.new allowed us to ship fast and iterate quickly, especially in the early design phase. It gave us a visual-first development process that helped us bring our vision to life in real-time. But it also taught us its limits—particularly in code reliability and flexibility—pushing us to adapt when autogenerated components fell short.

Building Real Authentication & Authorization

We implemented Supabase Auth with role-based access, learning how to build a secure system from the ground up. This included fine-grained permission control using Row-Level Security (RLS), safeguarding sensitive user data and making sure each interaction respected the unique roles and relationships between parents and teens.

Real-Time State Management Across Roles

Creating seamless interactions between two distinct user types (parents and teens) taught us how to manage dynamic, real-time state across different experiences and flows. Whether it was sending a message, previewing one, or managing delivery schedules, we ensured that each user’s journey felt personalized and responsive—yet still linked through the same system.

True Cross-Disciplinary Collaboration

This wasn’t just a technical project—it was a mission-led collaboration. We worked across UX, backend, frontend, and product management, learning how to share feedback fast, respect each other’s specialties, and solve problems as a team. We aligned not just on output, but on impact—making sure the product stayed grounded in its emotional core.

Bonus Lessons • How to validate a product idea with real user stories and needs • Designing for asynchronous interaction in a mobile-first experience • Navigating handoffs between low-code platforms and full-stack development • How to keep moving forward even when the platform doesn’t cooperate

What's next for Time Capsule-Messages that Grow with your child.

Time Capsule began as a tool to strengthen the bond between parents and their children—but its potential reaches far beyond that original vision.

The emotional need to feel seen, supported, and remembered isn’t limited to just one kind of relationship. That’s why we’re expanding Time Capsule to support any deeply personal connection—siblings, grandparents, partners, chosen family, lifelong friends. Anyone who has something meaningful to say, and someone who needs to hear it.

We’re actively evolving the platform to reflect this broader mission: • Flexible connections – Capsules can now be shared securely with anyone, using verified links and roles, not just parent-to-child. • Enhanced UX – We’re redesigning flows to feel more intuitive, more human, and more emotionally aware. • Stronger security – Privacy and control remain at the heart of everything. Only trusted connections can view or send messages, and every interaction is safeguarded.

This isn’t just a messaging app.

It’s a way to show up when you can’t physically be there.

To offer comfort in hard moments, celebrate milestones, and leave something behind that still speaks when you’re not around.

It’s love, timed just right.

We’re not done yet. We’re still testing, building, refining—and listening to our users every step of the way.

Because Time Capsule isn’t just about technology.

It’s about making presence possible—when it matters most.

Built With

  • bolt
  • figma
  • supabase
  • uxpilot
Share this project:

Updates