š° Rabbit Hole
The infinite, adaptive encyclopedia of curiosity
An AI-powered platform that celebrates neurodivergent learning patterns - turning every question into an endless journey of discovery. Built for those who love to dive deep and explore the fascinating connections between ideas.
⨠Features
- šÆ Dynamic Topic Suggestions - Fresh, intriguing topics regenerated every visit
- šļø 5-Level Depth Control - From 5-year-old explanations to PhD-level research
- š Real-time Streaming - Watch content generate live with Qwen2.5:7b
- šØ Smart Text Selection - Highlight any text to create new rabbit holes
- š Infinite Exploration - Every concept becomes a doorway to new discoveries
- ā” Local AI - Powered by Ollama for privacy and speed
š Quick Start
Prerequisites
Installation
Install Ollama and pull the model:
# Install Ollama from https://ollama.ai/
ollama pull qwen2.5:7b
Clone and setup the project:
git clone https://github.com/yourusername/rabbit-hole
cd rabbit-hole
Start the backend:
cd backend
pip install fastapi uvicorn httpx
python test_server.py
Start the frontend:
cd frontend
npm install
npm run dev
Open http://localhost:5174 and start exploring!
š® How to Use
- Start Your Journey - Try one of the dynamic suggestions or search for anything
- Adjust Depth - Use the slider to match your learning preference
- Explore Mode - Choose fact-based, story-driven, or hands-on content
- Dive Deeper - Highlight any text and click "Dive into the Rabbit Hole"
- Follow Connections - Click [[bracketed]] terms for related exploration
šļø Architecture
rabbit-hole/
āāā frontend/ # SvelteKit + Tailwind CSS
ā āāā src/routes/ # Main application pages
ā āāā src/lib/ # Components and utilities
ā āāā src/app.html # Base HTML template
āāā backend/ # FastAPI + Ollama integration
ā āāā test_server.py # AI content generation server
āāā README.md # You are here!
š¤ AI Model
This project uses Qwen2.5:7b via Ollama:
- 7 billion parameter model optimized for reasoning
- Runs locally for privacy and speed
- Supports streaming for real-time content generation
- Dramatically different outputs per depth level
šØ Design Philosophy
Built for neurodivergent learning patterns:
- Non-linear exploration over rigid curricula
- Multiple depth levels for different cognitive states
- Visual rabbit hole tracking
- Infinite curiosity-driven discovery
- No judgment, just pure exploration
š ļø Tech Stack
- Frontend: SvelteKit, Tailwind CSS, JavaScript
- Backend: FastAPI, Python, HTTP streaming
- AI: Ollama, Qwen2.5:7b local model
- Deployment: Static frontend, Python backend
š¤ Contributing
This is an open-source celebration of neurodivergent curiosity! Contributions welcome:
- Fork the repository
- Create a feature branch (
git checkout -b amazing-feature)
- Commit changes (
git commit -m 'Add amazing feature')
- Push to branch (
git push origin amazing-feature)
- Open a Pull Request
Ideas for Contribution
- Additional AI models support
- Mobile app version
- Voice interaction
- Visual knowledge graphs
- Collaborative exploration
- Multi-language support
š License
MIT License - feel free to fork, modify, and use in your own projects!
š Acknowledgments
- Built with love for the neurodivergent community
- Powered by the amazing Ollama project
- Inspired by everyone who's ever fallen down a Wikipedia rabbit hole
Happy exploring! š°āØ
Remember: There are no wrong questions, only fascinating journeys waiting to begin.