Case Study · Logic HotSpot

Logic HotSpot — Vendor-Neutral Managed WiFi SaaS for Cafés, Hotels and Event Venues (RouterOS / MikroTik Captive Portal, Voucher Printing, Per-User Bandwidth Control)

How UnlockLive built a vendor-neutral managed WiFi SaaS for Canadian cafés, hotels, and event venues — a Yii2 (PHP) management console that talks to MikroTik / RouterOS gateways via API, a branded captive portal for guest sign-up, one-tap thermal-printer voucher printing, and per-user / per-group bandwidth and time controls. Supports 1000+ concurrent guests per venue, gets a guest from print to online in under 5 seconds, and locks the operator into zero hardware vendors.

  • IndustryTelecom / Managed-WiFi SaaS
  • Year2023
  • CountryCanada
  • Duration3 months
Logic HotSpot — Vendor-Neutral Managed WiFi SaaS for Cafés, Hotels and Event Venues (RouterOS / MikroTik Captive Portal, Voucher Printing, Per-User Bandwidth Control) hero screenshot

At-a-glance results

  • 1000+Concurrent guests supported per venue under event-night load
  • <5 secMedian time from voucher print to connected guest
  • 0Hardware vendor lock-in — works with any MikroTik / RouterOS gateway
  • 3Months from kickoff to first paying venue live in production

The challenge

Independent cafés, boutique hotels, and event venues across the GTA wanted to offer guest WiFi without (a) handing out their permanent network password, (b) being locked into a single hardware vendor's portal, or (c) letting one guest saturate the bandwidth for everyone else. The off-the-shelf options either tied them to a specific access-point brand, charged a per-AP monthly fee, or didn't support the workflow staff actually wanted — a one-tap printed voucher handed across the counter with the receipt.

The ask: a vendor-neutral, multi-venue managed WiFi platform where one operator could manage unlimited venues from a single console, gateways stayed cheap and replaceable (any MikroTik / RouterOS box), staff could print a time-limited voucher in one tap, per-user bandwidth was enforced at the gateway (not by the honor system), and a high-traffic event night with 1000+ concurrent guests didn't melt the system.

Our solution

We built Logic HotSpot — a Yii2 (PHP) management console + a branded captive portal + a thermal-printer voucher pipeline, all talking to commodity MikroTik / RouterOS gateways through their public API, with per-user bandwidth enforced through RADIUS (FreeRADIUS).

The management console is the operator's command surface. From a single login they manage unlimited venues, define WiFi plans (15-minute trial, 1-hour, 24-hour, 7-day, conference), set per-plan bandwidth caps and concurrent-session rules, brand the captive portal per venue (logo, colors, terms, marketing offer), and watch live sessions in real time — including the ability to kick a misbehaving device with one click. Every action is logged for the operator's own audit trail.

The captive portal is a fast, mobile-first sign-up surface. A guest connects to the venue's SSID, gets the branded portal, picks (or redeems) a plan, and is online — typically in under 5 seconds end-to-end. Payment plans, free-with-survey plans, and printed-voucher plans are all supported from the same portal.

Thermal-printer voucher printing is the workflow that closes the loop with venue staff. The console exposes a one-tap 'Print Voucher' button on a tablet behind the counter; the request hits an ESC/POS thermal-printer integration that prints a receipt-style slip with the venue logo, plan name, time limit, voucher code, and a fresh QR code. The guest scans the QR or types the code on the captive portal and is online in seconds.

Bandwidth enforcement is the part most off-the-shelf portals get wrong. Instead of trusting the captive portal, we authenticate each session through FreeRADIUS — the RouterOS gateway enforces the rate-limit attribute returned by RADIUS at the data plane, so a single guest physically cannot exceed their plan's cap, no matter what their device tries to do. Per-group caps stack on top of per-user caps so an entire event tier can be throttled together.

Everything is multi-tenant by design — one operator, unlimited venues, isolated configuration per venue — running on Nginx + PHP-FPM with Redis caching the session lookups so the captive portal stays sub-second under event-night load.

  • Multi-venue management from a single operator console — unlimited venues, isolated configuration per venue
  • Vendor-neutral RouterOS / MikroTik gateway integration — any RouterOS box works, no hardware lock-in
  • Branded per-venue captive portal (logo, colors, terms, marketing offer) with sub-second sign-up under load
  • One-tap ESC/POS thermal-printer voucher printing — venue logo, plan, time limit, voucher code, fresh QR
  • Per-user and per-group bandwidth caps enforced at the gateway via FreeRADIUS — not by the honor system
  • Real-time session monitor with one-click kick of misbehaving devices
  • Plan engine — 15-min trial, 1-hour, 24-hour, 7-day, conference, free-with-survey, paid — all from the same portal
  • Multi-tenant SaaS architecture: Nginx + PHP-FPM + Redis caching for event-night load (1000+ concurrent guests)

