A mindful note-taking app where your thoughts grow a living plant.
Write, reflect, earn XP, and watch your garden flourish.
๐ Try it live โ ย ย |ย ย ๐ Full Feature Docs โ
GroWthink combines journaling with gamification. Every note you write waters your virtual plant, earning XP and keeping it alive. Skip a day? Your plant's health drops. Build streaks, unlock achievements, and watch your garden grow as your mind does.
The core loop: Write โ Earn XP โ Level Up โ Plant Grows โ Unlock Rewards โ Keep Writing
- Rich notes with mood tracking, categories, and tags
- Focus mode โ distraction-free fullscreen writing
- AI chat interface for conversational note capture
- Speech-to-text, photo notes, and voice recordings
- Smart tag suggestions and note templates
- 4 plant species with procedural SVG rendering
- Plant DNA system โ 8 genetic traits, mutations, and breeding
- Multi-plant garden tied to note categories
- 5 evolution stages: Sprout โ Sapling โ Bloom โ Ancient โ Legendary
- Pet companions (Cat, Bird, Frog, Butterfly, Squirrel)
- Sentiment analysis with 30-day trend chart
- Word cloud visualization
- Weekly review cards and 90-day activity heatmap
- Location-tagged notes with interactive map
- Mind map generator on canvas
- XP system with 20+ levels and streak tracking
- 12 achievement badges and daily/weekly challenges
- Cosmetic shop with 35+ items (hats, effects, pots)
- Pomodoro timer with XP bonus
- Challenge mode with personal records
- Procedural lo-fi music engine (no audio files!)
- 5 adaptive soundscapes: Rain, Ocean, Forest, Campfire, Cafรฉ
- Dynamic sky that follows time of day (8 phases)
- Weather integration with animated particles
- Export as JSON, Markdown, CSV, or text
- Monthly zine โ auto-generated magazine from your notes
- QR code sync for cross-device data transfer
- Notion integration
- PIN lock for private notes
index.html โ 429 lines Clean HTML structure
style.css โ 615 lines Full responsive styling
app.js โ 1,115 lines Core application logic
db.js โ IndexedDB storage layer (50MB+)
perf.js โ Debounce, throttle, lazy loading, virtual scroll
lofi.js โ Procedural lo-fi music engine (Web Audio API)
sounds.js โ Ambient soundscape generator
sw.js โ Service worker with offline caching
Zero frameworks. Zero dependencies. Pure vanilla HTML, CSS, and JavaScript. Runs entirely in your browser with no server required.
- Lazy-loaded CDN scripts (Leaflet, html2canvas, lz-string, jsQR)
- Debounced input handlers (200ms)
- IndexedDB with localStorage fallback
- Service worker with cache-first strategy
- Terser minification (14% size reduction)
- Data migration system for seamless version upgrades
Visit kevinb2212.github.io/growthink โ works on any device with a modern browser. Install as a PWA for the full experience.
git clone https://github.com/KevinB2212/growthink.git
cd growthink
npm install # Install dev dependencies
npm run dev # Start Vite dev servernpm run build # Minifies JS โ dist/| Version | Highlights |
|---|---|
| v5.1 | Modular file split, IndexedDB, lazy loading, Vite build, service worker upgrade |
| v5.0 | Focus mode, sentiment analysis, word cloud, smart tags, plant DNA, mind map, QR sync |
| v4.0 | Pet companions, soundscapes, daily challenges, photo/voice notes, PIN lock |
| v3.0 | XP shop, weather, time capsules, heatmap, templates, lo-fi music |
| v2.0 | Achievements, insights, mood tracking, plant types, pomodoro, themes, PWA |
| v1.0 | Core notes, virtual plant, AI chat, speech-to-text, Notion sync |
Each version is preserved as a branch (v1โv5) with annotated tags.
| Technology | Usage |
|---|---|
| Vanilla JS | Core application logic |
| CSS3 | Animations, gradients, responsive design |
| HTML5 Canvas | Mind map, plant rendering |
| IndexedDB | Primary storage (50MB+) |
| Web Audio API | Procedural lo-fi music |
| Service Workers | Offline support, caching |
| Geolocation API | Location-tagged notes |
| Notification API | Note reminders |
| Speech Recognition | Voice-to-text input |
| MediaRecorder | Voice note recording |
| Leaflet.js | Interactive maps |
| Vite | Dev server & build tool |
MIT ยฉ Kevin
"Your mind is a garden, your thoughts are the seeds.
You can grow flowers or you can grow weeds."