Inspiration
I have always enjoyed playing trivia games and I came up with the idea to make a trivia game where the questions are entirely user-driven. As I was learning convex, it became the perfect tool to make this use case come true.
What it does
Quiz Race is an engaging and interactive trivia game where players can test their knowledge. With a user-friendly interface and a vast database of trivia questions, Quiz Race offers an exciting gaming experience for users of all ages. Additionally, it empowers users to contribute their own questions to enrich the database.
How it was developed
Quiz Race was built using a combination of modern web technologies and frameworks. For the backend, Convex was used as the database solution, which allowed to efficiently store and manage the vast amount of trivia questions contributed by users. The frontend was developed using React.js in TypeScript. In addition, I used the testing framework Jest, ensuring comprehensive unit tests to verify the correctness and reliability of the code. Lastly, I used Netlify to deploy the application and make it public.
For more information, I have included additional details in my GitHub repository which can be found below.
Challenges
One of the major challenges I encountered during the development of Quiz Race was implementing the multiplayer functionality. I faced difficulties in ensuring both players could seamlessly enter the game simultaneously. Despite my efforts, synchronizing the entry of multiple players proved to be more complex than anticipated. Specifically, I struggled with updating the game state on the frontend for the first player once the second player joined, resulting in inconsistencies and disruptions to the multiplayer experience. While I aimed to deliver this feature within the initial release, time constraints and technical complexities hindered its full implementation. However, I got the information updating accordingly in the convex database and I plan to continue with this project to eventually release a complete multiplayer feature for this game.
Accomplishments
I am really proud that I was able to successfully develop a working prototype that encapsulates my vision for an engaging trivia game. Despite challenges, including complexities with multiplayer functionality, I persevered to deliver a functional and enjoyable experience to users. Furthermore, my journey with Quiz Race provided invaluable learning opportunities, notably through the utilization of the Convex database. Utilizing this technology empowered me to efficiently manage user-generated content, deepening my understanding of database management and laying a strong foundation for future projects. I am eager to continue refining and enhancing Quiz Race to provide users with an exceptional gaming experience.
What I learned
It was my first time using convex and I am happy that I was able to submit a functional application with the database. I am thankful for the great community in Convex that assisted in helping to answer my questions. I also got a refresher on react and learned better practices. I still have much more to learn, but this hackathon gave me a great foundation in database querying and integrating queries with the frontend, which will help me make an even better application the next time, as well as further improve this application.
What's next for Quiz Race
The future of Quiz Race is filled with exciting possibilities. Building upon the foundation laid in the initial release, the next steps for Quiz Race include the implementation of real-time competition, allowing users to compete against friends or other players in thrilling trivia races. Additionally, an aim to introduce social features such as leaderboards, friend challenges, and multiplayer modes, fostering a vibrant and engaging community around the game. Furthermore, I plan to incorporate AI capabilities, offering users the option to play against bots with varying levels of difficulty, providing enhanced solo game play.
Built With
- convex
- css
- git
- github
- html5
- javascript
- jest
- netlify
- react
- typescript

Log in or sign up for Devpost to join the conversation.