Skip to content

a working record

Mukund G · Founding Engineer / Full-Stack Engineer · Bengaluru, India

Things I built because I had to know.

A direct, media-first record of the systems, games, tools, and experiments I’m building — with proof next to the work and unfinished parts left visible.

883

authored commits

325,857

curated source lines

112

active build days, 365d

7

curated repositories

Currently building: Art & Audio — a recording becomes a living artwork, in your browser.

featured evidence

Flyweight v11 live fight, health bars and connectome-activity panel visible

Flyweight

research

a fighting-game controller wired like a real fruit fly brain

A deterministic browser fighting game where the opposing controller isn't hand-tuned — its wiring comes from the FlyWire fruit fly connectome, trained with the Cross-Entropy Method instead of hand-authored rules.

early — one full training run complete, results still being interrogated, no public deployment

1,536 neuronsas of 2026-10-08170,489 edgesas of 2026-10-08100% held-out win rateas of 2026-10-08

The 100% figure is a historical 9-episode evaluation. Later exploratory validation found 72/120 standard wins and one fixed action sequence; blinding inputs changed nothing. These are separate suites, not evidence of generalization.

Python · NumPy · SciPy · FastAPI · +5 more

Project, implementation and evidence

Flagship projects

verified work, real media, visible caveats

Originull workspace: the conversation with a reference photo of a polar bear, the generated low-poly bear on the workbench, and the render parameters

Originull

archived

an AI-powered 3D workspace, not a diffusion toy

A browser workspace that turns product images, prompts, and existing 3D assets into customizable, optimized, web-ready 3D — but the generation step is an LLM writing parametric geometry code, checked by an automated critic before it's ever shown as final, not a diffusion model guessing a mesh.

archived; the source is private and there is no public site to visit

708 / 716 commits shipped, by Mukundas of 2026-09-14

React · TypeScript · Three.js · Supabase · +4 more

Project, implementation and evidence
Flyweight v11 live fight, health bars and connectome-activity panel visible

Flyweight

research

a fighting-game controller wired like a real fruit fly brain

A deterministic browser fighting game where the opposing controller isn't hand-tuned — its wiring comes from the FlyWire fruit fly connectome, trained with the Cross-Entropy Method instead of hand-authored rules.

early — one full training run complete, results still being interrogated, no public deployment

1,536 neuronsas of 2026-10-08170,489 edgesas of 2026-10-08100% held-out win rateas of 2026-10-08

The 100% figure is a historical 9-episode evaluation. Later exploratory validation found 72/120 standard wins and one fixed action sequence; blinding inputs changed nothing. These are separate suites, not evidence of generalization.

Python · NumPy · SciPy · FastAPI · +5 more

Project, implementation and evidence
Read the Flyweight case study

What it does

A FastAPI + WebSocket brain service runs the connectome-derived recurrent controller against a from-scratch, replay-verified fight simulation shared by the renderer, a headless trainer, and replay playback — so any match can be bit-for-bit re-simulated from its seed and action log. The frontend never fabricates a 'brain activity' display: an offline or rule-based fallback says so explicitly and shows zero active neurons. A first full CEM training run (20 generations, population 12, all three difficulties) took a controller from 0% to a 100% held-out win rate against baseline opponents in the project's own evaluation suite — reported alongside an open, unresolved question about whether that policy actually generalizes or just converged to seed-insensitive behavior, rather than presented as a finished result.

Engineering question

The FlyWire FAFB connectome (v783) maps roughly 138,000 real neurons and about 15 million synaptic connections in a fruit fly brain — not a game controller. Flyweight reduces that into a deterministic 1,536-neuron, 170,489-edge subgraph, attaches artificial sensory input and motor output adapters around it, and trains the result with the Cross-Entropy Method (a gradient-free evolutionary optimizer) rather than backprop, since the network's structure is fixed by biology, not designed for learning.

Sole builder — data pipeline, simulation, controller training, and frontend.

Evidence and limits

Re-verified 2026-09-14 directly against the local repository (not just GitHub). Neuron/edge counts, data provenance (FlyWire FAFB v783, hash-recorded downloads, Zenodo/Nature citations), and the 0%→100% training result are all documented in the repo's own README/BUILD_REPORT with specific numbers (20 generations, population 12, mean reward 45.0, 9-episode eval suite) and an honestly-flagged caveat about seed-insensitive convergence. The repo's own test/lint/audit pass counts (Vitest, pytest, Playwright, ruff, bandit, pip-audit, npm audit, secret scan) were read from BUILD_REPORT.md but not re-executed by this portfolio session — self-reported, not independently re-run.

