Dhruvraj Singh Shekhawat

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
Application window outline.
Concept schematic drawn for this page, not a screenshot.

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

  1. ContentCurated JSON case studies and HTML posts in the repository
  2. GitHub serviceServer-side API client with in-memory cache, failure backoff and snapshot fallback
  3. PagesJinja templates, cached at the CDN; no visitor-specific data in HTML
  4. Interaction APISame-origin JSON endpoints with validation and rate limits
  5. 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.

1000 characters left. Plain text; links are allowed but limited.

Loading comments…