Grants management, rebuilt from the inside.
Half of it is answering. The rest is making sure nobody has to ask again.
Compliance and financial reporting for the internal business partners of a large public university. About half the job is answering questions with data; the rest is making sure the next person doesn't have to ask.
- Support the project manager on technical projects, designing the solution and then building it across Power Automate, Power Apps and Planner.
- Interview for the technology roles that support the department, sitting through tens of candidates for senior developer positions, sitting on panels as the department’s technical representative.
- Sit in on management meetings to give a technical read on a problem before a direction gets set.
- Build SAP Business Objects and PeopleSoft queries against the data warehouse, including the rebuild that moved the core compliance queries onto a supported platform.
- Provide the data behind federal reporting (SEFA), and support internal business partners through rate analysis and compliance review.
- Advise on how data gets used: whether a figure is accurate, consistent, and means what the room thinks it means.
- Write the training material that goes out university-facing to the whole department.
- Build the tools that streamline or fully remove a manual process.
- Work with financial officers, liaisons and accountants at federal and state level so our data matches compliance criteria.
Power Automate, Power Apps, Power BI, SharePoint, Planner. Apps and dashboards hosted in Teams; Copilot builds bots that answer with live numbers.
Data models, dashboards, Power Query.
Against the data warehouse. Reporting, not visualisation.
Query building for reporting.
Everything on the tool list.
After Effects, Premiere Pro, Photoshop, Illustrator, Acrobat. Illustrator and After Effects are driven from a script for the training videos.
ChatGPT and Codex, Claude Code, Gemini, Copilot. Output gets read and audited before it reaches anything that has to survive a compliance review. The same gate I put in the draw tools, applied to my own work.
The one I'd point at: six stalled federal draws, tens of millions combined, resubmitted and paid. The whole story →
Before this.
Nothing here started from a blank page. Every one of these had to fit a system that already existed and was not going to move for me. The constraint is the brief.
The first week on the job was data entry. There wasn't a second one.
My onboarding task was a stack of PeopleSoft entries that had always been keyed in by hand. I did it once, timed it, and spent the evenings that week writing a program that does the keying, checks its own work, and flags only the rows a person actually needs to look at.
It was the template for everything after it: find the hours that need no judgment, automate exactly those, and hand the judgment back to a person. Every tool on this page is that same move, aimed at a different pile of hours.
Six stalled draw requests. Tens of millions. Recovered.
Drawing down a federal award means defending every invoice, line by line, under every award: about thirty hours of one person's concentration, twice a month, forever. When I arrived it had stalled entirely: six draw requests deep, tens of millions waiting.
The pipeline now writes an auditable line-item defense for every invoice and assembles the request unattended. Two signatures stand between it and the filing, deliberately. A system that files federal paperwork without a person signing is a liability, not a feature. It has not missed a cycle since March 2025.
One number per question, and the way to check it.
Before: every meeting opened with a debate about whose spreadsheet was right. After: one source of truth, assembled and published automatically every morning at six, with each figure traceable back to the system it came from.
The rule that made it stick wasn't technical: publish the number and the way to check it. Nobody has to trust me, because the checking is part of the deliverable. Arguments about numbers ended; arguments about what to do with them got better.
The count matters less than the pattern: each one exists because a recurring block of hours needed no judgment, and each one leaves the judgment where it was: the sign-off, the exception, the call.