Cyrus Kakkar · catalogue of works · sheet 1 of 1
The Log
Every project is a mark down one shared depth axis of twelve bands, deepest at the left. A band is lit only where that project demonstrably touched that layer, and the reason is printed with it at 1:50. Gaps are drawn as gaps: a systems tool with a terminal UI touches the kernel and the screen and nothing in between, and the hole in the middle is the point.
- 29 entries
- 12 bands
- 97 lit cells, each cited
- 27 distinct marks
- 10 with full case studies
scale
sort
- 01
Silicon
7 entriesgates, boards, instruction sets: work with no operating system under it - 2025/26Enhanced 8-Bit CPU↓ PHYSICALshippedA synthesizable 8-bit Harvard CPU with multi-level caches and a 16×16 systolic array accelerator.5 of 12 layers: PHYSICAL, GATE/RTL, FIRMWARE, ISA/ARCH, COMPILER.
- PHYSICALsynthesisable for FPGA fabric, not a simulator toy
- GATE/RTLa Harvard-architecture core written in Verilog RTL, plus a 16x16 systolic array
- FIRMWAREexample programs run bare metal on the core, with no OS beneath them
- ISA/ARCHseparate instruction and data memory, and an L1/L2/L3 cache hierarchy
- COMPILERa hand-written assembler in the toolchain, with a performance analyser
VerilogFPGAIcarus Verilogalways @(posedge clk)specimen · Verilog - 2023Environmental Monitoring System↓ PHYSICALshippedAn ultra-low-power ARM Cortex-M system in C/C++ with I2C sensors and wireless telemetry.4 of 12 layers: PHYSICAL, FIRMWARE, NETWORK, INTERFACE.
- PHYSICALI2C temperature and humidity sensors reading the actual room, to ~95% accuracy
- FIRMWAREC/C++ on an ARM Cortex-M with aggressive power management for long deployment
- NETWORKwireless telemetry off the board
- INTERFACEan LCD readout on the device itself
C/C++ARM Cortex-MI2Cno public sourcespecimen withheld · course project, 2023: no public repository - 2025/26AI Inference Accelerator↓ GATE/RTLshippedAn int8 MNIST classifier in SystemVerilog that agrees bit for bit with a NumPy model of its own integer pipeline, in 1,701 cycles an image.3 of 12 layers: GATE/RTL, COMPILER, DATA.
- GATE/RTLeight pipelined signed MAC lanes, ReLU and an int32 to int8 requantize-and-saturate stage, in synthesizable SystemVerilog
- COMPILERVerilator compiles the RTL to a C++ model, driven by testbenches over the real MNIST test set
- DATAint8 weights with a calibrated hidden shift, and a NumPy reference that must agree with the RTL bit for bit
SystemVerilogVerilatorC++PythonNumPyPyTorchproduct_r <= in_data * weight;specimen · SystemVerilog - 2026Brother Eye Terminal↓ FIRMWAREshippedOne no_std, heap-free crate renders the entire terminal: it runs in an SDL window today and will run on the RP2040 unmodified.5 of 12 layers: FIRMWARE, NETWORK, RUNTIME, DATA, INTERFACE.
- FIRMWAREthe render core is no_std with no allocator and no clock, running on fixed-capacity heapless buffers with nothing beneath it but embedded_graphics
- NETWORKpolls GitHub’s public events API unauthenticated, and backs off on X-RateLimit-Reset instead of retrying into the wall
- RUNTIMEa polling thread hands results to the render loop over a channel, and a manual refresh wakes it early through a second one
- DATAa 32-event heapless ring, ten event kinds, and today/streak computed over that buffer alone
- INTERFACEa 240x135 phosphor console: seven log rows, an inverted tag block for releases and PRs, and a live command line
Rustno_stdembedded-graphicsheaplessSDL2ureqserdeCargo workspacesno public sourcespecimen withheld · personal project, 2026: no public repository - 2026gotobykkrwhofrags↓ ISA/ARCHpublishedDesugars goto into a safe match-driven state machine at compile time. Zero unsafe. On crates.io.3 of 12 layers: ISA/ARCH, COMPILER, RUNTIME.
- ISA/ARCHLLVM folds the generated loop to the same assembly as hand-written control flow
- COMPILEReight compile-time passes: segment splitting, label indexing, hoisting, codegen
- RUNTIMEthe desugared program is a dispatch-table state machine running inside a generated loop
RustProc MacrossynquoteLLVM#[goto(strict)]specimen · Rust - 2026crement↓ ISA/ARCHpublishedn++, ++n, n--, --n with zero unsafe and zero runtime overhead beyond a single += / -=.2 of 12 layers: ISA/ARCH, COMPILER.
- ISA/ARCHthe postfix clone is erased to a register move for any Copy type
- COMPILERdeclarative macros, Span::mixed_site hygiene, and ++ told apart by Joint token spacing
RustDeclarative MacrosToken StreamsCargocrement!(n++)specimen · Rust - 2022CPU Simulator↓ ISA/ARCHshippedA C++ CPU simulator with a 3-stage pipeline, hazard detection, and data forwarding.1 of 12 layers: ISA/ARCH.
- ISA/ARCHa custom ISA with a 3-stage pipeline, hazard detection, branch prediction and data forwarding
C++Assemblyif (EX.rd == ID.rs) forward();specimen · C++ - 02
Systems
10 entrieskernels, processes and the wire - 2026Ultron↓ KERNEL/OSshippedDual-stream audio, 6 STT providers, multi-LLM routing, and local RAG over your meeting history.6 of 12 layers: KERNEL/OS, NETWORK, RUNTIME, DATA, SERVICE, INTERFACE.
- KERNEL/OSa macOS window-layer trick makes it invisible to screen capture; system loopback audio; keys in OS safeStorage
- NETWORKa phone-mirror that streams transcript and answers to any device on the local Wi-Fi
- RUNTIMEreal-time audio on dedicated threads bridged to an async runtime, streaming over IPC
- DATAthe live transcript is indexed into sqlite-vec for semantic search over past sessions
- SERVICEsix STT providers and multi-LLM routing behind a fallback chain and circuit breakers
- INTERFACEa hotkey-summoned overlay and a ~3k-line settings hub
ElectronReact 19TypeScriptNode.jsViteSQLitesqlite-vecDeepgramONNX WhispersafeStorage.encryptString(key)specimen · TypeScript - 2026Trav↓ KERNEL/OSshippedOne async engine core drives a terminal dashboard and a Tauri desktop app from a single shared snapshot.5 of 12 layers: KERNEL/OS, NETWORK, RUNTIME, DATA, INTERFACE.
- KERNEL/OSjailed download paths, path sanitisation, and an LRU FilePool to cap open file handles
- NETWORKpeer wire protocol framing, HTTP and UDP trackers, magnet parsing, DHT/KRPC
- RUNTIMEan async engine loop on Tokio with command/event channels and spawn_blocking SHA-1
- DATAbencode parsing, info-hash generation, and a rarest-first piece manager
- INTERFACEa ratatui dashboard with sparklines and a Tauri desktop app with a system tray
RustTokioRatatuiTauriNext.jsTypeScriptcrosstermArc<RwLock<EngineSnapshot>>specimen · Rust - 2026Brainiac↓ KERNEL/OSshippedA real-time voice↔AI loop in Rust: mic → Deepgram STT → DeepSeek → Aura TTS, in a ratatui TUI.4 of 12 layers: KERNEL/OS, NETWORK, RUNTIME, INTERFACE.
- KERNEL/OScpal captures PCM on a dedicated thread, because the CoreAudio stream is !Send
- NETWORKDeepgram streams transcripts back over a WebSocket
- RUNTIMEthe audio channel doubles as a lifecycle signal, so shutdown is clean without cancellation tokens
- INTERFACEa live waveform TUI in ratatui, plus a minimal SSH-friendly mode
RustTokiocpalrodioRatatuiDeepgramDeepSeekcpal::Stream: !Sendspecimen · Rust - 2025Spectre-Grid↓ KERNEL/OSshippedLive packet capture with geo-mapping and Shannon-entropy analysis to spot encrypted vs plaintext traffic.4 of 12 layers: KERNEL/OS, NETWORK, DATA, INTERFACE.
- KERNEL/OSraw TCP/UDP packet capture off the interface
- NETWORKdestinations mapped by GeoIP, entropy used to tell encrypted traffic from plaintext
- DATAa GeoIP database queried per packet, and Shannon entropy computed per flow
- INTERFACEa matrix-style feed over a Mercator world map, with country flags and risk indicators
RustRatatuiGeoIPNetworkingshannon_entropy(&payload)specimen · Rust - 2025GhostVault↓ KERNEL/OSshippedA privacy-first RAG system that runs entirely offline with automatic document ingestion and source attribution.4 of 12 layers: KERNEL/OS, RUNTIME, DATA, INTERFACE.
- KERNEL/OSa filesystem watcher auto-ingests the data folder the moment it changes
- RUNTIMEOllama runs Llama3 on the machine itself: no cloud API is ever called
- DATAChromaDB vectors with exact page-level source attribution
- INTERFACEa Chainlit chat with three answering personalities
PythonLlamaIndexChainlitOllamaChromaDBOllama(model="llama3")specimen · Python - 2026Tojizenin↓ KERNEL/OSshippedAn offline-first workout logger on WatermelonDB’s C++ SQLite bindings. No cloud, no subscriptions, zero-latency queries.3 of 12 layers: KERNEL/OS, DATA, INTERFACE.
- KERNEL/OSWatermelonDB's Objective-C/C++ SQLite bindings, compiled in Xcode and sideloaded past Expo Go
- DATAset-level rows on device, with 1RM and volume charted per exercise over time
- INTERFACEa custom routine builder over an auto-seeded Push/Pull/Legs preset, imperial or metric
React NativeExpo RouterTypeScriptWatermelonDBNativeWindReanimatedvictory-nativeQ.where('exercise_id', id)specimen · TypeScript - 2023CI/CD Pipeline↓ KERNEL/OSshippedA full Jenkins/Docker CI/CD pipeline with multi-stage deploys and approval gates.2 of 12 layers: KERNEL/OS, SERVICE.
- KERNEL/OSDocker containers isolate the build environment across dev, test and prod
- SERVICEcommit-triggered build and test automation, multi-stage deploys, approval gates, scanning
JenkinsDockerGitno public sourcespecimen withheld · personal project, 2023: no public repository - 2025TBM↓ KERNEL/OSshippedReal-time CPU/memory/process monitoring for Linux & macOS with Levenshtein fuzzy search.2 of 12 layers: KERNEL/OS, INTERFACE.
- KERNEL/OSplatform-native process APIs: /proc on Linux, sysctl and Mach on macOS
- INTERFACEa sortable live process table in ftxui with Levenshtein fuzzy search
C++17FTXUICMakeGoogle Testsysctl(KERN_PROC_ALL)specimen · C++17 - 2026Shibuya Incident↓ NETWORKshippedReal-time 3D city mapping with a Rust WebSocket backend handling 10k+ concurrent connections.6 of 12 layers: NETWORK, GPU, RUNTIME, DATA, SERVICE, INTERFACE.
- NETWORKa Rust/Tokio WebSocket backend holding 10k+ concurrent connections
- GPUcustom GLSL layers over WebGL through deck.gl
- RUNTIMETokio, at 10 to 100 times lower latency than the Python equivalent
- DATAhexagon binning of live points, and per-building attributes
- SERVICEthe backend streams live city data out to every connected client
- INTERFACEa 3D map of Shibuya you can fly through
Next.js 15TypeScriptDeck.glMapboxRustTokiotokio::spawn(handle_socket(ws))specimen · Rust - 2022SDN Traffic Management↓ NETWORKshippedA centralized SDN controller doing dynamic, QoS-aware traffic routing over OpenFlow.3 of 12 layers: NETWORK, DATA, SERVICE.
- NETWORKan OpenFlow controller rewriting routing tables for QoS and congestion, tested in Mininet
- DATAper-switch flow-table state, updated from live traffic measurement
- SERVICEa centralised controller process the switches connect in to
PythonSDNOpenFlowMininetno public sourcespecimen withheld · course project, 2022: no public repository - 03
Graphics
4 entrieswork dispatched to the card - 2026Strata↓ GPUshipped25M+ points at 60fps in the browser via WebGPU, with a Rust/WASM LAS parser 20× faster than JS.4 of 12 layers: GPU, RUNTIME, DATA, INTERFACE.
- GPUWebGPU compute shaders in WGSL cull and draw 25M+ points at 60fps
- RUNTIMEthe LAS/LAZ parser is Rust compiled to WASM, streaming inside the browser VM
- DATAa custom binary .LAS/.LAZ parser over an octree index with virtual chunking into VRAM
- INTERFACEa floating-panel Svelte UI with live distance, area and volume measurement
SvelteKitTypeScriptWebGPUWGSLRustWebAssemblywasm-packgl-matrix@compute @workgroup_size(64)specimen · WGSL - 2026hugostrange↓ GPUshippedRecovers a real, editable scene graph from 2D drawings, path-traces it with Cycles, and exposes every parameter to Claude over MCP.4 of 12 layers: GPU, DATA, SERVICE, INTERFACE.
- GPUheadless Blender/Cycles path tracing, dispatched to GPU render workers
- DATAa strict typed scene graph in pydantic v2, millimetres everywhere, with an edit_log
- SERVICEan MCP edit server and a race-safe Supabase render-job queue
- INTERFACEthe edit surface is a conversation: Claude asks rather than inventing a number
Pythonpydantic v2Blender / CyclesMCPCSG geometryPaddleOCRpypdfium2Supabasethickness_mm: floatspecimen · Python - 2025/26Sukuna↓ GPUshippedA 3D audio-reactive web app with Spotify integration and manga-style post-processing.3 of 12 layers: GPU, SERVICE, INTERFACE.
- GPUa manga post-processing stack: halftone, chromatic aberration, impact frames
- SERVICESpotify OAuth and the playback API driving the scene in real time
- INTERFACEeight character themes over a React-Three-Fiber visualiser, synced to the beat
Next.js 15React Three FiberThree.jsSpotify APIZustanduseFrame((state, delta) =>specimen · TSX - 2025Black Hole Simulation↓ GPUshippedGPU ray tracing of gravitational lensing, accretion disk physics, and spacetime curvature in OpenGL/GLSL.2 of 12 layers: GPU, INTERFACE.
- GPUGLSL compute shaders carry the geodesic maths, ray-tracing light bent around the hole
- INTERFACEa real-time viewer with an accretion disk and grid-deformation spacetime
C++17OpenGLGLSLCMakers = 2.0 * G * M / (c * c);specimen · GLSL - 04
Product
8 entriesruntimes, stores and the surface a person actually uses - 2026Fatty↓ RUNTIMEliveOne strength tracker on the web, a native iPhone app and an Apple Watch: every set lands in one atomic grain, the analytics are computed in Postgres, and an AI judge ranks you on a ladder of Kengan’s deadliest fighters.4 of 12 layers: RUNTIME, DATA, SERVICE, INTERFACE.
- RUNTIMEa service worker and an IndexedDB queue log offline, and a Capacitor shell carries the same site into a native iPhone app
- DATAone atomic set-level grain, nothing derived stored; 1RM and tonnage from security-invoker views and RPCs, isolation proven by pgTAP
- SERVICEZod-validated Server Actions, Google and Apple sign-in, APNs and web push, a token-scoped watch API, a DeepSeek judge
- INTERFACEa mid-workout logger, Live Activities and widgets on the iPhone, and a SwiftUI Apple Watch app
Next.js 16React 19TypeScript 6SupabasePostgres + RLSCapacitor 8SwiftUITailwind v4DeepSeekpgTAPusing (auth.uid() = user_id)specimen · SQL - 2026Aaspaas↓ RUNTIMEshippedA marketplace dressed as a wheat-pasted street poster wall: five screen-print inks, halftone dots, and Hindi set as large as the English.3 of 12 layers: RUNTIME, DATA, INTERFACE.
- RUNTIMEevery page is a React Server Component, so only the moving parts ship JavaScript at all
- DATAproximity-first ranking through a typed content layer, shaped for one PostGIS query at 240,000 rows
- INTERFACE48 static pages and nine hand-built interactive pieces, all of which stop under reduced motion
Next.js 16React 19TypeScriptTailwind v4MotionVerceltypedRoutes: truespecimen · TypeScript - 2023Task Manager API↓ RUNTIMEshippedA Rails REST API with JWT auth, Redis caching (60% less DB load), and Sidekiq background jobs.3 of 12 layers: RUNTIME, DATA, SERVICE.
- RUNTIMESidekiq worker processes run email and reports off the request thread
- DATAPostgreSQL behind a Redis cache that cut database load by around 60%
- SERVICEa REST API with JWT auth and role-based access, under an RSpec suite
Ruby on RailsRedisSidekiqPostgreSQLno public sourcespecimen withheld · personal project, 2023: no public repository - 2025/26LogicLamp↓ RUNTIMEshippedA client brand site in Next.js 15: physics-driven adaptive cursor, lazy-loaded heavy sections, and a disciplined red-on-minimal design system.2 of 12 layers: RUNTIME, INTERFACE.
- RUNTIMEthe map and the contact form are code-split out and loaded only on demand
- INTERFACEan adaptive cursor, white on dark and dark on light, with spring trailing and a scroll bounce
Next.js 15ReactTypeScriptTailwind CSSFramer Motionmix-blend-mode: differencespecimen · CSS - 2026Deploy Security↓ DATAliveA static Next.js 16 site for a Metro Vancouver security firm, with a server-only contact relay, Zod on the server, and end-to-end tests on desktop and mobile.3 of 12 layers: DATA, SERVICE, INTERFACE.
- DATAone site file drives every service page, the nav, the footer, the JSON-LD and the sitemap
- SERVICEa React Server Action validates with Zod and relays to FormSubmit from the server, so the recipient never reaches the browser
- INTERFACEstatic pages from one service template, with section reveals as CSS scroll-driven animations
Next.js 16React 19TypeScript 6Tailwind CSS 4Zod 4MotionVitestPlaywrightno public sourcespecimen withheld · client work, 2026: private repository - 2026Layered Living↓ DATAliveA live storefront doing real revenue: browse → Razorpay → GST invoice → email.3 of 12 layers: DATA, SERVICE, INTERFACE.
- DATAan idempotent Postgres RPC for exactly-once orders, RLS on every user table, money as integer paise
- SERVICERazorpay verified server-side with constant-time HMAC-SHA256, a webhook safety-net, Resend mail
- INTERFACEan editorial storefront with an optimistic Zustand cart over a Supabase source of truth
Next.js 16React 19TypeScriptSanitySupabaseRazorpayResendTailwind v4amount_paise: numberspecimen · TypeScript - 2026Love Sick↓ DATAshippedA two-person app with realtime presence, RLS-locked data, and a dual-model AI "relationship prescription".3 of 12 layers: DATA, SERVICE, INTERFACE.
- DATARLS locks every table so a partner sees only what is shared, with compatibility overlap derived
- SERVICESupabase Realtime presence, plus a DeepSeek analyst and a GPT-4o coach writing the insight
- INTERFACEa two-person dashboard of overlap, deep-cut question exchanges and a streak
Next.js 16TypeScriptSupabaseFramer MotionOpenAIchannel.on('presence', ...)specimen · TypeScript - 2020Chirper↓ DATAshippedA social platform in C++ with custom data structures and MongoDB persistence.1 of 12 layers: DATA.
- DATAa hand-rolled doubly-linked list for post storage, persisted to MongoDB
C++MongoDBOOPPost* next; Post* prev;specimen · C++
29 entries · 27 distinct marks · hover a row, or click a band to dim the rest
- PHYSICALsilicon, sensors, the world itself
- GATE/RTLregisters, nets, synthesisable logic
- FIRMWAREcode with no operating system under it
- ISA/ARCHinstruction sets, pipelines, caches
- COMPILERbuild-time program transformation
- KERNEL/OSsyscalls, processes, devices, isolation
- NETWORKthe wire: packets, sockets, protocols
- GPUshaders and work dispatched to the card
- RUNTIMEthe execution substrate: threads, VMs, async
- DATAschemas, indexes, stores, wire formats
- SERVICEthe server side: APIs, auth, jobs, queues
- INTERFACEthe surface a person actually looks at