The learning app that helps you learn anything you want.
Duolingo but for any subject and community-driven.
This is a project to help people learn better. Its main feature is the ability to create and share courses. The point being that you can learn anything you want, and you can help others learn what you know.
The main reason for this project is that I would love to have an App like Duolingo but for university subjects, and since I'd have to create a nice way of adding content to it anyway, I thought why not make it a platform for everyone to use - so here we are.
- Create & Share Courses, Levels & Questions
- AI Helper for answering questions
- AI Course Sections & Levels creation from source documents (PDF)
- Leaderboard with Rank System
- Streak and XP System
- Level Scroller with Progression System and Sections
- Next.js
- Supabase
- TailwindCSS
- NextUI
- Shadcn
- Vercel AI SDK
- Gemini
- Mistral/NVIDIA Nemo
Missing some Question Types for your perfect Course? Add them here: Suggest a Question Type
I tried ordering stuff in a logical order, but I might still jump around a bit.
Features marked with a question mark are not yet decided on, and might be dropped.
- Basic Level interaction
- Level Scroller
- Auth System
- Course subscription system
- Basic Level creation
- Basic Level editing
- Basic Course creation
- Basic Course Editing
- General info
- Change order of Levels
- Data aquisition on questions & levels
- Add accuracy system for questions & topics
- Add XP system
- Track & Show streaks
- Basic UI for level complete, using that data
- Basic Creation for user accounts & profiles (I manually create them in the database right now)
- Very basic welcome/login page
- Basic UI for Profiles
- Basic Edit Profile
- Basic Settings (cloud saved)
- Leaderboard (global for now)
- Implement Rank system
- Leaderboard per rank
- Rank up system (individual)
- New-user Flow
- Onboarding
- Implement Course Sections
- Viewing course sections
- Creating course sections
- Editing course sections
- Adjust other systems to use course sections
- Level Scroller
- Level Creation
- Community Features 1
- Viewing other user profiles
- Rating System
- Courses
- Levels
- Recurring questions in levels when questions are answered wrong
- Data Features 1
- Training mode on low confidence questions
- Stats about users & learning
- Weekly/Monthly streak/xp goals
- Achievements - WIP
- PWA features
- App installation popup support (depends on Browser)
- Notification System
- Better caching
- Offline Mode
- Community Features 2
- Following other users
- Friend Battles
- Redesign UI & Refactor Code
- Improve UI/UX - WIP
- Add animations - WIP
- Move as much as possible to Server Rendering
- Buy a domain
- Anon views
- Anon view of courses
- Demo mode for onboarding
- Full offline Mode
- Downloadable Course Content -- WIP
- Full download of frontend
- Fallback for online features
- Syncing of offline progress
- Course Collaboration
- Friend Quests
- Importing Levels & Questions from other sources
- Anki decks -- WIP
- Website Scraper (only works on server-rendered websites)
- Security features
- Cloudflare
- Captcha for user sign ups
- Add Email Verification
- Privacy Settings
- Private Courses
- Private User Profiles
- Localization? - Only if there are enough users to justify it
- Multi-language support
- Multi-language Courses
- Institutional Accounts?
- Creating Levels & Questions from Document uploads using AI
- Website URL (only works on server-rendered websites)
- AI explanation for questions
- Personalized Teacher AI per course
- Basic AI for answering questions
- Give AI access to course data
- Give AI some useful features
- Multiple Choice & Single Choice
- True/False
- Match the Cards
- Fill in the Blanks
- Listening?
- Speaking?
I'm a EU-based Developer, so I'm building it with GDRP in mind. Altough, as you can take from the roadmap above, I didn't get to the part of implementing Privacy-focused features yet.
I'm using the free tier of Mistral, so every time you use the "Explain Answer" feature, all Data related to the Question and your answer gets send to Mistral and is used by them to train the Model. The only user-generated Data here is which answer option you chose, not even your username or anything like that.
Edit: For the Teacher AI, your username and the course you're currently in gets send to the AI, so it can give you more personalized answers. Again, Mistral Free Tier, so this data is used by Mistral to train their Models.
All other Data, exept for your password is visible in clear-text format for me in the Database. Sounds scary but pretty normal for any application really. (also I still didn't get around to hash user-provided Gemini API keys yet, so enter that on your own volition right now - I promise i won't do aynthing with it tho lol).
- If you delete your account, all data you generated gets permanently removed automatically.
This project is 100% open source. Please don't judge my code too harshly, I'm on a tight schedule and I'm doing my best.
If you want to contribute, please do. I'm happy to accept any help I can get. Easiest way is to test the app and report bugs, but if you want to help with code, that's great too.