I've done mostly IoT work with Arduinos, ESP32s, and other microcontrollers, along with some other random side projects.
$ ilan --now
▸ lilota ULP coprocessor work — wake-on-Nth-press, deep-sleep loop retention
▸ claude-os read-only operator console for a multi-tool AI stack
▸ next <!-- fill this in when it changes -->Aug — Claude OS · one-page operator console for an AI tool stack
Reads what's already on disk — Claude Code, Codex, OpenRouter, Pinecone, Obsidian — and renders one scrollable dashboard: subscriptions, token spend, skills ROI, a 3D memory graph, and a daily prescription engine that names the four highest-impact things to fix. Read-only by design; it never writes to a source tool's data directory.
New to me here: three.js force graphs, and designing something whose entire value is that it doesn't mutate the data it reads.
React · TypeScript · Vite · three.js
Aug — Ratio · local-first Chrome side panel for Instagram review
Loads followers and following in parallel, verifies the signed-in account matches the one requested, and walks you through non-followers one at a time. Every decision is stored locally against stable Instagram account IDs — no password, no relationship data, no server.
New to me here: Chrome's side panel API, and building a keyboard-first review loop (number keys, undo, deferred queue) that stays fast over hundreds of accounts.
TypeScript · Chrome Extensions
Jul–Aug — Lilota · embedded runtime research @ Stony Brook COMPAS Lab
Lilota — Little Interpreted Language Over The Air — is a Tcl-like interpreter for microcontrollers, so a device stays inspectable and scriptable after it's flashed. Low-level mechanisms in C, device policy in Lil/Tcl scripts.
26 commits, concentrated in the ESP32 ULP coprocessor layer: waking from deep sleep after N debounced button presses, retaining deep-sleep loops across wake, and restructuring the RTC clock into rtctime / tzset subcommands so time survives a power-down. Some work also landed on the RP2040 and ESP8266 ports.
New to me here: writing for a coprocessor that runs while the main CPU is asleep — a context where you get a few hundred bytes and no allocator.
C · ESP-IDF · ESP32 ULP · RP2040
Jul — Vibecraft · native Rust voxel engine (CSIRE side project)
A Minecraft-like engine written from scratch in Rust against a wgpu renderer — procedural terrain, lighting, block interaction, inventory, survival values, native persistence, commands, and audio. Targets Java Edition 1.21.1 gameplay and assets without being protocol- or NBT-compatible.
Built alongside @bobz5460 and @dac63701 during CSIRE.
Rust · wgpu · winit · nalgebra
Rove · flight search & synthetic routing (HUVTSP team project)
A FastAPI service over the Amadeus API doing route optimization with intelligent layover selection, plus a redemption-value calculator comparing flights, hotels, and gift cards. Direct, 1-stop, and 2-stop synthetic route generation.
Python · FastAPI · Amadeus API
MIT · © 2025 Dominik · built by the Rove Development Team