Earlier, separate unfinished Jax experiment

Proposed only: compare direct game-state input with screen-only observations in a common browser fighting environment under controlled, reproducible evaluation. Game choice, controller details and feasibility remain unresolved. No integration or comparison results exist.

Close-up render of the trained connectome subgraph
the 1,536-neuron subgraph
Flyweight spectator/watch mode, wide view
watch mode
Asterisms landing screen: a polar star chart with the headline Read the night sky

a real-sky astronomy learning game

A constellation-learning game that grew into a real-sky explorer: Daily and Practice puzzles, location-aware Tonight stargazing, Seek for skies from 1900 to now, and Guided Find — all built on real astronomy catalogue data.

126 visitorsas of 2026-10-0842 engagedas of 2026-10-0811 countriesas of 2026-10-0888 IAU constellations cataloguedas of 2026-09-149,036 real cataloged starsas of 2026-09-14

Next.js · TypeScript · Neon / Postgres · Drizzle ORM · +3 more

Project, implementation and evidence
Findin Daily Creature 285: the WHEN geological time bar, the WHERE world map and the field notes for the cheetah

Findin

live

a WHERE and WHEN guessing game for living and extinct animals

A browser game where players read evidence about an animal, infer where it lived, then place it in Earth history. Extinct animals can use cached paleogeographic coastlines and reconstructed fossil points instead of pretending ancient life belongs on today's continents.

live at findin.world; the older documented Railway URL was retired and now 404s

343 visitorsas of 2026-10-08191 playersas of 2026-10-0828 countriesas of 2026-10-0860 species reviewed and verified for launchas of 2026-09-15

Next.js · TypeScript · Supabase · PostHog · +4 more

Project, implementation and evidence

a webcam, your hand, and a 10-band system EQ

Real-time hand tracking that drives a 10-band system-wide audio equalizer — no mouse, no sliders, just a webcam reading your hand position.

Python · OpenCV · MediaPipe · PyQt5 · +2 more

Project, implementation and evidence
Read the Gesture-Based System Equalizer case study

What it does

OpenCV captures webcam frames, MediaPipe extracts hand landmarks, and a PyQt5 desktop app maps hand position/gesture to values that drive a 10-band system-wide equalizer through Equalizer APO.

Engineering question

Mapping continuous, noisy hand-tracking landmarks to stable, smooth control values for ten simultaneous EQ bands without jitter, while keeping the whole loop — camera capture, landmark extraction, gesture-to-value mapping, and system audio control — running in real time.

Sole builder.

Evidence and limits

