Prakash Srivastava Data & AI Platform Architect

← All case studies

Personal project · 2026

Legacy app modernisation – this portfolio

Brought a 2020 Flask site on a deprecated runtime up to Python 3.12 and Flask 3, with HTTPS, an enforced security policy, passwordless sign-in, per-user storage and a 200+ test suite.

Read the full story About this site

At a glance

  1. Assess
  2. Plan
  3. Upgrade runtime
  4. Harden
  5. Build new features
Architecture - one Flask app on App Engine with Cloud Storage, Firestore, Secret Manager and OAuth providers

Context

The site ran on Python 3.8 and App Engine's deprecated python39 runtime, so it could no longer be redeployed. Several pages were broken or slow.

Problem

Make it deployable and safe again without a rewrite, then build new products on top of it.

My role

Assessment, plan and implementation in 14 days (25 Oct – 7 Nov 2026). The 2020 site was hand-coded; the rebuild was AI-assisted with Claude Code, while decisions, reviews, cloud console steps and deploys stayed manual.

Approach and architecture

  • Written assessment first (architecture, security, bugs, dependencies, UX), then 16 numbered plans
  • Each plan item with a problem, steps and a "done when" check, implemented one at a time with a report
  • Runtime upgrade to Python 3.12, Flask 3 and App Engine python312
  • HTTPS everywhere, HSTS, CSRF protection and an enforced Content Security Policy
  • Passwordless sign-in (Google, Microsoft, LinkedIn); one private folder per user
  • Automated tests for every fix; bugs reproduced in a headless browser before they were fixed

Stack

  • Python 3.12
  • Flask 3
  • pandas 2.2
  • Authlib
  • React 18
  • pytest
  • Vitest
  • Google App Engine
  • Cloud Storage
  • Firestore
  • Secret Manager
  • Claude Code

Outcome

  • Deployable again after the python39 runtime was deprecated
  • Apriori demo request time cut from 4.7 s to 0.36 s
  • 200+ automated tests (283 pytest, 49 Vitest, end-to-end suites)
  • New on the same codebase - 12 wellness games, Family Tree sharing, Posts and an admin page
  • Responsive layout with WCAG AA colour contrast

What I'd do next

  • Push to GitHub with CI, add monitoring
  • Facebook and GitHub sign-in