Raphael Rouvinov-Kats

Software engineer. AI products at Eigen; previously cofounder and CTO of Swipehouse (YC W18).

Eigen and contracting

2022–present

Full-stack and applied AI engineering, from desktop capture and immersive language learning to production student software. At Eigen since 2024; other consulting has included browser extensions and backend automation.

Projects and engineering work

AlphaWrite

2025–present · Eigen

Engineering on an AI writing product for students, including responsibility for the TimeBack integration. Work includes student features, speech, admin interfaces, diagnostics, and production support. Also developed MCP servers, repository skills, and runbooks for production API queries, incident investigation, and support triage.

AlphaTutor / learning monitor

2024 · Eigen

A macOS app that captured educational questions on screen and converted them into structured assessments. Combined native capture APIs, LLMs, object detection, and segmentation.

AlphaLingua

2024 · Eigen · prototype

An Apple Vision Pro language-learning prototype with immersive scenes and an AI voice-conversation pipeline.

Pairly Climate / Nectar

April 2024 · consulting · YC S23

A short consulting engagement using AI browser automation to log into utility-company websites.

Lime Health AI

April 2025 · consulting

Made a PDF-to-healthcare-billing and ICD-code extraction prototype available as a web app, calling APIs hosted on the client’s existing no-code platform. Also adjusted the existing processing pipelines.

Prosper Robotics

January 2022 · short engagement

Added over-the-air software updates to Prosper’s domestic help robots, replacing in-person software updates. Worked with Teensy hardware and NVIDIA Jetson on a VR-teleoperated robotics system.

Phia

June 2023 · short consulting engagement

Chrome-extension and backend prototypes for secondhand-product search. Built a Plasmo shopping-page overlay and worked on product-extraction experiments and recommendation-service requests.

Piecewise and personal projects

2019–present · independent projects

Tools for searching, learning, coding, and organizing research. These experiments grew out of related questions about how AI could work with spreadsheets, code, notes, and the web.

Projects, experiments, and how they connect

Coursegrep

2022–2024

Course search for Harvard and MIT. Scraped and parsed difficult catalog data into a consistent structure, then built a fast searchable interface with filters, shareable URLs, and a custom virtualized results list. Started as groundwork for an AI domain-name search interface.

rrkcal

Fall 2022 · personal project

A personal calendar site for keeping track of classes, readings, exams, and deadlines. Built list and month views, course and event-type filters, expandable details, and recurring schedules that account for holidays. Included DarkReader dark mode, enabled by default and remembered across visits.

Light-mode comparison

Seecode / Code Canvas

February–March 2023 · original captures February 21 and 28

A zoomable workspace for viewing and editing a codebase, with file browsing, a property inspector, console, Markdown notes, browser tabs, and chat. Original February screenshots show layers and blocks panels, a filesystem tree, console messages, chat and completion panes, and extreme zooming over long columns of text blocks. The aim was to bring browsing into a shared code-and-notes workspace, alongside experiments with code execution and coding agents.

Chat and completion panes · February 21, 2023
Zoom experiments · February 28, 2023
Restored workspace with demonstration content

Foldy Notes

April–September 2023 · original capture August 1

An outliner with nested and collapsible bullets, keyboard editing and navigation, and file autosave. File-reference bullets embedded a CodeMirror editor with a Save action; directory-reference bullets displayed filesystem entries inside the notes. Used as a working notes app during the Piecewise experiments, with a surviving outline of April, August, and September 2023 research and project notes.

Restored outline with demonstration notes

Later Code Canvas experiments

2025

Later experiments with drawing, code execution, web search, and AI on a shared canvas. Bun Flow added draggable JavaScript, shell, and Markdown editing nodes while its execution callbacks remained unwired. Expo Code Canvas’s main app stayed at a starter screen with database experiments. A separate Expo/Bun experiment synchronized a code input with a syntax-highlighted preview; earlier web prototypes explored code alongside drawings.

LLM tool-calling CLI

December 2023–January 2024 · openai-funcs

