MILLERTECK.

Projects

Things somebody needed, so I built them.

Nearly all of these started with a problem somebody brought to my desk. I've labelled where each one ended up honestly — in use means people rely on it day to day, built means it works but never got rolled out, and experiment means I got far enough to answer the question and then stopped. The experiments are here on purpose. All of these were built with AI tools, which I explain on the about page.

Status
Area
18 / 18 projects

Dead Reckoning

In use

Technicians ask a question about a machine and get an answer with the exact manual page it came from, shown on screen. It also reads the diagrams during setup and describes them, so you can search for a hydraulic schematic and actually find one.

PythonFastAPIPostgresOpenAI
Read more

AggFlow Reader

In use

Reads a customer's plant design file, works out whether a screen is sized correctly for the tonnage, suggests the right screen media, and produces a finished report. Five versions, each one driven by feedback from the people using it.

PythonPDF parsingReportsDesktop app
Read more

VaultLine

In use

A replacement for our paid document system. Takes invoices in from four different routes, reads scanned ones, pulls out the details for someone to confirm, and files them somewhere searchable with a record of who did what.

TypeScriptPostgresDockerOCR
Read more

Lightning Detection

In use

Watches for lightning near the yard and sets off the site alarm so people get off the equipment, then sounds an all-clear once it's been quiet for half an hour. It's been running continuously for months and has gone off for real.

PythonWeather APIUniFi ProtectLinux

Service Call Archive

In use

Our phone system records and transcribes service calls but doesn't keep them long or let you analyse them. This pulls them into a database every night, works out what each call was about and whether it got resolved, and emails managers a weekly summary.

TypeScriptPostgres3CXOpenAI

RFQ Response Tracker

In use

Nobody could answer how quickly we respond to customer quote requests. This reads the inside sales mailboxes, works out which email threads are quote requests, and measures response time in working hours rather than clock hours.

Node.jsMicrosoft GraphLinux

Fleetdesk

In use

Driver reports come in as helpdesk tickets, often missing the unit number or mileage. This looks up the truck, writes a clean summary a service writer can act on, and puts anything it can't identify into a queue instead of letting it get lost.

PythonFreshdeskSQLiteOpenAI

Part Quote Conversion

In use

Vendors send quotes as PDFs and someone had to retype every line into our system with the right markup applied. This reads the quote, matches the parts, applies the markup, and asks the operator when a match is genuinely ambiguous rather than guessing.

PythonPDF parsingExcel

IT Asset Manager

In use

Tracks company laptops and equipment — who has what, where it is, when the warranty runs out, and the history on each one. Scan the barcode on an asset and its record opens.

PythonSQLiteBarcode scanning

Samsara Fleet Reporting

In use

Monthly reports per truck from our GPS tracking — miles, hours, how much time it spent at the yard, fault codes and safety events, with charts showing the trend. Used to answer whether a truck is being used the way it was meant to be.

PythonSamsara APIChartsPDF

Friday Brief

In use

Pulls the week's email, groups it into conversations, and produces a summary split into what got resolved, what's still open, and what's worth knowing about — with owners and next steps, as a formatted PDF.

PythonMicrosoft GraphPDF

Call Insights Chat

Built

A chat window where a manager asks a question in plain English — "how many parts calls didn't get resolved on the phone last week?" — and gets an answer pulled from the call archive, showing what it looked at to get there.

TypeScriptPostgresOpenAI

FleetDash

Built

Watches the network folder where our system drops service request PDFs, reads each one as it lands, looks up the truck, and puts it on a dashboard. Works well; ended up overlapping with Fleetdesk so it never got rolled out.

PythonFastAPISQLite

Gate Control

Built

Opens the yard gates from a phone or on a schedule, driving the relay hardware directly and checking back that the relay actually fired before saying it worked. Also reads the solar setup powering the gate.

PythonFlaskRelay hardwareModbus

Client Map

Built

Every customer site on a map with the machines they run — and the rock underneath, since that's what determines what a screen at that site is actually processing.

PythonSQLiteMapping

Visitor Check-In

Built

Visitors scan a QR code at the entrance, sign the safety waiver on their phone, and get checked in — so there's an accurate list of who's on site if there's ever an emergency. Finished and set up on a server, never actually switched on.

PythonFastAPIQR codes

Sentinel

Built

A small app that checks Outlook every half hour and surfaces only the threads that need you — escalations, things waiting on your decision, anything nobody has answered in two days.

PythonMicrosoft GraphDesktop app

IronEye

Experiment

Live video from a technician's phone to an engineer back at the shop, so somebody experienced can look at a machine without a second truck going out. Got it working in the browser over a few days, then stopped before the phone app was finished.

Node.jsWebRTCiOS