Confirmed public repository, sole author (git history matches this portfolio's owner). A full README rewrite was drafted 2026-09-16 by reading gesture_eq.py directly (finger-count band selection, pinch-to-adjust with exponential smoothing, L-shape lock, two-hand exit/reset gestures) and by installing the pinned requirements into a clean Python 3.12 venv, which succeeded (all four dependencies import, the script compiles). Not yet pushed to GitHub — pending review. The earlier title-card image was removed; the project's media is now a demo screen recording supplied by the owner (not independently reviewed frame by frame by this session).

Audio based: Art & Audio is a separate project. Calia’s music centre is a playable island installation.

Art & Audio creator showing an evolving blue abstract composition above its playback controls

Art & Audio

building

a recording becomes a living artwork, in your browser

A browser audio-to-art workbench: analyse a local recording, watch a deterministic artwork evolve with playback, seek through its history, and export a PNG. Live sound and collection portraits have their own flows.

existing local implementation; ongoing visual refinement, public demo availability not verified here

Next.js · React · TypeScript · Web Audio API · +3 more

Project, implementation and evidence
Read the Art & Audio case study

What it does

A Next.js / React / TypeScript app decodes local audio with Web Audio and analyses it in a worker, with Essentia.js and fft.js. A custom physical-art engine renders through WebGL2 with a Canvas fallback. The creator supports local-file playback, live microphone input and PNG export; the collection flow makes a portrait from multiple local recordings. Source audio stays on the device. Optional hosted art-only sharing requires separate storage configuration.

Engineering question

Keeping an evolving artwork coherent while playback, seeking and export reconstruct the same history. Musical estimates guide the composition; they are not semantic instrument recognition or source separation.

Project builder — browser audio analysis, playback and visual composition.

Evidence and limits

Inspected 20 October 2026: creator and collection routes, BrowserAnalyzer, PhysicalArtist, package manifest and existing playback/export verification captures. These are captures of the real application, not Calia-generated art. Historical verification was read, not rerun by the portfolio. Files are limited to seven minutes and codec support depends on the browser/OS. No public repository or deployment link is asserted.

Audio based: Gesture EQ is a separate project. Calia’s music centre is a playable island installation.

Artwork exported from the Art & Audio creator
Real PNG export from the creator

Usage snapshot: 2026-10-08. Visitors and players are cumulative tracked human usage since 25 August 2026, with bots and my test accounts excluded. Figures come from PostHog; Flyweight figures are reported in its README. Source and dates ↗

Archive

Mortal Kombat Jax AI experiment

unfinished experiment

An unfinished screen-feedback controller for Jax Briggs in Mortal Kombat, usually tested against another Jax in practice mode. The owner recalls HP graphs, a live neural-network visualization, reward/penalty training, movement, attacks and special moves, and challenges by friends. It occasionally won; reliable performance was never established.

Recovered source includes a PPO CnnPolicy variant: screen frames and calibrated HP regions feed gameplay observations; damage deltas reward opponent damage and penalize own damage; actions drive keyboard input. Visualization code exposes both HP values and a neural diagram. Checkpoints and session logs survive, but sampled HP fields are zero and one log entry repeats. They do not establish win rates or a validated training outcome. Older variants also exist; the exact version used in remembered sessions is unverified. The narrative of practice fights and friends challenging it is owner-reported. No raw checkpoints, logs or game imagery are published.

Flyweight is a separate later research project.

Proposed only: compare direct game-state input with screen-only observations in a common browser fighting environment under controlled, reproducible evaluation. Game choice, controller details and feasibility remain unresolved. No integration or comparison results exist.

Python · OpenCV · PyTorch · Gymnasium · +2 more

Read project evidence

A mechanical keyboard (tuned around an AULA F75) as a real-time polyphonic instrument — not a MIDI-file player. Pressing a key drives an internal synth engine (lead, electric piano, plucked guitar) immediately, with sustain/release and chords that don't stick. The repo is upfront that its one demo song's note data is unverified, pending a legal MIDI source — a small, honest detail worth keeping.

Python · Win32 low-latency key capture · polyphonic synth engine

Read project evidence

Hardware evidence

Fire TV / ADB button-combo remote evidence

Four physical buttons wired to a Raspberry Pi, read as permutation combos, relayed over serial to an ESP32, which fires real ADB keyevents at a Fire TV Stick over Wi-Fi — a physical remote built from GPIO, not an IR blaster.

Confirmed directly: local repo (github.com/mgkagithub/thunderbyte, commits June–Aug 2024) contains firestick.py (a full menu → Android KEYCODE map executed via `adb shell input keyevent`), button_combo.py (4-button GPIO permutation reader), master.py/slave.py (serial relay to/from an ESP32), and a genuine master_log.txt with real timestamped sends (e.g. "2026-08-07 01:12:56 - Sent: adb key shell event 26") proving this ran on real hardware, not just source that was never executed. Corroborated by two dated phone photos (Pixel 6a EXIF, 2024-08-07) of the actual breadboard/Pi wiring.

Raspberry Pi · GPIO · ESP32 · Python · +2 more

Read project evidence

An 8x8 LED matrix rendered as a cartoon eye whose pupil follows a face detected in a live webcam feed — OpenCV face detection mapped onto a 3x3 grid of pupil positions on real LED hardware. Built in both a one-eye ('cyclops') and two-eye ('binocular') rig.

Recovered fd.py source combines OpenCV Haar-cascade face detection with SPI/luma MAX7219 rendering and discrete pupil positions. A separate lm2.py variant moves an eye randomly, so not every eye script performs face tracking. Dated phone videos show both Cyclops and two-eye rigs running; the exact source version for each recording remains unresolved. The sanitized Cyclops clip is shown here; the two-eye original remains private. This is separate from LED-matrix Pong.

Raspberry Pi · MAX7219 LED matrix (SPI) · luma.led_matrix · OpenCV · +1 more

Read project evidence
LED-matrix Pong evidence

A red dot-matrix LED display wired to a Raspberry Pi, rendering a playable Pong.

Real hardware is corroborated by dated phone photographs (January 2025). A later source review located a report-derived reconstruction with two cascaded MAX7219 8x8 modules, SPI/luma rendering, ball/paddle collisions, scoring and a Flask HTTP POST control page. The reconstruction moves the left paddle randomly; it contains no gesture sensing or WebSocket control. It is not verified as the exact software deployed on the photographed rig. Original deployed source remains unverified; the island game is a separate illustration.

Raspberry Pi · LED dot-matrix display

Read project evidence

That’s the walk.

The fastest way to reach me is email. I read everything, I just may take a few days.

mukundg1101@gmail.comgithub.com/mukndd ↗LinkedIn ↗