Exit 1Test track
This portfolio
Flask site with a driving interface
The site you are on: a Flask application with server-side GitHub integration, a comment and like system, privacy-preserving visit counting and a canvas driving interface.
- Status
- In use
- Categories
- Software
- Built with
- Python, Flask, PostgreSQL, JavaScript, HTML5 Canvas, Vercel
views, counted on this site's server
Problem
The previous version of this site was a set of static pages centred on anime, with no project data, no way for visitors to respond, and about 1.4 MB of images on the home page.
Solution
A Flask application that renders cacheable pages, pulls repository data from the GitHub API on the server with a committed fallback snapshot, and stores comments, likes and visit counts in Postgres behind a small JSON API.
Navigation is a route with eight stops. On the home page a canvas road turns that route into overhead signs; everywhere else it is an ordinary accessible menu.
Architecture
- ContentCurated JSON case studies and HTML posts in the repository
- GitHub serviceServer-side API client with in-memory cache, failure backoff and snapshot fallback
- PagesJinja templates, cached at the CDN; no visitor-specific data in HTML
- Interaction APISame-origin JSON endpoints with validation and rate limits
- StoragePostgres in production, SQLite locally, one portable schema
Features
- Comments, likes and visit counts stored server-side and starting from zero
- Anonymous hashed visitor identity; no IP addresses stored
- Strict content security policy with no inline scripts or styles
- Driving navigation that pauses off-screen and respects reduced motion
Sources: This repository
Comments
Questions about the design or ideas for the next iteration are welcome.
Loading comments…