Trivia · Bridge · Databases · Kingston, Ontario

I turn things people are just supposed to be good at into systems.

I'm Mark Donovan. I host a trivia show that's 978 videos deep, wrote a bridge bidding system and published it, memorized 39,000 flashcards mined from the Jeopardy archive, and spend my working days building the Oracle applications that keep an institution running. Different subjects, same instinct: find the pattern, write it down, make it repeatable.

Mark Donovan smiling at a café table on a sunny street Café Hoche, between question sets

"If we aren't in a simulation, then everything we do will be a data point in one."

— the line that's been on my homepage for years
978Episodes of the show
39,000Anki cards memorized
1M+Flashcard reviews
1Bidding system, published
Running since 2022

Instant Trivia

It started as AutoHotkey macros firing question sets during recordings. It's now a real show: high-speed, high-intensity trivia, one question at a time, on YouTube and as a podcast. 978 videos and counting — the episode counter passed 2,000 a while back.

The project right now

Studying for Jeopardy, one flashcard at a time.

Underneath the show sits a quieter, much larger project: getting good enough to actually stand at a podium. I mined years of clues out of the J-Archive — the fan-run database of every question the show has ever aired — and turned them into a custom Anki deck. Then I worked through it. Repeatedly.

39,000Cards memorized
1M+Reviews completed
J-ArchiveMined for source clues

Off the record

A quieter version, just for us.

The deck outgrew Anki, so I built a private study app to drill it faster — speed rounds, voice mode, running stats, and a scoreboard climbing toward a made-up million dollars. Shona and I use it together, question by question.

Not public, and staying that way — this is a recreation of the interface, not a link.

SpeedVoiceStats
Completes the Play Title · $200
"Five Finger…"

Bridge

I wrote down a bidding system and published it.

Bridge bidding is a language two partners speak in a very small vocabulary under very strict rules — which makes it exactly the kind of thing worth formalizing. So I formalized mine, and put it on Amazon.

Available on Amazon

Shark Bidding System

And then the obvious next step

If a bidding system can be written down as rules, it can be learned from data. I've been building a model that takes a hand and a bidding history and picks a rational bid — then trains toward bids that score statistically better. Hands generated with deal, scored, and fed back in.

TensorFlowPythondealdouble-dummy scoring

The day job

Applications that run an institution.

The same instinct, pointed at work: build the tool, automate the tedious part, make it hold up in production. Mostly Oracle APEX and PL/SQL, with a lot of Python around the edges doing the jobs nobody wants to do by hand.

Canadian Defence Academy Application development · Oracle APEX & PL/SQL

Oracle APEX

Building, migrating and maintaining low-code enterprise applications end to end — forms, interactive grids and reports, permissions models.

APEXPL/SQLOracle DB

Bilingual delivery

Tooling to manage English/French translation across an entire application suite, with override handling and coverage reporting instead of manual passes.

i18nReporting

Integrations

Wiring systems together that weren't designed to talk — directory services, SharePoint content, scheduling data, and the glue that keeps them in sync.

LDAPSharePointREST

Release automation

Scripted export, QA and production deployment paths with git-based versioning, so shipping a change is a command and not a ceremony.

PythonGitCI

Data work

Extraction, reconciliation and cleanup across large record sets — finding the duplicates, the orphans, and the things quietly failing for years.

SQLETLPandas

AI & automation

Practical use of the current generation of models: terminal tooling, text-to-speech pipelines, agent-assisted development, and ML side projects.

OpenAIClaudeTensorFlowTTS

The build log

Every rebuild, dated.

Same instinct, new stack, every couple of years — pulled straight from the commit history.

2018b3d606fSep 27

Tiv

JavaAndroid · TV

A native trivia app for Android and Android TV — the first attempt at making trivia something you could hold, not just read.

2022262c20eDec 20

InstantTrivia

PHPAutoHotkey

A PHP trivia engine and the automation scripts that fired it live during recordings — the tooling that turned trivia into an actual show.

20237c0c477…cd9e098Mar 19–27

welcome, chat & quiz

PythonFlask

A busy week right as the ChatGPT API opened up: a first "hello, internet" script, a GPT terminal client, and a Flask quiz engine seeded with presidents, Shakespeare and opera.

202311a5546Jul 4

hello

FlaskAzure

Learning to actually ship — a Flask app deployed to Azure, gunicorn and all.

2024215c8d4Aug 12

donovanme.github.io

JavaScript

A static trivia site where clicking a term jumps straight to its Wikipedia entry. Still running.

Play it →

20254eb4678Sep 17

vcast

JavaScriptAI-assisted

The first project built working alongside an AI coding agent instead of typing every line. The newest chapter, still being written.

Worth your money more than mine

Against Malaria Foundation

Bed nets are one of the most cost-effective ways to save a life that anyone has ever measured. I keep a net-funding page, and it stays on every version of this site.