Files
ai-resume/content/products/l3/products-websitebuilder.md

3.1 KiB
Raw Blame History

id, area, level, title, claim, confidence, period, tech, metrics, artefacts, public, last_verified, tags
id area level title claim confidence period tech metrics artefacts public last_verified tags
products-websitebuilder products 3 Artefact — The site builder behind the signage A templated site builder and CMS with media editors — drawing · image · video · text animation · 3D import — that also produced the marketing sites and the social output. delivered 2014–
PHP
JavaScript
three.js
FFmpeg
ImageMagick
MySQL
label value
media editors in the product drawing · image · video · text animation · transitions · 3D import
type label url
repo Text-effects engine — easing functions and the timeline loop content/assets/code/02-js-easing-core.js
type label url
repo Media encoder — one GIF encode operation and its FFmpeg commands content/assets/code/03-php-encode-op.php
true 2026-10-28
products
cms
media
artefact

Status: delivered, retained. Retired as a general-purpose product; kept as the content engine for the signage.

What the artefact is

The templated builder: pick a template, build the site, publish it — with editors for drawing, images, video and text animation, video effects and transitions, 3D object import and text extrusion, plus document and office-format handling. Image animation is composed in JavaScript and HTML and rendered on Raspberry Pi hardware through Python. Around the site itself sat the commercial scaffolding a small business actually needs: shop, invoicing, room and event management, presentations, document management, client records and bulk email and SMS.

What it proves

Two things at once — depth in media pipelines (FFmpeg, ImageMagick, PDF and office formats, three.js) and the discipline of shipping a general product that strangers could operate without help.

Why these exhibits are good code

The animation engine evaluates a named easing function to give each letter its delay, so the spacing of an animation follows the same curve as its motion instead of a guessed linear stagger. Both directions build from one transform object, which is what stops the two halves of the same effect drifting apart over years of edits.

The media pipeline checks the real MIME type before it builds a command, so a wrong input returns a message instead of a half-written file. The GIF encode takes two passes — a palette from the clip, then frames mapped onto it — which is the difference between a GIF that holds its colour and one that does not.

Limits stated on the page

The PHP is 2014-era procedural code: global state, interpolated shell commands, and long functions. The exhibit is here for the operational judgement, not as a model of structure. The surface was too large for one person to support indefinitely; the plan recorded here is to strip it back to signage plus the content engine and stop selling the rest, which is a decision about focus rather than a claim of failure.

When it is delivered

Phase 7. Both code exhibits are published at content/assets/code/; a screen recording of the editors is still to come. Source: résumé (2014–2020 freelance) and evidence notes section 3.