{
  "id": 18581444,
  "title": "Why I Built a Native Telegram Booking Mini App (Go + React) to Stop the \"What Time Works for You?\" DM Ping-Pong",
  "url": "https://urgent.news/2026/11/06/why-i-built-a-native-telegram-booking-mini-app-go-react-to-stop-the",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-11-06T22:28:11.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/serj_serj_830e7254a86d7ea/why-i-built-a-native-telegram-booking-mini-app-go-react-to-stop-the-what-time-works-for-you-1khb"
  },
  "original_language": "en",
  "account": "Solo professionals like language tutors, therapists, coaches, personal trainers, and beauty/barber specialists often conduct client communication through Telegram. This platform hosts everything from shared homework to session rescheduling and inquiries about future appointments. However, when it comes to booking times, the process typically becomes a lengthy back-and-forth in direct messages: one party proposes a Tuesday at 6 PM, the other declines as the slot is filled, suggesting an alternative Thursday at 4:30 PM, only for the conversation to drift into time zone confusion and forgotten 15-minute breaks between calls. Forwarding clients to external websites for lengthy forms or depending on unread email confirmations disrupts the flow and adds an extra workload. The ideal solution would be for the schedule to exist within Telegram itself, just a tap away from the ongoing conversation. Enter VisitKit ( @visitkit_bot ), a native Telegram Mini App designed for precisely this purpose. Instead of a separate website requiring logins and passwords, VisitKit integrates seamlessly into Telegram. Clients can book their preferred time with just three taps without leaving the chat. Upon initiating a booking, their name is automatically pulled from Telegram. The bot also sends a concise summary of daily appointments every morning and sends automatic reminders 24 hours and 2 hours prior to each session, drastically reducing last-minute cancellations. The system automatically adjusts for different time zones, so if you're based in Belgrade, your London, Berlin, or New York clients can see their suitable time slots without needing to calculate time differences. For clients who prefer not to use Telegram for messaging, a browser booking page ( visit.dailykit.top/b/... ) in 20 languages and .ics calendar export are available, catering to users across various platforms. The backend of VisitKit is powered by Go, utilizing chi for routing, pgx for PostgreSQL database interaction, and PostgreSQL for data storage. The frontend is built with React and TypeScript, styled with Tailwind CSS, ensuring a responsive design that seamlessly adapts to Telegram's light and dark themes and supports 20 languages, including Arabic and Persian written from right to left. To get started, setting up a VisitKit page takes only a couple of minutes within Telegram. You can add your services, select session lengths, and input your working hours using a weekly template or specific dates. All new pages come with 2 months of full Pro features as a welcome gift, while the base tier remains free. For more detailed instructions, visit the step-by-step guide with screenshots at https://dailykit.top/visitkit/how-to/getting-started/ or explore a product overview and interactive demo at https://dailykit.top/visitkit/.",
  "summary": "For solo specialists who work 1-on-1 with clients — language tutors, therapists, coaches, personal trainers, tattoo artists, and beauty/barber pros — almost all client communication already happens inside Telegram. That’s where homework gets shared, sessions get rescheduled, and clients ask when they can come in next. Yet the moment someone wants to book a time, it turns into a 20-minute…",
  "key_points": [
    "VisitKit is a native Telegram Mini App for booking appointments within Telegram chats.",
    "The app integrates seamlessly with Telegram, eliminating the need for separate logins and websites.",
    "VisitKit offers automatic time zone adjustments and multilingual support for clients."
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}