Tony's
Chocolonely
Front‑end development for Tony's Chocolonely's custom website and Chocoshop rebuild, using a standalone Node.js application to produce highly animated and dynamic templates for integration into Laravel.

In Detail
New vs. Old
The previous Tony's website had served the company well, but by 2017 it was showing its age. It was slow to load, non‑responsive, and based on a simple WordPress theme that no longer matched the scale, personality, or customer expectations of the brand.
The replacement site introduced a more flexible, animated front‑end built around Tony's distinctive visual identity, mission‑led content, and growing e‑commerce requirements.


A Colourful, Animated Experience
The website was designed around a three‑panel structure: mission content to the left in red, the Chocoshop to the right in white, and the main homepage in blue. Page transitions helped create the feeling of moving laterally between those areas, supported by large arrow‑based navigation patterns.
Beyond the page transitions, GSAP animation brought movement into the wider interface, with scroll and mouse interactions used to make the site feel closer to Tony's physical brand world.
The Chocoshop
The Chocoshop balanced product discovery with Tony's wider brand messaging. Product listing and product detail pages used a cleaner white background so the colour and irregular shape of the chocolate bars could carry the visual identity.
Product listing pages included a distinctive product spinner, followed by a more conventional product grid, filters, and the ability to add items to basket directly from the listing page.


Products in Detail
Product detail pages were responsively optimised around product imagery, bar size, purchase options, and brand messaging, keeping the e‑commerce journey clear without losing Tony's campaign‑led tone.


Fun Alongside a Serious Message
The 'Our Mission' page gave visitors a deeper view of Tony's work against exploitation in the cocoa industry. The challenge was to support a serious, heavy‑hitting message without losing the brand's playful character, using JavaScript‑driven stop‑frame animation to add movement and emphasis.
