VISHESH MISTRY

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

One signal, three paths.

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

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

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

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

ATLAS

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

  • Repository scaffolded
  • Toolchain configured (uv, Ruff, mypy, pytest)
  • Structured logging
  • Core Tool abstraction
  • Typed command REPL
  • Validated tool registry
  • First stub tools

ONE COMMAND THROUGH THE SYSTEM

  • COMMAND IN: Typed now, voice later.
  • PARSE: The raw line becomes a structured request.
  • VALIDATE: Pydantic schema. No guessing.
  • CONFIRM: Sensitive actions need an explicit yes.
  • EXECUTE: Deterministic, and only what was asked.
  • LOG: Every action leaves a record.

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.

Plutus

FINANCE

Machine learning on personal history, not markets.

Poseidon

IOT

Embedded systems and the custom protocol, owned end to end.

Athena

NEWS

Decoupled tool consumption through one interface.

Zeus

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 ↗

Kārya

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

  • Specification documents 00 to 05 approved
  • Five independent audits fixed
  • Design decisions and tokens approved
  • Repository scaffolded with agent rules
  • Roadmap and design plan review
  • Production handoff prompt
  • P0 platform proof on the reference Mac
  • P7 first usable release

ONE JOB THROUGH THE SYSTEM

  • DISCOVER: Permitted sources only. One record per opening.
  • ELIGIBILITY: Can I legally take it? Decided apart from fit.
  • FIT: Explained by dimension. Never upgrades eligibility.
  • DRAFT: A model proposes lines from verified claims.
  • GROUND: Code rejects anything not in a cited claim.
  • PACKAGE: Validated PDF and DOCX in a versioned folder.

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.

egress-source

NETWORK ▸ SOURCES

Reaches allow-listed job sources and sees none of my data.

egress-model

NETWORK ▸ MODELS

Reaches model providers only. API keys are injected here, never in a worker.

work-public

NO NETWORK ▸ POSTINGS

Parses hostile postings and HTML. Holds no key and none of my data.

work-private

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 ↗

The path so far.

2025 ▸ 2028

LaSalle College Vancouver

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

VanArts

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

Neolen Studio

VR Game Programmer Intern. Six months of gameplay mechanics and 3D asset integration on a VR chess game built in Unity.

2020 ▸ 2023

Navrachana University

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.

Every path converges here.

Open to software and systems internships. On site, hybrid, or remote.

GITHUB ↗ LINKEDIN ↗ RESUME ↗ EMAIL ↗