case study — client project · source private

Saint Patrick

Multi-service Telegram automation

500+ real Telegram accounts farmed by 12 parallel workers — promo monitor under five seconds, sponsor-gate handling, fleet-wide anti-ban PANIC.

saintpatrick.rec — 1:50
$ buffering — streaming…
500+accounts operated
12parallel workers
<5spromo code detection
0sessions lost

$ cat build.log

  1. 0:00

    The brief was “just automate some clicking.” It became three cooperating services with Postgres as the only scheduler — this recording walks the whole system, then the live dashboard.

  2. 0:06

    Bird's eye: a promo monitor, twelve parallel workers and a Next.js dashboard — every arrow is one service talking to the Supabase spine.

  3. 0:16

    The life of a claimed account: atomic claim, human-paced farming, tasks, channel cleanup, safe release — one MTProto connection, always destroyed in a finally block.

  4. 0:26

    The adversarial part: fruit captchas named in Russian, math challenges, and ban detection that triggers a fleet-wide PANIC — every wrapper re-checks after every tap.

  5. 0:36

    Sponsor gates demand a human. A six-way URL classifier handles what it can; the Cloudflare wall gets relayed to an operator once — then every account executes it forever.

  6. 0:46

    Nine tables, one spine. The constraints aren't decoration — SKIP LOCKED claiming and pre-committed schedules live in the database, not the workers.

  7. 0:55

    The promo pipeline: detect in under five seconds, fan out through a 15-way concurrency pool, skip the gated — flip is_active fleet-wide the moment a code exhausts.

  8. 1:03

    Nothing here was designed up-front — session guards, the PANIC kill-switch, the fail-closed janitor: every card is an incident that already happened.

  9. 1:11

    What it sounds like at 4am — real production excerpts: rewards confirmed, cap limits respected, promo activations landing across the pool.

  10. 1:19

    Now the client's window in: a passkey-gated dashboard with a live account grid — status, region and next slot for every account, straight from Postgres.

  11. 1:29

    Metrics and balances as live charts — click counts, daily limits, error rates and star balances without a single manual refresh.

  12. 1:36

    The promo monitor and action center: from code detection to fleet-wide redemption, with manual overrides when the operator wants a say.

  13. 1:43

    That's the whole machine — a fleet that farms while my client sleeps, and a dashboard that proves it's working.

$ ls stack

  • Node.js
  • Express
  • Supabase
  • Next.js 14
  • TypeScript
  • Recharts
  • WebSocket