Selected builds / Open notebooks / Working systems

Projects

From the transistor to the terminal. Computers, circuits, and tools I wanted to exist—so I started building them.

Hardware

Half-soldered ALU board · assembly in progress

Tomato — Discrete 32-bit Polymorphic Dual-LUT3 CPUGitHub Favorite project

Custom 32-bit architecture with a working FPGA computer, assembler, and TomatoOS over HDMI. Discrete ALU board fabricated; the complete discrete machine is in progress.

SystemVerilog · UVM · SymbiYosys · KiCad

Pineapple demo on Nexys A7-100T · HDMI capture
Pineapple demo on Nexys A7-100T · HDMI capture

Pineapple GPU P1GitHub

Standalone programmable 3D GPU — vertex/fragment shaders, rasterizer, depth, texture, double-buffered 320×180; pineapple and cube both rendered on silicon via FOSS Yosys/nextpnr flow.

Verilog · Yosys/nextpnr · Artix-7 · DVI

Hybrid CMOS ALU · interactive board model

8-bit Discrete Transistor ALU

Hybrid CMOS ALU design: 624 discrete MOSFETs plus 2,864 transistors inside 74HC logic. Schematics, PCB layout, and 1.24M automated simulation vectors.

Discrete Transistors · KiCad · Python · Formal Verification

Out-of-order RISC-V core · 2-wide superscalar pipeline
Out-of-order RISC-V core · 2-wide superscalar pipeline

Out-of-Order RISC-V CPU (RV64IMAC)GitHub

RV64IMAC; 2-wide fetch/decode/issue/commit with gshare + BTB + RAS, AXI4-Lite memory, Verilator + cocotb + riscv-tests with Yosys/OpenLane2 feasibility.

SystemVerilog · RISC-V · AXI4-Lite · Verilator · cocotb

MAC core · physical layout preview
MAC core · physical layout preview

16-bit MAC Unit (Sky130)GitHub

BFloat16 MAC with FP32 accumulator and 4-cycle streaming I/O; cocotb-verified RTL with a local LibreLane flow targeting SkyWater 130 nm. Shuttle submission is a later milestone.

SystemVerilog · LibreLane · Sky130 · cocotb

Nexys A7 running the UDP stack · README bench recording

100 Mbps UDP/IP Stack

Deterministic 100 Mbps RMII pipeline — MAC, ARP/IP/UDP on Nexys A7 Artix-7; sub-200 ns RX-to-TX loopback with 100% cocotb coverage.

SystemVerilog · RMII · cocotb · AXI4-Stream

16 × 4 organization · architecture figure from the report
16 × 4 organization · architecture figure from the report

16×4 SRAM — Full-Custom Analog Design

Full-custom 6T SRAM macro in 22 nm HP with clocked StrongARM sense amp; 4.571 GHz f_max with NGSpice functional readback.

Electric VLSI · NGSpice · Python

ITCH parser on Nexys A7 · bench photo
ITCH parser on Nexys A7 · bench photo

NASDAQ ITCH 5.0 Hardware Parser

Streaming 8-bit FSM decodes ITCH 5.0 with cocotb golden-model verification; dual-sided 512-entry BRAM limit book on Artix-7 at 100 MHz.

SystemVerilog · Vivado · cocotb · Verilator

8-bit adder schematic · design study
8-bit adder schematic · design study

8-Bit Ripple-Carry Adder — ESE 3700

ESE 3700 full-adder study — baseline vs. delay-optimized 8-bit RCA in 22 nm HP with TG-XOR2, alternating carry polarity, and six-metric SPICE characterization (~55% delay reduction).

Electric VLSI · NGSpice · LaTeX

SPICE Automation Framework · parametric sweep report
SPICE Automation Framework · parametric sweep report

SPICE Automation Framework

Python pipeline driving NGSpice runs with binary-search F_max convergence; automated parametric sweeps and comparative statistical reports.

Python · NGSpice · C++

Software & Systems

SeaLion engine · search demo
SeaLion engine · search demo

SeaLionGitHub

Distributed full-text search built in Rust — BM25 ranking, exact Block-Max WAND, typo correction, crawling, and shards with failover; 155 documented passing tests.

Rust · Search · BM25 · CLI

Live FPGA capture beside code · Open VSX

FramePortFramePort Open VSX versionFramePort Open VSX downloadsGitHub

VS Code extension opening HDMI and USB capture in an editor tab — live FPGA output beside code, PNG screenshots, and silent MP4 recording.

TypeScript · VS Code API · FFmpeg · H.264

Lobster language + compiler · repo screenshot
Lobster language + compiler · repo screenshot

LobsterGitHub

Systems language and compiler built in Rust — Pratt parsing, type checking, verified SSA, optimization passes, and differential testing with a reference interpreter.

Rust · Compilers · Tomato32 · CLI

From the website into browser chat · an exchange with Tomato
From the website into browser chat · an exchange with Tomato

EnvelopGitHub

Browser-to-FPGA remote-compute link for Tomato over verified native BLE bridges, with explicitly labeled Virtual Tomato execution when physical hardware is unavailable.

JavaScript · Kotlin · Swift · BLE

FigDB transactional database · repo screenshot
FigDB transactional database · repo screenshot

FigDBGitHub

Transactional database built from first principles in Rust — ordered key-value storage, a checksummed WAL, WAL-backed memtables, immutable SSTables, LSM flush/merge, manifests, compaction, crash recovery, and correctness testing. Growing toward MVCC and distributed transactions.

Rust · LSM · WAL · Tokio

The terminal interface · Mango
The terminal interface · Mango

Mango Tools

Offline video, PDF, and image conversion behind a `mango` terminal menu — now a system-wide call from any working directory, not locked to the repo path.

Bash · Python · FFmpeg · Ghostscript

Orange Metrics API · PPA ingestion dashboard
Orange Metrics API · PPA ingestion dashboard

Orange Metrics API

FastAPI + PostgreSQL service ingesting Vivado and OpenLane synthesis PPA metrics; Dockerized with Pytest-covered ingestion pipeline.

Python · FastAPI · PostgreSQL · Docker

Adjusting image rank · browser-based SVD compression

SVD Compression Engine

Client-side image compression using truncated SVD: upload an image and adjust its rank to compare detail, reconstruction error, and file size. Web Workers and caching keep decomposition off the main thread.

TypeScript · React · Web Workers · Linear Algebra

Earlier software

  • Music & YouFull-stack app predicting Big Five personality traits from Spotify listening patterns — SHAP explainability, conversational insights, and a Next.js dashboard.
  • YT2SpotFull-stack migration tool with fuzzy matching (~74% auto-match), OAuth Spotify auth, live progress UI, and CLI batch processing for large playlists.
  • MoMo Credit ScoreXGBoost credit scoring for mobile money users with SHAP explainability dashboard and sub-400 ms P99 latency.
  • UniBridge GhanaCentralized university admissions platform with FastAPI microservices; sub-200 ms P99 under heavy read load during result releases.
  • QueuePasteNative macOS utility — load a list once, then paste each item into any app with ⌥ Space; roughly 6× faster on thousand-entry data-entry runs.

Open source

Build log