Live link: https://digicapsule.rijandhakal.com.np/
This project is currently under development.
DigiCapsule is a personal project the idea is simple: what if you could write a message, attach some photos or files, lock it away, and have it open only on a date you choose in the future? Like a time capsule, but digital.
You create a capsule, write whatever you want (markdown supported), upload any files, pick an unlock date, and send it to someone's email. They won't be able to open it until the time comes. You can also add a hint — something vague to build a bit of anticipation and optionally lock it with a password on top of the date.
It is the kind of thing you would use to write a letter to your future self, send a birthday surprise a year ahead of time, or just preserve a memory the way it felt right now.
- Write capsule content in markdown
- Attach files (images, videos, etc.) — stored on Cloudinary
- Set a future unlock date, the capsule is locked until then
- Locked capsule cannot be viewed by the creator also.
- Send the capsule to a recipient by email
- Add a hint so the recipient has a small clue but no spoilers
- Sign in with Google
- Admin role for managing users
- Framework: Next.js 16
- Language: TypeScript
- Database: PostgreSQL via Neon (serverless), managed with Drizzle ORM
- Auth: Better Auth (Google OAuth, admin plugin)
- File Storage: Cloudinary
- UI: Tailwind CSS, Radix UI, Lucide React, shadcn/ui components
- Forms: React Hook Form + Zod
- Markdown: @uiw/react-md-editor
- Node.js 18+
- A PostgreSQL database on Neon
- A Cloudinary account
- A Google OAuth app
npm installCopy .env.sample to .env and fill in your own values:
# macOS / Linux
cp .env.sample .env# Windows (PowerShell)
Copy-Item .env.sample .envnpx drizzle-kit pushnpm run devOpen http://localhost:3000 in browser.
app/ # Next.js App Router pages and API routes
actions/ # Server actions
components/ # Shared and page-specific UI components
lib/ # Auth, database schema, validators, helpers
drizzle/ # Migration SQL files and Drizzle meta
public/ # Static assets
Still being built. The capsule creation flow works perfectly. The dashboard, profile, and settings pages are still being worked on.