DEV Community

Stop Building Landing Pages — Sell Digital Products Directly in Telegram

The Landing Page Trap

You spend weeks building a product. Then you spend MORE weeks on:

  • Designing a landing page
  • Setting up Stripe
  • Building an email delivery system
  • Configuring analytics
  • Writing copy

By the time you launch, you've lost momentum.

The Alternative: Telegram Bot Store

What if your store lived where your customers already are?

Telegram has 900M+ users. Many of them already follow channels in your niche. Why send them to an external website when you can sell directly in the app?

My Setup

I built @SwiftUIDailyBot — a store that sells 26 digital products using Telegram Stars.

The entire customer journey:

  1. User opens the bot
  2. Browses categories via inline buttons
  3. Taps a product to see details
  4. Clicks "Buy for X Stars"
  5. Confirms payment (one tap)
  6. Receives PDF instantly

Total time: 15 seconds.

Compare that to a landing page flow where users need to enter email, card number, wait for confirmation email, click download link...

Landing Page vs Telegram Bot

Aspect Landing Page Telegram Bot
Setup time 1-2 weeks 1-2 days
Monthly cost $20-100 $0-5
Payment setup Complex 3 lines of code
Delivery Email/links Instant in-chat
Mobile UX Varies Native
User accounts Required Telegram ID
Analytics GA4/Mixpanel Built-in SQLite

When a Bot Makes More Sense

A Telegram bot store is ideal when:

  • Your products are under $10 (micro-pricing)
  • You sell downloadable files (PDF, templates)
  • Your audience already uses Telegram
  • You want zero infrastructure overhead
  • You're a solo creator without a team

When You Still Need a Landing Page

  • Products over $50 (need more persuasion)
  • B2B sales (decision makers expect websites)
  • SEO-driven acquisition
  • Products requiring onboarding

The Code Is Trivial

# The entire payment flow:
bot.send_invoice(
    chat_id,
    title=product['name'],
    description=product['desc'],
    invoice_payload=product['id'],
    provider_token='',  # Stars = no provider needed
    currency='XTR',
    prices=[LabeledPrice(label=product['name'], amount=product['stars'])]
)
Enter fullscreen mode Exit fullscreen mode

That's it. No Stripe dashboard. No webhook endpoints. No SSL certificates.

What I Sell

  • SwiftUI code templates for iOS developers
  • Notion systems for productivity
  • Career guides (resume, interview, LinkedIn)
  • AI toolkits with workflow automations
  • Bundles at 30-40% discount

Prices: 25-350 Stars (~$0.50 to $7)

Getting Started

  1. Create a bot via @botfather
  2. Write a product catalog (Python dict)
  3. Add inline keyboard navigation
  4. Implement send_invoice with currency='XTR'
  5. Handle pre_checkout_query and successful_payment
  6. Deploy anywhere

Try mine: @SwiftUIDailyBot on Telegram


I'm 19 and building digital products full-time. Follow for more indie hacker content.

Channel: t.me/SwiftUIDaily

Top comments (0)