A command-line model/tool loop with directory navigation, file reads and writes, web retrieval, and code evaluation. Original December 2023 captures show chained filesystem calls, a generated Wiktionary helper written after confirmation, retrieved dictionary material, and multilingual writing and translation experiments. A January 2024 capture shows JavaScript evaluation with user confirmation and a returned tool result. Separate experiments compared legacy completion models and personal fine-tunes on the same prompt.

Original tool-use experiments · December 2023
Legacy completion-model comparisons · January 2024

Clippy

2023 · prototype

CLIP embedding-based image and text search, with interpolation and arithmetic between multiple image and text embeddings. Related work included a GPU-backed batch embedding service accepting text, image URLs, and base64 images.

Interlinear

January 2024–2025 · earlier inspiration in 2023

A pipeline for turning scanned books into bilingual reading material: vision transcription, cleanup across lines and pages, sentence segmentation, dictionary glosses, and model-generated translations. Early 2024 interlinear.app concepts paired scans with transcribed text and a source library. The March Buber tooling exposed tokenization, sentence review, word dictionaries, and aligned glosses; August capture readers combined sentence and word translations with display toggles. Buber4 added transcription review and guarded text patches in 2025, alongside the booklet-printing tools.

Capture reader iterations · August 2024
Buber pipeline and review tools · March 2024
interlinear.app concepts and early screens · January–February 2024
Stored metadata pipeline and restored reader
August 2024 design studies
Early Buber reader
More Buber reader iterations

Hebrew reading — cats article

November 2024 · experiment

A bilingual reading page pairing a Hebrew article about a cat show with English translations, transliteration, and word/grammar explanations. Part of the broader experiments in making unfamiliar-language text easier to read.

Book and text tools

2024

Experiments in processing and searching long texts, including PDF intake, page rendering, and book-processing tools. The related Bible Codes work explored Hebrew and English texts, embeddings, and prayerbook reading.

Bible Codes — gbbl and Daaven

2024 · prototypes

gbbl implemented semantic search across the Chumash and wider Tanakh, accepting free-text queries or a verse reference and ranking related verses by embedding similarity. Compared English, Hebrew with niqqud, Hebrew with niqqud stripped, and combined English/Hebrew representations, as well as small and large embedding models. Results appeared side by side in English and Hebrew. Daaven separately processed the Ashkenazi prayerbook and displayed Amidah sections.

Restored gbbl and Daaven interfaces

Schmaltz

2025

An etymology service using Wiktionary data and LLMs to turn wikitext into structured word histories.

MCP tools

2025–2026

Custom agent tools and experiments around files, images, documentation, browsers, and desktop capture. A separate browser-agent connector implemented tab listing, page interaction and extraction, a WebSocket bridge, and approval/permission flows. Recovered Chrome/macOS MCP folders also contain implementation proposals; those documents are not treated as completed tools.

Bubble Notes

Origins in 2019; apps in 2022–2023 and 2025–2026

Grew out of using Hangline as a one-person chat for notes and ideas. A personal Expo notes app that treats note-taking like a conversation with yourself. The recovered 2022 version includes local storage, search, and backup export/restore; later versions continued the focus on quick capture and data durability.

Before Bubble Notes: my one-person Hangline chat

Restored 2022 interface

Booklet printing

2025 · Buber4

A companion to the interlinear work, laying out Ich und Du scans and transcriptions as folded booklets for offline reading. Buber4 included page ordering, blank-page padding, adjustable print layouts, and physical-sheet and reading-spread views.

Built-in demonstration layouts

Browser utilities

2025

Personal Chrome extensions for tab discarding and activity tracking, plus a shortcut to duplicate a tab into a new window. Tab Discarder included per-tab, per-window, and bulk actions with state badges. Tab Tracker logged browsing sessions locally. Related experiments included a browser-agent connector and a minimal extension for trying Chrome APIs from DevTools.

Hebroot

2026

A small viewer for exploring Hebrew roots.

Tabsave

2019–2024 · many internal versions

An internal browser workspace built and revised over several years, with many variants for tab and session management, text and Markdown export, searchable tables, page extraction, and AI-assisted research. The public extension is a highly pared-down version of these tools. The August 2024 Tab AI versions let users select tabs across windows, preview pages, inspect JSON/XML context, and compose a question about the selection. The February 2023 ChatRichard interface combined chat about open browser tabs with a searchable window/tab table and token/cost counters.

