Master any subject with AI-generated flashcards and scientifically-proven spaced repetition
Live Demo β’ Documentation β’ Getting Started β’ Claude Desktop Integration
- FSRS Algorithm - State-of-the-art spaced repetition scheduling for optimal memory retention
- Advanced Notes - Add deeper insights and explanations to cards for comprehensive learning
- Multiple Card Types - Basic, Cloze deletion, Multiple choice, and Explanation cards
- Smart Study Sessions - Adaptive difficulty based on your performance with session timing
- Progress Tracking - Visual analytics, learning streaks, and detailed statistics
- Deck Rankings - Discover popular decks based on community usage
- Claude Desktop MCP - Generate high-quality flashcards using Claude's AI directly from your desktop
- API Token Authentication - Secure token-based access for AI features
- Batch Card Generation - Create up to 100 cards at once with AI assistance
- Smart Recommendations - AI-powered similar deck suggestions using vector embeddings (pgvector)
- Natural Language Commands - Create decks and cards with simple prompts
- Beautiful UI - Clean, minimalist interface inspired by Apple, Linear, and Stripe
- Responsive Design - Optimized for desktop, tablet, and mobile devices
- Custom Theming - Tailwind CSS v3 with custom design system
- Smooth Animations - Polished interactions and transitions
- Professional Components - Reusable, consistent UI components
- Node.js 18+
- npm or yarn
- PostgreSQL database (we recommend Neon)
- Clone the repository
git clone https://github.com/sderosiaux/oblivian.git
cd oblivian
- Install dependencies
npm install
- Set up environment variables
cp .env.example .env.local
Edit .env.local
with your configuration:
DATABASE_URL="postgresql://..." # Your Neon PostgreSQL connection string
JWT_SECRET="your-secret-key" # Generate a secure random string
- Initialize the database
npm run db:push
- Start the development server
npm run dev
Visit http://localhost:3000
to see your app running! π
The app is configured for automatic deployment on Vercel:
- Push to GitHub
- Connect your repository to Vercel
- Add environment variables in Vercel dashboard
- Deploy automatically on every push to main
Oblivian integrates with Claude Desktop using the Model Context Protocol (MCP) for AI-powered card generation.
-
Create an API token in the Settings page after logging in
-
Configure Claude Desktop by adding to
~/Library/Application Support/Claude/claude_desktop_config.json
:
{
"mcpServers": {
"oblivian": {
"command": "/opt/homebrew/bin/npx",
"args": [
"-y",
"mcp-remote",
"https://oblivian.vercel.app/api/mcp",
"--header",
"Authorization: Bearer ${OBLIVIAN_TOKEN}"
],
"env": {
"OBLIVIAN_TOKEN": "YOUR_API_TOKEN"
}
}
}
}
Replace YOUR_API_TOKEN
with the token from Settings.
- Restart Claude Desktop and start generating cards with natural language:
- "Create 20 flashcards about Python programming"
- "Generate cards for learning Spanish vocabulary with advanced notes"
- "Make a deck about World War II with explanations"
list_decks
- View all your deckscreate_deck
- Create new decks with title, description, level, and languageupdate_deck
- Update deck properties (title, description, level, language, visibility)delete_deck
- Delete a deck and all its cardscreate_cards_batch
- Generate multiple cards at once with advanced noteslist_cards
- Browse cards in a deckupdate_card
- Edit a single card's contentupdate_cards_batch
- Update multiple cards at oncedelete_card
- Remove a single carddelete_cards_batch
- Delete multiple cards at onceget_api_info
- Get information about the API connection
- Navigate to a deck
- Click "Add Card"
- Choose card type and enter content
- Add advanced notes for deeper insights
- Save and start studying
- Configure Claude Desktop with MCP
- Ask Claude to create cards: "Create flashcards about [topic] with advanced notes"
- Cards are automatically added to your selected deck
- Review and edit as needed
- Start a study session from any deck
- Review cards and expand advanced notes if needed
- Rate your recall (Again/Hard/Good/Easy)
- Cards are rescheduled based on FSRS algorithm
- Track your progress and maintain streaks
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- FSRS Algorithm - Advanced spaced repetition scheduling
- Claude Desktop - AI-powered card generation
- Model Context Protocol - MCP integration
- Neon - Serverless PostgreSQL
- Next.js - The React framework
- Vercel - Deployment and hosting
- Tailwind CSS - Utility-first CSS framework
- Drizzle ORM - TypeScript ORM
If you find Oblivian helpful, please consider:
- β Starring this repository
- π Reporting bugs and suggesting features
- π’ Sharing with friends and colleagues
- π€ Contributing to the codebase
Live Demo β’ Report Bug β’ Request Feature