// about

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.