Selected work
Three builds, with the parts that were actually hard.
Course funnel bot
In production
Python · aiogram 3
A whole sales funnel inside one bot: deep-link attribution per ad creative, registration with an instant gift, a three-day warm-up sequence, webinar reminders at −24h / −1h / −5min, then the offer and two deadline pushes. The admin runs the entire launch from chat commands.
- 20 msg/secBroadcast rate, backing off on Telegram’s own RetryAfter
- Restart-safeJobs persist in SQLite, so a reboot never drops a scheduled send
- 0 redeploysWebinar date and seat count change live from an admin command
- Self-pruningUsers who block the bot are flagged on error and skipped later
Python 3.12 · aiogram 3.15 · APScheduler with SQLAlchemy job store · aiosqlite · Docker + systemd
AYBOND storefront
Demo build
Next.js 16
A redesign I built on my own initiative for a five-store menswear chain, to show instead of tell: catalog with filters and sorting, product pages with real size tables, a store picker by city, and checkout that hands a pre-filled order to WhatsApp. Their live site was a free template with placeholder prices.
- 5 storesFilterable by city, each with its own hours and contact
- 0 cookiesNo third-party requests at all — fonts self-hosted, no analytics
- Size-awareThe chosen size travels into the WhatsApp order message
- CompliantSeparate privacy and consent pages, per local data law
Next.js 16 · Tailwind 4 · Motion · Vercel — live at aybond-demo.vercel.app
Multi-node proxy network
Retired
Linux · Xray
A two-country VLESS network behind a single control panel, with a Telegram bot selling access for crypto. Each user got one subscription link carrying eight configs, so their client could pick the fastest route by itself. It ran unattended for months.
- 2 nodesOne master holding panel and database, one pure forwarding node
- 8 configsPer subscription link — REALITY, gRPC and WebSocket behind a CDN
- 60s checksBackground watcher paging the admin chat when a node dropped
- Crypto billingInvoices and renewals handled in-bot, no manual steps
Debian · Docker · Xray-core · Marzban · Caddy · Cloudflare · aiogram · CryptoBot API