Original Tab AI screenshots · August 2024

Restored Tabsave variants · demonstration data

Receipt organization and deduplication

November 2024

Built a receipt-reimbursement workflow combining schema-validated model extraction, cached CLIP image embeddings, cosine-similarity matching, and a review interface. Structured purchase fields could be checked in a table, while nearest-image comparisons helped find duplicate receipt photographs.

Instacart browsing tweaks

July 2024 · injected browser script

A browser-injected script to make grocery browsing easier: highlight sponsored or out-of-stock items and sort by the true price. The original screenshot records the stock-status highlighting in the product grid.

Hebrew text rendering experiments

March 2024

Compared Unicode characters and grapheme clusters when rendering Hebrew with niqqud and cantillation. Built side-by-side browser experiments with Intl.Segmenter, character and grapheme coloring, spacing, nested spans, and stress-marker placement to understand how segmentation and layout affect readable Hebrew text.

Character and grapheme layout comparisons

Family-story recorder

February 2024 · mobile prototype

A speech-to-text interview prototype for recording family stories. An AI interviewer asked follow-up questions, and recorded answers appeared in a conversational transcript so the story could be explored in more detail.

Sudo Search Mobile

January 2024 · prototype

An Exa-based mobile search experiment with a free-text query and linked result cards. The original iPhone simulator capture shows the early search interface.

Spreadsheets and research agents

In 2022, helped Adam Aleksic with thesis research by scraping Twitter and using Google Sheets scripts and GPT-3 prompts to translate, summarize, and classify posts about Serbian/Croatian language attitudes. Genedtext explored Oxford English Dictionary research: the recovered code parses search results, while model-based result selection and full-entry extraction remained unfinished. Later experiments explored AI spreadsheets, expression-evaluating cells, and Defun: TypeScript cells that could refer to other cells’ outputs. A November 2022 Google Sheets concept demo used OpenAI calls to illustrate the workflow. January 2023 experiments paired query-focused webpage summarization with an early spreadsheet interface.

Hierarchical webpage summaries

January 2023 · Piecewise prototype

Explored query-focused webpage summarization by summarizing chunks in parallel, then repeatedly merging adjacent pairs until one summary remained per page. The January 9 capture records a hierarchy reducing 28 chunk summaries to one, with token and cost logging. Another screen pairs the backend work with an early spreadsheet interface whose grid still contains placeholder cell values. The test query concerns magnesium and vision; the generated text is experimental output, and the underlying article source is unconfirmed.

Summary hierarchy and generated output · January 9, 2023

Search and retrieval experiments

Explored AI domain-name search, text and image embeddings, and image search. Coursegrep was the concrete course-search result; later Piecewise interfaces explored semantic web search and batch research.

Deeznames

2022–early 2023 · collaborative prototype

GPT-3 naming and domain-search experiments, followed by a collaborative full-stack prototype in early 2023. Built on earlier personal work with domain data and search interfaces.

Exa parallel lookups

February 2025 · prototype

A Bun and React tool for running batches of web searches in parallel, saving responses with page text and highlights, and reviewing prior searches with source links and raw results.

Deezvibes / Promptchain

2022 · prototype

Early research-tool experiments with a Reddit image browser and utilities for inferring TypeScript schemas from JSON. The two folders share the same backend implementation; broader prompt-chaining ideas remained plans.

Embedding utilities

November 2024–January 2025

Small TypeScript utilities for cosine similarity, Euclidean distance, and random embeddings, with tests and benchmarks. Used several package/build variants to experiment with npm publishing and Bun.

Hacker News intake / sudo.surf

February 2025 · exploration

Wrote batched Hacker News download scripts with SQLite persistence and resume support. The accompanying sudo.surf proposal explored embedding arithmetic over links and excerpts; its recovered web server remained a Hello World scaffold.

Bulk web search — Metaphor / Exa

April–September 2023 · bulk search September

A browser interface for running many web searches and reviewing results grouped by query, with titles, URLs, dates, and authors. The original September 24 capture shows bulk searches for React Native packages using the Metaphor API. Archive notes record follow-up work retrieving page contents and titles. A separate Exa parallel-search prototype followed in 2025.

