Inspiration
Explainify was inspired by a simple idea: Learning should be effortless, engaging, and accessible to everyone.
I noticed that many students struggle to learn a topic because information is scattered across videos, articles, and textbooks. You often have to search in multiple places just to understand one concept. I wanted to build something different—something that feels like a personal tutor who instantly creates a complete learning path tailored just for you.
I drew inspiration from:
The frustration of jumping between resources to understand a single topic Apps like Duolingo and Quizlet that make learning fun through structure The potential of modern AI models to generate clear explanations The belief that education should feel interactive, beautiful, and enjoyable
Explainify was born from the dream of combining strong UX, creativity, and AI to turn any topic—from physics to history—into a fun learning adventure.
What it does
Explainify takes any topic you enter and instantly turns it into a complete, structured learning experience.
It first generates a full lesson that includes an introduction, several detailed sections, and a clear summary, giving you a strong and simple foundation to understand the topic.
After the lesson, Explainify creates interactive flashcards that highlight the most important points. These cards are swipe-friendly and designed to make revision quick, smooth, and engaging.
Once you’ve gone through the flashcards, the app presents a short quiz. This quiz checks your understanding through auto-graded multiple-choice questions and gives instant feedback to help you know how well you’ve grasped the material.
Next comes a comprehensive final test that includes both MCQs and short-answer questions. Every question comes with answers and explanations so you can learn from your mistakes or reinforce what you already know.
Finally, Explainify lets you download the entire test as a clean, well-formatted PDF — perfect for revision, printing, or sharing.
The entire journey flows smoothly from teaching → flashcards → quiz → final test, all within a fun, colorful, and highly interactive interface designed to make learning feel exciting rather than overwhelming.
How I built it
I built Explainify as a full AI-powered learning system by combining a clean backend, a dynamic frontend, and a carefully engineered prompt workflow.
I started with a Flask backend that exposes a single /api/generate endpoint. When a user enters a topic, the backend sends a strict JSON-structured prompt to the DeepSeek API. I designed this prompt so the model always returns a complete lesson, flashcards, a quiz, and a final test — all in one response. To ensure reliability, I added JSON extraction and validation so the app never breaks due to formatting issues.
On the frontend, I built a fully interactive single-page experience using pure HTML, CSS, and vanilla JavaScript. I designed bright visuals, smooth transitions, and mobile-friendly interactions to make learning feel fun. Flashcards support swiping, quizzes auto-grade instantly, and the final test can be downloaded as a PDF using jsPDF.
A simple JavaScript state manager ties everything together and handles navigation across teaching, flashcards, quiz, and test. The flow feels seamless, fast, and engaging — all from a single topic input.
In short: I built a compact but powerful system where the backend handles intelligent generation and the frontend transforms it into an interactive learning journey.
Challenges I ran into
One of the biggest challenges was getting consistent JSON from the LLM. Even small formatting errors would break the entire flow, so I had to build a custom extractor that cleans the response, validates fields, and safely recovers from malformed output.
Another challenge was creating a smooth and interactive UI without using any frontend frameworks. Implementing swipeable flashcards, animated transitions, and state-based navigation in pure JavaScript required careful event handling and a lot of fine-tuning.
I also ran into issues with keeping the learning flow seamless. Each section — teaching, flashcards, quiz, and test — needed its own logic, yet everything had to feel connected. Building a lightweight state manager solved this but took experimentation.
Finally, ensuring that the quiz auto-grading, visual feedback, and PDF generation worked across devices was a challenge, especially with layout constraints. I iterated several times to get a responsive design that feels polished and stable.
Accomplishments that I'm proud of
I’m proud that I was able to turn a single idea — “type a topic, get a full learning journey” — into a working AI product that feels smooth, fast, and fun to use.
I managed to build the entire frontend without any frameworks, yet still created a modern, animated, and highly interactive experience. Getting flashcards, quizzes, transitions, and user flow to feel seamless was a big achievement.
Another accomplishment was designing a prompt + backend system that reliably produces structured JSON every time. LLMs can be unpredictable, so creating a stable generation pipeline with validation and error-handling felt like a major win.
I’m also proud of implementing auto-grading, visual feedback, and a downloadable PDF test — features that make Explainify feel like a complete learning platform rather than just a demo.
Overall, I built something that is not only functional, but genuinely useful, polished, and enjoyable — and that’s what I’m most proud of.
What I learned
I learned how to design prompts that consistently generate structured, reliable JSON — something that’s surprisingly difficult with large language models. It taught me the importance of constraints, validation, and defensive programming.
I also deepened my understanding of building interactive frontends without frameworks. Implementing swipe gestures, animations, and state transitions in pure JavaScript pushed me to think more creatively about UI logic and user flow.
Working with Flask and external APIs helped me refine my full-stack skills. I learned how to handle API failures gracefully, sanitize unpredictable responses, and connect backend intelligence with a clean, responsive interface.
Most importantly, I learned how to turn raw AI outputs into a polished user experience — bridging the gap between powerful models and real, usable products.
What's next for EXPLAINIFY
I plan to expand Explainify into a richer, more intelligent learning platform. The next step is adding user profiles so people can save their progress, revisit past topics, and build a personalized learning dashboard.
I also want to incorporate image generation and diagrams, so complex topics like biology, physics, or geography come with visual explanations instead of just text.
Another major goal is adaptive learning: using the user's quiz performance to generate harder or easier content automatically, making Explainify feel like a real personalized tutor.
Finally, I’m looking to deploy Explainify at scale with better caching, faster responses, and mobile-optimized layouts — turning it from a project into a platform that anyone can use to learn anything, anytime.
Built With
- css
- deepseek-via-openrouter-api
- html
- html/css
- javascript
- jspdf
- python-(flask)
Log in or sign up for Devpost to join the conversation.