Novax Price Alert
A production Telegram bot + rich TWA for real-time price alerts on Iranian markets (crypto via Binance USDT, fiat/gold via TGJU Toman) with explicit staged flows, reliability hardening, and zero-downtime VPS deployment alongside other live sites.
Problem
Users needed reliable price monitoring and alerts without ambiguity in asset selection, unit (Toman primary), stale data, or duplicate notifications. The system had to coexist safely with other production sites on the same VPS.
Solution
- Explicit 6-step staged alert flow with confirmation gate (per improvement report)
- Canonical asset identity + display snapshots at creation time
- Atomic claim + idempotency + freshness policy enforcement in evaluator/dispatcher
- Rich TWA (tabbed: Prices, My Assets, Alerts, Advanced Charts, Create) with smart suggestions and portfolio demo
- VPS deploy with PM2 (api+worker on 8001), nginx per-subdomain, safe rsync, healthchecks, backups
- Policies codified in domain/policies.py and documented
Result
Production system live at novax.alirezasafaeisystems.ir with hardened alerts (no dups, freshness respected), rich client UX, co-existing safely with 3 other live sites. All report phases (0-4 + growth) completed and deployed.
Role
Full-stack product engineering: architecture, backend (FastAPI + worker + policies), TWA (Next-like single-file rich app), ops (PM2/nginx/VPS), docs alignment with report.
Tech Stack
Python/FastAPI, SQLAlchemy/Alembic, Redis, PostgreSQL, Telegram Bot API + CF Worker relay, Next.js-style TWA (Tailwind + Chart.js), PM2, nginx, certbot, GitHub Actions for price ingest.
Proof
Live subdomain with health 200, TWA fully functional (tabs, My Assets, suggestions, charts), worker evaluating alerts, safe multi-site VPS, all per report + production checklist executed.
Lessons & Tradeoffs
Explicit contracts and staged UX + atomic hardening in critical paths delivered trust without over-engineering. Co-deploy discipline (rsync excludes, dedicated PM2/ports) allowed safe addition of new production asset.
Start Free Audit
Want a similar assessment for your site? Start with a free audit.
Start Free Audit