Engineering with
Jonathan Ballard
Anonymous Function Labs is my engineering practice and home for the products I build.
I work on cloud infrastructure, TypeScript services, and AI workflows. I help teams make technical decisions, implement a defined change, and check the result.
Consulting starts with the problem in your system: a difficult deployment, unclear permissions, an unreliable integration, or a workflow you want to automate. We agree on the scope and the evidence that will show whether the change works.
I also publish agent skills and explore product ideas through AFL. I’m looking for early users who can try them on real tasks and explain what helped, what failed, and what still takes too much work.
Read my engineering notes or tell me about a problem you’re working on.
What I work on
The scope depends on your system and the problem you need to solve.
Cloud & Infrastructure
AWS and GCP architecture, Terraform, deployment pipelines, and recovery procedures. Reviews start with the system’s traffic, cost, and reliability requirements.
AI Workflows
Model integration, retrieval, tool use, and evaluation cases. Define where a person needs to approve an action and how failures should be handled.
Software Engineering
TypeScript and Node.js services, APIs, database queries, and tests. Changes include the information another engineer needs to review and maintain them.
Engineering Leadership
Technical roadmaps, architecture decisions, and SOC2 readiness work. Make dependencies, owners, and trade-offs clear enough for a team to act on.
How I work
Document the decisions
Record the important trade-offs, the tests performed, and the steps needed to operate the system.
Agree on a useful first milestone
Choose a change small enough to review and useful enough to test the approach before committing to a larger build.
Plan for change
Name the assumptions behind a design. Prefer reversible choices when the cost is reasonable.
Raise problems early
Explain when evidence changes the plan, what is blocked, and what decision would move the work forward.
Include operations
Define monitoring, failure handling, and recovery steps alongside the code when the scope requires them.
Make vendor trade-offs explicit
Compare a managed service’s convenience with its cost and migration burden before depending on it.