I build interfaces, developer tools, and agent systems for complex data and schema-heavy workflows. I am especially interested in UI, multi-agent systems, visual analysis, retrieval, vector embeddings, and agentic tooling: giving agents access to APIs in a way that is useful to them.
I am based in London and work across product engineering, AI-augmented software, design and material intelligence, and TypeScript tooling. I care about typed inputs and outputs, explicit validation, schema-aware automation, good documentation, and interfaces that hold up under real usage.
Most of my current work is private, experimental, or not ready for primetime. Projects such as Routerbase, Faceplacer, Monogrove, and Wiretext cover model discovery, visual analysis, dependency health, and text-native design tooling, but the source is not always public yet. When a project becomes useful outside my own setup, especially tooling, I try to release it.
I am currently building in a few areas:
- Agent-ready developer tools: packages, CLIs, and docs that expose APIs through clear schemas, examples, and operating rules.
- AI evaluation and advisory workflows: systems that turn briefs, evidence, and critique into clearer product decisions.
- Material and architecture intelligence: product graphs, publication retrieval, image understanding, color systems, and design-reference tools for the built environment.
- Personal and operational automation: local CLIs and small tools for making everyday workflows scriptable.
- Product surfaces: web apps, design systems, and focused tools for complicated workflows.
I like software where the contract is visible, state can be inspected, and agents have enough structure to operate without guessing.
| Project | What it does |
|---|---|
| Agent Surface | A guide and toolkit for exposing software to agents through docs, schemas, examples, and affordances. |
| Envelope | A package for wrapping coding-agent CLIs with typed Zod input and output contracts. |
| @howells/ai | A TypeScript AI client used in projects such as Routerbase, smoothing over provider differences while keeping escape hatches available. |
| claudeusage | A CLI for checking Claude Code usage and limits across multiple accounts. |
| Project | What it does |
|---|---|
| Arc | A workflow layer for agentic software work: ideation, implementation, testing, review, and release discipline. |
| Fiction | A Claude Code plugin for long-form fiction work: chapters, characters, outlines, critique, and editing. |
| Not Just A Skill | An agent skill that audits and rewrites prose that carries obvious AI-writing tells. |
| Project | What it does |
|---|---|
| Envy | Zod-powered env parsing, strict schema-defined variables, CLI checks, and deployment-provider preflight checks. |
| Srcfull | Image extraction and source-resolution toolkit for finding high-quality web images from messy page markup and CDN URLs. |
| @howells/lint | Pinned Biome and Ultracite presets for my TypeScript projects. |
| @howells/typescript-config | Pinned TypeScript config presets built around @total-typescript/tsconfig. |
| @howells/husky | Immutable shared git hooks for keeping pre-commit and pre-push gates consistent across repos. |
| Scaffold | An opinionated documentation scaffold and baseline for TypeScript apps, packages, and agent-ready repos. |
| Project | What it does |
|---|---|
| @howells/cli | The shared harness behind my agent-first CLIs: argument parsing, JSON output, schema exposure, and input hardening. |
| Motif CLI | An agent-first fal.ai image generation CLI with structured output, dry runs, history, series, and terminal studio mode. |
| linearcli | A Linear CLI for issues, projects, teams, and cycles, with structured JSON, schema introspection, and dry runs. |
| thingscli | A Things 3 CLI that reads from the local database and writes through the URL scheme, designed for agent workflows. |
| starlingcli | A Starling Bank CLI for balances, transactions, and payees, with multi-account structured output. |
| wisecli | A read-only Wise CLI for balances, transfers, and profiles, with multi-token support and schema introspection. |
| revolutcli | A read-only Revolut Business CLI for balances, transactions, and accounts using OAuth and JWT auth. |
| godaddy-cli | A scriptable GoDaddy DNS CLI for humans and automation. |
| Project | What it does |
|---|---|
| Stacksheet | A React sheet-stack system with Motion animations, focus handling, safe navigation, and mobile behavior. |
| Boubakikid | A round ID generator based on bouba/kiki phonesthesia research. |
| Regexscope | A visual regex debugger for seeing matches and groups in real time. |
| Sift | An AI-powered email triage CLI for turning messy inbox state into structured, actionable output. |
| Noodles | A visual Node.js dev-server manager for macOS. |
I keep older experiments around, but the repositories above are the public projects closest to what I am building now.





