Principal Consultant at Bitovi ยท Software Engineer
I started as a researcher, studying ontologies and industrial AI. Then I spent over a decade building software: first my own, then helping other developers, then teams, then departments.
I still write code and read papers.
๐ systemsbyaj.com ยท ๐ผ LinkedIn ยท ๐ Concord, NC
I lead Bitovi's engagement with a Fortune 500 financial services company. My work covers architecture, staffing, delivery and the commercial side of the account. I build teams, fix delivery problems, and work through technical leads to change how software gets built.
I joined that engagement in 2022 as Bitovi's only consultant. I designed its micro-frontend architecture, built a shared design system, introduced feature management across Angular and .NET, and helped build the frontend practice as the work grew.
These days the architecture problems are organizational ones: how do you get developers you'll never meet to build things the same way?
Modern AI reopened the questions from my thesis. Neurosymbolic AI, knowledge graphs and AI agents are the same problems I worked on in 2016, with much better tools.
- Neurosymbolic AI
- Knowledge representation and knowledge graphs
- AI-assisted software engineering
- Research agents
My approach: build something, see what breaks, write it down.
| Project | What it is |
|---|---|
| Research Knowledge Graph | A personal, plugin-first knowledge graph for academic research that no single vendor owns. |
| AI Briefing | Twitter/X filtered down to what matters, summarized by Claude and delivered to Telegram twice a day. |
| aj-starter-gold | A type-safe, isomorphic TypeScript starter that combines Angular and NestJS into one three-tier architecture. |
| quarto-webmcp | A Quarto extension that exposes a site's content to in-browser AI agents through WebMCP. |
| systemsbyaj.com | My site, built from a written product spec, in stages, with an AI pair. Every page registers tools an AI agent can call. |
| dotsync-cli | Pick-and-choose config sync across machines, backed by a git repo you control. |
Repos I build alongside books and papers, as proof I understood the material rather than a claim that I did.
- Learning From Data: notebook companion for the book
- Anthropic Learning: notebooks for learning the Claude API and tooling
- AI Reading Curriculum: the books and papers on my AI reading list
- Blog posts that answer agents back: the post is for people, and its WebMCP tools are for the agents reading it on their behalf.
- Asking this site questions with WebMCP: what tools each page exposes and what to ask them.
- Ontology Driven Software Engineering Generator, MASc thesis, University of Regina, 2016. Link
- Ontology driven software engineering, Wiebe & Chan, IEEE CCECE 2012. Link
- Knowledge engineering for the domain of carbon dioxide capture process system, Zhou, Wiebe & Chan, SEKE 2011.
| When | Role |
|---|---|
| 2023 โ now | Principal Consultant, Bitovi |
| 2022 โ 2023 | Developer Consultant, Angular Delivery Lead, Bitovi |
| 2017 โ 2022 | Team Lead Consultant, Solvera Solutions: led enterprise delivery, mentored and interviewed developers, and set Angular direction on the Application Development Council |
| 2013 โ 2017 | Developer Consultant, Solvera Solutions: enterprise software for FCC, SLGA and Viterra, including speeding up one client's search indexing by more than 500x |
| 2011 โ 2013 | Developer, iQmetrix, then HP Enterprise Services |
| 2010 โ 2016 | Researcher, University of Regina: industrial applications of AI, focused on ontologies and software engineering |
| 2007 โ 2009 | Early roles at SaskTel and the Canadian federal government: rich internet applications and geospatial tools |
๐ University of Regina: MASc and BASc in Software Systems Engineering
Stack I reach for: TypeScript ยท Angular ยท NestJS ยท .NET ยท Python ยท Jupyter ยท Claude / MCP ยท Docker



