Small side projects and experiments.
-
Camera-based science experiments — augment a falling ball over live video, then measure gravity with a stopwatch or automatic color tracking.
A home for running lots of small physics experiments with the camera. Experiment 01 is live: drop a virtual ball over AR video, hold it in your hand via camera tracking and release it, time real drops to compute
g = 2h/t², or let the browser track a colored ball and fit the fall curve. Projectile, pendulum, and air-friction experiments are next. -
A modular autonomous coding agent with pluggable models (local Qwen via Ollama or frontier cloud APIs), persistent two-tier memory, a resilient 5-tier fuzzy edit engine, and pre-mutation rollback checkpoints.
Zenith (formerly
mohan-agent) explores the feasibility of running an autonomous software development assistant entirely on-device (Apple Silicon / edge hardware) without transmitting proprietary codebases to remote cloud APIs.Local Qwen via Ollama Frontier Provider Plugins 2-Tier Persistent Memory 5-Tier Resilient Patch Engine Pre-mutation Snapshots (/undo) Interactive REPLZenith features a unified
ModelProviderrouter, AST-based symbol extraction, automated TDD verification loops, and a multi-tiered edit engine that handles whitespace and indentation drift common in smaller open-weight models.# Quick Start with local Qwen via Ollama:
git clone https://github.com/mohankku/zenith.git
cd zenith && pip install -e .
zenith "analyze repo structure and implement missing unit tests" -
A market-movers dashboard for 60 tech tickers across 6 sectors — hourly cached data via Yahoo Finance and GitHub Actions. More of a web-experiment playground than financial advice.
-
A browser chat interface for Ollama models running on this laptop — streaming responses, model picker, works fully on-device.
Talks to your local Ollama server (
http://localhost:11434) directly from the browser. Nothing leaves your machine. -
Edit photos with plain-language instructions using Qwen-Image-Edit running locally via mflux — fully on-device, nothing uploaded.
Needs the local edit server (
python3 script/mflux-server.py) alongside the page. The first edit loads the 20B weights, so it takes minutes; later edits are faster.