Inspiration

  • Inspired by Factfulness book by Hans Rosling. The aim is to generate quizzes and questions on variety of topics where it challenges misconceptions in the mind of a player.
  • eg: Where does majority of world population live? (A. High income countries. B. Low income countries C. Middle income countries)
  • Wanted to fight global misconceptions with data-driven questions
  • Promote a fact-based worldview in an engaging way

What it does

  • Generates engaging quizzes based on real-world data (e.g., poverty, health, education, selected by any user)
  • Provides immediate feedback with explanations
  • Provides citations for each question so that user can read more about the fact and verify
  • Shows how many users selected which option (similar to poll results).

How we built it

  • Used Perplexity Sonar APIs (deep research / sonar-reasoning-pro)
  • Langchain as a wrapper for Perplexity
  • FastAPI python as backend
  • Nextjs as frontend

Created a question generator using prompts and data parsing backed by perplexity's APIs. Deep Research API gives the best results and generate most interesting and deep questions. We found sonar-reasoning-pro to be good as well. Built frontend with interactive quiz UI and visuals

Challenges we ran into

  • Ensuring question variety and difficulty balance
  • Aligning prompt to generate "interesting" questions and not "obvious" common knowledge questions.

Accomplishments that we're proud of

  • Turned complex data into an accessible quiz format
  • Maintained the message of Factfulness
  • Built a functional, realtime & live data-backed app in a short time

What we learned

  • Usage of perplexity APIs & when to use which APIs.
  • Importance of data literacy and combating bias

What's next for Factfulness Quiz

  • Add user accounts and progress tracking
  • Introduce regional or topic-based quizzes
  • Ability to generate quiz over CSV data sources like govt data sources around Health, Agriculture, Inflation etc

Built With

  • langchain
  • nextjs
  • perplexity
  • python
Share this project:

Updates