← Back to web projects
Web Development • WebGL • Sports Club

ACS Nedi Junior

ACS Nedi Junior website
Role
Design & Development
Type
Sports Club Website
Year
2026
Platform
Responsive Web, WebGL
01Overview

A night match, told in one scroll.

ACS Nedi Junior is a football club for children aged 4 to 12 in Bucureștii Noi and Corbeanca, Romania. Its redesigned site keeps the club’s own Romanian copy, crest and sponsors, and stages them as a night match under floodlights, broken up by white daylight pages that slide over it like sheets.

One WebGL stage of about 20,000 particles carries the story from chapter to chapter: a ball, a waving flag, dust, a star and two pitches. For the age groups a real-time 3D stadium takes over. The camera dives in from straight overhead to grass level and dribbles up the pitch while the age groups wipe in like broadcast graphics. It ends on a scripted goal: a wind-up, a curling shot and the camera riding the ball into the net, which balloons and ripples, then confetti cannons, spark fountains, fireworks and GOL! running round the LED ring.

The club’s photos run along a curved WebGL strip that drags with inertia and opens into a lightbox. Reduced motion gets a calmer version, and browsers without WebGL get the full static page, with a real image grid in place of the strip.

DeliverablesFull redesign, particle stage, 3D stadium and goal, photo strip and lightbox, parent review form, no-WebGL fallback
AudienceParents looking for a football club for children aged 4 to 12
Stackthree.js • GLSL • Lenis • Vanilla JS
02

Design System

Color

Night & Crest Gold
#06102ENight
#0B1A4ANavy
#F5A524Gold
#FFC861Gold Light
Daylight & Ink
#F4F7FCChalk
#F4F6F9Paper
#0A1638Ink

Typography

Archivo · Expanded Italic, Hero Title
ACS Nedi Junior
Black 900 · 125%
Archivo · Expanded, Headings & Labels
Despre noi: mai mult decât fotbal
Bold 750 · 112% ExtraBold 820 · 116% Brand 800 · 118%
Archivo · Condensed, Age Numbers
4–6  7–9  10–12
Black 900 · 62%
Archivo · Text
Creștem caractere. Formăm echipe.
Regular 400 SemiBold 600

Tech Stack

three.js r170
Custom GLSL Shaders
Lenis
Vanilla ES Modules
Import Maps, No Build
CSS @property
IntersectionObserver
Netlify Forms
03

Key Features

A Ball You Can Kick

A cel-shaded 3D match ball with procedural wear and the club crest printed on it. The pointer kicks it, and between chapters it dissolves into particles.

One Stage, Many Shapes

About 20,000 particles morph, each on its own stagger, from ball to flag to dust, star and pitches. Every shape is placed from a slot in the layout, so the WebGL and the page never drift apart.

A Stadium Built From Scroll

A superellipse bowl, a crowd of points doing the Mexican wave with phone flashes, an LED ring, floodlights with light cones, grass blades that wrap around the camera and chalk lines that stay crisp at grass level.

The Goal

The net is a diamond-mesh shader on a spring-driven membrane tied to the frame: the ball throws it back and ripples run out from the impact. The goal moments run in real seconds, so they play out even if the scroll stops.

A Celebration in Club Colours

Confetti cannons, spark fountains and looping fireworks in gold and white, drawn entirely in shaders. The stadium keeps to the crest’s dark blue, gold and white throughout.

Pages Like Sheets

White sections slide on and off the night stadium like sheets of paper, each clipped to its own section, while the theme colours ease between night and day through CSS @property tokens.

A Photo Strip on a Curve

The gallery is a WebGL strip on a bent cylinder that drags with inertia. Ray-cylinder picking opens a photo in the lightbox, and every photo also has a keyboard button.

Pitch-Side Sponsors

Sponsor logos are advertising boards that flip up from the touchline with a floodlight glint.

Two Locations, One Pass

The club’s two grounds are two particle pitches, with a ball passed between them along a gold arc above the maps.

Works Without WebGL

Reduced motion support, visible focus, a keyboard-reachable gallery, and a complete static page for devices without WebGL.

04

Page Architecture

HR
Hero
Night: the 3D match ball beside the crest and title; the brand moves into the nav as the page scrolls
ST
Statement
One sentence whose words light up with the scroll over a particle flag, with a gold underline on “mult mai mult”
DN
Despre noi (About)
The first white page: the club’s story, a team photo and three values
GR
Grupe (Age Groups)
The 3D stadium: the dive, three age cards, the training panel and the goal
GA
Galerie (Gallery)
A white page that slides up over the celebration, with the curved photo strip and a lightbox
SP
Sponsori (Sponsors)
Night: six pitch-side boards
RE
Recenzii (Reviews)
White: parents’ reviews as cards, a particle star and an anonymous review form
LO
Locații (Locations)
Night: two particle pitches over the two grounds’ maps and directions
CT
Contact & Footer
Phones, Instagram and Facebook as the ball returns, then the crest and the footer credit
05

Screenshots

Click to enlarge

Every scene follows the scroll, so these are frames from one pass down the page.

Interested in working together?

Get in Touch →