How we built it

  1. 01

    Discovery, vendor-neutral architecture, RouterOS-first design

    We started by sitting in a busy café and a 200-seat conference venue and watching how staff actually onboarded WiFi guests — and confirmed the workflow had to revolve around a printed voucher, not a payment screen. We deliberately picked MikroTik / RouterOS as the gateway target because it's cheap, ubiquitous, scriptable through a documented API, and not tied to a single hardware vendor — so the operator can swap, reuse, or scale gateways without re-platforming.

  2. 02

    Yii2 management console + captive portal + RADIUS auth

    We shipped the Yii2 (PHP) console with multi-venue management, plan + bandwidth + branding controls, a real-time session monitor, and one-click kick. The captive portal is a separate fast PHP surface that boots in milliseconds on a guest's first connection and authenticates against FreeRADIUS — so per-user bandwidth is enforced at the gateway data plane, not by trust.

  3. 03

    Thermal-printer voucher pipeline (ESC/POS over LAN)

    We built an ESC/POS integration that talks to common thermal receipt printers (Epson TM-T20, Star TSP100 family) over the venue's LAN, so a tablet behind the counter can fire a 'Print Voucher' tap and a venue-branded slip with logo, plan, time limit, code, and QR comes out in under a second. The voucher code is single-use, time-bound, and revocable from the console.

  4. 04

    Event-night load testing, observability, hand-off

    We load-tested the captive portal at 1000+ concurrent sign-ins per venue and tuned Nginx + PHP-FPM + Redis until the median sign-up sat well under 5 seconds end-to-end. We instrumented sessions and gateway calls, wrote a runbook for adding a venue, replacing a gateway, and onboarding a thermal printer, and stayed on call for the operator's first peak event nights.

Tech stack

  • PHP (Yii2 framework)
  • MySQL
  • MikroTik / RouterOS API
  • RADIUS (FreeRADIUS) for per-user bandwidth
  • ESC/POS thermal-printer integration
  • Nginx + PHP-FPM
  • Redis (session cache)
  • Docker
  • Custom Software Development
  • Network Integration
  • Captive Portal Engineering
  • Hardware Integration

Frequently asked questions

Why pick MikroTik / RouterOS as the gateway instead of a single-vendor cloud-WiFi stack?

Three reasons. (1) Cost — a RouterOS box is a fraction of the price of vendor-locked APs and switches. (2) Ubiquity — RouterOS gear is everywhere and any local network installer can rack it. (3) A documented public API and full RADIUS support, so we can enforce bandwidth, time, and concurrent-session limits at the data plane instead of relying on the captive portal alone. The operator can swap gateways or add a new venue without re-platforming Logic HotSpot.

How is per-user bandwidth actually enforced — and why doesn't the captive portal handle it?

The captive portal handles authentication, not enforcement. Once a guest authenticates, the RouterOS gateway opens a session against FreeRADIUS, which returns the plan's `Mikrotik-Rate-Limit` attribute. The gateway enforces that rate at the data plane, on every packet. A misbehaving guest device cannot exceed its cap because the limit lives below the captive portal — at the network layer the device cannot bypass.

How does the thermal-printer voucher workflow integrate with venue staff?

Staff use a tablet behind the counter that's signed in to the operator console with a venue-scoped account. A 'Print Voucher' button on the tablet fires an ESC/POS print job over the venue's LAN to a common thermal printer (Epson TM-T20, Star TSP100, etc.). A venue-branded slip with logo, plan, time limit, voucher code, and QR is printed in under a second. The voucher code is single-use, time-bound, and revocable from the console — so a lost slip never becomes a permanent backdoor.

Can Logic HotSpot scale to a high-traffic event night with 1000+ concurrent guests?

Yes — the captive portal is intentionally lightweight (Nginx + PHP-FPM + Redis caching the session lookups), and the gateway-side enforcement is done by RouterOS + FreeRADIUS, not by the captive portal. We load-tested the platform at 1000+ concurrent sign-ins per venue with median sign-up well under 5 seconds end-to-end. Adding more capacity is a matter of more gateways or a bigger gateway, not a re-platform.

How long did it take to build Logic HotSpot, and how does the team support it now?

Three months end-to-end with a three-person team (1 PM/network engineer, 1 PHP/RouterOS developer, 1 captive-portal/UI engineer). After launch we stayed on retainer for monthly enhancements, gateway script updates, RADIUS dictionary changes, and on-call coverage during the first peak event nights.

Want a result like this?

Talk to the same team that built Logic HotSpot — Vendor-Neutral Managed WiFi SaaS for Cafés, Hotels and Event Venues (RouterOS / MikroTik Captive Portal, Voucher Printing, Per-User Bandwidth Control). We’ll scope your project, give you a fixed-price proposal, and show you the closest analog from our portfolio.

Book a strategy call