React + TypeScript
Guided campaign flows, rich-message editors, chat workspaces, reports, bots, and localized settings.
Production software
Live product02 / Featured product
A local-first Telegram workspace for account and bot operations, targeted campaigns, rich messages, conversations, reporting, and bring-your-own-key AI assistance.

/overview/product.md
TGBotSender unifies connected Telegram accounts, contacts, groups, chats, campaigns, saved audiences, templates, auto-reply rules, AI agents, bot inboxes, and reports in a single desktop product.
My work covers product planning, system architecture, React and TypeScript UI, Tauri and Rust native development, SQLite persistence, Telegram integrations, AI provider abstraction, secure credential handling, packaging, localization, and release maintenance.
/architecture/system.map
The application separates interface state, native commands, durable local records, and external providers. That boundary supports multiple Telegram senders and AI providers without placing sensitive tokens in ordinary UI state.
Guided campaign flows, rich-message editors, chat workspaces, reports, bots, and localized settings.
A narrow command surface connects desktop UI actions to native services and long-running tasks.
Telegram operations, queues, rate-limit handling, credentials, licensing, and background execution.
Local operational state connects to Telegram and the user's selected AI provider when requested.
/engineering/decisions.log
The core challenge is coordinating many long-running, provider-limited workflows while keeping progress, failures, and user control visible.
Audience, content, personalization, timing, pause, resume, cancel, history, and recipient outcomes stay attached to a durable job.
Visual editors cover formatting, media, polls, locations, inline buttons, reply keyboards, and sender-aware capability rules.
Accounts, bots, inboxes, chats, contacts, groups, and human handoff are organized without switching products.
OpenAI, Gemini, Anthropic, and OpenRouter are implemented behind a provider abstraction with model settings and reusable actions.
API keys and account secrets use operating-system credential storage, while application data remains in local persistence.
Queues, retries, eligibility checks, cooldowns, human approval modes, and exact Telegram rate-limit states keep automation inspectable.
/next/connect.sh
I turn integration-heavy requirements into structured interfaces, durable jobs, secure provider boundaries, and maintainable cross-platform releases.