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

  1. Frontend & Routing: Next.js App Router with TypeScript and Tailwind for a responsive, playful UI.
  2. Auth & Data: Appwrite handles user auth (email), database collections (users, domains, quizzes, results), and media storage.
  3. Perplexity API Integration:
    • Wrapped the sonar-deep-research endpoint in /lib/perplexity.ts.
    • Designed prompts to reliably return structured JSON: questions, options, explanations, citations.
    • Exposed /api/quiz and /api/plan API routes to generate and persist content.
  4. Payments: Stripe Checkout Sessions with a 7-day free trial; webhook handler updates user subscription status in Appwrite.
  5. 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

Share this project:

Updates