DFIELDSOLUTIONS

Case study · 2026 · Web · Custom software

Selling access to a private Telegram channel by hand means manual invites, missed expiries, and members slipping in and out without you knowing.Built a subscription product that automates the invite, the expiry, and the share card.

Tippsziget sells access to a private Telegram tips channel via Stripe Checkout (HUF). A webhook generates a one-shot invite link, emails the customer, and @tippszigetbot redeems it on /start. Customers can also buy directly from inside the bot via inline buttons - those purchases auto-activate the moment the webhook fires, with no web detour. A daily cron sends expiry reminders, removes expired members on day zero, and at trial-end issues a 50%-off coupon link. Bot admins are derived dynamically from the channel's Telegram admins (cached 5 min). The operator also gets a share-card generator that emits branded Story + post variants with a win or loss marker on every leg, confetti on wins, and a Nettó nyeremény footer summing (odds − 1) per won leg.

  • Next.js
  • TypeScript
  • Postgres
  • Stripe
  • Telegram
Internal build, no public URL
Tippsziget

Inside the build

Tippsziget — Opening state
Opening state
Tippsziget — In use
In use
Tippsziget — Result
Result

Overview

5
Subscription packages
0
Manual invites
Daily
Expiry sweep
9:16 + 3:4
Share-card formats

Tippsziget is a subscription product where customers buy access (15/30/60 days, lifetime, or a 3-day trial) and get a one-shot invite link to a private Telegram channel with daily analysed tips. The Stripe webhook generates the invite, the bot redeems it on /start, and a daily cron handles expiry reminders + channel cleanup. A built-in share-card generator (9:16 Story + 3:4 post) emits branded slips with a win or loss marker on every leg, confetti on wins, and a 'Nettó nyeremény' footer.

What shipped

What it does

  • Subscription packages · 15/30/60 days, lifetime, 3-day trial
  • Stripe checkout (HUF) → automatic Telegram channel invite
  • Cron-driven expiry reminders and channel cleanup
  • Branded share-card generator (Story 9:16 + post 3:4)
  • Bot inline-buy + post-purchase auto-activation

The problem

  • Manual invite-link management leaks free access
  • Expiry chasing eats time and customers slip through
  • Posting tips without branded slips · no shareability

Why it matters

  • Every purchase auto-grants channel access · zero manual work
  • Expiry handled by cron · members removed on day zero, no slip-through
  • Every winning slip ships ready to share on social

How it shipped

  1. 01 · BRIEF

    Pin the friction · manual invites and missed expiries.

    Decision the product rests on: every step that touched a person in a spreadsheet has to disappear · invite generation, channel removal, expiry reminders, trial-coupon issuance.

  2. 02 · BUILD

    Stripe checkout → webhook → one-shot invite → bot redemption.

    5 packages priced in HUF in Stripe Checkout, plus an inline-buy flow inside the Telegram bot. The webhook issues a one-shot channel invite token; /start <token> redeems it and grants channel access until the order's expiry.

  3. 03 · SHIP

    Live with launch promo enforced server-side, cron + bot unattended.

    First 10 buyers of the 30-day for 1 990 Ft promo is enforced from paid-order counts (not from a coupon code that leaks). The home page is static; a tiny /api/promo JSON fetch surfaces remaining slots. The site is SEO-saturated · 50+ Hungarian posts, glossary, FAQ, JSON-LD (Organization, Article, FAQPage, Service+Offer+Review, HowTo, Speakable, BreadcrumbList), per-post dynamic OG images.

Stack

Checkout

Stripe HUF · 5 packages

15/30/60 days, lifetime, plus a 3-day free trial. Inline-buy inside the bot uses the same Checkout sessions.

Telegram bot

@tippszigetbot · inline-buy + /start redeem

The bot is the second checkout: inline buttons map to the same Stripe sessions, the customer never leaves Telegram. On the web side, the webhook generates a one-shot invite link, emails the customer, and the bot redeems the token on /start <token>. Bot admins are derived live from the channel's Telegram admins (cached 5 min) so the operator never edits a config file.

Cron

Expiry, removal, trial coupons

Daily job pushes reminders before expiry, removes expired members on day zero, and issues a 50%-off coupon link the moment the trial ends.

Share-card

9:16 + 3:4 · per-leg markers

Singles + parlays, a win or loss marker on every leg, drawn as SVG because the font has no glyph for it, confetti on wins, hidden odds on losses, and a Nettó nyeremény footer summing (odds − 1) per won leg.

Case study

“We were managing the channel by hand · sending invite links one by one, kicking expired members from a spreadsheet, and posting tips as plain text nobody shared. The studio built a system where the website sells the access, the bot lets people buy without leaving Telegram, and every winning slip comes out as a branded card ready for socials. The expiry day used to be the worst day · now it's a cron line.”

Anonymous · Operator · premium sports-tips channel (under NDA) · HU

More work

DField Solutions · DField Bt. · dezso@dfieldsolutions.com
5.0
“From LinkedIn DM to live site. Two tiny tweaks, then shipped.”Michael J Ringer · Vilya ProtectionFounder · Spain