ReRoute

Reviving a College Project · Python 2→3 Port, API Replacement & Redesign

Scroll down

Project Overview

ReRoute is a peer-rating app for San Francisco Muni buses, originally built back in 2017 during a coding bootcamp. It had been sitting untouched ever since: Python 2 syntax throughout, Flask 0.12, a Postgres dump file going back nine years, and a live integration with NextBus's public transit API — which Muni quietly migrated off of years ago, so every "nearby bus" request just failed silently.

What I Did

  • Finished the Python 3 port. Found a half-done migration already in progress from an earlier session, fixed the broken edits left behind (a commented-out template loop, mangled markup), and closed out the remaining Python 2 syntax and SQLAlchemy 2.0 compatibility issues — including a subtle bug where SQLAlchemy 2.0's stricter Row-object handling silently broke a working query.
  • Replaced a dead third-party API. Diagnosed that NextBus's feed no longer serves SF Muni at all, then rebuilt the live-arrivals integration against 511.org's official transit API (where Muni actually moved), including tracking down a UTF-8 BOM in the response that was silently breaking JSON parsing.
  • Fixed real logic bugs, not just syntax. Passwords were stored and compared in plaintext; rating submissions always inserted a new row instead of updating an existing one; logging out crashed if you weren't logged in. Fixed all three, plus added password hashing.
  • Deployed it for the first time, ever. This project had never been live. Stood up a production Postgres database, configured gunicorn, and shipped it on Render — including working around the platform's one-free-database-per-account limit by moving the database to Neon instead.
  • Redesigned it from scratch. Replaced the original Bootstrap 3 theme with a custom pastel, rounded design system, and cut dead leftover code that had nothing to do with the app (a hardcoded weather widget for Austin, TX, and an exposed Google Maps API key sitting in the public repo).

The Result

A nine-year-old, never-deployed bootcamp project is now a live, working app on a modern stack — real-time bus data, hashed passwords, a working rating system, and a look that actually reflects the redesign instead of the default Bootstrap theme it shipped with.

Role:
Full-Stack Revival · API Migration & Visual Redesign

Stack:
Flask · SQLAlchemy · PostgreSQL (Neon) · Render · 511.org Transit API

View Live Site

View on GitHub

ReRoute homepage

ReRoute bus detail page with rating chart

Let's Work Together

I'm looking for teams that need someone who can communicate, enable, and execute — someone who understands products deeply and can help the people around them do the same. If that sounds like what you're building, I'd love to talk.