Dear Future
A deeply personal journaling and time-capsule application allowing users to write letters, set goals, and send messages to their future selves.
Timeline
1 Month
Role
Full-Stack Developer
Status
CompletedTechnology Stack
Key Challenges
- Engineering a reliable, distributed cron-job system to ensure time-capsule messages were delivered exactly on dates years in the future.
- Implementing end-to-end encryption to guarantee user journals remained entirely private and unreadable by the database administrators.
Key Learnings
- Mastered complex background task scheduling using Node.js and Firebase Cloud Functions.
- Deepened understanding of modern cryptographic standards and secure key management on mobile devices.
Dear Future: Engineering Time Travel
Dear Future is a digital time capsule. It allows users to write deeply personal journal entries, record audio messages, and set ambitious life goals—and then lock them away, scheduling them to be delivered to their future selves months, or even years, down the line.
It is an application designed to foster intense self-reflection and track personal growth over immense timelines.
The Cryptographic Challenge
A journaling application is useless if the user does not trust it. If a user is writing their deepest insecurities or financial goals to their future self, they must have absolute certainty that no one else—not even the developers of the app—can read it.
I implemented a robust End-to-End Encryption (E2EE) pipeline. When a user creates a time capsule, the content is encrypted locally on their physical device using a key derived from their password. Only the completely scrambled ciphertext is sent to the Firebase backend.
The Delivery Engine
Sending an email instantly is easy. Scheduling a push notification for exactly three years from today, ensuring it fires reliably regardless of server migrations or timezone changes, is incredibly complex.
I built a distributed scheduling engine utilizing Firebase Cloud Functions and highly optimized cron jobs. Every hour, the system queries the database for "unlocked" capsules, processes the decryption handshake upon user login, and triggers the emotional delivery of a message from the past.