Selected projects
Open-source Flutter and Dart packages, most of them pushing models onto the phone instead of a server.
flutter_qwen
Qwen3.5-4B in GGUF, driven by llama.cpp over Dart FFI. Tokens stream into the UI as they are generated, and the model works with no network after the first download.
- Streaming generation
- Reasoning mode for chain-of-thought
- Embeddings for RAG and search
- Hugging Face download with SHA-256 checks
flutter_kokoro_tts
Kokoro text-to-speech entirely on-device with ONNX Runtime and espeak-ng. Six voices, adjustable speed, 24 kHz output on Android and iOS.
flutter_kitten_tts
Offline speech from the KittenML v0.8 ONNX model. Eight voices, and long text is split at sentence boundaries so nothing is cut mid-word.
sms_notification_listener
Flutter plugin that listens for incoming SMS on Android through a platform channel. Published on pub.dev.
animated_circular_progress_bar
A smooth, fully customisable animated circular progress widget for Flutter. Published on pub.dev.
erc1271_signer
Dart port of viem's signing utilities: Coinbase Smart Wallet messages, EIP-191 and EIP-712 hashing, ERC-1271 signatures on Base and Mainnet.
Core stack
The tools I reach for by default, grouped by the layer they live in.
- Mobile and frontend
- Flutter, Dart, React, TypeScript Clean architecture with Riverpod, platform channels, and native integrations on Android and iOS.
- Backend and APIs
- Python, Django, FastAPI, Node.js, Express REST APIs designed to be consumed by the apps above, with the boring parts done properly.
- AI and systems
- llama.cpp, ONNX Runtime, GGUF quantization, Dart FFI Getting quantized LLMs and speech models to run within a phone's memory and battery budget.
What I'm doing now
Shipping on-device AI to phones: quantized LLMs and text-to-speech models packaged as Flutter plugins. Building reusable Flutter packages, and running Owjar, a small consultancy for mobile, web and AI work.
Updated September 2026