I’ve been doing operations research for over 20 years. Most of what I’ve built is locked inside Excel files on a hard drive. Not because Excel is where OR models belong — it isn’t, really — but because that’s where the data was, that’s where the clients were, and that’s what worked at the time.
The backlog is real. Staff scheduling, vehicle routing, warehouse slotting, least-cost formulation, a few others. Each one took months to build and calibrate. Each one is doing nothing right now except existing as a .xlsm file.

The staff scheduler is live. The routing app is live. That’s two down.
What’s actually in the backlog
Warehouse slotting is next on the list. The problem: you have a warehouse with fixed shelf locations. You have products with different demand rates, sizes, and handling requirements. The question is which product goes in which slot to minimize total travel time for pickers. It’s a combinatorial assignment problem — similar in flavor to the staff scheduler, different constraints.
Least-cost formulation is a blending model. You have raw materials with different nutritional profiles and costs. You need to hit a target specification — protein percentage, fat content, whatever — at minimum cost. It’s a linear program, not integer, which means it’s fast and finds exact optima. It’s also the kind of model that shows up in food production, feed manufacturing, chemical blending, and a dozen other industries.
There are others. Some are more polished than others. Some would need significant cleanup before they’re worth converting. I’m not in a rush — each one takes a few sessions to port, wrap, and deploy, and I’m doing this because it’s interesting, not because I’m on a deadline.
The pattern that’s emerging
After two models, a structure is becoming clear. The engine goes in one file, pure Python, no web dependencies. Flask lives in a second file and knows nothing about the math. The frontend is vanilla JavaScript in a single HTML template. The whole thing deploys to Render with two commands and costs $7/month per app.
That’s a reusable pattern. It means the next model doesn’t start from zero — it starts from a working scaffold. The interesting work is the model itself: understanding the problem structure, writing the constraints correctly, making sure the engine handles edge cases cleanly. The Flask wrapper and the deployment are almost routine at this point.
Why bother making these public?
Partly because a live demo is worth more than a description. If someone asks what I do, I can send them a URL. They can upload a file and see the model run. That’s a different kind of answer than “I build optimization models in Excel.”
Partly because these tools are genuinely useful and the barrier to using them shouldn’t be “install Python, install SolverStudio, get the right Excel version.” A web app removes that barrier. Anyone with a browser and a spreadsheet can run a route optimization or a staff schedule.
And partly because writing these posts forces me to articulate things I’ve known implicitly for years. Why did I choose those local search operators? Why does the dummy warehouse trick work? What actually makes VRP hard? Explaining it clearly is useful even if nobody reads it — and occasionally someone does read it, which is its own kind of reward.
The honest version
I don’t have a grand plan here. I have a backlog of models, a working deployment pattern, and enough free time to chip away at it. The FIRE part of my life means I can do this at whatever pace feels right without needing it to generate revenue or build a personal brand or lead somewhere in particular.
It’s just a project. A collection of projects, really. Twenty years of operations research that was previously only visible inside Excel, slowly becoming visible on the internet instead.
That seems like a reasonable use of a Sunday afternoon.
The full series: Post 1 · Post 2 · Post 3 · Post 4 · Post 5
Things that I use, like, and am affiliated with:
Mint Mobile offers great cell phone service for $15 flat, get $15 off using the link. Get discounted phones with service activation and no contract.
I never spend money before I check Mr Rebates or Rakuten to get cashbacks, rebates, discounts, coupons or cheaper gift cards.
