Five rules. One truck. Nothing broken.
I'm Luke Mabie, a data and software engineer in Omaha who likes problems you can describe instead of program. The truck in this demo packs itself from five rules that say what a good load looks like, not how to load it. That's the idea behind most of what I build.
A logic program, packing a moving truck
% every item gets exactly one spot 1 { at(I,X,Y) : spot(I,X,Y) } 1 :- item(I).% one thing per square :- fills(I,X,Y), fills(J,X,Y), I < J.% nothing floats in midair :- at(I,X,Y), Y > 0, not held_up(I).% heavy things ride on the floor :- at(I,_,Y), heavy(I), Y > 0.% nothing goes on top of fragile stuff :- on(_,F), fragile(F).
Click anything in the truck to see the rule that put it there. My garden planner runs real clingo on the same idea: sun, companions, spacing, and rotation.
Where I've worked
Build a home base, then grow it one small service at a time.
Data Engineer, E15 · Compass Group
I build pipelines that take in data with Fivetran, model it in dbt, and serve it from Snowflake, with AWS Lambda and CloudFormation underneath. I came here to learn from a bigger team, and focusing on data has been the fastest way to do it.
Senior Systems Engineer, Kirsch Transportation & Logistics
I built the company's pricing platform from scratch. It started as one home base on Azure, then grew a microservice for each job: a pricing engine, a live feed of spot-rate bids from people and bots that you could search and sort, and a conditions engine that lets the business automate its own decisions. Automation pipelines fed it all into McLeod. That's where I fell for microservices.
In my words: building a rules engine at Kirsch (2024) →- Data
- Snowflake · dbt · Fivetran · SQL · AWS Lambda · CloudFormation
- Back end
- C# · .NET · Node.js · Azure Functions & Durable Functions
- Front end
- React · Angular · Azure Static Web Apps
- Learning
- clingo · answer set programming
- School
- B.S. Computer Science, University of Nebraska at Omaha
Projects
Each one: why I built it, what I think now, and what was hard.
Clingo Garden Planner
Plan a raised bed with sun, companions, spacing, and crop rotation across three seasons, in about 60 lines of logic.
Why I built it → archive · document AIThe Buck Ends Here
Twenty years of my grandpa's newspaper column, pulled out of scans that plain OCR couldn't read.
Why I built it →Workbench
Small things I'm building to learn or for fun. Some finished, some not.
- live Hipster Menu Generator Seven Laws of Artisanal Dining, written as logic. Ramps are mandatory.
- live Block Party Whodunit A logic mystery that never runs out. clingo writes each case and proves only one neighbor could have done it.
- live Garden planner Plan a raised bed for three seasons. clingo running in your browser.
Next ideas land here first.
Have something you want built?
Almost anything can be built now. The hard part is knowing which direction to go and what it will really cost. If you want help with that, or with the build itself, I'm happy to talk.