React + TypeScript
Campaign builders, contact workflows, template mapping, reporting, validation, and localized UI.
Production software
Live product01 / Featured product
A consent-aware WhatsApp campaign workspace that keeps CRM data local while connecting outbound workflows to the official Meta Cloud API.

/overview/product.md
WABotSender brings contact organization, consent state, approved Meta templates, scheduling, and campaign reporting into one desktop product. Its local-first model keeps operational CRM data on the user's computer while Meta credentials are used only for the outbound actions the user initiates.
My role spans product planning, software architecture, React and TypeScript UI development, Rust native services, SQLite data design, Meta API integration, licensing, testing, packaging, release preparation, and continued maintenance.
/architecture/system.map
The interface, native core, persistent data, and external provider are separated so each layer has a focused responsibility. Sensitive credentials cross a narrow command boundary and are stored through the operating-system credential vault.
Campaign builders, contact workflows, template mapping, reporting, validation, and localized UI.
Typed commands connect the web interface to native application capabilities.
Business rules, campaign execution, provider transport, licensing, backups, and secure credentials.
Local CRM and job state with deliberate outbound requests to the official Meta Cloud API.
/engineering/decisions.log
The product is designed around explicit consent, recoverable jobs, durable local data, and transparent provider failures rather than optimistic claims about delivery.
Contacts, tags, suppression, consent state, recipient previews, and campaign safety checks support deliberate outbound targeting.
Meta templates can be synchronized and their variables mapped to built-in or custom CRM values before a send begins.
Scheduled, paused, running, completed, and failed jobs remain visible with recipient-level progress and clear provider errors.
CRM records, templates, campaign jobs, reports, migrations, and backup/restore workflows are managed in the desktop database.
Meta access credentials use the operating-system credential store instead of being embedded in the interface or ordinary settings data.
The application includes license activation, localization checks, automated tests, and separate Windows and macOS packaging workflows.
/next/connect.sh
I work across product requirements, interface architecture, native services, data, integrations, release engineering, and long-term maintenance.