Back to Blog
devops

Tickets, Tunnels, and Tailscale: Journey to Simple Theater Connectivity

September 11, 202510 min min read

When I started working on a theater management system in Nepal, I faced a big headache: offline-first devices. Each ticket counter needed to work independently, sync when connected, and somehow stay accessible for remote management.

The theaters had unreliable internet, multiple ticket counters, zero IT staff on-site, and a central server that needed remote access.

The Connectivity Nightmare

Traditional solutions required port forwarding (security nightmare), static IPs (expensive), VPN servers (complex), or DDNS services (unreliable).

Every theater was a new puzzle. Different ISPs, different routers, different problems.

Enter Tailscale

Tailscale changed everything. It creates a secure mesh network between all your devices, no matter where they are.

# On each device
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

That's it. Every device can now talk to every other device, securely, through any firewall.

What This Enabled

  • Remote Management: SSH into any theater machine from my office
  • Central Database Sync: All ticket sales sync to the central server
  • Real-time Monitoring: Check system health without site visits
  • Zero Configuration: New theaters just need Tailscale installed
  • The Offline-First Challenge

    Even with Tailscale, theaters sometimes lose internet. The solution:

  • Local SQLite database on each ticket PC
  • Background sync when connection returns
  • Conflict resolution based on timestamps
  • public class TicketService
    {
        public async Task SellTicket(TicketRequest request)
        {
            // Always save locally first
            var ticket = await <em>localDb.SaveTicket(request);
            // Queue for sync when online
            await </em>syncQueue.Enqueue(ticket);
        }
    }

    Lessons Learned

  • Assume offline: Design for the worst case
  • Sync smartly: Not everything needs real-time
  • Keep it simple: Complex solutions fail in complex ways
  • Theaters across Nepal now sell tickets reliably, sync when possible, and require zero on-site IT support.

    Share this article

    Tags

    Tailscale Networking Offline First Nepal

    Subscribe to Newsletter

    Get notified about new articles