I build production apps and experiment with local LLMs and inference on Apple Silicon.
01 — Apps in production
A local MCP server for macOS. A small on-device classifier filters page elements down to just what an agent needs; research and notes cache across sessions. Plugs into Claude Code, Cursor, Codex.
A native macOS terminal where a manager agent delegates work to engineer agents across machines over SSH. Voice in the terminal, WhatsApp call integration, scheduled overnight runs. Still in active development.
A language tutor that remembers what you struggle with and adapts every lesson in real time. Eight tutor personas, fifty-six source languages. The voice layer uses models I trained myself.
An AI platform for language institutes and teachers — test generation, classroom dashboards, content pipelines, voice tutors. Used by Manorama Horizon among other institutes.
02 — On-device experiments
Rung-models · BitNet b1.58 · ternary from scratch
Curiosity-driven: can a 1.58-bit base learn real grammar, and can a small LoRA on top turn that into something useful?
335 M ternary base trained from random init on 7 B tokens, then a 6.2 M-param LoRA on top that turns natural language into AppIntent JSON. The base never learned JSON or app catalogues — the adapter taught it those.
~$50 of A100/A10G time through Rung 2, plus one $26 retrain for Rung 3.
03 — Other work
The substrate underneath the apps and experiments — runtimes, inference engines, small models, voice infrastructure. Mostly private on GitHub.
Custom hybrid inference runtime for LLMs on Apple Silicon. Qwen3.5 prefill on the Neural Engine, decode on the Metal GPU, KV cache shared via IOSurface zero-copy.
1.7B @ LUT-8 on 8 GB M1A full Apple-Silicon-native LLM runtime written from scratch in Swift against Metal 4 and the private ANE path. Custom quantisation including TurboQuant-3.
byte-identical to refQwen3-ASR speech recognition running natively on Apple Silicon via Metal GPU. Quantised GGUF, encoder-decoder, INT4 encoder variant.
1.88 % WER (1.7B) · 2.90 % WER · 823 MB (0.6B)A 1.5B on-device language model with per-app LoRA packs — Swift library plus a haku-run CLI. Each app gets its own adapter rather than its own model.
A bridge that connects the WhatsApp Calls API to real-time voice AI over WebRTC — pluggable STT, TTS, and LLM. Built on Pion (Go) and a Rust voice engine.
Pion · WebRTC · OpenAI RealtimeA 20.5M-parameter decoder trained from scratch in MLX. Natural-language commands → AppleScript. Routes out-of-scope intents upward via PASS_TO_CLOUD.
Also worth a look: turn-taking (5.26 M EoT detector, < 1 ms CPU), silicon-tts (dual-engine Qwen3-TTS + Kokoro), silicon-embed-v2 (Metal 4 ML tensor passes), haku-voice-tiny (~10 MB ternary CoreML on ANE), teachezee-voice-rs (production Rust WebRTC voice service).
04 — Teaching & talks
Manorama HorizonThe edtech arm of Malayala Manorama — Kerala's largest newspaper group, ~20 M readers across India and the diaspora.
A vibe-coding cohort for non-coders. Day 1 watch a real app built live. Day 2 build your own with full guidance. Day 3 demo it. Every participant leaves with a shareable live link.
manoramahorizon.comHosted by Conscious Engines · StudioThe MLX India community — meetups for builders working at the framework / inference layer.
Speaker on “Using Apple Neural Engine for local models” — small language models, ANE deployment, and domain-specific on-device AI systems.
x.com/cengines_studio05 — Hackathon wins
Luna AI
A solo build during the Build Club × Supabase Supaheroes hackathon. An AI course creator that takes PDFs, images, Word, Excel, PPTs, and URLs and turns them into structured courses with quizzes, videos, and a per-learner AI buddy.
Winner · Healthtech trackBest Future Friend
24-hour healthtech sprint co-hosted with Sahha Health and Eucalyptus on sustaining motivation through a weight-loss journey. Team of four — Vinayak Deshpande, Hriddhi, Alex, and me.
06 — Open source
qwen3-asr-llamacpp — Qwen3-ASR for llama.cpp; patch, GGUF models, benchmarks.
claude-accountability-partner — exercise & hydration reminder where Claude Code watches the screen.
07 — Elsewhere