This is a public reconstruction with fictional events and browser-local data that resets on reload. Core participant and admin flows are interactive; XLSX import and prediction history are labelled interface previews. The case below describes the original project, including workflows beyond this reconstruction
The case at a glance
The challenge
I saw an opportunity to give hackathon spectators an active role, beyond following the presentations
My approach
So I proposed building the platform, created a prototype in Manus and developed the participant and admin journeys with Codex
The result
The platform went live during the event, with 2,917 predictions settled across 11 events and a preserved final archive
Project details
Project type
An internal platform for a corporate event
Period
Core development: February–March 2026 Launch and operation: April 2026
My responsibilities
Opportunity discovery, requirements, scope, rules, UX direction, acceptance and live operation
Delivery
My idea → Manus prototype → Codex development → launch
Technical evolution
Raspberry Pi and SQLite → dedicated Linux host and PostgreSQL
Project status
Event completed; original service archived. Sanitised demo available above
I proposed building a platform for spectators
While helping organise a corporate hackathon, I proposed giving spectators virtual credits to predict hackathon outcomes, follow results and compete for prizes
A dedicated digital product for spectators had not been part of the initial plan. After my proposal was approved, I took ownership of shaping and delivering it
Predictions were the starting point. As the product developed, I added team voting and audience-award workflows, connecting more ways to take part in the event
The currency had no monetary value and could not be withdrawn or exchanged. I treated the economy as an engagement mechanism and tested proposed reward rules against that purpose
The product had a defined lifespan. A reliable event, clear rules and correct results mattered more than continuing to expand the feature set
I set the direction and approved the result
I led the product from the original proposal through requirements, design, release and live operation. I developed the BRD and first design prototype in Manus before moving into full-stack development with Codex
I set product priorities, reviewed technical options and checked the result myself before accepting it. Codex implemented and tested the application; product ownership describes my responsibilities on the project, rather than a formal Product Manager title
My ideaI saw an opportunity to involve spectators and proposed a new prediction platform using virtual credits
Prototype in ManusI developed the requirements and first interface prototype with Manus
Development with CodexI directed implementation, checked the UX and accepted the working product
Launch and operationI prepared the release, supported the live event and preserved the final archive
The tools changed across the project; product direction and acceptance stayed with me
My decisions
The original product proposal and requirements; what to build or remove; how the rules should work; what a participant should understand; what an organiser should control; whether the result was acceptable for release
Codex’s execution
Frontend and backend implementation, database changes, technical options, test scripts, diagnostics, deployment and documentation
My acceptance
Hands-on checks of participant and administrator workflows on desktop and mobile. I tested actual interface states and requested revisions when the interface did not match the agreed behaviour
Keep the scope tied to the hackathon
The initial MVP connected login, virtual balance, events, predictions, settlement, a leaderboard and administration. It established the full cycle from a participant’s choice to an organiser’s official result
A merchandise shop was added during development. I later asked to remove it and return to editable prizes for leaderboard positions. The final product focused on predictions, voting, prizes and running the event
I also separated the main hackathon questions from additional events. The most important choices needed to be visible immediately; secondary questions could sit further down the page
Removing the shop kept the scope focused on the hackathon
One connected journey, two sides of the product
Choose an outcomeParticipant · event and team
Confirm a predictionParticipant · credits and reward
Settle the eventOrganiser · official outcome
Follow the resultParticipant · balance and ranking
Make the next action clear
Prediction confirmation: amount, balance and estimated payout
Choose a team, then predict
Early layouts for selecting an outcome were either too large or too dense. I checked that team names remained readable, the selected state was obvious and the main action stayed visible
More on this decision
The resulting sequence was explicit: select a team, choose Place Bet, then confirm the amount. Before selection, the interface needed to explain why the action was unavailable. After submission, it needed to show the participant’s choice and expected reward
Explain the reward where it matters
A reward based entirely on the shared pool could produce a disproportionate payout for a very small prediction. I asked for numerical examples, challenged confusing alternatives and set constraints to make the virtual economy easier to understand
More on this decision
I requested a visible potential reward and moved detailed formulas into the rules. The event card could then concentrate on the choice and its consequence. The displayed reward remained an estimate until settlement
Make the leaderboard useful
I simplified the ranking by basing it on the net result of settled predictions. Allocated credits should not automatically become a competitive advantage
More on this decision
I also asked for a leaderboard with its own scroll area and the participant’s position in the header. Finding your place should not require scrolling through an ever-growing page
Follow the participant journey
Discover an eventUnderstand the question and whether predictions are open
Choose and confirmSelect an outcome and review the virtual credit amount
See the saved choiceCheck the prediction and potential reward
Follow the resultSee settlement and the effect on the leaderboard
Participant journey schematic. Try the connected states in the demo
Two votes with different purposes
Public support and a secret audience award needed different behaviour. I separated the two instead of treating voting as a single generic feature
For both, I asked for a clear selected state, acknowledgement that the vote was saved and confirmation of a changed choice inside the product
Team Boost
Recurring rounds let spectators support a team. Organisers could change the question, open a new round and retain earlier results
Visibility
Open distribution of support
Operation
Organiser-controlled rounds and rewards
Purpose
Visible participation during the event
Audience Choice
The audience award needed voting results to remain private until the announcement. Before then, a broadcast view could show the number of votes without revealing the distribution
Visibility
Distribution hidden from participants before the result
Operation
Administrative statistics and export
Purpose
Preserve the suspense of the final award
These describe the original product’s two voting modes. The public demo reconstructs selected team-voting workflows
The organiser needed a product too
Event settlement: select the winner and apply the result
Operate the event from the interface
The organiser needed to create and edit events, change schedules, manage their status, open voting rounds and settle official outcomes. I treated the administrator workflow as a core part of the product
More on this decision
Hands-on testing exposed practical gaps: unclear start and end fields, problems with administrator imports, missing main events and reset controls. I turned those observations into changes to the workflow
Design for the broadcast
An operator’s working screen is different from a screen shown to spectators. I requested separate 16:9 views for rankings, Team Boost and Audience Choice, then reviewed text density, overlap and whether all teams fitted
More on this decision
During the event, a simpler standalone statistics card was also needed. I treated that output as part of running the hackathon rather than assuming the main interface would serve every context
Preserve what participants had already done
Live changes included schedules, leaderboard presentation and credit allocations. My recurring constraint was to preserve accepted predictions, votes and configured events
More on this decision
Organisers managed much of the event through the admin interface. Some changes still needed technical assistance, so the launch was not entirely self-service
Check the journey on a phone
I found issues on mobile that were less apparent on desktop: an unstable header, an excessively long leaderboard and a voting section that occupied too much of the screen. I requested a complete mobile layout while retaining the desktop experience
Onboarding also needed to work in context. I checked that each hint pointed to a visible element and did not cover the action it explained. Desktop used element highlighting; mobile used a separate bottom panel and different scrolling behaviour
As voting features were added, the tour needed to explain them too. These were manual acceptance checks. I did not run a separate usability study or measure whether completing the tour meant that people understood the rules
A working prototype was only the start
A prediction had to be saved once, the balance had to change consistently and settlement had to avoid duplicate payouts. I requested correctness checks and load tests around those risks
I also asked for staging and production to be separated. After test content was damaged and an unapproved shop appeared in the wrong version, preserving configured events and enforcing release scope became explicit acceptance conditions
Infrastructure
The early version ran on Raspberry Pi with SQLite. I arranged a dedicated Linux host and agreed a move to PostgreSQL, with data validation and further load testing. Codex performed the technical migration and deployment
Correctness
Test concurrent predictions, repeated requests, event settlement, credit changes and recovery. Treat duplicate writes and payouts as product risks rather than purely technical details
Release readiness
Use separate environments, saved snapshots and scenario checks. Review negative results and repeat relevant tests after fixes instead of relying on a running server as proof of readiness
Historical load evidence
513,888 requests with 0 failures during a six-hour pre-launch soak. This was a controlled technical test, not a count of live users or a guarantee that every performance threshold passed
What the load-test result does and does not show
The project record includes failed readiness checks as well as successful runs. Some tests exposed strain on the login process or response times above the target thresholds, even when no requests failed. I used those findings to prepare for launch. The soak figure describes one historical test; it does not establish incident-free operation or a service-level guarantee
Run the event, then close it properly
During the hackathon I requested activity summaries, reviewed results and managed live adjustments. The work shifted from adding features to keeping the event running consistently while people were using the platform
After the event, I requested a complete archive and a check that the project and data had been preserved before the server was cleared. The original service ended with a closing page
A later local presentation mode was prepared for a screencast. That work happened after the final production archive and is separate from what ran during the hackathon
Before launch
Validate scenarios, data and release boundaries
During the event
Run the platform, check results and preserve participants’ existing actions
After the event
Publish results, verify the archive and close the service
A product used in a real event
The strongest result is that the platform supported the event from start to finish: participants made predictions and voted, an organiser managed events and outcomes, and the final state was retained in an archive
The record supports real use and settlement. It does not establish an increase in overall hackathon engagement against a baseline, a satisfaction score or a quantified cost saving
2,917 predictions settled across 11 events
Verified from the original platform’s final production snapshot. This is a platform-wide settlement result, rather than a participant count or a result generated by the public demo
Evidence boundaries
The case draws on recorded product decisions, saved implementation and test reports, and the final production archive. Final prediction states are confirmed; the archive does not establish that every voting session was technically closed. Screens on this page belong to the sanitised reconstruction. Historical broadcast cards, private records and participant data are not included
What I would carry into the next product
This project required me to make product decisions, verify the implementation and run the live service. Working with AI reinforced the importance of clear requirements and careful review: a message saying a change was ready was not enough
Define analytics earlier
Agree a short participation funnel before launch. Plan how to understand the first action, abandonment, reward comprehension and operational friction. Retrospective database analysis cannot answer every product question
Define acceptance scenarios
Keep explicit checks for each role and device, with saved critical states. Verify the visible behaviour and protect release scope when implementation moves quickly
Match complexity to lifespan
For a short event, understandable rules, correct settlement and manageable live changes deserve priority. Removing the shop was part of that discipline
Ask users directly
Next time I would interview participants and the organiser, test understanding of rewards and keep a clearer incident log. These are next steps, not research I claim to have already conducted
Another product, a different constraint
In the ILIAS case, I explored how an open-source LMS could support a corporate learning need, and where its learner and administrator experience needed adaptation