Skip to content
Nathan GalloSoftware Engineering

Projects

Start with the production Teams assistant, then see how I adapted developer tools to enterprise restrictions and tested whether extra agent components were useful.

Start here

Production application

Microsoft Teams AI assistant

Cut a recurring enterprise task from hours to minutes. Covers the results and the integration limits.

An assistant in Teams that gathers material for a customer brief A request in a chat window goes to the assistant, which pulls material from several existing business systems, using each system's own permissions, and returns one draft brief to the chat.
Read the case study

Developer tooling

Codebase Memory CLI

A command-line fork of an open-source tool, built for companies that restrict MCP servers, the services AI tools connect through. Credits the original authors.

A command-line tool over an indexed code map A person or coding agent runs a command. The tool looks up an index of the repository's code and returns likely matches, which are then checked against the actual source files.
Read the case study

Agent reliability and evaluation

Agent-Workflow

Tools for resuming agent runs and recording results, plus a review of which components are needed.

How Agent-Workflow runs two tasks A plan splits into two tasks that run separately. Each task's changes are saved and checked on their own, then both are combined and checked again before a person decides whether to merge.
Read the case study

Additional applications and studies

Agent-Workflow Comparative Evaluation

When a model-based router picks differently from rule-based routing, that does not show it is better. This project checks which decision was right, using an answer key written by independent labelers who never saw either system's output. The results are published whether or not the model-based system wins.

Testing two routing approaches against a locked answer key The answer key is locked before the test. The same cases go to a rule-based approach and a model-based approach, and both sets of answers are scored against the key afterward.
Case study

Filing Harbor

Tax preparation needs arithmetic you can audit and a clear answer to who holds the data. A model can help find or explain a rule, but the arithmetic belongs in fixed code. A public demo should not keep tax drafts that contain names and addresses just because storing them is convenient.

Open Filing Harbor ↗
A tax draft that stays in the browser The draft is entered and reviewed inside the browser. Only the numbers needed for each calculation go to the server, and the draft is cleared when the page is reset.
Case study

Grounded

An LLM is most useful here for working out what the user means. Application code should keep control of the database.

Open Grounded ↗
A model plans the query; code builds the SQL A plain-English question goes to a model that returns a structured plan. Application code checks the plan and builds the SQL, the database runs it, and a second model call writes the answer from the returned rows.
Case study

Semantic Site Evaluator

Tests that match exact wording break when a site's copy and structure change on purpose. Handing the judgment to an AI model would put release decisions in a system that can be wrong. This project records what must stay true instead of today's exact wording. It collects limited browser evidence, checks each rule against the evidence it needs, and leaves release decisions to ordinary code.

Rules checked against saved browser evidence A browser captures one page. Each numbered rule receives only the evidence it needs. Rule-based checks decide; an optional AI model only adds advice. The record is saved and can be rechecked later.
Case study

Rocket Tooling Designer

I wanted the tooling calculations to be usable right away in a browser, and to produce files a manufacturer can use.

Open live demo ↗
Tube sizes in, tooling drawings and CAD files out Tube sizes and tolerances are entered in the browser, which builds a checked tooling model. Only export requests go to a separate CAD service, which returns drawing and CAD files.
Case study

Agent-Workflow TypeSafe AI

Some decisions depend on meaning, and fixed rules handle those badly. A model can still advise without running the workflow. This connector turns a few narrow judgments into saved, checkable advice.

TypeSafe gives advice, Agent-Workflow decides Task evidence is checked, trimmed and has secrets removed, then turned into a question. A separate connector may ask TypeSafe and save its answer. Agent-Workflow's own rules make the decision, with or without that advice.
Case study

SpecGen

AI agents are easier to control when requirements, decisions, acceptance criteria, evidence and open questions are written down in files.

A specification compiled from a locked snapshot Authoring changes are recorded in a log that is only added to. A compiler turns them into a locked snapshot. The readable copy, the change summary, the checks and the output for other tools are all produced from that snapshot.
Case study

Visitor analytics: page interactions, source category, browser information, and network IP metadata are recorded in private server logs. No analytics cookies are used. Opt out of analytics in this browser.