Inspiration
Lately, I have noticed that after doomscrolling for some prolonged time, I am not as mentally sharp as usual. So I wanted to create an app that would generate me some daily logic puzzles or riddles that get progressively more difficult each day. It would be great if it could analyze the user's performance, find weak spots and suggest targeted puzzles to improve user's skills and logical thinking. In order to improve the model's inferences, the model can be fine-tuned specifically to generate puzzles and riddles. Moreover, the prompt engineering can be applied to receive the best results.
What it does
The app offers users AI-generated riddles of five varying difficulty levels. Users can log in, receive their riddles, and then validate their answers. Currently, riddles are of two types: short-answer riddles and multiple-choice riddles.
How we built it
I used Next.js to handle the front-end and back-end API requests. Gemini was used to create the riddles. Auth0 was used to handle logins and logouts.
Challenges we ran into
I initially used React Native to build a mobile application. However, I had trouble connecting Auth0 to the project as it is not well compatible with Expo framework. Even after setting up native development using expo prebuild, the callback URI was redirecting me to an unfound page. After several hours of troubleshooting, I decided to use Next.js instead.
Accomplishments that we're proud of
It was my first time using Next.js and LLM APIs in web app development. I am proud that I have at least a minimum prototype with working features :D
What we learned
I learned a lot about social login, setting up the projects, and secrets.
What's next for RiddleDay
There are several features I would like to implement:
- Connect to the database to keep the user's performance in different types of puzzles to later analyze and tailor the inferences to the skill level.
- Add more types of questions.
- Generate fun quizzes based on the user interests.
- Currently, the app is creating a new riddle for each start. I would like to pregenerate questions, cache them, so that everyone can get the same set. It is also necessary to limit the requests.
Built With
- auth0
- gemini
- next.js
- typescript
Log in or sign up for Devpost to join the conversation.