Projects in clinical AI, computer vision, programming languages, and browser games.
01 / Healthcare · AI · 2026
MedArmor
An AI-assisted clinical audit prototype.
I led a team building a clinical audit prototype that checks patient records against screening and follow-up guidelines. The goal is to surface possible oversights and give clinicians the evidence they need to review them.
Our breast cancer screening audit combines EHR data, clinical guidelines, and Gemini / MedGemma to identify missing follow-up care. Clinicians review each finding and its supporting evidence.
I built tools to clean up whiteboard photographs, handle glare, and turn marker strokes into images and vector outlines.
A second tool reconstructs the original pen strokes from the image. Combined with GrafPad’s shape recognition, it let me turn a photo of a block diagram into editable shapes in PowerPoint.
From a whiteboard photo to a cleaner digital copy.
03 / Touch interfaces · Shape recognition
GrafPad
Shape recognition for touch and mouse input.
GrafPad recognizes shapes drawn with a finger or mouse. It straightens lines, squares corners, and normalizes polygons.
I co-founded the project and built the backend and shape-cleanup algorithms.
The original GrafPad shape-recognition demo.
04 / Games · Browser experiment
Cyborg Challenge
A tile-based puzzle game built with RapydScript.
A browser game inspired by Chip’s Challenge: collect chips, navigate obstacles, and work your way through tile-based puzzles. I built it as one of the first substantial demonstrations of RapydScript, the Python-like language that compiles to JavaScript.
You can play it here. The keyboard input behaves like the original Windows 3.1 game. Use a keyboard, or the on-screen arrow buttons on mobile.
Early contributions to a Python-inspired JavaScript language.
RapydScript is Alex Tsepkov’s Python-inspired language for JavaScript. I contributed to its early design and implementation, helping define syntax and build features including tuple packing and unpacking, and exception handling.
I used RapydScript to build Cyborg Challenge as an early demonstration of the language.