About this site.
Static HTML, CSS, JavaScript, and a Python build script.
Build and hosting
A Python build script converts Markdown in content/notes/ and content/projects/ into HTML pages. It also generates the RSS feed and sitemap and copies assets into dist/. Vercel builds and deploys the site from GitHub.
Rendering and interaction
The hero projects a rotating 3D torus onto a fixed character grid using the Canvas API. Dragging changes its orientation. Pointer movement changes the dithering, and clicks generate radial waves. The footer uses the same renderer, with a circular hover reveal for the WALL-E ASCII artwork. Background characters fade around visible text.
The desk supports draggable notes and an iPod-style SoundCloud player. Its drawing canvas has pen, falling-sand, and Conway’s Game of Life modes. The sand simulation uses a fixed timestep. Note text is rasterized from Kalam and rendered as pixels.
The player loads SoundCloud when used. The visualizer samples the track’s saved amplitude envelope at the playback position; it does not analyze live audio frequencies. Shuffle plays through the track list before repeating. Track availability, previews, and ads are controlled by SoundCloud and the artists.
Storage
Theme preferences, drawings, simulation state, and object positions are saved in localStorage. Drawings are not uploaded. Clearing the drawing surface leaves object positions intact. Published notes and projects come from the repository’s Markdown files.
The visit counter uses a Python Vercel function and Upstash Redis. It counts accepted homepage visits, not unique visitors. Short-lived hashed identifiers limit repeated requests; the counter database does not store raw IP addresses. Failed requests display “Unavailable.”
Type and credits
The themes use black or forest-green backgrounds with muted green, warm white, and brown. Pixel text uses Departure Mono by Helena Zhang. Notes use Kalam by Indian Type Foundry. Both are licensed under the SIL Open Font License: Departure Mono license and Kalam license. Large headings use Arial; body text uses Verdana with system fallbacks.
The flower is retained from the previous site. Dither interactions were informed by Purdue Hackers and its webring. Rendering and artwork are implemented separately. WALL-E belongs to Pixar/Disney.
Site button
An 88 × 31 button for linking to this site. The image can also be hosted locally.
<a href="https://lucasflowers.net"><img src="https://lucasflowers.net/assets/site-button.svg" width="88" height="31" alt="Lucas Flowers"></a>
Source
Source code and version history · High-school project archive