← Projects

Wykmarket

GASGoogle Sheets

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.