Notes and research workspaces

Foldy was a working outliner. Smaller Hypernotes and Whispernotes variants explored note entry and organization. Transcription has not been found in the recovered Whispernotes implementation. Personal chat-shaped note experiments also included notes.chat. Note Alignment explored a Markdown-based system for organizing work, intentions, and scratch notes.

Daily Note for VS Code

December 2022

A VS Code extension that creates or opens the day’s note with a keyboard command, using configurable folders and filenames with date placeholders.

Hypernotes

June 2023 · prototype

A minimal note-entry interface built with Next.js: type a note, press Enter to append it, and Shift+Enter for a new line. The recovered version keeps notes in memory.

Self Alignment

December 2022 · prototype

A small Script Kit check-in that asks what I’m doing and displays the response in a notification. Accompanying sketches explored reflection, focus, and saving workspace context.

Codebase notebook / Turing Complete

September 2024 · prototypes

Built a browser-based directory explorer and syntax-highlighted file viewer/editor with save support. Related experiments summarized file sizes and token counts and explored notebook-style code execution. The later Code Review iterations focused on skimming a whole codebase.

Restored explorer with demo files

Code Review / code viewer

September–October 2024 · numbered iterations

Built several code-review viewer iterations to make deeply nested projects easier to skim, especially folder hierarchies with only one file at each level. The interface flattened files into a list with paths, sizes, and token totals alongside a continuous, syntax-highlighted code pane. The September IDE capture identifies the fifth iteration as code-review-5; the October capture shows a starter demo project.

Building code-review-5

Fast Files

October 16, 2026 onward · working prototype

A macOS file viewer for skimming large archives of images, text, and code while collecting candidates for a project gallery. Built with Bun, Electrobun, and native Swift helpers: a virtualized file list, prefetched thumbnails and previews, bounded text reads, ImageIO downsampling, a persistent shortlist, multiple windows, and native file dragging. It continues the interest in fast browsing behind the 2024 code viewers and Coursegrep / Deezclasses. Embeddings and similarity grouping remain planned.

Computing and model experiments

Early GPT-3 translation experiments

July 2020 · personal experiment

Explored few-shot translation with GPT-3 / davinci in the Playground, trying multilingual outputs, romanization, and even Egyptian hieroglyphs.

Matrix multiplication benchmarks

September–October 2022

Informal comparisons of matrix multiplication across Python, Node, Bun, and the browser, including CPU and GPU-backed libraries. Wrote timing and result-checking harnesses; the results were exploratory rather than rigorous benchmarks.

Recovered benchmark notes

GPT-3 streaming experiments / TCA

November 2022 · prototype

An Expo interface for displaying several model completions as they stream in. The folder was named Transformer Cellular Automata, but the recovered implementation is a completion-streaming experiment.

Bubble Notes fine-tuning experiments

June 2023

Scripts for preparing personal notes as deduplicated prompt/completion training data, creating validation examples, estimating training costs, and submitting and monitoring OpenAI fine-tuning jobs.

Hot-reloading Bun notebook

June 2023 · prototype

A notebook-style helper that caches named code-block results across hot reloads and reruns blocks when their functions change. Recovered inside Photoviewer, whose photo-grid interface lacked a completed photo API.

M1 assembly experiments

June 2023 · learning experiment

Small ARM64 assembly and C exercises exploring direct execution on an M1 Mac. An early learning project rather than a finished tool.

NCA graphics experiments

October–December 2022 · exploration

Animated tensor-display experiments with PyTorch and PyQtGraph, alongside early neural cellular automata model sketches.

Bun Notebooks

September 2024 · prototype

A web interface for running Bun code cells and inspecting execution results and captured logs, explored alongside Turing Complete. The original screenshot shows a cell inspecting the Bun runtime and rendering its returned properties.

GPT CLI

May–August 2023

A Bun-based command-line interface for asking GPT questions from shell arguments or an interactive prompt, with response logging. The August 2 screenshot shows arithmetic, shell-command help, and generated JavaScript suggestions. This was a prompt-and-response utility, preceding the openai-funcs tool loop.

