The awkward thing about revenue is that it can exist beautifully in a spreadsheet and nowhere at all in a bank account. A contract is signed. An invoice leaves. Then the tidy language of the deal meets the untidy habits of the world: an attachment disappears, a reference number is omitted, a payment lands in the wrong amount, or a customer promises Tuesday without saying which Tuesday. Peter Hadlaw has built a career in this interval - the long, lightly celebrated distance between earning money and receiving it.
Hadlaw is a machine learning engineer at Tesorio, the financial-operations software company. On LinkedIn he gives himself another description with more history inside it: founding engineer. He says he helped the business grow from seed stage to Series B and was its first engineer. It is the kind of role that tends to absorb whatever needs doing. The product changes, the company changes, the customers get larger, and yesterday's clever shortcut becomes tomorrow's archaeology.
The dates put some weight behind the label. Tesorio says it has been in business since 2015. Hadlaw was speaking publicly under its name by 2017, and he remains on the team nearly a decade later. In startup time, that is less a tenure than a geological core sample. It covers the years when a company stops asking only whether a product can work and starts answering harder questions: Can it be trusted repeatedly? Can a new engineer understand it? Can it handle the customer nobody imagined during the first whiteboard session?
Those questions become unusually concrete when the software touches finance. A design flourish can be revised next week. A payment posted to the wrong place begins a chain of emails today. The engineer must think in two time frames at once - the immediate request and the system that will still be receiving requests years later. Hadlaw's public record does not reveal the decisions inside Tesorio's codebase, but his long presence establishes something simpler and firmer: he has stayed through several versions of the problem.
His own website is much less talkative. It offers a name, a portrait and four words: “Machine Learning Engineer | Photographer.” The vertical bar does a heroic amount of work. On one side sit models, integrations and the delicate handling of financial data. On the other sit Chicago streets at night, greenhouse leaves, a deer in the grass and a rescued dog peeking hopefully over a table.
The useful part happens after the saleThe messy middle has an engineer
Accounts receivable is rich in chores that appear simple from a distance. Send the reminder. Match the payment. Update the forecast. Check the portal. Each instruction hides a small jungle of exceptions. A customer may reply in prose. A remittance file may use a different naming convention. A bank record may arrive before the explanation for it. The software has to assemble a trustworthy picture while leaving room for a person to judge the odd case.
Tesorio now describes its product in the language of AI agents: software for collections, cash application, supplier portals and forecasting. It says those systems can draft follow-ups, read payment promises, match incoming cash and flag exceptions. Hadlaw's title places him close to the models, but his years with the company place him close to something equally important: the accumulated memory of how the product got here.
A founding engineer is not merely the person nearest the first commit. The more revealing work comes later, when a system built for ten customers must serve a hundred, or when a useful prediction must also be explainable to the finance team acting on it. Reliability becomes a product feature. So does restraint. A model may produce a confidence score, but somebody still has to decide what confidence is enough to move money or message a customer.
An older lesson from PyBayWhen the outside world fails, try again carefully
In August 2017, Hadlaw and Tesorio co-founder Fabio Fleitas gave a talk at PyBay called “Retry Best Practices.” The example was almost charmingly plain: fetch a list of GitHub users through an API. But outside services fail. Networks hesitate. Rate limits arrive. A responsible program does not collapse in melodrama; it waits, tries again and knows when to stop.
Retry logic is not the glamorous end of software engineering. That is precisely why it is revealing. It accepts a basic fact that demonstrations often edit out: systems do not live alone. They call other systems run by other teams on other schedules. A neat local function can meet a timeout three thousand miles away. The job is to make the resulting uncertainty boring.
The talk predates the current rush to put an agent in every process, but its theme belongs in the present. An automated action is only useful if it can survive the routine indignities of production. Payments and invoices make that standard especially strict. A duplicate reminder is not a cosmetic bug when it lands in a customer's inbox. A mismatched payment is not an abstract accuracy score when a finance team is trying to close the books.
Hadlaw's earlier technical trail points in the same direction. Globus Labs lists him among its people in 2012, placing him near work in research data and distributed computing. He studied computer science at Illinois Institute of Technology from 2013 to 2015 and was named a Camras Scholar, a full-tuition award tied to academic, social and extracurricular performance. Public GitHub projects from those years include school work, a Globus wrapper and the source for a local high-school hackathon.
Appears in the public roster of people who worked with Globus Labs.
Receives the Camras Scholarship at Illinois Tech.
Creates the Hacker News account he still uses for technical discussion.
Co-presents retry best practices at PyBay while working at Tesorio.
Works on machine learning inside Tesorio's financial-operations platform.
The second lensChicago becomes a set of traces
Then there is the photography. Hadlaw's 500px portfolio is not an endless scroll of one subject perfected by repetition. It wanders. A greenhouse at the Chicago Botanic Garden glows with ordered abundance. The Golden Gate Bridge appears at sunset. A coffee shop catches the last warm light. A pit bull looks over a table with the comic concentration of an animal that understands snacks better than dignity.
The portfolio's cover is a black-and-white Chicago night. Streetlights bloom into white orbs. Headlights draw loose lines across the road. The Chicago Theatre sign stands upright amid the motion, letters stacked like a bright declaration that the city is still open. The picture does what a good long exposure should: it records time rather than merely freezing it.
It would be too tidy to claim that the photograph explains the engineer. A camera is not a résumé with better lighting. Still, the pairing sharpens the portrait. Machine learning compresses many observations into a prediction or recommended action. Photography takes one fraction of the visible world and asks us to look longer. One practice reduces; the other expands. Both depend on choosing what deserves attention.
Hadlaw's public comments suggest an affection for durable tools. In a 2024 Hacker News discussion about whether GitHub felt like legacy software, he noticed that the essayist's blog still ran on Octopress, once fashionable and now simply old. He called it an apt detail for a writer wishing software would just work. The joke lands because software culture so often mistakes novelty for improvement. The invoice, meanwhile, remains unimpressed by fashion.
A career without the costumeThe quiet virtue of operational work
Hadlaw's public biography is thinner than the average conference badge. There is no manifesto, no elaborate personal brand, no attempt to turn every repository into a parable about disruption. What remains is a set of working artifacts: code, a talk, a long company tenure, technical comments and photographs collected over years.
Even the selection is telling without requiring a theory of the selector. On GitHub, one can move from an Illinois Tech final project to a personal-site starter and a small authentication client. On 500px, the next click may move from a city square to raspberries. Neither page has been manicured into a single grand argument. They look like what working notebooks often look like after enough time: interests accumulated, experiments left visible, useful things kept within reach.
That sparseness suits the work. Financial operations is full of actions nobody applauds when they go correctly. The reminder reaches the right person. The payment finds the right invoice. The forecast moves a little closer to reality. The exception reaches a human before it becomes an argument. Success often looks like the absence of a problem, which is difficult to photograph and useful to engineer.
One revealing line in Hadlaw's story runs between “first engineer” and “machine learning engineer.” It spans an era in software. Early-stage products begin with rules, integrations and determined humans. Over time the data grows, patterns become legible, and prediction earns a seat beside automation. The craft is not to add intelligence as decoration. It is to decide where prediction helps, where rules are safer and where a person should remain in charge.
Outside, Chicago traffic continues to make bright ribbons for any camera patient enough to collect them. Inside finance departments, invoices continue their less photogenic journey toward cash. Hadlaw has found a place in both scenes: one with a shutter, one with software, each concerned with turning a messy flow into something a person can finally see.