Scratch & Map

Reviving a Dead Project · Full-Stack Modernization & Deployment

Scroll down

Project Overview

Scratch & Map started as a 2019 Lambda School group project — a Flask + React app for tracking countries you've visited, lived in, or want to go. It had been sitting untouched for six years and was completely dead: the Python environment's code signature was corrupted, the local Postgres install was broken from an OS upgrade, and nearly every pinned dependency predated the Python and Node versions now required to run it.

I didn't just patch the old copy — I forked it into a new, independently deployed version: Scratch & Map 2.0.

What I Did

  • Diagnosed the rot. Walked the entire dependency chain — Flask, Werkzeug, SQLAlchemy, marshmallow, Stripe, six — finding the specific version boundary where each one broke against current Python/Node, instead of guessing and reinstalling at random.
  • Modernized the stack. Replaced the dead CRA2 + node-sass frontend with Vite, kept the existing React component logic intact to minimize risk, and migrated the unmaintained Stripe Elements package to Stripe's current SDK.
  • Shipped it live. Deployed the Flask + Postgres backend on Render and the frontend on Netlify, wiring CORS, environment variables, and a production database from scratch.
  • Fixed real bugs, not just config. Tracked down a Facebook login race condition where the page reload fired before the login request resolved, plus a backend endpoint that crashed on `null` responses — both invisible until tested end-to-end in a live browser.
  • Got Facebook Login production-ready. Configured app domains, privacy policy, and OAuth redirect URIs so the social login flow actually passes Facebook's review requirements instead of silently failing.

The Result

A project that was completely unrunnable is now a live, working app with real authentication, a real database, and real deploys — diagnosed and rebuilt layer by layer instead of thrown out and started over.

Role:
Full-Stack Revival · Deployment & Debugging

Stack:
Flask · React (Vite) · PostgreSQL · Render · Netlify

View Live Site

View on GitHub

Scratch and Map landing page

Scratch and Map interactive country tracking map

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.