Google Ads rebuilt around enquiries rather than clicks, SEO on Squarespace.
Under the hood
Search-term audit: eight of ten measured conversions came from people typing the school's own name. Generic terms produced none.
Three campaigns, one per intent, exclusion lists of 165 competitor names and other towns, a cost-per-click ceiling instead of automated bidding on too little data.
Measured
Clicks costing eight times the average stopped the day the ceiling went in. Cost per enquiry on the brand campaign is a fifth of the course campaign's.
Two of six calls from ads went unanswered in working hours, and the report says so out loud.
What I recommended
More budget on the campaign that loses half its impressions to budget, not on the one that buys clicks.
A 3D configurator for the Linea Base reception counter: finishes, glass, logo, height and accessories change on screen as the customer chooses.
Under the hood
A live three.js scene with soft shadows and ambient occlusion, plus a pre-rendered mode for computers without a graphics card.
Built from the client's 2D renders, with no 3D source files, and packaged as a WordPress plugin.
VoltGo
Electric vehicle rental marketplace
Catalogue work on a custom CMS: vehicle versions, pricing and photos for rental stations.
Under the hood
Seventeen vehicle versions with parameters, descriptions and 82 photos loaded into a CMS that has no import and no API, through scripted browser automation with a read-back after every save.
Hand-written HTML, CSS and JavaScript, no framework and no builder: an endless field of tiles in perspective, a loader in fifteen languages, five language versions and charts that draw themselves.
Under the hood
Three files and one animation library; everything else is written by hand, which is why it can look like this and still load fast.
Static hosting: nothing to update, nothing to break, nothing to pay for.