Future Roadmap
This document outlines suggested technical improvements and refactoring goals for future maintainers.
Since the site operates on a $0 budget, these improvements are aimed at increasing performance, stability, and developer experience without introducing cloud costs.
Phase 1: Stability & Technical Debt
- Automated Content Validation
- Write a simple GitHub Actions Python/Ruby script to validate that all images in
assets/images/faculty_imgs/have a corresponding entry infaculty.json, and delete unused ones automatically.
- Write a simple GitHub Actions Python/Ruby script to validate that all images in
Phase 2: Architecture Upgrades
- Implement a Proxy Server (Cloudflare Workers)
- Problem: Client-side API calls to Google Drive can exhaust quotas if too many students use the site simultaneously.
- Solution: Route
fetch()requests through a Cloudflare Worker (Free Tier). The worker can cache the Google API JSON response globally for 5 minutes, ensuring that Google’s servers are only hit once every 5 minutes, regardless of how many students are online.
- TypeScript Migration
- Problem: Because
window.CONFIGis injected at runtime, typos in the YAML file cause silent undefined errors in the JavaScript. - Solution: Convert
.jsfiles to.tsand write JSDoc interfaces matchingsite_config.ymlto catch errors at compile time.
- Problem: Because
Phase 3: UI/UX Enhancements
- Progressive Web App (PWA)
- Add a
manifest.jsonand a Service Worker to allow students to install the website as an app on their phones. - Cache static assets (CSS, logos) so the site loads instantly on mobile networks.
- Add a
- Dark Mode
- Implement a CSS variable (
var(--bg-color)) driven dark mode toggle, respectingprefers-color-scheme.
- Implement a CSS variable (