"Your Head is a Dome. Make it a Home."
dome-icile is a web-based Mind Palace construction kit. It digitizes the Method of Loci, allowing users to design, populate, and navigate spatial memory systems. Inspired by the techniques of competitive memory champions, dome-icile helps you commit information to memory through spatial association, absurd visualization, and ritualized navigation.
For developers (and curious users), we have extensive documentation in the dev/ directory:
- System Architecture: High-level diagrams and component breakdowns.
- Getting Started Guide: Setup instructions and "How to Add a Feature".
- SRS Logic Deep Dive: The math behind the Spaced Repetition algorithms.
- Gatekeeper Logic: How the quizzes and fuzzy matching work.
- Agents Protocol: The persona-based development workflow.
- Architect Mode: Design blueprints of your mind palace. Create rooms and organize your loci.
- The Foundry (AI Image Gen): Integration with Google Gemini to generate "sticky" memory images. Includes a prompt engine (
src/prompt_engine.js) that forces absurd visualizations. - Gatekeeper (Quizzes): A robust active recall system with three modes:
- Input: Type the answer (Fuzzy matching enabled).
- Choice: Multiple choice.
- Dynamic: Scales difficulty based on your streak.
- Ritual Mode: A focused "Room View" for daily meditation and spaced repetition reviews.
- Whisper Integration: Full support for OpenAI Whisper (Speech-to-Text) using the MediaRecorder API to transcribe audio directly into your inputs.
- A modern web browser.
- An API Key for Google Gemini (Optional, for image generation).
- An API Key for OpenAI (Optional, for Whisper Speech-to-Text and high-quality Text-to-Speech).
- Python 3 (for local serving).
- Clone the repository:
git clone https://github.com/yourusername/dome-icile.git cd dome-icile - Set up your environment:
cp .env.example .env # Edit .env with your API keys - Launch the application:
Note: This script simply runs
./startup.sh
python3 -m http.server. Because dome-icile uses native ES6 Modules (import/export), you must serve it via an HTTP server. Openingindex.htmldirectly in your browser via thefile://protocol will not work.
- The Palace: You define a "Room" (e.g., The Foyer).
- The Loci: You define specific spots (e.g., The Coat Rack).
- The Encode: You input a concept (e.g., "The periodic table").
- The Image: Our Prompt Engine refines your concept into something absurd (e.g., "A neon-glowing table made of periodic elements dancing the cha-cha").
- The Placement: You save this image to The Coat Rack.
- The Review: The SRS Engine schedules reviews to ensure long-term retention.
See CONTRIBUTING.md for guidelines.
See SECURITY.md for our security policy.
MIT