React + TypeScript
Contacts, editors, templates, campaign review, schedule controls, live progress, and reports.
Production software
Live product03 / Featured product
A native Windows and macOS workspace for verified SMTP accounts, permission-based contacts, personalized campaign content, scheduled delivery, retries, and recipient-level reporting.

/overview/product.md
AeroMailer combines SMTP account verification and rotation, contact and suppression management, plain-text and HTML composition, reusable templates, personalization, scheduling, verification, delivery controls, and live reporting.
My role includes product planning, UI architecture, React and TypeScript development, Rust email and persistence services, SQLite data design, SMTP/TLS behavior, campaign job state, secure credential handling, licensing, update delivery, and Windows/macOS packaging.
/architecture/system.map
Email delivery is treated as a stateful background workflow. The interface prepares and monitors work while native services own SMTP connections, limits, retries, persistence, and system notifications.
Contacts, editors, templates, campaign review, schedule controls, live progress, and reports.
Typed commands and events keep long-running delivery state synchronized with the desktop UI.
SMTP transport, TLS modes, account rotation, queue execution, retries, exports, and notifications.
Campaign and contact records stay local while SMTP credentials use the operating-system vault.
/engineering/decisions.log
The engineering emphasis is recoverable state, verified configuration, transparent results, and safe limits rather than hiding the realities of SMTP delivery.
Accounts can be tested with SSL, TLS, or STARTTLS, assigned daily limits, and rotated through campaign delivery.
Contact imports, custom fields, verification, suppression, and personalization support deliberate list management.
Send tests, recipient review, scheduling, pause, resume, cancel, retry, reuse, and repeat operations share a durable job model.
Plain-text and HTML composition, visual editing, templates, variables, Spintax, signatures, attachments, and optional AI assistance.
Recipient-level states, successful and failed results, retry visibility, live progress, desktop notifications, and Excel export.
Localization checks, license activation, update support, and dedicated Windows and macOS packaging workflows form part of the product lifecycle.
/next/connect.sh
I design user-facing products where queues, retries, limits, provider failures, local data, and native delivery are first-class engineering concerns.