Software engineer focused on systems, data and AI agents. I build tools that have to be reliable in production: explicit architecture decisions, cost control, traceability, and tests that protect the behavior of the system.
I'm currently building ASTRO, a multi-agent harness for AI-assisted development, and I work on operational planning and systems integration for a solar energy company.
🔗 Portfolio · LinkedIn · Email
- Systems and backend: domain modeling, integrations between teams, APIs and persistence with PostgreSQL and SQL Server.
- AI agents: model routing, handoffs between agents, cost control and per-tool permissions.
- Data and automation: pipelines and reports in Python, operational spreadsheet transformation and department-specific views.
- Engineering quality: automated tests, ADRs, documented invariants and release gates.
A local, terminal-first harness for AI coding agents, built with Bun and TypeScript.
Instead of letting the model decide what to do, the configuration defines which model runs each step. Every call is metered, every action goes into an audit trail, and each agent can only use the tools it was given.
- Deterministic routing across providers (NVIDIA NIM, OpenRouter, Codex) with fallback.
- Durable handoffs between agents, with idempotency and concurrency control.
- Cost governance per agent, profile and provider.
- Golden dataset as a continuous evaluation gate.
Try it:
npm install -g @umtioai/astro-harness@alpha
astro📦 github.com/UmTioAii/ASTRO · MIT · contributions are welcome
- Bud-Budget: personal finance app for tracking income and expenses. Demo
- Memo-RY: responsive memory game in TypeScript. Demo
| Area | Tools |
|---|---|
| Languages | TypeScript, Python, JavaScript, SQL |
| Backend and data | PostgreSQL, SQL Server, Supabase, Node.js, Bun |
| AI and agents | Multi-model routing, OpenAI-compatible APIs, MCP, golden-dataset evaluation |
| Quality and delivery | Automated tests, type checking, CI, Git and GitHub, ADRs |
I document architecture decisions as ADRs, review changes through pull requests and write down the invariants the code must respect. I prefer systems that explain themselves over systems that depend on the memory of whoever built them.
Open to conversations about software engineering, AI agent architecture, and backend, platform or systems roles.



