Why We Built TourChamp: The Hidden Complexity of International Touring
When you watch a major concert tour, you see the lights, the sound, the spectacle. What you don't see is the nightmare of keeping 50+ crew members legally compliant across 20 countries in 90 days.
Why We Built TourChamp: The Hidden Complexity of International Touring
When you watch a major concert tour, you see the lights, the sound, the spectacle. What you don't see is the nightmare of keeping 50+ crew members legally compliant across 20 countries in 90 days.
I've been touring with Bryan Adams for years, managing the technical and operational side. The hardest part isn't the gear—it's the paperwork.
The Spreadsheet Hell
For years, tour managers have tracked crew credentials in Excel:
- Passport expiration dates
- Visa requirements by country
- Work permits and carnet documents
- Education certificates for certain countries
- Emergency contacts
The problems:
- Spreadsheets go out of date immediately
- No automatic alerts for expiring documents
- Manual lookups for each country's requirements
- Emailing crew constantly asking for updated scans
- Last-minute discoveries at border crossings
I've seen tours delayed because one crew member's passport expires in 5 months (some countries require 6 months validity). I've watched production managers scramble for emergency visas 48 hours before a show.
The Real-World Cost
Time: Tour managers spend 10-15 hours per week on documentation admin. That's time not spent on logistics, venues, or problem-solving.
Money: Rush visa processing costs 3-5x normal fees. Missing a show because of documentation issues? $100,000+ in lost revenue.
Stress: Crew members get anxious about travel complications. Managers lose sleep wondering if everyone's paperwork is sorted.
Legal Risk: Working in a country without proper authorization can mean deportation, fines, and bans from re-entry. That ends careers.
The Schengen Zone Trap
Here's a gotcha that catches people constantly:
The Schengen Area (most of EU) allows visa-free travel for 90 days out of any 180-day period. Sounds simple, right?
Wrong.
You need to track:
- When you entered the Schengen zone first (starts the 180-day clock)
- Every day spent in any Schengen country
- When you exit completely (resets the rolling window)
- Different rules for work vs tourism
Overstay by even one day? You're looking at fines, deportation, and a ban from re-entering the EU.
Tour managers track this in spreadsheets. Some use wall calendars. It's madness.
What We Needed
Real-time credential tracking:
- Passport expiry dates with buffer warnings (most countries require 6 months validity)
- Visa requirements per destination
- Automatic Schengen day calculations
- Document upload and version control
Tour-specific compliance:
- Load a tour schedule (dates, cities, countries)
- Instantly see which crew members are missing documentation
- Flag expiring credentials before you book flights
- Export reports for border officials
Dashboard visibility:
- Who's good to go?
- Who needs urgent action?
- What expires in the next 30/60/90 days?
Mobile-friendly:
- Crew members need to check their own status
- Managers need to access data from venue loading docks
- No desktop computer required
Why We Didn't Buy Existing Software
We looked at travel compliance tools. Most are built for:
- Corporate business travelers (1-2 week trips, predictable routes)
- Immigration lawyers (complex cases, not volume operations)
- HR departments (onboarding, not touring)
None understood the touring use case:
- Crews change mid-tour
- Routes change based on ticket sales
- Multiple countries per week
- Rolling 90-day limits
- Need for speed over bureaucracy
So we built TourChamp.
How TourChamp Works
Core data model:
- Crew Members: People, with photos and contact info
- Credentials: Passports, visas, work permits (with expiration tracking)
- Tours: Date ranges, multiple "legs" for different segments
- Shows: Individual concert dates with venues and countries
- Credential Checks: Validation of credentials against show requirements
The magic:
When you create a tour and add crew, TourChamp automatically:
1. Checks passport validity for each show date (with configurable buffer days)
2. Looks up visa requirements for destination countries
3. Recognizes Schengen zone travel (no visa needed between member states)
4. Flags missing or expiring credentials
5. Calculates Schengen day counts across the tour
Dashboard color coding:
- 🟢 Green (Complete): All documentation valid and current
- 🟡 Yellow (Incomplete): Missing optional documents or photos
- 🟠 Orange (Important): Missing visa for assigned tour countries
- 🔴 Red (Critical): Missing or expired passport
One glance tells you who needs attention.
Real-World Impact
Before TourChamp:
- 10-15 hours/week on documentation management
- Frequent "oh shit" moments before border crossings
- Email chains asking crew for updated scans
- Manual visa requirement lookups
After TourChamp:
- 2-3 hours/week (mostly reviewing uploads)
- Proactive alerts 30/60/90 days before expiration
- Crew self-service document uploads
- Automatic compliance checking
The best part? The tour manager can finally focus on actual tour management instead of playing passport police.
Technical Decisions
We built TourChamp in Rails 8 for good reasons:
SQLite for production: Single-server deployments, simple backups, fast enough for our scale (thousands of crew records, not millions).
Hotwire (Turbo/Stimulus): Server-rendered HTML keeps things simple. No React complexity for CRUD operations.
Tailwind + shadcn/ui: Modern UI without writing custom CSS.
Kamal deployment: Zero-downtime deploys to any VPS. No Heroku dependency.
We wanted boring technology that works. Rails delivers.
Who This Is For
Tour managers managing crews of 10-100+ people across international borders.
Production companies running multiple tours simultaneously.
Artists and bands who need visibility into their crew's travel compliance.
Anyone dealing with Schengen calculations for work travel.
The Business Model
TourChamp is not open source (yet). We're running it for our own tours and select clients.
Why? Because tour management is niche, and we're still learning what features matter most. Once we've proven it at scale, we might open-source it or offer it as a SaaS.
For now, if you're managing international tour crews and drowning in spreadsheets, contact us. We're happy to share what we've learned.
Lessons Learned
1. Domain expertise matters more than code.
We knew the problem intimately because we live it. That shaped every feature.
2. Simple beats complex.
We resisted the urge to add every possible feature. Credential tracking and compliance checking are 90% of the value.
3. Mobile-first is non-negotiable.
Tour managers work from venues, buses, airports. Desktop-only software is useless.
4. Alerts must be smart.
Email spam is ignored. We send alerts at 90, 60, and 30 days before expiration—and only for critical documents.
What's Next
Planned features:
- Automatic visa requirement lookups via external APIs
- Integration with tour accounting systems
- Crew expense tracking
- Mobile apps (iOS/Android)
- Multi-currency support for international crew payments
Stretch goals:
- AI-powered document scanning (auto-extract passport details from photos)
- Integration with booking.com/Airbnb for crew accommodation
- Flight and ground transport tracking
TourChamp started as an internal tool. It's becoming the system we wish existed when we started touring.
If you're managing international crews, this problem is familiar. Let's fix it together.
About the Author: Jonny Dalgleish is a Ruby on Rails developer and tour crew member currently touring internationally with Bryan Adams. He builds software to solve real-world problems in touring, logistics, and operations. Contact | GitHub
FREE Shopify Product Migration
Moving to Shopify? We'll migrate your product catalog for free. New stores only.