Things I've made.
Developer tools, AI experiments, and architecture and infra development; All an excuse of self expression. Below are only tip of the iceberg that I built, visit Github for more.
- Built a Go deployment API (Gin) where you POST a GitHub URL and get a deployment id back, after it checks with GitHub that the repo is real and public.
- Work disappears when a worker dies mid-build. Postgres is the queue itself; each job is leased for 15 minutes, so a dead worker's job returns to the queue instead of going missing.
- The first attempt pins the commit SHA, and the 3 retries back off 30s, 60s and 120s against that exact commit. A retry that builds different code is worse than no retry.
- Built a multi-agent research system where a coordinator sends web, news and finance agents out per competitor and merges what they bring back into one briefing.
- Up to 12 calls run at once across 4 agents per competitor, and asyncio.gather(return_exceptions=True) means a single failure still leaves a usable report.
- Cloud models cost money and see your data. Everything runs on a local gemma3:4b through Ollama, with web search and SQLite storage exposed as MCP servers so past research comes back without paying for it twice.
- After an incident nobody wants to write it up. Built a FastAPI tool that turns raw on-call notes into a structured post-mortem: root cause, timeline, action items and lessons learned.
- A local model that wraps its answer in markdown breaks the parser. 3 layers catch it — JSON mode at temperature 0.2, a regex fallback that strips the fences, and a Pydantic schema that refuses to write anything malformed to SQLite.
- Incident notes shouldn't leave the building. The whole thing runs on-premise through Ollama, with 5 REST endpoints and Markdown plus JSON export so a post-mortem can be shared without a cloud account.