Problem
There wasn't a good way for students to express and track calibrated beliefs about anything happening at school, and most informal prediction markets either need a counterparty for every bet or fall apart once volume is low.
What I built
A prediction market app built for a school intranet on Google Apps Script and Sheets. Students could create markets, buy and sell shares in outcomes, and track their calibration over time. The market-making mechanism used a logarithmic scoring rule to keep prices between 0 and 1 and guarantee liquidity without needing a matching counterparty for every trade.
Hardest part
Implementing the logarithmic scoring rule correctly inside Apps Script, which has neither the numerical libraries nor the performance of a real backend. Getting the cost function to update correctly on every trade without it drifting over time took a lot of manual verification against a reference spreadsheet.
What I'd change
I'd move the market-making logic off Sheets entirely. It worked, but every trade was slower than it needed to be because of how much the spreadsheet had to recalculate.
Note
This was a proof of concept. I never released it to the wider school. I didn't want to normalise gambling, even in a low-stakes academic setting.