Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🦉 Duolearn

The "Duolingo for Everything," powered by Google Gemini AI.

Type any topic. Get a gamified, bite-sized lesson instantly.

🌟 What is Duolearn?

Stop reading boring Wikipedia pages and massive ChatGPT walls of text. Duolearn instantly converts any concept in the universe into a fun, bite-sized learning experience. No prompts required—just type what you want to learn, and let the AI do the rest.

✨ Features

  • Zero-Friction Onboarding: Type a topic, get a lesson. No complex prompt engineering required.
  • The "Duolingo" Aesthetic: Tactile buttons, progress bars, and an encouraging Owl mascot (🦉) make learning fun.
  • Micro-Learning UI: Concepts are broken down into short explanations, interactive flashcards, and multiple-choice quizzes.
  • Gamified Progression: Earn 💎 Gems and build a 🔥 Streak as you learn. Your stats are saved locally!
  • Social Bragging: Mastered a hard topic? One-click share your quiz score to Twitter to challenge your friends.
  • Secure Backend: API requests are proxied through a Vercel Serverless Function to keep your Google Gemini API key strictly confidential.

🚀 How to Run Locally

1. Clone & Install

git clone https://github.com/DevSidd2006/duolearn.git
cd duolearn
npm install

2. Configure Environment Variables

Because this app uses a Vercel Serverless Backend to protect your API keys, you need to configure your key correctly.

  1. Get a free Gemini API key from Google AI Studio.
  2. Create a .env file in the root directory:
# .env
GEMINI_API_KEY=your_actual_api_key_here

(Notice: Do NOT use the REACT_APP_ prefix, as the key is consumed by the Vercel backend, not the React frontend).

🛣️ Future Roadmap

We are continuously building to make Duolearn the ultimate micro-learning platform. Here is what's coming next:

Phase 1: Persistence & Accounts

  • User Authentication: Sign up with Google/GitHub to save progress across devices.
  • Database Integration: Move from localStorage to a real database (Supabase/Firebase) to permanently store Gems, Streaks, and completed topics.
  • Lesson History: A dashboard showing all the concepts you've mastered.

Phase 2: Advanced Learning Mechanics

  • Spaced Repetition (SRS): An algorithm that automatically brings back flashcards from old topics right before you're about to forget them.
  • Skill Trees: AI-generated curriculum paths (e.g., Search "Computer Science", and the AI builds a 20-step Duolingo-style skill tree).
  • Audio Pronunciations: Text-to-speech integration for language or medical terminology.

Phase 3: Social & Multiplayer

  • Leaderboards: Compete with friends to see who can earn the most XP/Gems in a week.
  • Community Decks: Browse and play the most popular topics generated by other users.
  • Multiplayer Quiz Battles: Challenge a friend to a real-time quiz on a specific topic.

🛠️ Tech Stack

  • Frontend: React 18, CSS3, Framer Motion (Animations), Lucide (Icons)
  • Backend: Vercel Serverless Functions (api/generate.js)
  • AI: Google Generative AI (Gemini 2.5 Flash)

🤝 Contributing

Want to help build the future of education? Contributions are welcome!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Built with ❤️ and 🦉

About

Resources

Stars

23 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages