Skip to content

Software engineer building reliable software systems for operational work.

I've been into software for years; computer science just gave me the tools to finally build the systems I wanted. My background is in B2B sales and business — it didn't push me into engineering, it decided which problems I'd build for. So instead of generic practice projects, I build for problems I already understand firsthand. Two of them are below.

GitHub (opens in a new tab)·LinkedIn (opens in a new tab)·Calgary, Canadaopen to software engineering internships in the us and canada

Selected work

Agentic CRM

Core operational · final validation

A multi-tenant CRM that reads a team's inbox, proposes the next CRM action, and executes only what a person approves.

Inbox to CRM. Nothing executes before the approval gate.

Keeping a CRM current is manual upkeep, and manual upkeep slips. Records fall behind, and the system of record everything depends on goes stale.

Working today

  • Multi-tenant workspaces with enforced isolation
  • Gmail inbox sync over OAuth
  • AI email analysis into structured SuggestedActions
  • Human approval → dependency-resolved linked execution
  • JWT / session auth, CSRF protection, workspace RBAC
  • Stripe billing

The AI never writes to the CRM. It produces structured proposals; nothing becomes durable state until a person approves the package. That single boundary is what makes AI safe to point at real customer data.

Why this stack: PostgreSQL keeps every row workspace-scoped; Redis runs inbox sync and AI off the request path; a FastAPI backend and a typed React front end share one contract, so the UI and the data model can't drift.

AI Construction Estimator

Early build · in development

An AI-assisted takeoff tool that reads construction plans, drafts measurements, and leaves every number for an estimator to check.

Early build. Document-understanding and computer-vision workflows read plans and extract measurements into a reviewable takeoff, with the estimator in control of every figure.

Next
Pilot with a real construction business and measure the time actually saved.

Decision-systems research

Active Honors research · methodology in design

Honors research comparing how quantitative, human, and AI decision frameworks perform when replayed on identical market history.

A framework-agnostic simulation harness is being built to replay decades of history under each framework. Large-scale evaluation runs are designed but not yet run.

Next
Run the first large-scale evaluation on scalable compute.

Engineering principles

I don't build projects just to learn a technology. I build software for a problem I understand, and learn whatever that problem needs. Here's what building that way has taught me.

01

Build the boring parts first

Tenancy, auth, migrations, and the job queue decide whether the interesting parts can exist safely. The AI in my CRM is maybe a tenth of the code; it only works because the other nine-tenths hold it in.

02

The workflow is the spec

Businesses run on a few repeated motions, not feature lists. I design from the motion I watched break — which is usually the reason the project exists at all.

03

AI is a component, not the product

A model is probabilistic; software has to be reliable. The engineering is the scaffolding around the model — structured inputs, validated outputs, resolved dependencies, a human approval step — that turns an LLM into one dependable part of a larger system. Anyone can call the API; making it repeatable and trustworthy is the work.

04

Some mistakes don't get an undo

A row that crosses a tenant boundary, a wrong number a customer trusted — you don't get those back. So the failures that can't be undone shape the design from the start, instead of living in a filter you hope everyone remembers.

Background

Study
Oregon State University — Honors B.S. Computer Science, Mathematics minor
Record
4.0 GPA in CS coursework to date · Dean's List
Before CS
B2B software sales (Renoworks) and a finance degree (University of Calgary)
Based in
Calgary, Canada · open to internships in the US and Canada

What I'm looking for

Software-engineering internships where the interesting problem is the system around the model, not the demo — backend, infrastructure, or AI product. I start from the workflow and the failure cases; my edge is having lived on the other side of the software before I built it.

The fastest way to reach me is email.