Inspiration
My teammate and I have been longtime users of Flighty whenever we travel. We love how it takes something that can be stressful and complicated and makes it feel simple.
At some point, while sitting on a train, we started wondering: why isn’t there something like Flighty, but built specifically for train travel?
We wanted an app that could genuinely feel like a travel companion — something you can trust enough to stop constantly checking departure boards, operator apps, connection times, and delay notifications. An app that lets you relax and enjoy the journey while it takes care of the details.
That idea became Blitz.
What it does
Blitz is an intelligent train tracker that brings together information from many different sources to make train travel as simple and enjoyable as possible.
It keeps you informed about delays, connections, missed trains, onboard amenities, train formations, and what your train actually looks like. It also gives you a beautiful travel log where you can look back at your journeys and see how far you’ve traveled over time.
What we wanted most was to make adding a journey feel effortless. Instead of manually searching for trains, you can simply press the share button inside your train operator’s app and add the trip directly to Blitz.
For the journey itself, we added Live Activities and Dynamic Island support so the information you need is always easy to glance at.
And because trains have a habit of passing through tunnels, mountains, and places where mobile service disappears completely, Blitz is designed with offline use in mind. We store country-wide railway data in a surprisingly small footprint, allowing the app to continue following your journey even without an internet connection.
The goal is simple: less time worrying about your trip, and more time enjoying it.
How we built it
With such a short timeframe, we decided to move quickly and use tools we already knew well.
The iOS app is built in Swift, while the backend uses Go with Fiber to keep responses as snappy as possible.
For the interface, we prototyped everything in Figma and constantly tested ideas with friends. They were kind enough to become our unofficial test group, telling us what felt intuitive, what was confusing, and what needed to change.
That feedback helped us iterate quickly and build something that felt much more natural to use.
Challenges we ran into
The biggest challenge was the data.
Railway information is incredibly fragmented. We had to gather resources from many different places, build what we call "adapters" for different formats, compile GTFS files, search through obscure government websites, and occasionally create completely custom solutions for data sources that behaved in their own unique way.
It was a lot of detective work, but it was also one of the most interesting parts of building Blitz.
Another surprisingly time-consuming challenge was creating the train formation artwork ourselves. We wanted the trains inside the app to feel recognizable and visually polished, but producing that artwork by hand takes a huge amount of time.
In the future, we’d love to collaborate with 3D artists to create even more detailed and high-quality train models.
Accomplishments that we're proud of
One of our favorite surprises happened while we were posting about Blitz for the Build in Public award.
Our very first post unexpectedly took off. In less than three days, it reached almost 13,000 views and brought us more than 80 followers. Even more exciting were the messages we received from people in the railway and transportation industry offering to help us with APIs, data, and testing.
We also received comments and DMs from people saying they had been looking for exactly this kind of app.
Seeing that response meant a lot to us. Until then, Blitz had mostly been an idea that we personally wanted to exist. Suddenly, we could see that there was a whole community of people who wanted it too.
That was probably the strongest validation we could have asked for.
What we learned
We learned very quickly that building a great train-tracking app is about much more than showing a departure time on a screen.
Behind a single journey are dozens of data sources, edge cases, railway systems, operators, formats, and country-specific quirks. Making all of that complexity feel simple for the person using the app became one of the most important lessons of the project.
We also learned how valuable it is to build in public. Sharing Blitz early brought us feedback, encouragement, industry connections, and ideas that we probably never would have discovered on our own.
Most importantly, this hackathon reminded us how much fun it is to build something you genuinely want to use yourself.
What's next for Blitz
Because of the hackathon timeframe, we were only able to fully integrate Switzerland.
But Switzerland is just the beginning.
Our next goal is to expand into neighboring European countries and gradually cover the rest of the EU. From there, we’d love to bring Blitz to railway networks in the US, Asia, and eventually anywhere people travel by train.
There are also plenty of features we still want to explore, from richer train information and better formation artwork to even smarter journey assistance and crowd-sourced, organic and direct feedback in the app, while also making the arduous process of collecting and updating transit data more efficient.
Ultimately, we want Blitz to become the app you open whenever you travel by train — no matter where in the world you happen to be.
Built With
- fiber
- go
- gtfs-data-exchange
- python
- redis
- rest
- swift
Log in or sign up for Devpost to join the conversation.