Software engineer in Indonesia.
I ship products end to end — backend, web, mobile, desktop — and open-source the parts that outlive the project.
Wahana — a cross-platform desktop client for
WAHA (WhatsApp HTTP API). Chats, groups, stories, scheduled messages,
broadcasts and bring-your-own-key AI translation, in a ~10 MB app for macOS and Windows.
Tauri 2, React, TypeScript, Rust, SQLite.
Download ·
EIAI — a digital assistant for the whole household. Family finances (wallets, budgets, debts, subscriptions), health tracking (lab results, cycles, pregnancy), productivity (habits, kanban, pomodoro), a family tree and a password vault, in one place. Vue 3, Bun and Hono, PostgreSQL.
Bisa Mandarin · Google Play — 会中文, an AI Mandarin learning partner: practise conversation, grammar and vocabulary without the fear of getting it wrong in front of a person. Laravel on the web, Flutter on mobile and desktop, a browser extension, and a realtime voice backend on Gemini.
Tamu Undangan · Google Play — guest management and digital check-in for weddings, aqiqah, khitanan and reunions. QR check-in at the door, seating, reporting and the exports families actually ask for. Hono and Drizzle, Vue and PrimeVue, Flutter for the scanner.
Keruani Kabar · Google Play — a community app for Muara Enim. Neighbours post local news, warnings and things for sale, and a post can be broadcast on a schedule into the WhatsApp groups people already live in. Go, PostgreSQL, React Native, Vue.
Alongside these, a run of freelance and client projects that will never get a public link — internal systems, dashboards and line-of-business apps built for the people who use them rather than for a portfolio. Happy to walk through any of it in a conversation.
wa-confirm · npm — verify a WhatsApp number really belongs to your user, without ever messaging a stranger. The usual approach texts a code to the number, which is the pattern that gets service numbers banned, and it only proves the number someone typed is reachable. This inverts the flow, so the number is read off the message envelope and cannot be mistyped or borrowed. Extracted from Keruani Kabar after learning the hard parts in production. Zero dependencies, MIT.
dsh-telegram · npm — run a DeepSeek Harness coding agent from Telegram. The agent lives on your machine and you usually do not, and the plugin that already existed dropped the two things that matter most over a chat: the agent writes markdown, and it asks questions it needs answered before it can carry on. Telegram has parsed markdown itself since Bot API 10.1, so replies go through almost verbatim — tables as tables — and questions and tool approvals arrive as buttons you can press from a phone. Pictures work even where the model cannot see: a vision model reads the image in a throwaway session and only its text joins the conversation, and where no model is configured at all it falls back to local OCR. Fifteen commands, 842 tests, two dependencies, MIT.
promo-video-creator — a Claude Code skill that turns a brief into a finished promotional video. Remotion for the render, ElevenLabs for the voiceover.
hermes-mimo-websearch · npm —
Hermes Agent plugin for Xiaomi MiMo native web search API. Uses MiMo's
built-in web_search tool for server-side search with structured results.
Supports regular API keys (not Token Plan). MIT.
hermes-deepseek-websearch · npm — Hermes Agent plugin for DeepSeek native web search API. Uses DeepSeek's Responses API with server-side search at ~$0.0005 per query. MIT.
hermes-tinyfish-websearch · npm — Hermes Agent plugin for TinyFish native web search & fetch API. Direct connection to TinyFish — free search ($0/call, 30 req/min) and free fetch ($0/call, 150 URLs/min) with no middleman. MIT.
hermes-monid-websearch · npm — Hermes Agent plugin for Monid/TinyFish free web search & fetch API. Uses Monid's agent infrastructure with TinyFish for 100% free search and page extraction — no per-call charges, just a free Monid API key. MIT.
| Backend | Go · Bun / Hono · Node.js · Laravel · C#/.NET · Python |
| Web | TypeScript · Vue · PrimeVue |
| Mobile & desktop | Flutter · React Native / Expo |
| Data & infra | PostgreSQL · Drizzle · Docker · GitHub Actions |
| AI | Gemini · realtime voice · Claude Code skills · DeepSeek Harness plugins |
On GitHub since 2017, across whichever language the problem happened to need.
Writing at ashafizullah.com · Reach me on LinkedIn