Smaller prototypes and design sketches

Proj-viz

August 2024 · unfinished prototype

An Electron interface for selecting a codebase and describing desired changes. Folder selection and the analysis request were wired up; AI file analysis, graph rendering, and code changes remained placeholders.

Recovered unfinished form

Fullstack takes

May 2023 and September 2024 · design notes

Explored file formats mixing code, prompts, notes, and data. The later XPF (Executable Prompt Format) notes proposed frontend/backend blocks, Markdown and arbitrary tags, automatic project defaults, and editor support. Recovered as specifications and examples rather than a completed runtime.

Molecule drawing experiments

December 2022 · library experiment

A small RDKit library experiment with SMILES-to-SVG molecule drawings, following LS1A and SCRB 10 in fall 2022.

Mobile VS Code and window capture

May 2025 · prototypes

Explored controlling VS Code from a phone: a WebSocket command bridge, connection/QR panel, Expo mobile client, and browser test client. A companion Python service used Quartz to list and capture macOS windows through HTTP and MCP interfaces.

Other explorations

Other hands-on projects included building a microscope.

Walking desk

Summer 2023

A wearable laptop platform for working outside, inspired by Stephen Wolfram. Designed and built it to use while walking.

Prod cohort — São Paulo

2022–2023

Member of the Prod 2022–23 cohort. Traveled with the group to São Paulo in January 2023.

macOS and editor shortcuts

2022–2024

Built personal shortcuts for opening new Chrome, Firefox, Terminal, and Sublime windows in the current desktop, plus a daily-note command. A small VS Code extension opened the current workspace/file in Sublime Text or WebStorm.

Background

An early interest in machine learning led to probability and ML coursework, computer vision study, and graphics, robotics, and reinforcement learning classes. GPT-3 access in 2020 and later generative-model releases helped motivate this period of independent work.

Summer Playbook Inc / Swipehouse (YC W18)

2017–2021 · later Swipehouse engineering, 2023–2025

Cofounded a travel and meetup network, then a creator social network and brand-deal platform. As CTO, built the mobile apps, web products, backend, payments, and internal tools. Acquired in 2021.

Products, experiments, and earlier versions

Swipehouse

2020–2021; later engineering in 2023–2025

Cofounder and CTO of a creator social network and brand-deal platform, initially called Duet. Built the mobile apps, web product, backend, payments, and internal tools. An early TikTok Login Kit partner; acquired in 2021, with later engineering and maintenance in 2023–2025.

Original Duet artwork

Summer Playbook

2017–2021

Cofounded a travel and meetup network connecting college students around the world. Built student profiles and travel maps, plus personalized year-in-review travel cards in December 2017.

Original 2017 screens

Early reach and a 2017 year in review

Unused 2017 signup concept

Fanwave

2020

Video calls between creators and their fans.

Original April 2020 landing screen

Friend Flights

Playbook era

Cheap-flight alerts for friends traveling from different airports to meet in the same city.

Hangline / Playbook Chat

Playbook era

A college messaging app with campus communities, clubs, class groups, direct messages, stories, and controls for throttling notifications.

Hangline at Harvard

More Hangline screens

SiteChime

Playbook era

A website-visitor notification concept with text alerts and activity summaries.

Conference on Venus

2020 · COVID-era prototype

A remote-conference prototype developed during COVID, combining broadcasts with spontaneous conversations.

Restored interface and preserved website

Playbook / Get Offline

2018 · mobile app

An earlier Playbook version for finding nearby students, joining plans, and mapping upcoming travel. Embedded a JavaScript REPL in the app to inspect application state and use Expo / React Native APIs—an early thread leading toward later Code Canvas experiments.

People and group chats · March–June 2018

An in-app JavaScript REPL · July 2018

Previously recovered app screens

Get Offline website

Code-Star

Playbook era

A playful code-themed experiment.

3D Chat

October 2019 · App Store artwork

A social app with customizable 3D rooms and avatars, friends’ online status, and options to join or knock on rooms.

Office Hours Online

2019 · prototype

A prototype for finding mentors and requesting office-hours sessions, with booking approvals and real-time room/chat infrastructure.

