What we've built
Everything here is real. No case studies invented for a website, no projects we consulted on and put our name to. These are systems we designed, built, and in most cases still run.
We can't name the clients. The work is theirs. What we can describe is what each system does and why it had to exist — which is usually the same story: a business hit something no packaged product solved, and needed people who could build rather than resell.
Four kinds of work: custom business applications, AI, automations, and data and reporting. Most of what follows started as one and grew into several.
Custom business applications
A complete inspection management platform. We built and continue to run the entire operating system for a commercial and residential real estate inspection company — a web application, a companion desktop application, and a SQL Server back end. Inspection requests arrive from their clients in every format imaginable and land in a single managed inbox, where they're routed automatically into the right channel. Finished reports go back out through a library of PDF templates covering effectively any commercial or personal inspection type. It's the system their business runs on, not a tool bolted onto the side of it.
Shop floor to invoice, for a steel fabricator. A fabrication company needed one system covering a job's whole life — customer PO in, estimating and detailing, approval, fabrication, coating, out the door, invoiced, costed. We built it: multi-shop routing, material and unit-weight tracking so tonnage is calculated rather than guessed, separate customer and shop purchase orders, contract review and invoicing status, drawing and job folder links, and filtering on any of nine fields across four different date milestones. It went through four major versions. Software this specific to a business doesn't come off a shelf.
Work order tracking for an engineering firm. Project creation that works with their existing AutoDesk tooling, full job tracking, and — the part that mattered most to them — a way to locate any large physical plat drawing in their own storage system instantly. The filing scheme was theirs; we built the software that made it navigable.
AP invoice imaging and approval routing. Invoices are scanned and keyed, then routed to approvers who can see the actual document rather than a reference to it. On approval, the invoice record is created in the accounting system for payment. One workflow, from paper on a desk to a payable on the books.
Purchase order creation and tracking. A client's accounting system had no usable PO function, so we built one: creation, the full approval workflow, tracking through fulfillment, and a clean hand-off into the accounting system once the order is complete.
A loan origination system that stood up to audit. Law firms logged into our client's system to originate cases, entering everything including their own client's details, and the system generated every document on the spot while the borrower sat in the office — UCC filings and federal disclosures included. Once signed, the loan entered the system and began accruing daily interest, which the system also handled. It was audited several times and never failed one.
A statewide drug pricing database. When a state agency became responsible for maintaining a drug manufacturer pricing database, we built the application that did it — a back end plus two front ends. Manufacturers logged in and uploaded pricing files in an agreed format, which the system processed and reconciled into the record. The public side needed no login at all: look up any drug, see every manufacturer carrying it and what each charges.
PLC programming. We work at the controller level in plant environments, not just in the software above it — which is why the tracking system described under Automations talks to the equipment rather than running alongside it.
AI
The assistant on this page is ours. We built it, it runs on our own infrastructure, and it does real work — it asks qualifying questions, knows when a conversation should become a lead, and hands off to a person instead of looping. It isn't a widget we bought and dropped in. If you want to see what we'd build for you, you're looking at it.
You own the work product. Not your employees' personal accounts. You'd never let someone walk out the door still holding their company email. But right now your people are using AI, and if those accounts aren't ones you control, everything they've built in them — the prompts, the context, the accumulated knowledge of how your business actually works — leaves with them and you never even know it existed. We set AI up the way email should be set up: company-owned accounts, provisioned and revoked like any other credential, so offboarding an employee includes locking their AI access and handing it to whoever takes over. That work product is an asset. It should be on your books, not theirs.
Whichever model you prefer. We don't sell you on a vendor. We keep accounts across the major AI platforms because that's the only way to give an honest recommendation about which one fits a given job — and the answer genuinely differs depending on what you're doing. You pick, or you tell us what you need and we'll tell you what fits.
Getting it into the actual workday. Most of this isn't software development. It's standing up a proper workspace for your team, organizing it around how your business really works, and getting people past the “I opened it once and didn't know what to type” stage. The tools are useful now — the gap is almost never the technology.
Lead generation that doesn't feel like a chatbot. A custom assistant on your site, trained on your business, that qualifies rather than deflects. Same pattern as ours, built for what you sell.
Parsing what a rules engine can't. Inspection requests arrive as carrier-generated emails whose format shifts constantly — columns appear and disappear, empty cells get encoded three different ways, wording changes without notice. We use an AI parser rather than a deterministic one specifically because it handles that drift, and we built in a novelty-detection mechanism that flags anything it hasn't seen before rather than silently guessing.
API tooling for everything else. When a task needs AI somewhere in the middle of it — parsing, summarizing, classifying, drafting — we build it into whatever system already does the work. The model is a component, not the product, and it's swappable.
And we'll tell you when AI isn't the answer. The inspection email parser above uses it because the input format genuinely won't hold still. Plenty of what people bring us is better solved with a rule, a report, or a fixed workflow. We'll say so.
Automations
Tracking physical product through a plant, automatically. A bulk commodity processor needed to know where any given lot was at any moment — not on paper, in reality. We built an RFID tracking system across multiple sites: tagged containers get picked up by scanners as they move through blending, mixing, and loading, and again when trucks arrive at the storage warehouse. Ask it where a specific container is, or what's sitting at a given scan point right now, or where something was last seen, and it answers. No one keys anything in. The journey tracks itself.
Twice-monthly invoicing, both sides of the ledger. A client works with 1099 contractors across many jobs. Twice a month, the system pulls every job, verifies the billing and the payments are right, consolidates them, and creates both the client invoices and the contractor bills directly in QuickBooks. What used to be the same information keyed twice now isn't keyed at all.
Positive Pay, automated, across multiple banks. Bulk ACH runs — vendor payments, payroll — carry real fraud exposure. We automate the Positive Pay submission to the bank so the control actually happens every time, rather than depending on someone remembering to do it. Multiple banks, each with their own format.
Point of sale into accounting, one click. A cafeteria operation's POS system had no way to feed the accounting system. Each day, one click pulls the posted tickets out of the SQL database, summarizes them by pay type — cash, check, credit — in the exact format their accounting side specified, and drops the file where it needs to be. Their accounting team takes it from there. A daily manual reconciliation became a button.
Getting modern systems to talk to IBM i. A client still runs core operations on IBM i — the platform most people still call the AS/400 — and data from newer systems needed to land in it. We built the workflow that does it with zero user intervention. Legacy platforms aren't a reason to rebuild everything; they're a reason to build the bridge properly.
Inbox to database, without a human in the middle. Requests arrive by email in whatever format the sender uses, and CSV templates import straight into the database with nothing keyed by hand. We've built import and export integrations for clients for decades — the unglamorous plumbing that stops work from living in inboxes and spreadsheets.
Email notification workflows. When something happens that someone needs to know about, they hear about it — new job assigned, work completed, status changed, a client of our client needing an update. Built across many systems using Graph API or SMTP, on whatever criteria the business actually cares about.
Data and reporting
Scheduled reporting at scale. Nearly forty related entities, each with its own cloud SQL database, spread across multiple states — and a canned reporting package that couldn't produce what the business actually needed. We built the reporting layer around it: month-end output that imports directly into the accounting system, and monthly insurance reporting across two carriers covering credit life, decreasing credit life, property, etc. — premium updates, cancellations and refunds, every month, reconciled.
Self-service reporting. A client kept needing one-off answers that didn't justify a new report each time. So we built them a report writer: pick the fields, pick the order, get the output. It turned a queue of requests to us into something their own people do in a couple of minutes. The best reporting tool is often the one that stops people needing to ask.
Operational analytics inside the platform. A client's platform carries its own reporting and analytics layer. Every item reconciles against QuickBooks, so the books and the operating system agree rather than drifting apart. Beyond the accounting side, it tracks month-over-month job counts and costing per worker — which means the real question, what a job actually earned, has an answer instead of an estimate.
Migration and normalization. We've migrated accounting and point-of-sale data across a lot of platforms over the years — older SQL systems, flat files, products that no longer exist. Give us input in any format we can read and tell us what format you need it in. For one client we migrated and normalized an entire archive of scanned invoices from a prior system, so any invoice is findable in perpetuity no matter which system originally created it — the old system being gone isn't the same as the history being gone.
None of this started as a software project.
It started with someone describing a problem. If you've got one, tell us about it.