Sheehan Lloyd
An S traced as a figure eight

Toronto, Canada

Sheehan Lloyd

I build software that shows its work.

  • Software Engineering, University of Waterloo
  • Founding Engineer, Relet
  • prev. Agentic AI intern, Redcan.ai

Scroll ↓ · click the ice jump between chapters

Sheehan casting a fishing line from a rocky shore at dusk, pointing toward the far side of the lake, under a clearing storm sky.

Read the water.

Ontario, late summer.

01 · selected work

Told backwards.

Four builds. The result first, then what was engineered, then why it exists.

Now pushing from GitHub · just now

  • Onyx Local models, made survivable in a real editor.
  • Afterhand Coaching that waits until the hand is over.
  • trunk One codebase for every trades business.

19 pushes to public repos, last 30 days

Execution timeline: checkpoints every 64 steps, a crash, and a reverse step back to the cause. cp 0 step 0 cp 1 step 64 cp 2 step 128 cp 3 step 192 cp 4 step 256 *p = 0 written here SIGSEGV · t = now reverse-step re-fork cp 2, replay 70 steps one tick = one instruction · checkpoint = a stopped clone of the process

01 · 2026 · Rust

Chronos

A reverse-execution debugger for AArch64 Linux.

Set a breakpoint, run past the crash, then step backwards to the instruction that corrupted the pointer, with variables showing their past values. Every claim, including the unsupported cases, is covered by a test.

t − 1 · built
ptrace control decoded structurally, BRK breakpoints, DWARF 4 and 5, CFI unwinding. Checkpoints by injecting a clone syscall into the target every 64 steps; reverse operations re-fork the nearest one and replay forward.
t − 2 · why
Debugging is working backwards from a symptom, and nearly all debugger literature is x86-64. This one was built from the ARM manual and the kernel sources.
7
crates
64
steps per checkpoint
0
external debuggers
The Onyx workbench: an architecture map on the left, code in the centre, and the agent activity, staged changes, context budget and compute panels on the right.

02 · 2026 · TypeScript

Onyx

A local-first AI code editor for macOS. Every model runs on your machine.

Every qwen2.5-coder variant tested used the native tool-call channel zero percent of the time. Onyx’s repair path recovered a usable call from prose in six of six requests, and constrained decoding reached fully valid tool use on four of five models.

t − 1 · built
A Code – OSS fork. One OpenAI-compatible client for Ollama, LM Studio, llama.cpp and vLLM; per-model capability profiles; routing on measured tokens per second and tool-call reliability; a control plane that shows what the agent is doing and why.
t − 2 · why
A 7B model on a laptop mangles tool calls, writes edits that do not apply, and answers confidently from nothing. The harness has to make that survivable, and show you when it was not.
0%
native tool calls from local models
6 / 6
calls repaired from prose
168
unit tests
45
end-to-end checks
The Relet landing page: “The Operating System for Student Rentals”, above a landlord dashboard showing outstanding and collected rent beside a calendar.

03 · 2025 → · TypeScript · Founding engineer

Relet

The whole leasing lifecycle for student-housing landlords.

Ten landlords managing fifteen-plus properties onboarded in the first month. Live at relet.ca.

t − 1 · built
Next.js App Router, React 19, PostgreSQL on Supabase with row-level security doing the tenant isolation. Browser-based Ontario lease signing with generated PDFs, and a pipeline that parses bilingual Interac e-Transfer notifications to reconcile deposits.
t − 2 · why
Student landlords run leases out of text threads and e-Transfer notifications. Relet puts onboarding, tours, e-lease and rent in one place.
10
landlords, month one
15+
properties
2
languages of e-Transfer parsed
The Afterhand home page: “Play first. Understand after.” beside a green blackjack table showing soft 18 against a dealer nine.
A A

04 · 2026 · TypeScript

Afterhand

Play first. Understand after. A casino strategy simulator that stays quiet until the hand is over.

You play a real hand with simulated money; the review then says what you did, what the better play was, and why, and keeps “correct” apart from “worked”. No money, no accounts, no ads. Live at afterhand.online.

t − 1 · built
Real rules: six-deck shoe, soft-17 behaviour, splits, surrender, baccarat third-card rules, proper side pots, both roulette wheels. A deterministic strategy engine, probabilities by exhaustive recursion, Monte Carlo equity for poker.
t − 2 · why
Most trainers tell you the right move while you are still deciding. That is playing the hand for you.
4
games, real rules
0
decisions made by an LLM
100s
random hands per invariant test

Also built

  • Second Wind An MCP server for WHOOP data that returns conclusions, not rows. The model never does the math. Python
  • Reachset What a service account, an OAuth app or an AI agent can actually reach, computed as a recursive CTE and explained edge by edge. Python · Architecture
  • Trunk An AI receptionist for the trades: answers the call, books the job, texts the owner. TypeScript
  • RepoPilot Index a repository and ask how it works. Answers with file:line citations, 0.77 recall@5, fully offline. Python
  • EdgeMesh A Go edge proxy with a Raft control plane implemented from the paper. The data plane keeps serving with the control plane down. Go
  • Type Sheehan A typing test with opinions. TypeScript

