Skip to content

Latest commit

 

History

History
17 lines (12 loc) · 1.3 KB

File metadata and controls

17 lines (12 loc) · 1.3 KB

Project: Observation Deck

A dynamic webapp landing page designed as the central hub to showcase my portfolio of projects. The Observation Deck delivers an intuitive, seamless user experience, effortlessly guiding visitors through my work while being easily modular for future updates.

Live: https://observation-deck.netlify.app/

How it works

  • projects.json is the single source of truth — the page and the screenshot pipeline both read it. Adding a project is one JSON entry; optional fields (featured, stack, caseStudy) unlock the flagship slot, tech tags, and the case-study dialog.
  • scripts/capture-screenshots.js visits every project with Puppeteer, saves a compressed WebP screenshot to images/, and writes status.json (up/down, response time, capture date).
  • A weekly GitHub Action runs the capture and commits fresh screenshots + status, so the deck's "last scan" and LIVE indicators stay current.
  • index.html renders the deck from those files: a dark-only mission-control design (color-scheme: dark — there is no light theme), a header status strip, and per-project live badges.
npm install
npm run screenshots   # refresh images/*.webp and status.json locally