Масове оновлення цін за 2 хвилини — E-commerce інструмент
SMBs pay $19–29/month for chat widgets that inject third-party trackers and force three separate installs to cover WhatsApp, Telegram, and Viber. I built PingBoost — a self-hosted SaaS that drops all three messengers on any site through a single 15 KB gzipped snippet for $39 lifetime.
Client: SMBs, solo founders, and agencies in DACH / CIS / UA / BG / LATAM markets where site visitors prefer WhatsApp, Telegram, or Viber over web chat.
Problem: A $39 lifetime micro-SaaS only works if the purchase loop is automated end-to-end AND the product can keep evolving without invalidating snippets already pasted into production sites.
What I built:
Multi-channel widget — WhatsApp + Telegram + Viber in a 15 KB gzipped TypeScript bundle, mounted in Shadow DOM
Automated purchase loop — Stripe Checkout → license key and paste-ready snippet delivered 1–3 seconds after payment
Fastify license server — SQLite WAL, idempotent Stripe webhooks, domain-bound auto-binding keys, ~200ms restart
Self-serve /build editor — avatar upload, live preview, three opt-in entry animations, one-click snippet copy
Three production releases — v1.0 (Viber) → v2.0 (multi-channel) → v2.1 (premium animations)
Result:
Three releases shipped, zero breaking changes — every v1.0 ?phone=… snippet still works in v2.1
License issuance: manual operator step → 0 manual steps, full loop in 1–3 seconds after payment
115/115 tests green covering channels, config, widget round-trip, admin sessions
Designed to support 1,000+ active licenses on a single ~€4.50/month Hetzner VPS
Zero third-party trackers — only data point collected is the bound domain
Stack: TypeScript widget (Shadow DOM), Fastify (SQLite WAL), Next.js 16 static export, Stripe Checkout, Resend. Single Hetzner VPS behind nginx — no Vercel, no Cloudflare, no managed CDN.
"Will v3.0 break my snippet?" No. Three releases shipped with zero breaking changes — v1.0's ?phone=… still works in v2.1 as an alias for ?viber=…. New features are opt-in; the license-server schema migrates additively.
If you're a founder or agency who wants to ship a small SaaS end-to-end and keep adding features without breaking existing customers, I build similar systems tailored to your stack.
Client: SMBs, solo founders, and agencies in DACH / CIS / UA / BG / LATAM markets where site visitors prefer WhatsApp, Telegram, or Viber over web chat.
Problem: A $39 lifetime micro-SaaS only works if the purchase loop is automated end-to-end AND the product can keep evolving without invalidating snippets already pasted into production sites.
What I built:
Multi-channel widget — WhatsApp + Telegram + Viber in a 15 KB gzipped TypeScript bundle, mounted in Shadow DOM
Automated purchase loop — Stripe Checkout → license key and paste-ready snippet delivered 1–3 seconds after payment
Fastify license server — SQLite WAL, idempotent Stripe webhooks, domain-bound auto-binding keys, ~200ms restart
Self-serve /build editor — avatar upload, live preview, three opt-in entry animations, one-click snippet copy
Three production releases — v1.0 (Viber) → v2.0 (multi-channel) → v2.1 (premium animations)
Result:
Three releases shipped, zero breaking changes — every v1.0 ?phone=… snippet still works in v2.1
License issuance: manual operator step → 0 manual steps, full loop in 1–3 seconds after payment
115/115 tests green covering channels, config, widget round-trip, admin sessions
Designed to support 1,000+ active licenses on a single ~€4.50/month Hetzner VPS
Zero third-party trackers — only data point collected is the bound domain
Stack: TypeScript widget (Shadow DOM), Fastify (SQLite WAL), Next.js 16 static export, Stripe Checkout, Resend. Single Hetzner VPS behind nginx — no Vercel, no Cloudflare, no managed CDN.
"Will v3.0 break my snippet?" No. Three releases shipped with zero breaking changes — v1.0's ?phone=… still works in v2.1 as an alias for ?viber=…. New features are opt-in; the license-server schema migrates additively.
If you're a founder or agency who wants to ship a small SaaS end-to-end and keep adding features without breaking existing customers, I build similar systems tailored to your stack.