Automation developer building internal tools, APIs, and practical AI-assisted workflow systems.
I turn messy operational problems into working software: Microsoft 365 automation, SQL-backed tools, FastAPI services, Flutter frontends, and practical AI-assisted workflows.
- Reduced a 32TB Microsoft 365 estate from 98% to 64% utilisation using PowerShell, Graph API, Entra ID certificate auth, and batch monitoring.
- Built the SaveRoom Pokémon TCG API: multilingual card search, pricing, inventory, listings, auth, OpenAPI, and test coverage.
- Building the SaveRoom Flutter scanner and collection app that consumes the API and supports card lookup, pricing, and seller workflows.
AI application development roles where the work is practical: build the tool, connect the data, automate the workflow, document the result, and keep it maintainable.
| Project | What it shows |
|---|---|
| M365 Storage Optimiser | PowerShell, Graph API, Entra ID auth, operational automation, measurable business impact |
| SaveRoom Pokémon Card Database API | FastAPI, SQLite, OpenAPI, auth, pricing data, inventory workflows, tests |
| SaveRoom Scanner App | Flutter frontend, API integration, fixture-driven development, mobile app UX |
| SaveRoom AI Runtime | TypeScript AI workflow experiments, structured draft demo, human approval boundaries |
- AI tooling: coding agents, local models, hosted model APIs, structured workflow design
- Backend: Python, FastAPI, REST APIs, SQLite, OpenAPI
- Frontend/app: Flutter, Dart, HTML, CSS, JavaScript, TypeScript
- Automation: PowerShell, Microsoft Graph, Entra ID, Microsoft 365 administration
- Data: SQL, reporting, data modelling, operational analytics
- Delivery: Git, GitHub, CI, technical documentation, supportable handover notes
Root-cause first. Smallest working change. Boring systems that survive handover.