Recent on GitHub from GitHub · just now

  • EdgeMesh Distributed edge HTTP proxy and cache in Go. Custom Raft control plane, consistent-hash peer cache, OpenTelemetry, and chaos-tested failover. Go · created 10 days ago

Everything else is on GitHub

02 · about

Who’s behind it.

I am a software engineering student at Waterloo who has been shipping for paying clients since I was fifteen, a founding engineer at a rental startup, and, before any of that, a figure skater.

Skating set the standard: the line has to be clean, closed, and repeatable, because someone is going to inspect it. I hold code to the same one. A debugger that steps backwards. A coach that only speaks after the hand. A tool that gives a conclusion and can show every row behind it.

Engineer
Systems and full-stack. Rust, TypeScript, Python, C. Happiest one layer below where the bug appears to be.
Founder
Sheehan’s Digital Solvations: twenty-plus client projects, started at fifteen.
Founding engineer
Relet, leasing for student landlords. Ten landlords in month one.
Skater
Figures first, then dance. Provincial champion, and for a while a coach at the Markham Skating Club. Off the keyboard
Hockey player
Rep and varsity, seven years on Markham ice. Off the keyboard
Musician
Piano and voice, RCM Level 8 in both. Writes the occasional song. Off the keyboard

Where I’ve worked

  1. May 2026 → Aug 2026

    Redcan.ai work · Toronto

    Software Engineering Intern, Agentic AI

    Re-platformed a legacy SAP ABAP engine onto AWS as independently deployable TypeScript services, with a contract-first REST API shipped as a versioned package and multi-tenant PostgreSQL isolated by row-level security. Readiness probes, migration-drift detection and CloudWatch alerting caught bad deploys early.

  2. 2025 → 2030

    University of Waterloo school · Waterloo

    Bachelor of Software Engineering

    President’s Scholarship of Distinction and B.P. Dammizio Entrance Scholarship.

  3. 2025 → now

    Relet venture · Remote

    Founding Engineer

    Own the customer-facing workflows across TypeScript and PostgreSQL. Built the Ontario lease signing and the Interac e-Transfer reconciliation pipeline, with CI/CD to production.

  4. Jun 2024 → Aug 2024

    Nexus Wave Inc. work · Markham

    Junior Software Developer

    Led an AI-powered IVR platform shipped to banking customers across Canada, written in C and Lua on FreeSWITCH, and profiled its concurrent call handling on Debian servers under production load.

  5. Jun 2021 → Jul 2025

    Sun IT Solutions work · Toronto

    Junior Software Developer, part-time

    Full-stack web and mobile applications in JavaScript, PHP and SQL, including an internal ticketing and asset platform, alongside infrastructure across Microsoft Azure client environments.

03 · certifications

Certifications passed.

In skating, a test is a line a judge signs off on. These are the ten I have passed, newest first.

10
credentials
6
issuers
2022 → 2026
span
  1. 2026.01 AWS Certified Solutions Architect – Associate Amazon Web Services Cloud passed
  2. 2026.01 Azure Data Scientist Associate Microsoft Data passed
  3. 2025.07 CompTIA Linux+ CompTIA Systems passed
  4. 2025.01 Java SE 8 Programmer I Oracle Languages passed
  5. 2024.07 Azure AI Engineer Associate Microsoft Cloud passed
  6. 2024.07 PCAP – Certified Associate Python Programmer Python Institute Languages passed
  7. 2024.07 Azure AI Fundamentals Microsoft Cloud passed
  8. 2023.01 PCEP – Certified Entry-Level Python Programmer Python Institute Languages passed
  9. 2022.07 Network Security Expert, Level 3 Fortinet Security passed
  10. 2022.06 Network Security Expert, Level 1 Fortinet Security passed

04 · off the keyboard

Off the keyboard.

Before the code there was the ice. Compulsory figures are skated slowly, on one foot, and judged on the line you leave. The most honest test I know.

  • Figure eight

    Two circles, one push each. The first test.

  • Serpentine

    Three circles, a change of edge at every tangent.

  • Loop

    A circle within a circle. The line crosses itself on purpose.

Max

Fox-red Labrador. Waits at the end of every line.

Fetch specialist in all weather. Sits through every deploy, and has never once asked for a screenshot.

October 2025. Pool day.

05 · contact

Say hello.

If any of this is useful to you, or you are building something and want a second pair of hands, write to me.

sheehan.lloyd@gmail.com

Elsewhere

Max. Waits at the end of every line.

Pet him. Type max anywhere to call him.