frank thomas
About

A career, in prose.

Five companies, a couple of failed ones, two countries, one through-line: put data, ML, and AI to work on real business problems.

I grew up in Canada and studied Computational Mathematics at Waterloo. Half pure math, half computer science, with applied courses welded across the seam — I still treat code and proofs as the same kind of object, and most of the engineering judgment I've earned since traces back to it.

In 2013 I co-founded Rubikloud in Toronto with the idea that retailers were drowning in data they couldn't act on. We built a price- and promotion-optimization platform for grocery and pharmacy chains, served Fortune 500 customers, raised about $45M, and were eventually acquired by Kinaxis in 2020. I hired the first thirty engineers and most of the math we shipped passed across my desk first. By 2016 I'd brought in a more experienced exec to take the CTO reins and moved into Chief Architect, staying through 2018. It taught me what it means to ship machine learning into someone else's quarterly earnings call.

From there I spent a year as CTO of Freckle IoT, a location-attribution platform connecting offline foot traffic to online ad spend. We took it public through a reverse merger — an experience I would describe, charitably, as educational. The technical work was a pipeline that ingested billions of mobile signals a day. The non-technical work was learning how a public company actually runs.

In 2021 I joined Arctiq, a cloud consultancy, to build out its data practice. For about a year I led a team helping enterprise customers actually use the data they already had — the work that lives between "we bought a warehouse" and "the warehouse is paying for itself." A useful counterweight to startup life, and a paid excuse to be opinionated about where ML earns its keep and where it doesn't.

The next two and a half years I'd rather not pretend went well. I started two companies as founder and CEO, took some consulting work alongside them, and shut both startups down. Neither found its market — one was too early, the other too late. In hindsight they were R&D exercises I paid for myself: useful, expensive, and the kind of thing every operator probably needs to do once. I learned more about distribution and market timing from those years than from any of the wins on either side of them.

In 2025 I joined Superkey Insurance as CTO. Superkey plays in the association management space, with a large portfolio of associations we serve. I've written the underwriting stack — high volumes of submissions, AI-assisted intake and assessment — the kind of leverage that lets a small team operate a much larger book. I'm still there.

It's a domain where the schemas are the entire game — every submission is a document begging to become a structured record. That observation became a problem worth solving in its own right, which is how Koji started.

I founded Koji in 2026, alongside the Superkey work, to solve a specific gap: extracting structured data from documents, reliably, without surrendering control of the schema to a vendor. The tools we evaluated were either expensive black boxes or open-source experiments that didn't survive contact with real documents. So I built the one I wanted to buy — open source, schema-first, aimed at operators who would rather own their extraction stack than rent it. It's the side project, but it's the side project I want this site to point at. Documents in, structured data out.

Looking back, the through-line is unglamorous: I've spent twenty years putting data, ML, and AI to work on actual business problems — pricing, attribution, underwriting, and now document workflows. The domains change. The shape of the work doesn't.

I live in Vancouver with my wife and daughter. This site is mostly an excuse to write more, long-form, about the work.

Based
Vancouver, Canada
Studied
B.Math, Computational Mathematics — University of Waterloo
Now
CTO at Superkey · founder, Koji