A beautiful, private video journaling app that lets you record daily video diary entries, track your mood over time, and relive your memories through immersive story modes and interactive visual walls.
- Memory Stories - Watch your entries in a sequential, story-like format similar to social media.
- Auto-Curated Playlists - Choose from "Recent Moments", "Moments of Joy" (happy/excited/grateful), or "Flashback" (random picks from the past).
- Smooth Navigation - Interactive progress bars, auto-advance, and gesture/keyboard support.
- Living Visual History - A dynamic masonry grid of your life in motion.
- Living Video Tiles - Each tile plays a Mux-generated animated GIF preview simultaneously for a "Harry Potter" newspaper effect.
- Interactive Previews - Retro CRT scanline overlays and cinematic hover effects.
- Mux-powered streaming - Professional-grade video processing and playback with adaptive streaming.
- Mux GIFs - Hover over any entry card to see a living preview of that memory.
- Professional Playback - Integrated Mux Player with caption support and auto-transcription.
- AI Reflection Companion - Advanced analysis of your entries using OpenAI GPT-4o-mini.
- Automatic Summarization - Get 2-sentence summaries of your day effortlessly.
- Emotional Insights - AI detects sentiment levels and offers personalized daily advice.
- Time Capsule - Rediscover memories from exactly 1 month or 1 year ago.
- Milestones - Track your progress with badges like "Zen Master", "Night Owl", and "Weekend Warrior".
- Goal Tracking - Visual progress bars for recording streaks and mood varieties.
- Animated Background - Immersive, parallax-driven ambient blobs and interactive mouse effects.
- Noise Texture - Subtle high-end film grain texture for a premium "analogue" digital feel.
- Responsive Branding - Custom animated SVG logo and consistent glassmorphism design.
- Frontend: React 18 + TypeScript + Vite
- Styling: Tailwind CSS + shadcn/ui + Framer Motion (animations)
- Backend: Supabase (PostgreSQL + Auth + Edge Functions)
- Video: Mux Video API (Direct Uploads, GIFs, Playback)
- AI: OpenAI (GPT-4o-mini)
- State: TanStack Query (React Query)
Analyzes the transcript using OpenAI to generate insights.
Endpoint: POST /functions/v1/analyze-entry
Creates a new diary entry and initializes Mux direct upload with transcription enabled.
Endpoint: POST /functions/v1/mux-upload
Handles Mux events (video.asset.ready, etc.) to update statuses and transcripts in the DB.
Endpoint: POST /functions/v1/mux-webhook
| Route | Description |
|---|---|
/ |
Home - Memory Stories, Today's Prompt, Quick Stats, Time Capsule |
/record |
Recording Studio - Record & upload your thoughts |
/entry/:id |
Memory View - Video, AI advice & detailed analysis |
/timeline |
Timeline - Choose between Grid, Calendar, or the Mosaic Wall |
/insights |
Insights - Mood distribution, habit streaks, and Achievements |
/auth |
Security - Branded login/signup page |
-
Clone & Install
git clone <YOUR_GIT_URL> npm install
-
Run Dev Server
npm run dev
-
Configure Secrets
- Add
MUX_TOKEN_ID,MUX_TOKEN_SECRET,MUX_WEBHOOK_SECRETto your Supabase project. - Add
OPENAI_API_KEY.
- Add
https://player.mux.com/CCj4qM26bpO6r6Zlx37CFqh01dDZNAaYmt9FaJXDPkEY
- Row Level Security (RLS) ensures users only access their own memories.
- JWT Validation for all Edge Function calls.
- Mux Webhook Verification using signature headers.
MIT License - feel free to use this for your own projects!