The single most frequent topic. Hand-crafted single-page websites,
Bootstrap 5 layouts, floating-label forms, responsive grids, padding/margin
input components, custom themes, and Google Fonts pairings. Many chats
generated complete index.html files with inline CSS for
embedding into a CMS.
Vanilla JS dominates: animation loaders, canvas particle effects, interactive timelines, quizzes, memory games, jQuery DataTables fixes, countdown widgets, and custom WordPress block JS. Frameworks (React, Vue) are evaluated more than used in production.
Plugin development (Setlist Manager, Vanta animations, Porsche timeline, confetti effects), Gutenberg custom blocks, theme tweaks, auto-login & one-click installer scripts, MySQL setup, brute-force protection, SMTP plugins, IIS hosting, and a recurring debate of WordPress vs. a hand-built CMS.
The most personal thread: maintaining a Classic ASP codebase
(QuickerSite/QS44), then transpiling/replacing it with a custom
Python-based runtime — first called ASP4, later
renamed to ASPPY / ASP.py. Includes VBScript reserved
words, Now() compilation issues, file uploads,
Application & Session objects, web.config
tuning, and trademark/legal naming questions.
Color-palette generation, hover effects, scroll & AOS animations, gradient builders, glassmorphism layouts, smooth scrolling, accessibility (A11y) compliance and motion design. Heavy use of canvas-based background animations as a signature touch.
Bulk JPG resizing in PHP, recursive thumbnail generators, Pillow pipelines, SVG icon design (e.g. FlowDent logo), and HTML canvas animations (snow, particles, gradients). Frequent debugging of canvas gradient color errors.
Bachelor-level teaching at a hogeschool: prompt builders for students, a complete Vibe Coding course outline, WordPress curriculum, interactive teaching widgets (memory game, quiz, timeline of Leuven), measuring student activity through WordPress DBs.
SMTP plugin recommendations, mail-server config scripts, AJAX contact forms hardened against spam & brute force (honeypot, rate limiting), web.config bot protection, and analysis of common attack query strings.
PHP CMS prototype (phpcms.quickersite.com), Markov-model database
training, recursive image renamers, php.ini tweaks, GD
library issues, dynamic DNS scripts (DuckDNS), and a Classic ASP →
PHP folder converter.
Songsterr API integrations, JSON-driven prompt builders, MIME types for the ASP4 webserver, RESTful patterns, RSS feeds for niche audiences, OpenCode API key management for Claude/Google models, and code-ownership questions when using paid APIs.
MySQL my.ini tuning, WordPress DB connections, Classic
ASP database connection strings, GUI tools for SQLite, MongoDB
compatibility checks, an MS Access → SQLite migration tool,
and CSV generators (1000 dummy records of dentist contacts).
EC2 sizing (t2.nano vs. t3.2xlarge vs. t4g.nano), Windows on AWS performance bursting, Linux 2023 install scripts, IIS reverse proxies, PythonAnywhere, Cloudflare/IIS quirks, local hosting on a Windows PC, and a recurring AWS-vs-PythonAnywhere cost analysis.
Cloning & updating GitHub repos on EC2, file permission fixes via SSH, GitHub Actions tutorials for a solo dev, preventing GitHub from deleting empty directories, merge conflicts on local DB files, and one-shot bash installers.
WordPress brute-force protection, bcrypt performance tuning in ASP4, GDPR/AVG compliance, sanitisation in form handlers, undocumented VBScript functions for hardening, and a robust web.config-based bot/traffic filter.
Almost entirely in service of ASP.py: building a
Classic ASP/VBScript-to-Python transpiler, implementing
Response.Write & Response.Flush,
Randomize(), ADO recordset emulation,
case-insensitive function lookup, fpdf2 install on Linux, and dual
80/443 port serving.
Comparing Lovable / Bolt / Cursor / Replit, GenAI build-it-yourself research, OpenCode.ai setup with Claude & Google models, GPT 5.2 quota issues, Qwen3-Coder install, prompt-engineering reviews, AI agents in the legal practice, and a full lecture series on Vibe Coding.
The youngest theme — a vertical SaaS for Belgian dental / orthodontic practices: RIZIV/INAMI fee data, eHealth & MyCareNet integration, GDPR & data-processor agreements, dental numbering-system infographics, dentist news APIs/RSS, and a mini-WordPress-style website builder for FlowDent.be.
Bootstrap-based dashboards, stand-alone HTML widgets without a database, simple PHP/JS charting for the QS CMS admin, and a few embedded data-summary blocks.
Smaller side-quests: turning a website into an installable app
across platforms (PWA), and generating PDFs server-side with fpdf2
and headless Chrome (including print-color-adjust: exact
for backgrounds).
Roughly one in three tech chats touches this single project: a
from-scratch Python runtime that parses and executes legacy Classic
ASP / VBScript code. Across early 2026 the conversations cover the
full lifecycle — language parsing & reserved-word lists, runtime
objects (Application, Session,
Response, Request, Server.MapPath),
ADO & recordset emulation, file uploads, MIME types, performance
tuning of Response.Write and bcrypt, packaging as a
pip-installable runtime, GitHub repo & CI/CD, AWS Linux 2023
install scripts, even trademark research on the
naming "ASP 4.0" → "ASPPY". A complete, end-to-end
AI-assisted modernization effort.
Low-volume usage. Mostly WordPress how-tos (Gutenberg blocks, Getwid, updates), Classic ASP / QuickerSite content rewrites, and a CSS box-model refresher. AI is used as a reference manual rather than a builder.
Volume jumps 10×. AI now writes the code. UCLL teaching prompts, Bootstrap single-page apps, canvas animations, custom WordPress plugins (Setlist Manager, Vanta animations), and the first experiments with hardening forms against spam.
Peak activity (~250 chats). The Classic-ASP-to-Python transpiler project takes over: language parsing, runtime objects, AWS Linux install scripts, MySQL/SQLite tuning, OpenCode.ai integration, and converting websites to installable PWAs.
Focus shifts from runtime internals to a real product: FlowDent.be — a SaaS for Belgian dental practices. RIZIV tariffs, eHealth, MyCareNet, GDPR, mini-CMS, and a full Vibe Coding course based on the lessons learned.
The signature deliverable: one index.html
with inline CSS & JS, often Bootstrap via CDN, no build step,
ready to paste into a CMS or LMS.
Prompts switch language fluidly. Outputs frequently bilingual (NL/FR for FlowDent, NL for teaching, EN for blog posts and open-source READMEs).
Strong preference for vanilla web tech, CDN imports, lightweight hosting (PythonAnywhere, t-class EC2), and "no build step" solutions over heavy frameworks.
Average Gemini "session" contains ~3.4 prompts; Claude conversations average 14 messages. AI is used as a continuous pair-programmer, not a one-shot generator.
A consistent through-line: keep the writing experience of Classic ASP and pre-block WordPress, but back it with modern Python, modern hosting, and modern AI tooling.
Many builds double as teaching artefacts: superprompts, escape rooms, interactive timelines (history of Leuven), memory games and quizzes — all tuned for 18–20-year-old bachelor students.
Across 17 months and ~500 conversations, the work centres on three intertwined missions: keeping a Classic-ASP codebase alive by rebuilding it in Python (ASP4 / ASP.py), teaching modern web development to bachelor students with AI as the co-pilot, and turning that combined toolset into a vertical SaaS for Belgian dental practices (FlowDent) — all expressed as single-file HTML pages, lightweight Python services, and pragmatic Bootstrap-flavoured UI.