Hey Guys, for the past few months I have been building a small thing called marsClaw. It is a personal assistant which lives inside a chat app…
I build AI platforms and agent infrastructure.
MCP servers, LLM assistants, and the Kubernetes and data platforms underneath them — and writing about what the tradeoffs actually cost.
Recent writing
All 97 posts →marsClaw — Building a personal chat assistant with Bun, SQLite and MCP Why MCP, Not REST APIs? The question comes up the moment you try to make an agent use your existing API. The answer isn't that REST is wrong — it's that REST was designed for a client who reads the docs at build time, and an LLM isn't that client.
I Hired a Platform Engineer Who Can’t Break Anything Onboarding an AI agent onto my cloud with 15 tools, viewer-only credentials, and no path to production
From Raw Events to Per-User Intelligence: The Techniques Behind a Persona & Propensity System A field guide to the techniques that turn billions of behavioural events into per-user personas and forward-looking scores — identity resolution, RFM, quantile bucketing, time-share archetyping, temporal validation, leakage control, and transparent composite scoring.
Navigating the 2026 Agent Ecosystem: LangGraph vs. OpenClaw vs. Google Agent SDK (ADK) Choosing the right framework for deterministic orchestration, autonomous execution, or cloud-native ecosystem scaling.
Docker Desktop vs. Colima: Choosing the Right Container Runtime for macOS If you’ve been developing on macOS for a while, Docker Desktop has likely been a staple in your toolchain. For years, it was the…
Things I've built
- platform-mcpRead-only MCP server exposing 15 GCP observability tools across logs, metrics, cost and asset inventory, so an LLM agent can triage incidents and find savings without ever mutating infrastructure. In production use by my team.
- bigquery-mcpMCP server for plain-language questions over BigQuery. Dry-run cost estimation, tiered confirmation, a hard per-query scan cap, and SELECT-only execution under each user’s own IAM credentials.
- LimbiqNeurotransmitter-inspired memory layer that makes any LLM appear to learn across conversations — FAISS vector search plus a knowledge graph, with no change to model weights. Published on PyPI.
- marsClawMulti-channel LLM agent across Telegram, Slack and WhatsApp on the Claude Agent SDK, with provider failover, capability-removal-by-default security, and an append-only tool audit log.
- FleetOS17-service Go platform streaming 20-DOF robot telemetry over gRPC into Kafka, with a Temporal-orchestrated ML lifecycle running from experience collection through GPU training to canary rollout with automatic rollback.
- kube-gpukubectl plugin giving real-time visibility into NVIDIA MIG partitions — per-pod GPU-slice assignment, pending job queues, and CUDA/NCCL/OOM highlighting in streamed logs. Ships via Homebrew and krew.
- KithlyConsumer product built end-to-end and solo: a React Native app, a Go API on Clean Architecture, pre-signed S3 uploads, and a Redis/asynq worker pipeline that stitches contributor clips into one finished video.
- ZylobinCivic recycling platform built solo across four codebases — React Native app, admin console, marketing site and Node API — covering 1,500+ verified collection bins across a 15-module domain.
On GitHub
94 repositories →- e-commerce-wsstars:9Java
- kubernetes-test-node-expressstars:8A multi-tenant, microservices-based e-commerce backend built with Node.js, Express, TypeScript, MongoDB, and RabbitMQ. Deployed on Kubernetes via Helm with Linkerd service mesh, OpenTelemetry observability, and a React ERP dashboard.TypeScript
- bento-encoderstars:7Video Encoder for streaming using Node JS, FFMPEG and Bento4 (Javascript Promise to asynchronize)JavaScript
- yahoo-stock-backendstars:7Java
- nanoclaw-voicestars:4Voice support for NanoClaw — Whisper STT + Kokoro TTS, one-command installJavaScript
- serendib-scholarship-uistars:4serendib-scholarship-uiTypeScript
- serendib-scholarship-wsstars:3serenedib-scholarship-wsTypeScript
- stock-app-flutterstars:3Dart
- platform-mcpstars:2Read-only GCP platform-engineer MCP server for incident debugging, resource inventory, and cost optimizationPython
- goclarcstars:2Go Template
- subtitle-editorstars:2TypeScript
- context-crawlerstars:1A multi-service pipeline that crawls Sri Lankan bank websites for credit card promotions, extracts structured deal data using LLMs, and serves them through a REST API with a web dashboard.Python
- pii-guardstars:1A memory-safe, high-performance proxy written in Rust that sits between your application and external LLMs. It automatically detects and redacts PII and secrets from prompts before they leave your network.Rust
- robot-fleetstars:1A distributed robot fleet management platform that connects simulated humanoid robots to the cloud via gRPC/Kafka, exposes developer-facing REST/WebSocket APIs with auth and billing, serves AI inference through a diffusion policy pipeline, and provides full-stack analytics via Spark + ClickHouse.Go
- wavenet-voice-starstars:1Java
- aboutMestars:0simple web page to show my CVHTML
- assemblyCodingForARMstars:0labs and exercises done in the faculty using ARM assemblerAssembly
- bigquery-mcpstars:0Read-only BigQuery MCP server — ask data questions in plain language via Claude/any MCP clientPython
- c-codestars:0c coding done for labs in programming methodology courseC
- cordova-plugin-chg-manifeststars:0Changing the android manifest for clear text, debug and backup allowed.
- CordovaFoldstars:0A corodva plugin for galaxy foldJava
- cozo-backendstars:0E coomerce backend applicationJavaScript
- Credo-Warehousestars:0Warehouse management systemPHP
- CS5621_assignmentstars:0CS5621_assignmentPython
- csv-to-pubsub-google-dataflow-templatestars:0Reads a CSV from GCS, dynamically extracts headers, and publishes each row as a JSON payload to a Pub/Sub topic.Python
- dagstars:0sys for dagJava
- dimuthustars:0personal siteHTML
- drawprostars:0E2EE focused drawing tool using excalidrawTypeScript
- express-boilerplate-repostars:0Boilerplate code for the express-deploy cli toolTypeScript
- express-clistars:0A simple CLI tool to initialize an Express project with a structured boilerplate, add modules dynamically, and extend Express services—originally built for PostgreSQL integration.TypeScript
- homebrew-tapstars:0Homebrew formulae for deBilla toolsRuby
- IDdetailRevealstars:0Very simple java script app to get details hidden in ID Number.HTML
- keyos-cpix-api-nodejsstars:0Keyos CPIX endpointJavaScript
- kube-gpustars:0A CLI tool that gives you a real-time view of GPU allocation across a Kubernetes cluster. Think kubectl top nodes but specifically for GPUs -- showing MIG partitions, which pods are using which GPU slices, and which jobs are queued.Go
- limbiqstars:0Neurotransmitter-inspired adaptive learning layer for LLMs. Limbiq makes any LLM appear to learn and adapt across conversations — without touching a single weight. It sits between the user and the LLM, modifying what the model sees through five discrete signal types inspired by human brain chemistry.Python
- living-llmstars:0A proof-of-concept implementation of the "Next-Level LLM" architecture: a locally-running language model with persistent memory, lossy compression, and the ability to learn from every conversation.Python
- Mandelbrot-And-Juliastars:0fractals are great and when i see them i forget that java is hard.Java
- marsClawstars:0marsClaw is a single-process Bun app that connects messaging channels (Telegram, Slack, WhatsApp) to an agent CLI (Gemini CLI or Claude Code). Messages route through SQLite; the chosen agent CLI handles the LLM call, tools, and reasoning loop.TypeScript
- mediqbank-front-endstars:0Front end application for the mediQbank
- mongo-perf-teststars:0Mongo DB Data Read/Write Time performance testTypeScript
- nn-playgroundstars:0An interactive web application for visualizing and understanding neural networks and reinforcement learning — entirely in the browser. No backend, no external ML libraries. All computations (backpropagation, Q-learning) happen live in your browser using pure TypeScript.TypeScript
- ragamastars:0Help for final year medical studentsHTML
- ride-fare-classificationstars:0Ride fare classificationPython
- S.P.-tradingstars:0website for a small buisnessHTML
- SayWhatBotstars:0Self-hosted server that transcribes Telegram voice notes using a locally running Whisper model. Runs entirely with Docker Compose — no cloud APIs.Python
- tf-sandboxstars:0A client-side React application that parses Terraform (.tf) files and renders interactive visual infrastructure diagrams. No Terraform binary, no backend -- everything runs in the browser.TypeScript
- waste-share-backendstars:0Waste share serverless backendKotlin
- ad-detectorstars:0JavaScript
- ai-model-playgroundstars:0TypeScript
- aws-file-uploader-uistars:0JavaScript
- aws-file-uploader-wsstars:0TypeScript
- book-reviewstars:0JavaScript
- chat-botstars:0HTML
- chat-serverstars:0HTML
- Crawler4j-on-CNNstars:0Java
- dummy-expressstars:0
- elitestars:0Jupyter Notebook
- encoder-node-jsstars:0JavaScript
- encoding-com-connecctorstars:0JavaScript
- engramstars:0
- ex-weather-appstars:0JavaScript
- fdl-pocstars:0JavaScript
- flightReservationSystemstars:0C#
- gcf-boilerplatestars:0TypeScript
- gcf-init-clistars:0JavaScript
- github-repo-detailsstars:0
- go-gin-basicsstars:0Go
- goblinsstars:0Java
- hackathonstars:0HTML
- hhm-adminstars:0TypeScript
- hhm-backendstars:0TypeScript
- JASSjr-Modificationstars:0Java
- live-streamstars:0JavaScript
- medguardstars:0TypeScript
- meicookstars:0Java
- nextjs-admin-console-boilerplatestars:0TypeScript
- nextjs-blogstars:0Astro
- offerspotstars:0TypeScript
- portfoliostars:0JavaScript
- pos-shopstars:0Java
- s3-restore-vtt-guistars:0TypeScript
- sales-opportuity-trackerstars:0JavaScript
- screen-smashstars:0HTML
- SealBoxstars:0HTML
- serendib-gcp-wsstars:0JavaScript
- si-mobile-bankingstars:0
- software-construction-labstars:0Java
- solo-levelstars:0TypeScript
- trash-truckstars:0TypeScript
- trash-truck-wsstars:0TypeScript
- wasteGo-apistars:0Go
- wasteGo-Appstars:0Dart
- wasteGo-classifierstars:0Python
- web-scraperstars:0Python