Cognify is an open-source platform that helps you turn your notes into flashcards using AI, and reminds you to restudy them using spaced repetition. You control your data and your AI: bring your own API key.
- ✨ AI-Powered Flashcard Generation: Automatically extract key concepts from your notes and generate targeted flashcards.
- 📄 Multiple Input Formats: Upload text, paste content, or upload PDF files.
- 🗄️ Personal Study Database: All flashcards are stored securely for your account.
- 🔑 Your Own API: Use your own AI API key (OpenAI, etc.) for privacy and control.
- ⏰ Spaced Repetition Reminders: Get reminders to review your flashcards for optimal learning.
- 🔒 Open Source & Self-Hostable: 100% open-source, no vendor lock-in, no hidden fees.
- 🛡️ User Authentication: Secure sign-up, login, and user management.
- 🖼️ User Profiles: Upload profile pictures, change usernames, and manage your account.
- 🌐 OAuth Support: Sign in with Google, GitHub, and more.
- Node.js (v18+ recommended)
- npm or yarn or pnpm (for package management)
- Supabase account (for authentication and database)
- An AI API key (e.g., OpenAI). You can also test with a local model using LMStudio or any other local AI (not recommended for actually creating flashcards)
-
Clone the repository:
git clone https://github.com/chaosweasl/cognify.git cd cognify
-
Install dependencies:
npm install # or yarn install # or pnpm install
-
Set up environment variables:
Create a
.env.local
file in the root directory:NEXT_PUBLIC_SUPABASE_URL=your_supabase_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key NEXT_PUBLIC_SITE_URL=http://localhost:3000 # Or set to your deployed URL if not running locally # Add your AI API key as needed
Note:
Do not usehttps://cognify-chaosweasl.vercel.app
unless you are deploying to the official instance.
Use your own local or deployment URL forNEXT_PUBLIC_SITE_URL
. -
Run the development server:
npm run dev # or yarn dev # or pnpm dev
-
Update Supabase Authentication Settings:
In your Supabase project dashboard, go to Authentication → URL Configuration.
Set the Site URL tohttp://localhost:3000
(or the URL you use for local testing).
This ensures authentication redirects work correctly during development. -
Open http://localhost:3000 in your browser.
app/ # Next.js app directory (routes, pages, layouts)
components/ # React components
utils/ # Utility functions (Supabase client, helpers)
public/ # Static assets
docs/ # Documentation and TODOs
- Email/password authentication
- OAuth login (Google, GitHub, etc.)
- User profile management (avatars, usernames)
- Flashcard creation and storage
- AI-powered flashcard generation (bring your own API key)
- PDF parsing and import
- Spaced repetition reminders
- Mobile-friendly UI
- Community/shared decks
See docs/todo.md
for more details.
See CONTRIBUTING.md
for guidelines and tutorials on how to contribute.
Cognify is built to empower learners everywhere. You own your data, your AI, and your learning journey.
You can watch live development at https://cognify-chaosweasl.vercel.app/