Software
Things I build.
Programs across genetic engineering, open-source tooling, and games.
Science
Molecular Biology IDE
A workspace for designing DNA cloning strategies before they are carried out at the bench. Sequences are arranged and assembled through the standard methods, PCR, restriction digestion, ligation, Gibson, Golden Gate, and recombination, with each construct visualized as it takes shape. The same operations can be clicked on the canvas, written in Python against a small set of cloning verbs, or asked for in plain language, where an agent carries them out. It can only build by writing that Python and letting the engine compute the bases, so it cannot invent a sequence, and every step it takes lands on the canvas to inspect. A deterministic solver works backward from a target plasmid, determining how to build it from sequences already on hand and verifying that the route reproduces the target exactly before any bench work begins.
React · React Flow · Canvas 2D · FastAPI · Postgres · pydna
Molecular Biology Lab OS
An application for biologists to plan their experiments and manage the materials and data behind them. It combines a laboratory notebook with registries for plasmids and physical stocks, keeping results and reagents together in a single system. Notebook pages accommodate text, code, plates, and data, and collaborators may work within the same page at once. An agent works among them as one more collaborator, with its own cursor, running Python against the laboratory's own data and pausing for approval before each change, and anything it writes can be taken back. Scheduling, task assignments, and chat round out a single place for a group to coordinate its work.
React · FastAPI · Postgres · Yjs
Tools
A feature-rich data grid for building interactive tables in Python. It makes Glide Data Grid, a grid library written in TypeScript and React, available within Plotly Dash, bringing spreadsheet-style editing, rich cell types, sorting, and filtering to applications written in Python. It remains responsive across a million rows and is open source and freely available.
Python · Dash · React · TypeScript
Games
LuckCraft
A slot-machine game inspired by Luck Be a Landlord, built around accumulating fortune over time. Each spin earns coins, symbols are collected and combined for larger payouts, and a shop between rounds allows the deck to be refined. Progress and collected symbols persist from one session to the next.
Dash · Flask · SQLAlchemy