Self-directed project
Frontend Engineering with Prediction Game
Junior Front-End Engineer · Software Engineering · July 2026
A ProoV case study · educational project, not employment
Built a complete World Cup prediction game end to end: rendered the fixture board with score inputs, implemented exact-result scoring, derived team attack/defense strengths from real match data, and used those strengths in a Poisson-based house bot. Also persisted and ranked the leaderboard in localStorage and deployed the finished experience to a live Netlify URL.
Graded against
- Scoring engine correctness30%
- Prediction model genuinely from real data25%
- Game completeness and leaderboard soundness25%
- Shipped and shareable: live deployed URL20%
Passed · pass mark 60/100
What stood out6
- Implemented the exact 5/2/0 scoring logic and passed all four canonical scoring cases, including draw-vs-draw handling.
- Computed team strengths from a real-results sample and used both teams' ratings in the bot's prediction logic.
- Built a persistent leaderboard that stores one key in localStorage, sorts descending, and survives reloads.
- Shipped a live Netlify URL, making the project shareable and runnable outside the lab.
- Leakage-Free Feature Engineering
- Correct Rule Implementation
The work I submitted16 tasks
8 tasks · 11 lines · JavaScript · 8 written answers · 579 words
- Lab Orientation681 characters
- Act1 Fixtures FormJavaScript · 2 lines
- Act2 Scoring FunctionJavaScript · 2.7k characters
- Act3 Compute Strength142 characters
- Act3 House Bot108 characters
- Act4 LeaderboardJavaScript · 2 lines
- Act5 Assemble2 lines
- Final Submission94 characters
- Lab Orientation67 words
- Act1 Fixtures Form143 words
- Act2 Scoring Function117 words
- Act3 Compute Strength4 words
- Act3 House Bot1 word
- Act4 Leaderboard138 words
- Act5 Assemble108 words
- Final Submission1 word
Summarised on purpose — the submitted code and writing stay private so this page cannot be reused as an answer key. The full submission sits behind the verified certificate.