Thanks to visit codestin.com
Credit goes to github.com

Skip to content
View ashafizullah's full-sized avatar
💬
Stand out fit in
💬
Stand out fit in

Block or report ashafizullah

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
ashafizullah/README.md

Adam Suchi Hafizullah

Software engineer in Indonesia.
I ship products end to end — backend, web, mobile, desktop — and open-source the parts that outlive the project.

Website · LinkedIn · npm


🚀 Latest open source

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 · release downloads license


Products I've shipped

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.

Open source

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.

What I work with

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.

Elsewhere

Writing at ashafizullah.com · Reach me on LinkedIn

Pinned Loading

  1. openclaw-proxy openclaw-proxy Public

    OpenClaw Proxy

    JavaScript 1 1

  2. promo-video-creator promo-video-creator Public

    Claude Code skill for creating professional promotional videos using Remotion with AI-generated voiceover via ElevenLabs TTS

    2

  3. wa-confirm wa-confirm Public

    Verify that a WhatsApp number really belongs to your user — by having them message you, so you never send a message to a stranger.

    TypeScript 1

  4. wa-confirm-playground wa-confirm-playground Public

    End-to-end test of the wa-confirm npm package against a real WAHA instance and a real PostgreSQL database — no mocks.

    JavaScript

  5. dsh-telegram dsh-telegram Public

    Telegram front end for DeepSeek Harness — native rich-markdown replies, questions and approvals answered from the chat, and images read by a model that can see them

    TypeScript 1