AI-Powered Self-Discovery & Career Strategy Engine
Transform your scattered thoughts into actionable intelligence.
Powered by Gemini, OpenAI, Claude, and Grok - built for thinkers who refuse to settle.
Model lineage: drafted with Gemini, refined with Claude Opus 4.5, finalized with GPT-5.2 Codex.
๋ชจ๋ธ ํ๋ฆ: Gemini๋ก ์ด์, Claude Opus 4.5๋ก ๋ค๋ฌ๊ณ , GPT-5.2 Codex๋ก ๋ง๋ฌด๋ฆฌ.
Features ยท 3-Step Guide ยท Demo ยท PWA ยท Quick Start ยท Memory ยท Tech Stack ยท Contributing
"Most productivity apps ask what you did. MyStats decodes who you are."
We don't just track your activities โ we uncover your hidden patterns, identify your psychological archetypes, and generate personalized strategies that leverage your unique strengths.
๐ Journal Entry โ ๐ง AI Analysis โ ๐ค Deep Profile โ โก Custom Strategy
Write freely. Our AI doesn't just save โ it decodes. Every entry is analyzed for:
- Skills (Hard & Soft)
- Personality Traits & Patterns
- Hidden Archetypes (e.g., "The Architect of Systems" ์์คํ ์ ์ค๊ณ์)
- Critical Questions you should be asking yourself
MyStats now includes a built-in memU-compatible memory layer:
- Embedded mode (default): runs entirely in the browser (no server required)
- Uses your Journal entries as memory for retrieval + similarity checks
- Strategy generation can automatically pull relevant memories as extra context
Bring your own API key and choose your brain:
- Gemini
- OpenAI
- Claude
- Grok
Your cumulative psychological map โ built from every journal entry. See:
- Existential Archetypes
- Hidden Behavioral Patterns
- Critical Life Questions
- Skill & Interest Radar
Describe a problem. Get a ruthlessly personalized solution:
- Unfair Advantage Analysis (What makes YOU uniquely positioned?)
- Mental Model Application (First Principles, 80/20, Inversion...)
- Concrete Action Plans
- Personal Blind Spot Warnings
MyStats can be installed like an app on mobile/desktop via PWA:
- iOS/Android: add to Home Screen / Install app
- Offline-friendly app shell caching (data stays local-first)
If you sign in, you can sync your data across devices via Supabase.
Current sign-in methods:
- Google OAuth
- GitHub OAuth (optional)
- Email + Password
Notes:
- After OAuth redirect, the app processes the session and removes any auth tokens from the URL.
- You must configure Supabase redirect URLs to allow your local and deployed domains (see
docs/CLOUD_SYNC.md).
"Input your raw thoughts, AI generates your life strategy guide."
MyStats is local-first with no backend.
- Setup: Settings โ API Key โ Save
- Recommended: Google Gemini (free)
- Privacy: Your key/data stay only in your browser (no servers).
Optional: Settings โ memU Integration โ keep Embedded to enable local memory retrieval from your journal.
Write anything in Journal (no format required).
- Life path, skills/weaknesses, wins/fails, current struggles
- Tip: The more specific, the sharper the analysis.
Once you have entries, the AI turns them into insight.
- ๐ฏ Strategy: A personalized plan based on your stats
- ๐ง Profile: Hidden patterns + deep questions for growth
๐ฎ Try it now: https://mystats-eta.vercel.app
- Open the demo link in Safari
- Tap Share
- Tap Add to Home Screen
- Open the demo link in Chrome
- Tap Install app (or โฎ menu โ Install app)
Note: MyStats is local-first. Without cloud sync, your data is stored per device/browser.
If you want MyStats to behave like a simple Chrome app launcher, you can load the included extension:
- Open
chrome://extensions - Enable Developer mode
- Click Load unpacked
- Select
mystats/chrome-extension/
Click the MyStats icon in the toolbar to open (or focus) the PWA.
- Node.js 18+
- API key (choose one):
# Clone the repository
git clone https://github.com/kks0488/mystats.git
cd mystats
# Install dependencies
npm install
# Start dev server
npm run dev- Open the app in your browser (check the terminal output; default is
http://localhost:5178) - Go to the Dashboard
- Enter your API Key (Gemini, OpenAI, Claude, or Grok)
- Start journaling!
MyStats ships with a memU-compatible memory layer that improves retrieval and strategy context.
- Runs fully in the browser โ no server required
- Uses your Journal entries as the memory store (IndexedDB / fallback local storage)
- Provides:
retrieve(top-K similar memories)check-similar(similarity-based duplicate detection)
If you already run a local memU server, you can switch to Server (API) in Settings to:
- Use the memU REST API endpoint
- Optionally include
project-registrymemories in Strategy
| Category | Technology |
|---|---|
| Framework | React 19 + Vite 7 |
| Language | TypeScript 5.9 (Strict Mode) |
| Styling | Tailwind CSS 3 + shadcn/ui |
| Animation | Framer Motion |
| AI Engine | Gemini / OpenAI / Claude / Grok (BYOK) |
| Local DB | IndexedDB (via idb) + localStorage fallback |
| Cloud Sync | Supabase (Auth + Postgres, optional) |
| Memory | memU (embedded browser engine or API server) |
| Validation | Zod |
| Icons | Lucide React |
| Routing | React Router 7 |
| Error Tracking | Sentry (optional, lazy-loaded) |
| PWA | vite-plugin-pwa (Workbox) |
| Testing | Vitest + Testing Library |
| CI/CD | GitHub Actions โ Vercel |
mystats/
โโโ src/
โ โโโ components/
โ โ โโโ layout/ # Shell (app frame, navigation, page transitions)
โ โ โโโ ui/ # shadcn/ui primitives (Button, Card, Badge, Inputโฆ)
โ โ โโโ ErrorBoundary # Global crash boundary + debug report
โ โ โโโ PwaUpdatePrompt # SW update / offline-ready toast
โ โโโ db/
โ โ โโโ db.ts # IndexedDB schema, migrations, CRUD helpers
โ โ โโโ fallback.ts # localStorage / in-memory fallback storage
โ โโโ hooks/
โ โ โโโ useLanguage.ts # i18n context consumer hook
โ โ โโโ useDbRecovery.ts # Automatic fallback โ DB recovery
โ โโโ lib/
โ โ โโโ ai-provider.ts # Multi-AI engine (Gemini/OpenAI/Claude/Grok)
โ โ โโโ memu.ts # memU memory system (embedded + server API)
โ โ โโโ cloudSync.ts # Supabase Cloud Sync logic
โ โ โโโ cloudSyncManager.ts # Auto-sync orchestrator
โ โ โโโ supabase.ts # Supabase client init
โ โ โโโ sentry.ts # Sentry lazy loader
โ โ โโโ debug.ts # Debug snapshot report
โ โ โโโ translations.ts # EN/KO translation strings
โ โ โโโ LanguageProvider # React context provider for i18n
โ โ โโโ LanguageContext # Language context definition
โ โ โโโ utils.ts # Shared utilities (cn, normalizeSkillNameโฆ)
โ โโโ pages/
โ โ โโโ Home.tsx # Dashboard with stats & quick start
โ โ โโโ Journal.tsx # Neural memory journal (write + AI analyze)
โ โ โโโ Profile.tsx # Deep intelligence profile (skills, archetypes)
โ โ โโโ Strategy.tsx # AI strategy engine (problem โ action plan)
โ โ โโโ Settings.tsx # API keys, memU, Cloud Sync, backup/restore
โ โโโ test/ # Test setup (Vitest + jsdom)
โ โโโ App.tsx # Router + providers + lazy page loading
โ โโโ main.tsx # Entry point + Sentry init
โโโ chrome-extension/ # Chrome toolbar launcher extension
โโโ docs/ # Additional documentation
โโโ supabase/ # Supabase SQL migrations
โโโ public/ # Static assets, PWA manifest, icons
โโโ package.json
MyStats supports:
- ๐บ๐ธ English
- ๐ฐ๐ท ํ๊ตญ์ด (Korean)
Toggle language in the header.
See CHANGELOG.md.
- Local-first by default: Journals/skills/insights are stored in your browser (IndexedDB)
- No mandatory backend: no tracking, no data collection
- Your API Key: direct connection to your provider in BYOK mode (we never see it)
- memU Embedded: runs locally in the browser
- memU Server (optional): in API mode, entries may be sent to your local memU service
- Cloud Sync (optional): only when you sign in and enable it
- Export Anytime: Download your data as JSON
We love contributions! Please see our Contributing Guide.
# Fork & Clone
git clone https://github.com/kks0488/mystats.git
# Create feature branch
git checkout -b feature/amazing-feature
# Commit changes
git commit -m "feat: add amazing feature"
# Push & create PR
git push origin feature/amazing-featureMIT License - see LICENSE for details.
- Google Gemini for generation
- OpenAI for generation
- Anthropic Claude for generation
- xAI Grok for generation
- shadcn/ui for the beautiful components
- Framer Motion for smooth animations
- All the open-source contributors who made this possible
โญ If this helped you, give it a star!
Built with ๐ง + โ by @kks0488