Inspiration
We’ve all faced that spark of curiosity—an intriguing fact, a “what if…” moment—that too often fizzles out in the sea of endless information. We wanted to turn scattered wonder into a daily habit, and when we discovered Perplexity’s Sonar Deep Research API, the idea clicked: why not gamify curiosity itself? EDU Quest was born to guide learners through bite-sized adventures—one question, one quiz, one discovery at a time.
What it does
- Daily Quest: Every day, the app picks one of your chosen domains (Programming, Health, Cooking, Electronics, AI, etc.) and generates a 5-question multiple-choice quiz.
- Instant Feedback & Explanations: After each answer, you get a clear, chain-of-thought explanation with trusted citations.
- 7-Day Study Plan: Onboarding generates a week-long roadmap across your interests so you know exactly what to explore next.
- Progress Dashboard: Track completed quizzes, scores, domains covered, and revisit any past question & explanation.
- Subscription & Trial: New users get a 7-day free trial via Stripe; after that, EDU Quest requires a paid subscription to unlock new daily quests.
How we built it
- Frontend & Routing: Next.js App Router with TypeScript and Tailwind for a responsive, playful UI.
- Auth & Data: Appwrite handles user auth (email), database collections (
users,domains,quizzes,results), and media storage. - Perplexity API Integration:
- Wrapped the
sonar-deep-researchendpoint in/lib/perplexity.ts. - Designed prompts to reliably return structured JSON: questions, options, explanations, citations.
- Exposed
/api/quizand/api/planAPI routes to generate and persist content.
- Wrapped the
- Payments: Stripe Checkout Sessions with a 7-day free trial; webhook handler updates user subscription status in Appwrite.
- Deployment & Testing: Frontend on Vercel; Appwrite cloud.
Challenges we ran into
- Prompt Consistency: Getting Perplexity to return clean, parseable JSON required dozens of prompt-engineering iterations.
- Subscription Edge Cases: Coordinating Stripe webhooks and Appwrite user states (trial expiries, failed payments) needed careful error handling.
- UX Balancing Act: Merging a fun “quest” aesthetic with clear educational UX took multiple design sprints to nail the right tone.
Accomplishments that we’re proud of
- A fully automated daily scheduler that never misses a user’s learning streak.
- Seamless Perplexity integration delivering high-quality quizzes with verifiable citations.
- A robust subscription flow that protects premium content while offering a generous trial.
- A vibrant, intuitive UI that feels like an adventure map—reinforcing the “quest” theme.
What we learned
- Habit Design: Micro-quests are more motivating than marathon study sessions—small wins build lifelong routines.
- Deep Research Workflows: Mastered chaining follow-up queries and extracting citations for transparent, trustworthy answers.
- Full-Stack Orchestration: Gained hands-on experience connecting Next.js, Appwrite, Stripe, and an AI API into a cohesive product.
What’s next for EDU Quest
- Collaborative Quests: Let friends team up on daily challenges and compare progress.
- Adaptive Difficulty: Use quiz performance to tailor question complexity over time.
- Mobile App & Offline Mode: Make daily quests available anywhere, even without internet.
- Analytics Dashboard: Give users insights into long-term learning trends and domain mastery.
EDU Quest is just the beginning—our goal is to empower everyone to explore, learn, and stay curious, one quest at a time.
Built With
- appwrite
- next.js
- stripe
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.