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.
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.
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.
Lime Health AI logo · supplied October 18, 2026 · company identity from getlimeai.com. · Source
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.
Swipehouse — engineering and advising
Late 2023; occasional work in 2024–2025
Returned for engineering work in late 2023, with occasional updates and maintenance in 2024–2025. Also served in an advisor capacity, announced by Faique Moqeet in early 2024.
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.
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.
Course search · live site, captured October 2026 · Source
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.
rrkcal in its original built-in DarkReader mode, enabled by default. Original month view with generated academic events and a September 2022 display date.Original rrkcal list view in DarkReader mode. Generated academic events; private schedules excluded.
Light-mode comparison
rrkcal · original 2022 calendar view, restored with generated academic events and a September 2022 display date.rrkcal · original list view. Generated academic events; private schedules excluded.
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.
Seecode · February 21, 2023 · canvas with layers, a filesystem tree, chat, and a console log panel. Original app screenshot.
Chat and completion panes · February 21, 2023
Seecode · February 21, 2023 · chat on the zoomable canvas with token/cost counters. The mathematical response is generated model output, not a mathematical result.Seecode · February 21, 2023 · input, completion, raw API-response, and settings panes alongside the file tree.
Zoom experiments · February 28, 2023
Seecode / Code Canvas · February 28, 2023 · a long column of text blocks viewed on the canvas.Seecode / Code Canvas · February 28, 2023 · an extreme zoomed-out overview in a wide window.Seecode / Code Canvas · February 28, 2023 · a long, narrow text-block overview in a tall window.
Restored workspace with demonstration content
Seecode restored from its 2023 source. Original code windows, Markdown editor/preview, and browser-tab UI; layout, notes, and tab list prepared for this capture.Original code editor, chat interface, Markdown editor/preview, and tab viewer. Demonstration code, prompt, notes, and tabs; no model calls or agent outputs.
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.
Foldy Notes · August 1, 2023 · editing the app’s own source file with CodeMirror and Save, with a directory listing embedded below the note.
Restored outline with demonstration notes
Foldy’s original Blocks view and Piecewise navigation, restored with generated 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.
Bun Flow · original editable JavaScript, shell, and Markdown nodes. CodeMirror dependency aligned for capture; Run callbacks remain unwired.
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.
openai-funcs · December 26, 2023 · the model lists a directory, locates cat-names.md, and reads it through successive tool calls.openai-funcs · January 2, 2024 · model-generated JavaScript, an explicit run confirmation, and the returned tool result.
Original tool-use experiments · December 2023
openai-funcs · December 26, 2023 · working-directory and module-path tools followed by directory listings.openai-funcs · December 26, 2023 · generated TypeScript for a Wiktionary retrieval tool, a write confirmation, and a successful file-write result.openai-funcs · December 26, 2023 · a model response about a retrieved Wiktionary entry. Generated linguistic explanations are experimental output.openai-funcs · December 26, 2023 · retrieved dictionary material, multilingual wordplay, transliteration, and translation. Original generated output; linguistic accuracy is not established.openai-funcs · December 25, 2023 · early file-reading calls and a model explanation of package.json.
Legacy completion-model comparisons · January 2024
openai-funcs · January 4, 2024 · comparison of legacy completion models and fine-tunes on a wordplay prompt; generated test output.openai-funcs · January 4, 2024 · additional legacy completion-model outputs from the same experiment.
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.
Original Clippy grid with 50 real Wikimedia Commons cat photos, shown as a demonstration dataset. Original LAION endpoints were unavailable; these are not live CLIP-ranked results.Original Clippy query editor, cat-photo grid and hover preview. Public demonstration photos; not a recovered historical search result.
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.
Interlinear capture reader · August 7, 2024 · scanned page, sentence translations, aligned word glosses, and line/word/transliteration toggles.
Capture reader iterations · August 2024
Interlinear · August 8, 2024 · capture history with sentence and word translations.Interlinear · August 9, 2024 · combined sentence translations and aligned word glosses with model-call cost logging.
Buber pipeline and review tools · March 2024
Buber · March 26, 2024 · original page scan beside the stored model transcription.Buber · March 26, 2024 · whitespace-preserving word boxes and non-ASCII character highlighting.Buber · March 26, 2024 · side-by-side review of page text and sentence segmentation.Buber · March 26, 2024 · extracted German word dictionary and English glosses.Buber · March 26, 2024 · page-numbered word glosses alongside sentence-conversion development output.
interlinear.app concepts and early screens · January–February 2024
Interlinear identity concept · February 5, 2024.Interlinear · February 5, 2024 · early source-library screen.Interlinear · February 5, 2024 · Ich und Du scan beside transcribed text.Interlinear · February 7, 2024 · experimental Hebrew transcription output, including visible repetition and OCR failures.Interlinear · January 28, 2024 · German and English sentence pairs from Ich und Du.
Stored metadata pipeline and restored reader
Original stored pipeline output: page scan → transcription → structured metadata. Reopened static comparison; model-generated output.Early interlinear viewer restored with a synthetic text and translation fixture.
August 2024 design studies
Light interlinear design study · August 16, 2024 · concept layouts, not an implemented app screenDark interlinear design study · August 16, 2024 · concept layouts, not an implemented app screen
Early Buber reader
Early Buber reader · original page-numbered, color-aligned word glosses. Synthetic German passage and small demonstration dictionary.
More Buber reader iterations
Early Buber reader: page-numbered sentence layout and footnotes. Original route rendered with a synthetic German passage.Buber gloss v1: aligned word translations and footnotes. Original route with synthetic passage and demonstration dictionary.Buber gloss v2: an alternate gloss and footnote layout. Original route with the same synthetic passage and demonstration dictionary.
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.
Original bilingual cat-article experiment: Hebrew, English translation, transliteration and grammar notes. Reopened with its original bundled article and photo.
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.
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.
gbbl · March 6, 2024 · verse-reference search for Leviticus 24:22, with ranked results in English and Hebrew.gbbl · March 6, 2024 · free-text semantic search with bilingual verse results.
Restored gbbl and Daaven interfaces
gbbl · original bilingual Bible layout, rendered with a six-verse Genesis excerpt from its cached Sefaria data.Daaven · original unfinished prayerbook viewer with cached Sefaria excerpts. Some formatting tags appear literally; native Webview replaced by browser rendering.
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
Before Bubble Notes: using Hangline as a one-person chat for notes and ideas · September 16, 2019.
iPhone · existing App Store submission screenshotRiff · an earlier notes-app experiment
Restored 2022 interface
Bubble Notes · restored 2022 mobile interface using React Native Web, generated notes, and temporary web sizing fixes. Native integrations disabled.Bubble Notes · original message search filtering generated demonstration notes in the 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.
Ich und Du in the booklet maker · July 2, 2025 · original reading-spread view with transcription and scanned text.
Built-in demonstration layouts
Booklet layout using the app’s built-in demonstration pages.Booklet reading-spread view · built-in demonstration pages.
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.
Tab Discarder’s original interface, restored in Boat with generated tab data.Tab Tracker restored in Boat with generated activity logs and a staging-only time-range parser correction.
Hebroot
2026
A small viewer for exploring Hebrew roots.
Hebroot restored with its built-in prayer text.
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.
Tabsave / ChatRichard · February 7, 2023 · original chat answering a question about open tabs, alongside the window/tab table and token/cost counters.
Original Tab AI screenshots · August 2024
Tab AI · August 6, 2024 · original window/tab list with page previews and a question composer.Tab AI · August 6, 2024 · tab list beside serialized XML context.Tab AI · August 6, 2024 · selecting tabs across windows for a question.
Restored Tabsave variants · demonstration data
Grouped export with window counts, Chrome groups, and active/minimized states. Generated demo data.Archived window table with collapsible groups and window-state labels. Generated demo data.Saved-session preview in an editable title/URL pane. Generated demo data.Per-tab HTML length and excerpt preview. Generated demo data.Selected-page HTML preview. Generated demo data.Tab Cleaner converts selected page HTML to Markdown. Generated demo data.Three coordinated tab-table panes in the original DarkReader theme. Generated demo data.Archived sidebar with selected-tab metadata JSON. Generated demo data.Tabsave AI: XML beside content analysis. Generated demo data and reply; no live model call.Chat beside selected tabs, with an explicitly marked fixture reply. Generated demo 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.
Receipt processing · November 15, 2024 · structured extraction and a tabular review of receipt fields.Receipt processing · November 15, 2024 · nearest-image comparisons and similarity scores for reviewing potential duplicates.
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.
Instacart browsing script · July 10, 2024 · out-of-stock products highlighted in the store 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.
Hebrew rendering · March 8, 2024 · comparing niqqud, cantillation, grapheme clusters, individual characters, spacing, and stress markers.
Character and grapheme layout comparisons
Hebrew rendering · March 8, 2024 · character/grapheme colors with padding and margin variations.Hebrew rendering · March 8, 2024 · contrasting character and grapheme segmentation in colored spans.Hebrew rendering · March 8, 2024 · Intl.Segmenter experiments and a side-by-side comparison table.Hebrew rendering · March 7, 2024 · early grapheme and character span experiments.
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.
Family-story recorder · February 27, 2024 · iPhone simulator showing interview follow-ups, transcribed responses, and the recording control.
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.
Sudo Search Mobile · January 9, 2024 · original iPhone simulator search and linked results.
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.
November 18, 2022 concept demo, from the original screen recording. Illustrative model output; not completed OED scraping or validated etymology data.
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.
Piecewise · January 9, 2023 · hierarchical-summary source and logs beside an early spreadsheet UI. The grid shows placeholder values; the generated health-related text was not validated.
Summary hierarchy and generated output · January 9, 2023
Piecewise · January 9, 2023 · six summary levels (28 → 14 → 7 → 4 → 2 → 1) with token/cost logging. Generated output, not validated medical findings.Piecewise · January 9, 2023 · intermediate and final generated summaries in the terminal. Historical experimental output; the factual claims were not validated.
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.
Original Exa interface with 100 real public search results for “interactive programming environments and visual code notebooks.” Response fetched October 15, 2026 and replayed for capture; no key in the capture app.
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.
Bulk Metaphor search · September 24, 2023 · multiple package queries and grouped search results in a table.
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.
Hypernotes · original 2023 note-entry interface, restored with demonstration notes entered for this capture.
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.
Turing Complete · September 16, 2024 · folder explorer and file viewer displaying its own index.html.
Restored explorer with demo files
Original codebase explorer and file viewer with generated in-memory files. Capture wrapper supplies the local syntax-highlighter asset; provider settings disabled.
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.
Code viewer · October 28, 2024 · flattened file list and continuous code view of a starter SwiftUI demo project.
Building code-review-5
code-review-5 · September 25, 2024 · development view of the viewer’s own React explorer and file-list components.
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.
Explored few-shot translation with GPT-3 / davinci in the Playground, trying multilingual outputs, romanization, and even Egyptian hieroglyphs.
GPT-3 / davinci translation experiment · July 21, 2020 · experimental multilingual prompt and output.
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
Original historical benchmark README output at a 3000-pixel viewport, with unwrapped columns and original failure checks. No benchmarks rerun.
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.
Original TCA completion display, restored with synthetic streamed replies. Temporary mount/render fixes; no model calls.
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.
Bun Notebooks · September 16, 2024 · code-cell execution and a serialized Bun runtime result.
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.
GPT CLI · August 2, 2023 · command-line and interactive questions with generated responses and code suggestions.
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
Proj-viz · original unfinished Electron form, reopened in a browser. Folder selection and change-request actions are unwired in this capture.
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.
Original SVG output from the December 2022 molecule-drawing sketches. Reopened artifact; chemical identity was not validated.
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.
Original mobile browser test client, shown disconnected. No live VS Code, phone or macOS control backend was run.
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.
Using the walking desk outdoors, July 2023.The platform and straps, September 2023.Working on a laptop outdoors.
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.
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.
Swipehouse · February 3, 2021 · original simulator screenshotSwipehouse · February 3, 2021 · original simulator screenshotDuet, later Swipehouse · June 7, 2020 · original simulator screenshotDuet, later Swipehouse · June 7, 2020 · original simulator screenshot
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
Summer Playbook · New York map · July 14, 2017Summer Playbook · Europe map · June 23, 2017Summer Playbook · verification page · July 28, 2017
Summer Playbook website · May 7, 2018 · student profiles, travel dates, interests, and map pins.2019 landing page · preserved on Luke’s site · SourceSummer Playbook · Princeton 21 map · August 2020, as supplied by RaphaelMap image from the 2020 site repositoryRaphael and Luke working on Playbook · 2019 · Photo: Kris Snibbe / Harvard Staff Photographer · Source
Early reach and a 2017 year in review
Early Playbook usage map · before 2018; the exact years covered by these pins are uncertain.My 2017 Adventures · personalized year-in-review travel card sent to Playbook users in December 2017.
Unused 2017 signup concept
Unused Summer Playbook signup concept · February 12, 2017 · boarding-pass styling, not the shipped signup flow.
A college messaging app with campus communities, clubs, class groups, direct messages, stories, and controls for throttling notifications.
Hangline · original tablet store artworkHangline · original tablet store artworkHangline · original tablet store artworkHangline · original tablet store artwork
Hangline at Harvard
Hangline · Harvard community chat · from Luke Heine’s archive · Source
More Hangline screens
Hangline campus Buy/Sell group · original screenshotPreserved product website, captured October 2026. · Source
A remote-conference prototype developed during COVID, combining broadcasts with spontaneous conversations.
Conference on Venus · March 27, 2020 · original room with participant positions and a live video call.
Restored interface and preserved website
Conference room and participant map, running from its 2020 web source with generated participants. Camera, video, and backend services disabled for this capture.Preserved product website, captured October 2026. · Source
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.
Playbook / Get Offline · active friends and nearby plays · February 14, 2018.Playbook / Get Offline · nearby plays and joining plans · March 5, 2018.Playbook / Get Offline · nearby plays and people profile · August 21, 2018.
People and group chats · March–June 2018
Playbook / Get Offline · nearby people and profile cards · March 5, 2018.Playbook / Get Offline · people, stories, and profiles · March 5, 2018.Playbook / Get Offline · group chat · June 28, 2018.
An in-app JavaScript REPL · July 2018
JavaScript REPL embedded in the Playbook app · July 10, 2018 · evaluating code and inspecting application state; also used Expo and React Native APIs.
Previously recovered app screens
Playbook mobile app · February 11, 2018 · original simulator screenshotPlaybook · nearby plays and people · from Luke Heine’s archive · SourceHistorical image from the preserved product website. · Source
Get Offline website
Playbook / Get Offline · full preserved website · Source
Code-Star preserved website · captured October 2026 · Source
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.
3D Chat · October 2019 · original App Store artwork3D Chat · October 2019 · original App Store artwork3D Chat · October 2019 · original App Store artwork
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.
OpenMeet interface from the original project files. Branding shown is demo content.
Treehouse
2019–2020 · prototype
A Harvard community web-app prototype for sharing posts, finding study groups, and connecting around campus.
Community feed, running from the original 2019–2020 web source with generated posts.Post and comment interface with generated demo content.
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.
unread.chat · February 19, 2020 · original landing page for checking Messenger without typing indicators or read receipts.
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.
CS50 speller Big Board · October 11, 2018 · raphaelrk is third overall, behind two staff entries.
Stereo depth estimation
Fall 2017 · CS283 final project
Explored estimating scene depth from two images, comparing paired input views with depth/disparity visualizations.
CS283 final project · December 11, 2017 · pairs of input images and 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.
Marker contact and drawing result · from the December 2021 reportTwo marker-barrel versions · December 12, 2021Printed barrels and marker set · December 12, 2021
Bicycle modeling
Spring 2022 · MIT 6.832, Underactuated Robotics
Final-project work on bicycles, including geometric modeling and handwritten derivations.
Bicycle geometry and handwritten derivations · spring 2022 project notes
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.
Flappy Quaffle · oscilloscope, wand, and breadboard circuitry · PNG from the original PSDES52 project demonstration · May 2017 · Photo: Eliza Grinnell / SEAS Communications · Source
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.
ES51 final-project robot · December 8, 2016
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.
Games, generative graphics, and geometry experiments, including Cube Runner, TRON Lightcycles, Word Search Solver, Flappy Bird, Sokoban, fractals, and interactive mathematical graphics.
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.
Chrome extension adding Genius lyrics and annotations alongside YouTube videos. Worked on the extension and combining HTTP requests with content overlays.
Ukulele game prototype combining microphone audio, FFT features, and a cloud-based chord-recognition model.
Ukulele Hero / TreeHacks · original project icon.
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.
Night of the Mumps · gameplay captured from the original 2017 gameNight of the Mumps · title screen and team creditsNight of the Mumps · original promotional poster · March 2017
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.
Snap Scripts · script editorSnap Scripts · message attachmentSnap Scripts · create a script in iMessageSnap Scripts · composing a shared script
High-school recognition
Qualified for FBLA nationals twice in video game programming.
A Facebook Messenger bot, built by customizing the mi1kb0t framework with Magic Conch-style replies and fortune/cowsay commands.
Ralphie Cats sends a friend request · original 2016 photo
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.
Original 2015 Processing.js game, showing character movement and a demonstration message. Firebase chat disabled for capture.
Visual experiments and other adventures
Photoshop composites
2010s
Photo compositing, color effects, and animated edits.
Matrix-style photo compositeColor-layered Playbook compositeComputer Science Guy · animated composite
Tall-bike rides
2016
Riding a tall bike around campus.
Riding a tall bike · 2016Tall-bike ride · 2016Night ride · September 2016
Press, writing, and links
2015–2026
Coverage of the projects, company announcements, and a little writing.