Work
The index of what I build, write, and publish. Long-form essays live here on the site; technical write-ups are on dev.to, where they're canonical, and are collected below.
Open-source build: RoastPilot, a coffee-roasting agent
An agentic control system that roasts coffee on a real Hottop roaster, built to explore how much autonomy an agent should have when a wrong decision can affect a physical process that is difficult to reverse. The design principle throughout is that the deterministic controller owns the roast loop, while the large language model (LLM) only advises. A hard safety policy returns typed verdicts (allow, clamp, reject, emergency stop) before anything reaches a 200°C machine, and advisor prompts are pinned by replay bake-offs against logged real roasts, scoring drop-decision F1, heat / fan error, and latency. It has roasted every batch of my coffee since November 2025.

- roastpilot-agent: the deterministic agent harness and web console; a state-machine controller owns every hardware command, and the LLM advisor returns typed recommendations only.
- coffee-roaster-mcp: spec-driven MCP server exposing fourteen tools for roast session lifecycle, telemetry, first-crack detection, and log export behind a single hardware boundary. On PyPI and the MCP Registry.
- coffee-first-crack-detection: fine-tuned Audio Spectrogram Transformer detecting first crack from audio (98% accuracy, 0.93 macro F1), quantised to INT8 ONNX for torch-free inference on a Raspberry Pi 5. The model, dataset, and a live demo Space are on Hugging Face, with current metrics and benchmarks maintained on the cards.
- roastpilot-plan: the cross-repository planning hub holding the agent orchestration architecture, decision records, and epic tracking.
The rebuild is spec-driven: repository rules, externalised plan state, and replay evals, with coding agents doing the implementation across more than 460 merged pull requests while I keep ownership of architecture, ML decisions, and quality gates.

Essays
Long-form essays on what agentic AI changes in software engineering, grounded in the systems I build and the evidence they produce. New essays appear here automatically as they are published.
Verification Has a Clock · 31 Aug 2026
The cost and timing of being wrong play a key role when deciding on agent autonomy
The Factory Was the Real Invention · 19 Jul 2026
The factory, not the machine, was the real invention. The final post in the series: how the organisation decides what AI productivity is worth, and who it is for.
Better Ground, Not a Better Model · 1 Jul 2026
You don't get a better agent by buying a better model alone. You get one by preparing the ground it runs on: the tests, the structure, the rules it runs inside.
Cheap Tokens, Cheap Attempts · 7 Jun 2026
Cheap generation doesn't make engineering judgment obsolete. It makes it the scarce thing, and the first Industrial Revolution shows why.
Read the three-part AI and the Industrial Revolution series in order.
Writing on dev.to
Technical posts are published on dev.to/syamaner and remain canonical there. The most recent:
- Building a Coffee Roaster with a Team of Agents (Jun 21)
- One More Cup, Four Agents: Getting Warp to Roast My Coffee (Jun 7)
- Part 5: From Local Model to Live Demo - Publishing to Hugging Face with Warp (May 5)
Spec-driven ML: rebuilding the coffee agent (2026)
A six-part series on rebuilding the prototype through a multi-phase machine-learning project, directing coding agents while keeping ownership of architecture, model decisions, and quality gates. It ends with a live roast: four agents, one MCP server, and a supervised run on real hardware.
- The architecture and the agent
- Building the audio dataset
- The science: tuning to high precision
- Optimising an 86M-parameter audio transformer for Raspberry Pi
- From local model to live demo on Hugging Face
- Roast day: four agents and a live roast over MCP
The original prototype (2025)
How the project started: training the first-crack detector, building MCP servers for roaster control, and closing the loop with an agent.
- Training a neural network to detect first crack from audio
- Building MCP servers to control a home roaster
- Orchestrating MCP servers with .NET Aspire and n8n
Applied AI and RAG with .NET Aspire (2024–2025)
- Beyond basic RAG: measuring with RAGAS
- An LLM-enabled Jupyter environment with .NET Aspire
- Ingesting documents for a simple RAG system
- Building a simple RAG system with .NET Aspire
- Comparing open-source vision models for photo description
- .NET Aspire 9.0: the Photo Summary project
Earlier engineering writing (2022–2024)
- Map-based photo viewer with Stencil and OpenStreetMap
- Remote Docker container connections in .NET Aspire with SSH.Net
- A custom reverse-geocoding resource for .NET Aspire
- .NET Aspire, Python, Docker and ML for summarising photos
- A command-line photo GPS tagger with Docker, .NET and ExifTool
- Accelerating ML local development with Nvidia Docker
- Image feature detection and matching with OpenCvSharp
- Docker multi-architecture, .NET 6.0 and OpenCVSharp
Research and teaching
In 2024, I completed an MSc in Artificial Intelligence at the University of Bath with distinction. Before moving into industry, I conducted doctoral research in augmented reality at the Pattern Recognition and Image Analysis group, University of Salford, and chose an engineering career rather than completing the PhD.
Sharing what I learn has remained part of my engineering work. I've been a Kubernetes trainer at ASOS, run TDD and machine-learning kata sessions at Flagstone that twice won a culture award, delivered technical-transformation talks across European markets representing Mercedes-Benz Cars UK, and run hands-on agentic development sessions for engineering teams.
- Data Mining Approach to Implement a Recommendation System for Electronic Tour Guides. EEE 2005.
- Mining GPS Logs to Augment Location Models. WIT Transactions on Information and Communication Technologies, 2005.
- Determining the Locations Visited by GPS Users: A Clustering Approach. CISST '04.
Profile and outputs: Semantic Scholar · Salford repository
Elsewhere
- GitHub: github.com/syamaner
- Hugging Face: huggingface.co/syamaner
- dev.to: dev.to/syamaner
- LinkedIn: linkedin.com/in/s-yamaner