Software engineering · AI & automation

Modernize your systems.
Make time for better work.

I’m James. I build AI tools, modernize legacy applications and automate the workflows that slow teams down.

Remote consulting from Victoria, BC

From disconnected to connected
Existing applications
Tickets & documentation
APIs & data
Builds & tests
AI agents + purpose-built toolsContext, permissions and a defined task
InvestigateImplementVerify
A change you can inspectHuman review
Illustrative workflow · engineering judgment at every stage

20+ years in software engineering

Backend, frontend & delivery

JAVA · PYTHON · TYPESCRIPT · MCP

How I can help

Useful changes.
Working software.

Bring me an application that needs a way forward, a workflow full of manual steps, or an AI tool that needs access to real systems.

01 / MODERNIZE

Give older applications a way forward.

Upgrade runtimes, replace aging components and preserve the behaviour people depend on. Build a repeatable path from the current system to a maintainable one.

  • Application assessment & migration planning
  • Backend, API & frontend modernization
  • Regression checks, deployment & rollback
02 / CONNECT

Put AI to work with your existing tools.

Build MCP servers and integrations that let agents work with your APIs, documentation and engineering systems, with clear access boundaries.

  • Custom MCP tools & API integrations
  • Authentication, permissions & auditability
  • Agent instructions & failure handling
03 / AUTOMATE

Take repetitive work off your team’s plate.

Turn investigation, reporting and multi-step engineering tasks into workflows that produce useful, reviewable results.

  • Fault investigation & fix preparation
  • Cross-system workflows & reporting
  • Automated checks & practical handover

Selected engineering work

Selected projects.

Projects from my engineering work at the BC Public Service, alongside independent work on AI agents and research automation.

01 / MCP platform · Open source

Give agents the context
to do useful work.

I built RAVEN to connect AI assistants to the systems where engineering work happens, including tools for searching, investigation and controlled actions.

Read the RAVEN case study

02 / Autonomous modernization

Make the next migration
easier than the last.

I created a pipeline that coordinates code transformations, builds, runtime checks and repair, turning recurring migration problems into reusable checks.

Read the modernization case study

03 / Engineering workflow automation

Shorten the path from
fault to proposed fix.

I built an agent workflow that connects fault detection, investigation and fix preparation, keeping evidence with the work and release decisions with people.

Read the bug-fixing case study

04 / Personal research prototype · Open source

Congruity: turn research
ideas into experiments.

I built an AI workflow that finds connections between papers, turns proposals into code and tests them against defined benchmarks, with results kept available for inspection.

Explore Congruity

Working together

Start with one
well-defined problem.

A focused pilot gives us something concrete to evaluate before extending the work across more systems.

01

Understand the current system.

Identify the people, dependencies and constraints involved. Agree on the outcome and how we’ll verify it.

02

Build a useful first version.

Work on a bounded task, demonstrate progress and test against real requirements. Keep uncertainty visible.

03

Leave the team able to use it.

Deliver the code, checks and documentation. Agree on deployment, handover and any ongoing support.

A little about me

James Gagan.

Software engineer
Victoria, British Columbia

I’ve spent more than 20 years building software for government, startups and businesses.

My experience spans Java backends, APIs, databases, web interfaces and the work of getting changes into production. Recent projects include AI agent tooling, Java application modernization and substantial frontend mapping work replacing a legacy platform with Leaflet.

I use Claude Code daily and Codex for independent review. I define the architecture, give agents context and tools, examine the results, and remain responsible for testing and release decisions.

Have something in mind?

Start with the problem.

Tell me what’s taking too much time, which systems are involved, and what you’d like to change. We can work out a useful first step.

Based in Victoria, BC · Remote consulting
Project work, focused pilots and part-time engagements.

Discuss a project
Personal experiments & earlier projects