Inspiration
We've all played that game with friends — "How well do you actually know me?" I wanted to bring that competitive, personal energy online. Generic personality quizzes are everywhere, but nothing lets you become the quiz subject and watch your friends compete to know you best. That gap inspired Bestie Quiz.
What it does
Bestie Quiz lets you create a personalized quiz about yourself and challenge your friends to take it. You answer questions about yourself, share a unique link, and your friends try to guess your answers. Everyone gets scored and ranked on a leaderboard — revealing who your real bestie is.
How I built it
Built with PHP CodeIgniter 3 following the MVC pattern. Controllers handle quiz creation and scoring logic, Models manage MySQL database queries, and Views render the UI server-side. Unique shareable quiz links are generated using random tokens, and friend scores are calculated as: Score = (Correct Answers / Total Questions) × 100
Challenges I ran into
Using auto-increment IDs in URLs exposed all quizzes — switched to random tokens for security. Preventing friends from submitting multiple times required session-based fingerprinting. Managing dynamic question sets cleanly in CI3's POST handling also took careful structuring.
Accomplishments that I'm proud of
Built a fully functional multi-user web app with distinct creator and friend experiences, a clean token-based sharing system, and a working leaderboard that makes results genuinely exciting to see.
What I learned
Security must be considered at the design stage, not as an afterthought. CI3's MVC structure keeps PHP projects clean and maintainable, and vanilla JS with discipline can go a long way without needing a heavy framework.
What's next for Bestie Quiz
Custom user-written questions, timer mode per question, shareable score cards for social media, email notifications when a friend completes your quiz, and migration from CodeIgniter 3 to CodeIgniter 4.
Log in or sign up for Devpost to join the conversation.