OpenMeet

2020 · prototype

A video-call prototype with a waiting queue and shareable links for open office hours.

Treehouse

2019–2020 · prototype

A Harvard community web-app prototype for sharing posts, finding study groups, and connecting around campus.

Other experiments

Explored other businesses and tools, including customer and partner research.

  • LeftPad — a shared cloud development environment for switching between many app projects
  • HireBounty — peer recruiting referrals
  • Helio Roofs — solar installation
  • Blue Card — donation roundups
  • InstaBazaar — specialty grocery delivery
  • Freightjay — rail delivery
  • Kargo — cloud video recording
  • FanMaps — community maps

unread.chat

February 2020 · browser extension

A Messenger privacy extension for checking messages without sending typing indicators or read receipts. The original landing page described a small, open-source Chrome extension.

More from the company archive

DoorDash

2016 · Software Engineering Intern / KPCB Fellow

Built courier scoring for large-order delivery, operational dashboards, and support screens in the Dasher iOS app.

Harvard University

Computer Science

Degree in computer science, with additional coursework at MIT. Studied advanced machine learning, computer vision, reinforcement learning, distributed systems, compilers, robotics, and computer graphics.

and more

Computer science, machine learning, and graphics

  • CS153 — Compilers
  • CS61 — Systems Programming and Machine Organization
  • CS121 — Theory of Computation
  • CS181 — Machine Learning
  • CS281 — Advanced Machine Learning
  • CS283 — Computer Vision
  • CS184 — Reinforcement Learning
  • MIT 6.824 — Distributed Computer Systems Engineering
  • MIT 6.837 — Computer Graphics
  • MIT 6.838 — Advanced Topics in Computer Graphics
  • MIT 6.839 — Advanced Computer Graphics
  • STAT110 — Probability

Cat–Pikachu hybrid image

Fall 2017 · CS283, Computer Vision

Combined high-frequency detail from a cat photograph with low-frequency structure from Pikachu in a computer-vision assignment.

CS50 speller / Big Board

2015 · resubmitted October 2018

A C implementation of the CS50 speller assignment. I recall placing #2 among students in the 2015 class of hundreds, using a hash table, double hashing, and stack allocation to improve speed. The October 2018 screenshot is a resubmission of that solution: third overall, behind two staff entries, and the top non-staff result on that board.

Stereo depth estimation

Fall 2017 · CS283 final project

Explored estimating scene depth from two images, comparing paired input views with depth/disparity visualizations.

Mechanical engineering and electronics

  • Computer-Aided Machine Design
  • The Joy of Electronics — Part I
  • Advanced Introduction to Robotics
  • Underactuated Robotics (MIT)

Marker drawing robot

December 2021 · ES259

Built an image-to-motion pipeline for a UR5e arm with a custom 3D-printed, 20-marker barrel. Converted images into color-specific drawing paths and robot joint commands using Python and ROS. A neural-network approximation of inverse kinematics reduced calculation time from about 10 ms to 0.25 ms in project measurements. The physical demonstration drew on paper, with output quality limited by marker alignment and contact.

Bicycle modeling

Spring 2022 · MIT 6.832, Underactuated Robotics

Final-project work on bicycles, including geometric modeling and handwritten derivations.

Wand-controlled oscilloscope game

Spring 2017 · ES52

A light-equipped Harry Potter wand and a sensor in a Ping-Pong ball controlled a Flappy Bird game on an oscilloscope. Combined analog electronics with digital game logic; built with Nicole Flett.

Tennis-ball robot

Fall 2016 · ES51

A robot that collected tennis balls, drove up a ramp, and placed them on a Velcro tic-tac-toe board. Did much of the mechanical design and nearly all the SolidWorks modeling, including the arm and spinning ball-gripping mechanism.

Biology and psychology

  • Chemistry, Molecular Biology, and Cell Biology
  • Human Developmental and Regenerative Biology
  • Psychological Science

History, philosophy, and writing

  • Race, Capitalism, and the Coming of the Civil War
  • The Conduct of Life in Western and Eastern Philosophy
  • East Asian Religions: Traditions and Transformations
  • The English Language Today, Yesterday, and Tomorrow
  • Expository Writing: Tragedy and Everyday Life

