Inspiration

Hi, I'm Chinedum. So this goes way back to November 2023, when I started learning to develop apps with Flutter. I started by building a fun quiz app, except that it was limited to just 6 flutter questions alone. Even while developing all the other 6 apps compiled in the course, the quiz app was the most exciting for me. So I thought, "Why not develop mine when I'm done with my course? but instead of featuring just 6 flutter questions alone, feature 10 for 4 different categories with better visuals & sounds?" That's what kickstarted my Trivia Glide journey & while developing it over time, I got more enthusiastic and overtime evolved it into the masterpiece it currently is, featuring unlimited question topics & questions with engaging visuals, sounds & even a previous scores screen.

What it does

Trivia Glide uses Gemini-AI to fetch unlimited questions based on any inputted topic and display them dynamically with engaging visuals and sounds. When users are done playing a quiz game, they are awarded based on their scores, and then they can view their previous scores. I primarily built it to revolutionize the trivia game space (as my embedded video explains). My submission for the app is for the design award as it introduces an innovative solution to the current trivia game experience along with beautiful visuals, sounds, and animations. It's been quite a pleasure to work on this.

How we built it

I started by designing mockups from Figma. The initial mockups were quite smaller than what they currently are because I kept evolving them. The entire codebase was written in Dart using the Flutter framework. I used Riverpod for state management and Hive for storing user databases. I also utilized Firebase for authentication, AdMob, analytics, and crashlytics. I made use of internal animations like flutter_animate and external animations like LottieFiles. The questions are generated using Gemini AI and fetch asynchronously with dio. Finally, the in-app purchases are integrated with the awesome purchases_flutter package, thanks to Revenuecat for the seamless integration.

Challenges we ran into

Almost everything was a challenge, given my experience lol. First, the initial design was challenging for me, I had to check a couple of designs and modify them a lot before I got what I wanted. The splash screen was confusing, following the policies for Android 12+, I figured it out at the last minute, even using the status bar was initially tough as I didn't realize that using a transparent app bar hides them. Developing the wrong/right answer detection was another challenge as I had to create a custom widget for that to resolve it, the sounds were also janking at times, which I fixed by preloading them. Integrating with Revenuecat was seamless though I was confused and initially forgot to use my entitlement ID, so it cost me a bit of time to figure it out. Finally, not changing my bundle ID at the initial start and not using my previously built upload keystore cost me a lot of time to resolve.

Accomplishments that we're proud of

I'm proud to see that the app I initially planned to contain just 40 questions split into 4 categories with a $1 one-off purchase has grown to an unlimited question base with unlimited categories with a far better subscription plan. It's humbling to think of when I look back at my initial drawing sheet.

What we learned

As someone who just started my mobile development journey a couple of months back, I learned that apps are really an investment and cost a lot to develop. So one should aim at at least getting a job before going indie. Part of my interest in developing this app is securing a job which I look forward to and I'm grateful to Revenuecat for giving me a great opportunity to kickstart my mobile journey, and of course, really look forward to winning this competition.

What's next for Trivia Glide

At the moment, I'm looking forward to securing a job but over time, I plan to make a couple of enhancements like multiple language support, multiplayer options, leaderboard ranking, and a lot more.

Built With

Share this project:

Updates