Spilling coffee on keyboard
Arguing about fonts
Discovering a bug
Stack Overflow saves us
Client says 'make it pop'
Designer cries softly
Deploying on Friday
Welcome to the chaos

We recreated the dynamics of the game in an intuitive website, where the squad, the fixtures and the news come together in one place.

Client

Lokomotiv Sofia

Industry

Sports

Lokomotiv Sofia is a club with a history going back to 1929 and a crowd that lives every match. The site had to carry the same rhythm: news, squad and fixtures, but also a shop where fans pick up a season card or a shirt without leaving the home of the club.

Metrics
From static pages to a living club website

The old site was a set of hand maintained pages on a different domain. The new one is built on a structure where players, matches and news are separate content types, and season cards and fan products are sold online.

0

player profiles with number and position, instead of a list of names

0

matches entered with score, date and opponent

0

clubs from the league held in the site database

0

posts carried over from the old domain without loss

The Problem
A club with history since 1929 and a site that did not carry it

The old site displayed information but did not manage it. Everything went through manual page edits, and fans got lists of names instead of a living club.

The squad was a page, not data

The squad was a hand written list of names grouped by position. Every change in the team meant editing the page itself.

Matches did not exist as information

Fixtures and results were not structured, so the site could not show who plays whom, nor keep an archive.

The content lived on an old domain

The club presence online sat on fclokomotiv1929.com, separate from the name the club uses today.

The mobile experience was heavy

Images loaded all at once, with no lazy loading, which weighed the page down exactly where fans open it most.

Our approach
The club got a system, not just a new website

We built a structure where players, matches and opponents are data rather than text on a page. The club adds a new footballer or a result on its own and the site updates everywhere that information appears.

Custom content types for football

Players, matches and clubs live as separate records, with number, position, date and opponent. This was built for the club rather than taken off the plugin shelf.

A domain migration with nothing lost

We moved 321 posts to fclokomotivsofia.bg and kept redirects from the old address, so neither the links nor the search rankings were lost.

Shop and season cards inside the site

The fan shop and the season cards run inside the site, with online ordering and invoicing that meets Bulgarian requirements, instead of a phone call or a visit to the club.

A lighter page on the phone

Images load lazily and the catalogue has filters, so the site opens quickly where fans use it most.

The club got a system, not just a new website
Discovery
Who opens the club site, and why

The audience is not one group. Fans come right after a match for the result and the line up, during the week for news and interviews, and before a home game for the time, the stadium and tickets. Parents look for the Academy, while season card and shirt buyers want a short path to payment.

So we arranged the site around the three most frequent questions: what is the score, who is playing and when is the next match. Everything else, from the club history to the fan shop, sits around them rather than in front of them.

Stoyan Nikolov

Stoyan Nikolov

Personal info

Age47
LocationSofia, Bulgaria
EducationHigher
ProfessionTechnical manager

I watch every match. I want the result and the line up right after the final whistle, not after digging through the site.

I need a site that puts the fixtures and the result on the first screen, lets me order a season card without going to the club, and works quickly on my phone, at the stadium or on the move.

Problems

  • After a match, the result and the line up are hard to find quickly.
  • Information about home games is scattered across several places.
  • A season card is hard to buy without going through the club office.
  • News items blur together and it is hard to tell what is new.
  • The squad changes, while the old pages stay as they were.

Goals

  • See the result and the line up right after the match.
  • Know when and where the next fixture is, without asking in the group chat.
  • Order a season card online, with no phone calls or trips to the club.
  • Follow the club from his phone, between work and the game.
Mobile-First Optimization
A site that opens in the stands

Most fans arrive from a phone, often on a weak connection at the ground or on the move. So the mobile version is not a shrunken copy of the desktop but a separate hierarchy, where the result, the line up and the next fixture come first.

One handed navigation

Fixtures, squad and news are within thumb reach, with no digging through a long menu.

Generous touch targets

Links and buttons carry enough area not to be missed twice while scrolling on the move.

Lazy loaded imagery

Images are fetched as they come into view. On the squad page that is 36 of 41 images, so the page starts long before everything has downloaded.

A short path to the season card

The request is made from the phone, with no going back to a computer and no call to the club.

One site, not a separate mobile version

The content is the same and the layout rearranges itself to the screen. The club maintains one place rather than two.

A site that opens in the stands

A match ends in the ninetieth minute, a club does not. We built a site where Lokomotiv Sofia lives between games as well: with yesterday result, tomorrow line up and the supporters who come back every day.

Fan shop
A shop the club runs on its own

The fan shop is part of the same site rather than a separate system. Clothing items are variable products, so one item carries its sizes, its stock and its price instead of being duplicated across five separate pages.

Stock, prices and photography are managed from the club admin. We put the structure in place, and the people at the club upload the new collection themselves, without calling us.

Variable products

Each shirt is a single record with several sizes. The price shows as a range until the buyer picks one.

Filters over the catalogue

The catalogue narrows by category and product type, without reloading the page.

Cart in a side drawer

Adding an item does not take the buyer away. The cart opens over the page and they carry on from where they were.

Dual pricing

Every price is written in euro and in leva, automatically, on the product card and in the cart.

A shop the club runs on its own
Interface design
Black, red and plenty of air

The visual language sits directly on the club colours. Black carries the background, red is kept for accents, and the space between them lets the match photography breathe. Headlines use Molot, a typeface with character that the club already uses in its communication.

The rule was simple: the interface does not compete with the content. The frame from the match, the face of the player and the score lead, while the typography and the elements around them stay out of the way.

Black, red and plenty of air

See it live

The project is online and running. Open it and see how it holds up in the real world, not just in screenshots.

Open the site · fclokomotivsofia.bg · Open the site · fclokomotivsofia.bg ·

Open the site · fclokomotivsofia.bg · Open the site · fclokomotivsofia.bg ·

3D Element 1
3D Element 1
3D Element 1