codebuddy.tech

building in public from Vancouver

Building AI Between Rides: A Vancouver Developer's FIFA Countdown Diary

Forty days until FIFA descends on Vancouver, and I'm sitting in my car outside a Starbucks on Robson Street, laptop balanced on my steering wheel, frantically debugging a neural network while waiting for my next ride request. This is my life now – indie AI developer by day, Uber driver by necessity, and full-time observer of a city about to implode from its own ambitions.

Years I've been grinding this dual existence. Code all morning in whatever coffee shop has the best wifi-to-noise ratio, drive afternoons and evenings to pay rent on my shoebox apartment near Main and Broadway. It's not glamorous, but it gives me a front-row seat to Vancouver's tech ecosystem and a real-time feed of how this city actually moves. Right now, both perspectives are screaming the same thing: we are not ready for what's coming.

The Geography Problem (A Developer's View)

As someone who spends half their time thinking about system architecture and the other half navigating Vancouver's street grid, I can tell you they have remarkably similar problems. Both were designed for a different era and different scale, and both are about to get stress-tested beyond their breaking points.

I was working on a routing optimization algorithm last month – nothing fancy, just trying to build something that could predict surge pricing patterns for drivers – when I realized how fundamentally constrained Vancouver's transportation network really is. We're a city built on a peninsula with exactly three ways to get to the North Shore, hemmed in by mountains, ocean, and the Fraser River. From a graph theory perspective, we have way too many single points of failure.

BC Place sits dead center in our most congested node. Every time I drive downtown during a Canucks game, I watch the entire system cascade into failure from a single choke point. The Lions Gate Bridge backs up, forcing traffic to the Second Narrows or down to the Pattullo. The Granville Bridge becomes a parking lot if someone sneezes wrong. It's a classic distributed systems problem – insufficient redundancy and no graceful degradation.

Yesterday I picked up a couple from YVR heading to a hotel downtown. Should be a quick ride, turned into significantly longer because of construction on the Arthur Laing Bridge. That's our only real connection between the airport and the city center. During FIFA, when thousands of confused, jet-lagged soccer fans are trying to navigate this bottleneck simultaneously, my routing algorithm is going to be useless. You can't optimize around fundamental infrastructure limitations.

Pattern Recognition in Traffic and Code

Years of driving has taught me to read Vancouver's traffic patterns like debugging logs. There's a rhythm to it, predictable flows and failure modes that you learn to anticipate. Between rides, I've been feeding this data into machine learning models, trying to build something that could actually be useful for other drivers during FIFA.

Take the West End grid between late afternoon and early evening. Robson Street becomes a crawl from Burrard to Denman – bike lanes, delivery trucks, construction, tourist confusion, all creating these predictable bottlenecks. I've got hundreds of trips logged through this area, and the patterns are consistent enough that my model can predict delays within a meaningful window.

But here's the thing about machine learning – it breaks down when you feed it completely novel data. My model is trained on normal Vancouver traffic patterns. It has no idea what to do with thousands of soccer fans who don't know that you can't turn left off Granville during peak hours, or that taking Robson through downtown during rush hour is basically traffic suicide.

Last week I picked up a tourist who insisted on using Google Maps to "help" me navigate to their hotel. Google routed us down Denman during evening rush hour because it looked shorter on the screen. Took us significantly longer to go just a few blocks. My passenger kept asking why I didn't just follow the GPS, not understanding that Google's algorithm doesn't account for local knowledge that takes years to acquire. FIFA is going to be that conversation scaled up by tens of thousands.

The Underground Soccer Network

Working on location-based AI models has taught me to pay attention to clustering patterns in data, which is probably why I've noticed Vancouver's hidden soccer culture before most people. There are these pockets of passionate fans scattered throughout the city – the Croatian Cultural Centre during big matches, Commercial Drive when Italy plays, Steveston pubs during England games.

I've been tracking these patterns without really meaning to. My ride data shows clear spikes around soccer events that most people miss because they're looking at hockey numbers. I picked up a group last month heading to a very early Champions League final viewing party in East Van. They were completely dialed into soccer culture in a way that reminded me of the most obsessive developers I know – deep technical knowledge, tribal loyalty, and the kind of passion that makes them travel across the city at ridiculous hours.

These existing fans are about to have their minds blown by FIFA. They're used to niche viewing parties and half-empty Whitecaps games. FIFA will be their first taste of what happens when soccer goes truly mainstream in this city. It's like when a developer's side project suddenly gets significant attention – exciting and terrifying simultaneously.

System Load and the Perfect Storm

Any developer who's worked on scaling problems can see what's coming. The summer months are already peak usage months for Vancouver's infrastructure. Hotels at capacity, restaurants slammed, SkyTrain carrying maximum loads with tourists and locals. The system is already running hot before we add FIFA traffic.

It's not just about soccer fans – it's about soccer fans competing for resources with every other user already in the system. The family from Toronto who booked their Vancouver vacation months ago doesn't care that Argentina is playing Brazil. They still need to get from their hotel to Queen Elizabeth Park. Those cruise ship passengers still need transportation to Granville Island. The tech worker heading to their downtown office still needs to get across the Cambie Bridge.

I've been modeling this as a resource allocation problem, trying to predict where the worst bottlenecks will hit. The data is concerning. We're not just talking about additive load – we're looking at cascading failures where each choke point creates downstream congestion that spreads through the entire network.

Building for Chaos

Between rides yesterday, I was debugging a predictive model for surge pricing when it hit me: I'm essentially building AI for a system that's about to become completely chaotic. All my training data is based on predictable patterns that FIFA is going to obliterate. It's like training a model on normal web traffic and then trying to deploy it during a DDoS attack.

But maybe that's the point. Instead of trying to predict normal patterns, I should be building for chaos. What if I focused on resilience instead of optimization? Quick adaptation instead of long-term predictions? I've started working on a different approach – real-time clustering algorithms that can identify emerging traffic patterns as they develop, rather than trying to predict them from historical data.

It's frustrating and fascinating simultaneously. My day job as a driver gives me ground-truth data that most developers never see. I know that the intersection at Burrard and Robson becomes impassable during certain events. I know which routes Google Maps suggests that are actually terrible. I know how tourists behave differently from locals when they're lost or confused.

This week I picked up a group of developers heading to a tech meetup downtown. They were complaining about Vancouver's traffic like it was some mysterious force instead of a system with observable patterns and predictable failure modes. It struck me that most people building location-based apps in this city have never actually driven professionally here. They're optimizing for theoretical scenarios instead of real-world constraints.

The Data Goldmine

Every ride is generating data points for my models. Pickup and dropoff locations, travel times, surge patterns, user behavior during different events. I've got years of this data now, and it's starting to reveal some interesting insights about how Vancouver really moves.

For instance, my data shows clear correlation between weather patterns and traffic flow that most routing algorithms miss. Rain doesn't just slow down driving – it shifts demand patterns as people who normally walk or bike switch to rideshare. A light drizzle consistently increases ride requests in certain neighborhoods, but heavy rain actually decreases them as people just stay home.

During Canucks playoffs, my data showed that traffic patterns shifted almost an hour before game time, as people started positioning themselves for better routes downtown. But during Whitecaps games, the pattern was much more compressed – people seemed to assume soccer wouldn't draw big crowds and left their usual travel buffer, leading to last-minute surges in ride requests.

FIFA is going to generate more transportation data in two weeks than Vancouver normally sees in months. If I can build systems that learn and adapt in real-time, rather than relying on historical patterns, there might be an opportunity to create something genuinely useful for the chaos ahead.

Late Night Coding Sessions

It's late and I just finished a driving shift – airport runs are always good money during FIFA buildup as advance teams and media start arriving. Now I'm back home, laptop open, working on the real-time clustering algorithm I've been obsessing over. My neighbors probably think I'm insane, but there's something addictive about trying to solve an impossible problem.

The core challenge is prediction without historical precedent. My models work great for normal Vancouver traffic because I have years of similar data to train on. But FIFA will be fundamentally different – scale, user behavior, demand patterns, everything will be novel. It's like trying to build AI for a problem that's never existed before.

I've been reading papers on emergency response systems and disaster management algorithms, looking for approaches designed for chaotic scenarios. There's some interesting work on swarm intelligence and distributed problem-solving that might apply. Instead of trying to predict optimal routes, what if I built something that could coordinate distributed decision-making among drivers in real-time?

The technical challenge is fascinating, but the practical implications are what keep me up at night. I know exactly what it feels like to be stuck in Vancouver traffic with a frustrated passenger, watching the ETA tick higher while surge pricing climbs. FIFA is going to create thousands of those situations simultaneously.

Countdown to Chaos

Just over a month now. I can feel the city starting to tense up. More construction crews working overtime to finish projects before FIFA. More tourists arriving early to scout locations. More stress in the voices of the city planners and TransLink officials I pick up heading to emergency planning meetings.

My AI models are getting better at handling uncertainty, but they're still built on the assumption that people will behave rationally when faced with transportation choices. Anyone who's driven professionally knows that's a dangerous assumption. People take the routes they know, even when better options exist. They leave at the worst possible times. They make decisions based on incomplete information and stick with them even when circumstances change.

But maybe that's the real opportunity here. Not building AI that assumes rational behavior, but building systems that account for human irrationality and still find ways to optimize around it. FIFA might be the perfect testing ground for chaos-resistant algorithms.

Between debugging sessions and airport runs, I'm documenting everything. This countdown isn't just about surviving FIFA – it's about building something that could actually help other cities prepare for similar events. Every traffic jam is a data point. Every frustrated passenger is user research. Every late-night coding session is an investment in systems that might actually work when everything else breaks down.

Weeks ago, this felt like an impossible problem. Now it feels like the most interesting challenge I've ever worked on. Vancouver might not be ready for FIFA, but maybe, just maybe, I can build something that helps us all survive it together.

Get new posts

Subscribe in your language

New posts delivered to your inbox. Unsubscribe anytime.

Receive in: