A ▸ SYSTEMS
Systems
C++20 as the default tool. RAII, smart pointers, multi-process design, and a custom binary protocol in active development. The parts of a program you only notice when they fail.
C++20 STL RAII IPC CMAKE
Game programming student. Writes C++ for systems, graphics, and engines, and is learning ML from the mathematics up.
VANCOUVER, BC ▸ OPEN TO SOFTWARE AND SYSTEMS INTERNSHIPS
I work on the layer where memory, data structures, and process design decide whether something runs well or falls over. I would rather read engine source and rebuild a system from scratch than wire features together.
A ▸ SYSTEMS
C++20 as the default tool. RAII, smart pointers, multi-process design, and a custom binary protocol in active development. The parts of a program you only notice when they fail.
C++20 STL RAII IPC CMAKE
B ▸ GAMES & ENGINES
Unreal Engine 5 for 3D, Raylib and Unity for 2D. Gameplay, systems, and tools code, with a build shipped publicly at Global Game Jam 2026. Graphics programming is the next deep dive.
UE5 RAYLIB UNITY NAVMESH HISM PERFORCE
C ▸ MACHINE LEARNING
Python, learned properly: the mathematics first, then the library. Working through ML fundamentals and applying them only where the data genuinely holds signal.
PYTHON PYDANTIC SCIKIT-LEARN PYTEST MYPY
FEATURED WORK
LOCAL-FIRST ▸ ALWAYS-ON ▸ YOURS
A multi-process personal agent platform with a custom binary protocol.
ATLAS is a local-first personal agent platform: a Python orchestrator that parses, validates, and dispatches commands, and a C++ PC agent that executes operating-system actions across a process boundary, speaking a custom binary protocol designed from scratch. No cloud, no subscriptions, every action explicit and logged.
The protocol boundary is where the systems engineering lives. Framing, message types, and version negotiation are all custom, because owning both ends of the wire is the point of the project.
PHASE 0 ▸ FOUNDATIONS 3 / 7 MILESTONES
ONE COMMAND THROUGH THE SYSTEM
ONE REGISTRY. THREE BOUNDARIES.
A ▸ CUSTOM PROTOCOL
A custom wire format, framing, message types, and versioning, spoken between the Python orchestrator, the C++ PC agent, and Poseidon's microcontroller. The core systems artifact.
B ▸ API ADAPTER
External services on their own wire. A REST adapter binds any outside API (weather, news, market data) to one command.
C ▸ INBOUND COMMANDS
How requests arrive from outside: remote commands from a phone or the LAN now, voice later, through one entry point.
FOUR AGENTS. FOUR INDUSTRIES.
FINANCE
Machine learning on personal history, not markets.
IOT
Embedded systems and the custom protocol, owned end to end.
NEWS
Decoupled tool consumption through one interface.
WEATHER
Voice input and agents layered on a shared tool.
It does not predict the weather or the markets. The machine learning goes where the signal genuinely lives.REPOSITORY ↗ PROJECT SITE ↗
LOCAL-FIRST ▸ GROUNDED ▸ HUMAN-APPROVED
A local-first job search platform where language models propose and deterministic code decides.
Kārya is a local-first job search workstation for one person: a Tauri desktop app over a Rust core, with sandboxed Python workers and an encrypted database. It finds paid technical jobs on sources whose terms allow it, decides whether I can legally take each one separately from how well it fits, and drafts a tailored resume in which every factual sentence traces back to evidence I verified. The first release never submits anything. I open the employer's page and apply myself.
The engineering is in what the language models are not allowed to do. They propose; deterministic code decides. Every statement about a posting has to quote it, every number in a resume line has to exist in a verified fact, and no model output can change state. A chat subscription is not an API credential, so the default route is a manual relay: Kārya builds a minimal prompt, I paste it into my own chat, and the reply is validated like any other.
There is no code yet, and that is on purpose. The risks in this system are architectural, so I specified it first: eight documents with 313 acceptance criteria, five independent audits that found 99 issues, all fixed, and a roadmap of 21 phases that AI coding agents build one at a time, each ending in an evidence report and my approval.
PRE-PRODUCTION ▸ SPECIFICATION 4 / 8 MILESTONES
ONE JOB THROUGH THE SYSTEM
MODELS PROPOSE. CODE DECIDES.
A ▸ QUOTE GROUNDING
Every statement a model makes about a posting must carry a verbatim quote. Code checks it byte for byte against the stored text, and a reply with more than 30 percent ungrounded statements is rejected whole.
B ▸ CLAIM GROUNDING
Every number, date, URL, proper noun, and technology in a resume line must appear in the verified claims it cites. A borrowed metric or an invented employer fails before anything renders.
C ▸ EVALUATED ROUTES
A model route can take a task only after passing that task's benchmark at that exact prompt version. There is no silent fallback. The target for a false "verified eligible" is zero, on 150 postings I label.
FOUR ROLES. ONE WRITER.
NETWORK ▸ SOURCES
Reaches allow-listed job sources and sees none of my data.
NETWORK ▸ MODELS
Reaches model providers only. API keys are injected here, never in a worker.
NO NETWORK ▸ POSTINGS
Parses hostile postings and HTML. Holds no key and none of my data.
NO NETWORK ▸ MY DATA
Holds my data for one task, then the process is destroyed.
Nothing becomes a fact by being generated. The model proposes a sentence, and deterministic code decides whether it stays.REPOSITORY ↗ SPECIFICATION ↗
2025 ▸ 2028
Bachelor of Science in Game Programming.
Currently pursuing a Bachelor's in Game Programming, building a strong foundation in gameplay programming, software engineering, graphics, and game systems. Working on hands-on projects that strengthen my technical skills, problem-solving, and collaborative game development experience.
2024 ▸ 2025
Diploma in Game Art and Design
Studied the fundamentals of game art and design, including 2D/3D asset creation, level design, game engines, and production workflows. Worked on collaborative game projects that strengthened my technical skills, creative problem-solving, and understanding of the game development pipeline.
2022
VR Game Programmer Intern. Six months of gameplay mechanics and 3D asset integration on a VR chess game built in Unity.
2020 ▸ 2023
Bachelor of Computer Applications
Built a strong foundation in software development through software engineering principles, Java, web development, and mobile application development. Gained hands-on experience building applications while strengthening problem-solving and core programming skills.
Open to software and systems internships. On site, hybrid, or remote.
GITHUB ↗ LINKEDIN ↗ RESUME ↗ EMAIL ↗