https://github.com/chaosweasl/cognify
A website with an AI assistant that can turn notes into flashcards, and also remind the user to study through spaced repetition.
https://github.com/chaosweasl/cognify
contributions-welcome daisyui daisyui-react eslint help-wanted javascript nextjs open-source productivity productivity-tools react redux student student-tools study supabase typescript web website
Last synced: 3 months ago
JSON representation
A website with an AI assistant that can turn notes into flashcards, and also remind the user to study through spaced repetition.
- Host: GitHub
- URL: https://github.com/chaosweasl/cognify
- Owner: chaosweasl
- License: mit
- Created: 2025-06-13T14:37:33.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-07-11T15:53:04.000Z (3 months ago)
- Last Synced: 2025-07-11T17:54:11.929Z (3 months ago)
- Topics: contributions-welcome, daisyui, daisyui-react, eslint, help-wanted, javascript, nextjs, open-source, productivity, productivity-tools, react, redux, student, student-tools, study, supabase, typescript, web, website
- Language: TypeScript
- Homepage: https://cognify-chaosweasl.vercel.app
- Size: 2.11 MB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Cognify
**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.
## Features
- ✨ **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.## Getting Started
### Prerequisites
- [Node.js](https://nodejs.org/) (v18+ recommended)
- [npm](https://www.npmjs.com/) or [yarn](https://yarnpkg.com/) or [pnpm](https://pnpm.io/) (for package management)
- [Supabase](https://supabase.com/) 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)### Installation
1. **Clone the repository:**
```sh
git clone https://github.com/chaosweasl/cognify.git
cd cognify
```2. **Install dependencies:**
```sh
npm install
# or
yarn install
# or
pnpm install
```3. **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** use `https://cognify-chaosweasl.vercel.app` unless you are deploying to the official instance.
> Use your own local or deployment URL for `NEXT_PUBLIC_SITE_URL`.4. **Run the development server:**
```sh
npm run dev
# or
yarn dev
# or
pnpm dev
```5. **Update Supabase Authentication Settings:**
In your [Supabase](https://supabase.com/) project dashboard, go to **Authentication → URL Configuration**.
Set the **Site URL** to `http://localhost:3000` (or the URL you use for local testing).
This ensures authentication redirects work correctly during development.6. **Open [http://localhost:3000](http://localhost:3000) in your browser.**
## Project Structure
```
app/ # Next.js app directory (routes, pages, layouts)
components/ # React components
utils/ # Utility functions (Supabase client, helpers)
public/ # Static assets
docs/ # Documentation and TODOs
```## Roadmap
- [x] 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 decksSee [`docs/todo.md`](docs/todo.md) for more details.
## Contributing
See [`CONTRIBUTING.md`](CONTRIBUTING.md) for guidelines and tutorials on how to contribute.
## License
[MIT](LICENSE)
---
**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/](https://cognify-chaosweasl.vercel.app/)