Skip to main content

Work

Hardware, software and ML, built to work together.

Shipped hardware and developer tools, with the details and source to explore each one.

Main work

Spark Analyzer PCB featuring ESP32-C3 microcontroller, USB-C PD controller, OLED display, and power measurement circuitry with WiFi antenna

Spark Analyzer

£40

Open hardware

Open-source USB-C PD analyzer and programmable supply

Build details for Spark Analyzer

Open-source USB-C PD analyzer and programmable power supply built on the ESP32-C3. Set any voltage from 3.3V to 21V with 20mV precision, monitor current draw in real-time via WiFi or BLE, and log power consumption over time. Full transparency — inspect the schematic, modify the firmware, or manufacture your own.

Set the exact voltage, watch the live current draw, and log it, instead of poking at a charger and hoping.

  • See exactly what your USB-C charger and device are negotiating
  • Set any voltage from 3.3V to 21V with 20mV precision
  • Monitor current and power draw in real-time via WiFi or BLE
  • Open-source firmware—customize everything
GitHub (opens in new tab)
Tracer wearable sensor board with LSM6DSLTR 6-axis IMU, coin cell battery holder, compact circular PCB design with mounting holes

Tracer

£40

Open hardware

Ultra-low-power motion tracker designed for wearables

Build details for Tracer

Ultra-low power IMU tracker that runs 30+ days on a CR2450 coin cell. Combines a 6-axis IMU with deep sleep between motion events and adaptive reporting. Compact enough to embed in any wearable — step counters, gesture controllers, sports trackers. Open-source design, TinyML-ready firmware.

A month of motion tracking from a coin cell, small enough to actually build into a wearable.

  • 30+ days battery life from a CR2450 coin cell
  • 6-axis IMU with motion-triggered wake-up
  • Compact enough to embed in any wearable
  • Ready for TinyML deployment

From error to repair notes

  1. Production error
  2. Group with source context
  3. Open a GitHub issue
  4. Issue ready to work on

Patchly

Developer tool

Turn production errors into GitHub issues developers can act on, with source context and repair notes attached.

Build details for Patchly

Error tracking that reads your code. Patchly groups production errors, pulls the source from GitHub, and proposes a fix you can review.

Also built

Open a row for the build details and links.

TrinktA quieter social app for sending small acts of care.SoftwareDetails

A social app for sending procedurally-generated art to friends. No followers, no likes — just a way to say "thinking of you." You get 3 unique trinkts each day in three rarities (common, rare, legendary). Pick one, add a short note, send it to someone you care about. Streaks, themed seasonal packs, and tiered friend circles keep it intimate. Built with Next.js, Supabase, and Web Push.

No feed, no follower count, no likes. Three sends a day, so it stays personal.

dotA menu bar Tamagotchi built with a Rust desktop stack.SoftwareDetails

A Tamagotchi that lives in your menu bar. Feed it, play with it, keep it alive. Evolves through four stages — Egg → Baby → Child → Adult — with four stats to manage: hunger, happiness, energy, and health. 10 achievements to unlock. Built with Tauri v2 (Rust backend, HTML5 Canvas frontend), persistent state saved locally.

Built it to learn Tauri v2 properly: a full state machine and save system squeezed into a menu-bar icon.

mac: brew install --cask dot

windows: winget install dot

linux: curl -fsSL https://github.com/tooyipjee/dot/releases/latest/download/dot-linux.AppImage -o dot && chmod +x dot

afkodeA frameless terminal overlay for staying in flow.SoftwareDetails

Frameless terminal overlay triggered by a global hotkey (Cmd+`). A single keypress drops a full-screen terminal pane over whatever you're working on — no dock icon, no window chrome. Supports multiple tabs, custom shell configuration (zsh, bash, PowerShell, WSL, fish), and ships with Dracula and Nord themes. Built with Electron, xterm.js, and node-pty.

One hotkey and the terminal is there, so you stop alt-tabbing to a separate window just to run a command.

mac: curl -fsSL https://raw.githubusercontent.com/tooyipjee/afkode/main/install.sh | sh

windows: winget install afkode

linux: curl -fsSL https://raw.githubusercontent.com/tooyipjee/afkode/main/install.sh | sh

ollamacodeAn offline coding agent that works on your files and commands.AIDetails

AI coding CLI powered by Ollama. No API keys, no cloud. Unlike tools that just generate code blocks, ollamacode calls tools directly — creating files, running commands, and managing git on your behalf. Supports multi-file context, session save/resume, and 14+ language syntax highlighting. Works with any Ollama model that supports tool calling.

Runs entirely on your machine through Ollama: no API key, no code leaving your laptop.

codekeepA terminal deckbuilder that turns your commit history into gameplay.SoftwareDetails

Terminal roguelike deckbuilder with tactical grid combat. 70+ cards across 4 categories, 3 multi-phase bosses, 20 relics, and 15 ascension levels. Cards can be played instantly or emplaced as persistent structures on a 5-column grid — turrets deal damage each turn, barricades block, beacons heal. The hook: it reads your local git commit history and grants bonus HP based on how active a developer you've been. Built with Ink/React.

Your real commit streak from the last 90 days becomes starting HP — the more you shipped, the longer you survive.

mac: curl -fsSL https://raw.githubusercontent.com/tooyipjee/codekeep/main/install.sh | sh

windows: npx codekeep

linux: curl -fsSL https://raw.githubusercontent.com/tooyipjee/codekeep/main/install.sh | sh

FLORASolar LoRa garden monitor. Coming soon.HardwareDetails

Solar-powered ESP32 garden weather station with LoRa for up to 1-mile range. Built in response to Europe's 2022 drought. SHT20 temperature/humidity sensor, multiple capacitive soil moisture ports, and four radio options (LoRa, ESP-NOW, WiFi, Bluetooth). Integrates with ThingSpeak for visualization. Designed for remote gardens, allotments, and small farms.

LoRa reaches up to a mile, so it works on allotments and remote plots with no WiFi nearby.

DS-PiRP2040 audio DSP board for effects and signal experiments.HardwareDetails

Open-source RP2040 audio DSP platform paired with the TLV320AIC3254 codec from TI. On-board headphone amp, 3.5mm I/O, screw terminals for prototyping, and a programmable miniDSP. Compatible with Arduino, MicroPython, and CircuitPython. Built for guitar effects, amp modeling, and general audio signal processing.

Program the DSP in Arduino, MicroPython, or CircuitPython: no proprietary toolchain to learn.

Plant-BotSolar-powered plant monitoring and automated watering.HardwareDetails

Solar-powered plant care that runs forever. Capacitive soil moisture sensing (no corrosion), WiFi alerts when moisture drops, and a built-in 5V pump driver for automated watering. Temperature and humidity monitoring gives you the full picture. Open-source hardware, works out of the box.

Solar means no wires and no battery swaps. Set it next to a plant and leave it.

  • No batteries to change—runs forever on solar
  • Corrosion-resistant capacitive sensor outlasts cheap probes
  • WiFi alerts when your plants need attention
  • Built-in pump driver for fully automated watering