Your cognitive digital twin. Memory capture + knowledge graph + AI conversations + wellness tracking + creative generation. Built by Kajarnak Tech.
Live: https://kajarnaklokossou2008.github.io/echogenesis/
EchoGenesis is a fully client-side React + TypeScript + Vite application that turns your browser into a private second brain. Capture memories as text, voice memos, or photos; build a knowledge graph automatically; chat with your memories; track wellness; and generate creative works from your captured life. 100% local — no backend, no cloud, no API keys.
- Text notes — title, content, tags, mood rating (1-5 stars)
- Voice memos — record audio with MediaRecorder API, stored as blobs in IndexedDB, full playback
- Photo memories — upload images, auto-downscaled to ≤1024px to save space, displayed in gallery
- Incognito mode — capture without linking to the knowledge graph
- Auto-linking by shared tags
- Force-directed SVG layout with node sizing by tag count
- Click any node to view the full memory (including audio/photo)
- Filter by tag, type, and date range
- Color-coded by memory type
- Ask a question — the app tokenizes your query, searches memories by keyword + tag matching, and replies with excerpts
- Each response shows its sources (the memories it drew from)
- If no match: "I don't have memories about that yet. Want to add one?"
- Daily mood check-in (5 emoji: 😞 → 😄)
- 30-day mood trend chart (CSS bar chart)
- Mood correlations: "Your mood is higher on days you write notes (+0.42)"
- Gentle nudges: "You haven't journaled in 3 days."
- Mood streaks and 30-day averages
- Memory poem — found poem assembled from 3-5 random memory excerpts
- Memory collage — grid of recent photos with captions
- Time capsule — select memories → generate a styled HTML capsule to revisit in 30 days, downloadable as standalone HTML
- ALL data stored in IndexedDB on this device
- Export everything as JSON (including base64-encoded audio/photos)
- Delete all data with confirmation
- Incognito capture mode
- React 18 + TypeScript + Vite (
base: '/echogenesis/') - Dexie.js — IndexedDB wrapper (memories, moods, capsules, blobs, chats)
- MediaRecorder API — voice memos
- Web Audio API — playback
- Custom SVG — force-directed knowledge graph
- Custom CSS — mood chart, dark/light themes
echogenesis/
├── .github/workflows/deploy.yml
├── public/ # favicon, og image, robots
├── src/
│ ├── components/ # Header, Hero, Capture, MemoriesList, GraphView, Chat, Wellness, Creative, Privacy, StatsStrip
│ ├── lib/
│ │ ├── ai.ts # rule-based search + poem/capsule generators + correlations
│ │ ├── db.ts # Dexie wrapper
│ │ ├── graph.ts # graph builder + force-directed layout
│ │ ├── i18n.ts # EN/FR
│ │ ├── media.ts # VoiceRecorder + image downscaling
│ │ └── types.ts
│ ├── hooks/ # useTheme, useI18n
│ ├── styles/global.css # dark/light theme
│ ├── App.tsx
│ └── main.tsx
├── index.html # SEO meta, OG, Twitter, JSON-LD
├── sitemap.xml
└── vite.config.ts
npm install
npm run dev # local dev
npm run build # type-check + build → dist/
npm run preview # preview production buildThe included GitHub Actions workflow (.github/workflows/deploy.yml) builds and deploys to GitHub Pages on every push to main.
- Create a repo named
echogenesison GitHub. - Push the contents of this folder.
- In repo Settings → Pages, set Source to "GitHub Actions".
- Wait for the workflow to finish — site is live at
https://<user>.github.io/echogenesis/.
100% client-side. No backend, no analytics, no API keys, no cloud. All your memories (text, audio, photos) live in your browser's IndexedDB. Use the Privacy tab to export a backup or delete everything.
MIT © Kajarnak Tech