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
Log in or sign up for Devpost to join the conversation.