About the Project PastTime was born from a simple idea: “What if I could send myself a message and only receive it when I really need it?” It started with the desire to reflect, grow, and reconnect with my thoughts, emotions, and goals — not just today, but weeks or months from now.
This led to the idea of a personal time capsule that delivers messages when the time is right — digitally.
Inspiration
In a world of instant notifications and endless distractions, there are very few moments where we pause to write something for our future selves. PastTime creates space for that pause. Whether it's:
A message of encouragement,
A goal you're working toward,
Or a memory worth holding onto...
This app gives it a locked home, until the time comes.
What it does
PastTime is a web app that lets users create personal time capsules — digital messages locked until a chosen future date.
✍️ Write a message to your future self (text, and optionally media)
📅 Set an unlock date — the message remains hidden until that time
🔐 Capsules are locked and cannot be viewed early
🧑💼 Private dashboard shows upcoming and unlocked capsules
🧠 Encourages reflection, long-term thinking, and self-growth
How we built it
Frontend: React with Tailwind CSS
Backend: Auto-generated in Bolt.new with custom logic for storing messages and unlock dates
Auth: Email/password authentication
Design: Inspired by OpenAI’s mature, minimalist style with calming colors and clear typography
AI Tools: Used AI to scaffold and refine logic, routes, and UI copy
Challenges we ran into
Time-based logic: Handling capsule visibility based on time (unlockDate > currentDate) was tricky — I had to validate time zones and restrict early access.
Design polish under time pressure: Building something visually mature, without overcomplicating things, required quick design decisions and a strong visual hierarchy.
Choosing scope: There were many tempting features — email reminders, capsule sharing — but I had to focus on quality over quantity for the MVP.
Accomplishments that we're proud of
🔓 Built a functional time-locked messaging system from scratch — users can write messages that stay hidden until a chosen future date.
🎨 Created a clean, mature UI inspired by OpenAI’s design — professional, responsive, and intuitive.
⚡ Used AI tools (Bolt.new + Cursor) to rapidly build and iterate the full-stack application within a short time frame.
🧠 Solved time-based logic challenges, including locking/unlocking content using timestamps and preventing early access.
🚀 Went from idea to full MVP in one sprint, proving how focus + smart tools = results.
💭 Designed something meaningful, not just functional — a tool to help people reflect and grow over time.
What we learned
Time-based logic: Handling capsule visibility based on time (unlockDate > currentDate) was tricky — I had to validate time zones and restrict early access.
Design polish under time pressure: Building something visually mature, without overcomplicating things, required quick design decisions and a strong visual hierarchy.
Choosing scope: There were many tempting features — email reminders, capsule sharing — but I had to focus on quality over quantity for the MVP.
What's next for Past Time
To take the project beyond MVP and into real-world use, here are the next steps:
🔄 1. Persistent Sync Add Firebase or Supabase for full user auth + cloud storage
Sync capsules across devices
🔔 2. Email or Push Reminders Notify users when a capsule is unlocked
Optional: schedule messages to be emailed to future self
🖼️ 3. Rich Media Capsules Support image and audio uploads
Preview media in the capsule when it unlocks
🌐 4. Public & Shareable Capsules Users can optionally create public capsules for inspiration
Generate a shareable link to view a capsule (after unlock date)
🎨 5. More Themes + Accessibility Add light/dark mode switch
Improve keyboard and screen reader support
Built With
- express.js
- framer-motion
- node.js
- react
- react-router
- tailwind
- vite
Log in or sign up for Devpost to join the conversation.