Languages and culture

  • Russian for Heritage Speakers
  • Elementary Korean (study abroad in Korea)
  • Postwar Korea/Film (study abroad in Korea)

Teaching and advising

  • CS50 Teaching Fellow · fall 2016
  • Non-Resident Tutor, Kirkland House · 2023–2024
  • Digital Literacy Project · 2015–2016: taught programming with Scratch and Khan Academy at two middle schools, one each semester.
  • Helped organize HackHarvard · fall 2016 and fall 2017.

Earlier projects and work

2012–2017

High-school games and graphics, hackathon projects, and early VR work.

High school, hackathons, and college

Luminopia / Delaze

2014–2016

Cofounded the project and built early Android and iOS prototypes for VR-based amblyopia treatment.

MHacks IV — Most Innovative

Byte Club

2014 · Mundelein High School

Founded the school’s programming club with Chris Cygnus and Chris Palacios.

Khan Academy programs

2013–2023 · began in high school

Games, generative graphics, and geometry experiments, including Cube Runner, TRON Lightcycles, Word Search Solver, Flappy Bird, Sokoban, fractals, and interactive mathematical graphics.

More selected Khan Academy programs

TI calculator programs

High school

Hundreds of personal programs on TI calculators.

Rotator

May 2015 · CodeDay Chicago · team project

A reverse-audio pronunciation game: record a phrase, reverse it, imitate the reversed version, and compare the waveforms. Built the Processing desktop version with alignment and scoring; teammates worked on mobile versions.

CodeDay Chicago — Best Application

YouGenius

2014 · WildHacks · team project

Chrome extension adding Genius lyrics and annotations alongside YouTube videos. Worked on the extension and combining HTTP requests with content overlays.

DataWave

2015 · MHacks V · team project

Prototype for sending data between phones over FM radio. Worked on the Processing-based desktop transmitter, GUI, and networking.

MHacks V — 2nd Prize

The team demonstrating DataWave at MHacks V, 2015.

Watch on YouTube

Handi-hacked

2015 · Hacking Generation Y · team project

A wheelchair-based input device for virtual reality.

Hacking Generation Y — 3rd Place; Praxis

Sway / Rainmaker Drone

2015 · TreeHacks · team project

An SMS-controlled drone with a 3D-printed payload release. Built the desktop bridge between the server and drone.

Cosmic Wave

2015 · MHacks 6 · team project

Experiment in carrying internet data over voice calls, using Twilio and audio processing.

TabForest

2015 · BostonHacks · team project

Chrome extension displaying tabs and browsing history as a tree.

chromekey.js

2017 · Uncommon Hacks

JavaScript experiment applying a green-screen effect to colors on a webpage.

Ukulele Hero

2017 · TreeHacks · team project

Ukulele game prototype combining microphone audio, FFT features, and a cloud-based chord-recognition model.

Night of the Mumps

March 2017 · Harvard Housing Day · team project

A campus-themed browser survival game made with Jack Obeng-Marnu, Mai-Linh Ton, and Thomas Lively. Helped integrate maps, animation, audio, intro screens, and game boundaries.

Snap Scripts

2016 · Greylock Hackfest · team project

An iMessage app prototype for composing and sharing small scripts with friends, with examples combining polls and follow-up actions.

High-school recognition

Qualified for FBLA nationals twice in video game programming.

Other hackathon recognition

More early software

Ralphie

2016 · personal project

A Facebook Messenger bot, built by customizing the mi1kb0t framework with Magic Conch-style replies and fortune/cowsay commands.

Cottages Simulator 2015

2015 · high-school English project

A playful Processing.js game made for Never Let Me Go: explore the Cottages setting with keyboard movement, change characters by name, and display a message above the player. The original page also experimented with a Firebase chat feed.

Visual experiments and other adventures

Photoshop composites

2010s

Photo compositing, color effects, and animated edits.

Tall-bike rides

2016

Riding a tall bike around campus.

Press, writing, and links

2015–2026

Coverage of the projects, company announcements, and a little writing.

Articles and announcements