MXGPU Tools: Tourbook

9 October 2026, the night before Live Under Lisbon. The truss is up under Olaias station, the crew has a call time, the guestlist is still changing, and everyone needs to know where to be tomorrow. For a long time all of that lived in PDFs. Now it lives at tour.mxgpu.net.

Load-in under Olaias station, the day before Live Under Lisbon.

Why we stopped sending PDFs

Every show used to have its own roadbook: a document with the schedule, travel, hotel, contacts and guestlist, exported to PDF and sent around. Every change meant a new PDF, and nobody was sure which one was current.

In November 2025 we started replacing those documents with a web app. It runs at tour.mxgpu.net. The code still calls it Roadbook, after the PDFs it replaced.

Wide view of a white exhibition hall during load-in, with flight cases, truss sections and crew spread across the floor

Load-in at MAAT, Lisbon, March 2025.

One page per show

Each show is one page. The schedule is kept in the venue's timezone, with a toggle to see it in ours, and grouped by day with D-1 and Show Day labels. The running order highlights the performance. Flights are tickets, with delay statistics per flight number. Hotels and meals sit under Hospitality. From the same page we can build a day sheet, export a PDF or sync the schedule to a calendar.

A show page in an early build from December 2025, still under its working name.

Sharing

The part we use most is sharing. A show can have several share links, and for each section of the page we choose whether the person holding the link can see it, edit it or not see it at all. Contacts can be filtered per link. Someone outside the band can edit the sections we open to them without seeing the rest, and each link can have its own chat, with one switch to turn chat off everywhere.

Guestlists

Guestlists arrive as text, pasted from messages, in every possible format. The parser splits lines, then commas, and pulls out plus-ones, emails and phone numbers from each entry:

A line that cannot be read is not dropped silently. It comes back as an error with its line number.

The web app is Next.js with a Postgres database. An iOS app that talks to the same backend is in progress. If you build something similar and want to compare notes, write to hello@mxgpu.net.

Stack

tour.mxgpu.net: Next.js 16, React 19, TypeScript, PostgreSQL (Neon) through Prisma, NextAuth, Tailwind CSS, Mapbox GL, Resend, jsPDF. iOS app in progress with Expo and React Native.

Photos and screenshots: MXGPU.

Other tools we built to run MXGPU: MXGPU Monitor, RME Splitter, clk, studio.mxgpu.net and setlist.mxgpu.net.