Staff augmentation dla Eversports: wzmacniamy 3 zespoły produktowe w rozbudowanym monorepo
About the project

Eversports to austriacka firma z Wiednia, lider zarządzania obiektami sportowymi w Europie. Jej ekosystem składa się z dwóch produktów: platformy rezerwacyjnej Eversports (marketplace z jogą, tenisem, boksem i dziesiątkami innych aktywności) oraz Eversports Manager panelu dla właścicieli studiów do zarządzania kalendarzem, trenerami, płatnościami i komunikacją z klientami. Firma zatrudnia około 100 osób.
Fundament techniczny produktu to monorepo z ponad 100 aplikacjami, rozwijane nieprzerwanie od ponad dekady. Wejście w system tej skali i dostarczanie nowych funkcjonalności bez zakłócania działających usług to zadanie dla doświadczonego zespołu.
Trudności z rekrutacją na lokalnym rynku wiedeńskim skłoniły Eversports do sięgnięcia po zewnętrzny zespół. Eversports trafiło do fireup.pro przez rekomendację - jedna z osób zaangażowanych we współpracę znała nas wcześniej z projektu 9am.health.

Biznesowe
- Przyspieszenie time-to-market skrócenie czasu wdrażania nowych funkcjonalności dla użytkowników i właścicieli studiów.
- Wzmocnienie trzech niezależnych zespołów produktowych osobno: strona użytkownika (booking), strona providera (zarządzanie studiem), domena finansowa.
- Utrzymanie ciągłości działania rozbudowa produktu bez ryzyka destabilizacji działającego systemu obsługującego tysiące użytkowników jednocześnie.
- Wsparcie ekspansji przygotowanie produktu na integrację z Matchi i obsługę kolejnych rynków europejskich.

Technologiczne
- Rozwój funkcjonalności po stronie użytkownika marketplace, widgety rezerwacyjne, checkout, prywatne sesje z trenerami.
- Rozwój funkcjonalności po stronie providera tagowanie użytkowników, zastępstwa trenerów, rezerwacja konkretnych miejsc na sali (spot booking), zarządzanie prywatnymi sesjami.
- Utrzymanie domeny finansowej obsługa systemów fakturowania, integracja z lokalnymi wymogami prawnymi (m.in. peppol), monitorowanie i naprawa transakcji w AWS Lambda.
- Stopniowe ograniczanie pracy w legacy gdzie to możliwe, nowe funkcje pisane są w aktualnym stacku (Next.js, TypeScript), z docelowym zamiarem przepisania starszych aplikacji.
From challenge
Key Challenges
Wejście w 10-letnie monorepo bez dokumentacji testów
Wejście w 10-letnie monorepo bez dokumentacji testów
System Eversports to monorepo z ponad 100 aplikacjami, z których część działa w technologiach, które były na topie dekadę temu: Sails.js, Razzle, Pug templates. Wiele starszych modułów nie posiada napisanych testów, co oznacza, że każda zmiana niesie ryzyko niezamierzonych skutków ubocznych. Wdrożenie wymaga czasu, dużej maszyny (projekt nie odpala się np. na Windowsie bez dualbootu z Linuksem) i przede wszystkim doświadczenia z technologiami, których dziś już się nie uczy na kursach.
Praca w środowisku, gdzie awaria widziana jest przez tysiące użytkowników
Praca w środowisku, gdzie awaria widziana jest przez tysiące użytkowników
Eversports to produkcyjny system działający non-stop, niedziałający slot rezerwacyjny oznacza realne straty dla studia i frustrację użytkownika. Każda zmiana w kodzie musi przejść przez cross-teamowe code review i jest zatwierdzana przez cały zespół, nie przez jedną osobę. Komunikacja i proaktywność to tu wymagania techniczne, nie "nice to have".
Niewidoczne błędy w starych systemach finansowych
Niewidoczne błędy w starych systemach finansowych
Część funkcji AWS Lambda obsługujących finalizację transakcji działała bez odpowiedniego monitoringu, błędy (np. przekroczenie limitu pamięci RAM) nie powodowały rzucenia wyjątku, lecz cichy brak potwierdzenia transakcji. Symptomy docierały dopiero przez zgłoszenia customer support. Naprawienie każdego przypadku wymaga ręcznego replay'u wiadomości z kolejki SQS - równolegle do realizacji bieżącego sprint goal.
Ograniczona skuteczność narzędzi AI w złożonym repozytorium
Ograniczona skuteczność narzędzi AI w złożonym repozytorium
Narzędzia AI (m.in. Claude Code) są pomocne, ale w bazie kodu tej skali nie zastąpią wiedzy architektonicznej. Bez wcześniejszego zrozumienia struktury projektu model generuje kod, który technicznie działa, lecz nie respektuje lokalnych praktyk i nie korzysta z istniejących abstrakcji. Każdy output z AI to minimum kilka godzin weryfikacji, poprawek i code review.
Kluczowe wymagania funkcjonalne i niefunkcjonalne

Spot booking - właściciel tworzy wizualny układ sali, a użytkownik wybiera konkretne miejsce przy rezerwacji, widząc dostępność w czasie rzeczywistym oraz zajęte miejsca znajomych. (np. konkretny rowerek na zajęciach spinningowych).

Prywatne sesje - możliwość wysłania zapytania o prywatną sesję z trenerem lub masażystą, płatności odroczone, zarządzanie sesjami (tworzenie, edytowanie, usuwanie) po stronie providera.

Tagowanie użytkowników - właściciel studia może oznaczać użytkowników tagami w celu segmentacji i targetowanej komunikacji.

Zastępstwa trenerów - (teacher substitution) prowadzący wysyła prośbę o zastępstwo, gdy nie może poprowadzić zajęć.

Widgety rezerwacyjne - embedowalne moduły (lista aktywności, newsletter, cennik) dostosowywane kolorystycznie, osadzane bezpośrednio na stronach studiów.

Integracja z agregatorami - dwukierunkowa synchronizacja rezerwacji z platformami zewnętrznymi (m.in. Clubpass): booking przez agregator automatycznie aktualizuje dostępność w Eversports Manager i odwrotnie.

Compliance finansowy - dostosowanie aplikacji fakturowej do wymogów lokalnych (peppol w Belgii, z planami na kolejne kraje UE).
Through the solution
Through the solution
Trzy niezależne zespoły, jedna platforma
fireup.pro dostarczyło trzech programistów, którzy dołączyli do istniejących lub nowo tworzonych zespołów produktowych po stronie Eversports. Każdy działa w innej domenie produktu:
Team Provider (zarządzanie studiem)
- Spot booking: implementacja edytora wizualnego planu sali, logiki przypisywania miejsc, obsługi miejsc priorytetowych dla klientów bezpośrednich oraz integracji z widokiem znajomych w aplikacji.
- Teacher substitution: mechanizm powiadomień i wniosków o zastępstwo dla prowadzących.
- Tagowanie użytkowników: system etykiet wspierający segmentację bazy klientów studia.
- Prywatne sesje: pełne zarządzanie sesjami po stronie providera (CRUD) oraz integracja z checkout po stronie użytkownika.
Team User (strona rezerwacyjna)
- Utrzymanie i rozwój marketplace - głównej aplikacji, przez którą użytkownicy przeglądają i rezerwują aktywności sportowe.
- Widget newslettera: formularz zbierania subskrybentów z Double Opt-In, dostosowywaniem brandingowym i zabezpieczeniem reCAPTCHA.
- Widgety rezerwacyjne embedowane na zewnętrznych stronach studiów.
- Strony profilowe providerów w ekosystemie Eversports.
- Obsługa procesu płatności (checkout) dla aktywności wymagających zmian w flow transakcyjnym.
Team Finance (domena finansowa)
- Utrzymanie i rozwój systemów finansowych rozproszonych po wielu aplikacjach w monorepo.
- Aplikacja fakturowa (invoicing) z integracją peppol (belgijski standard e-fakturowania), wymaganie compliance do końca 2025.
- Diagnostyka i naprawa transakcji w AWS Lambda: identyfikacja cichych błędów (OOM bez rzucania wyjątku), replay wiadomości z kolejki SQS, system dyżurów "sekretarza" do obsługi zgłoszeń z customer support.
- Dostosowywanie systemów finansowych do wymogów prawnych kolejnych krajów, w których Eversports rozszerza działalność.
Metodyka pracy
Wszystkie trzy zespoły pracują w 2-tygodniowych sprintach z cotygodniowym refinementem i retro co dwa tygodnie. Każdy team jest samoorganizującym się cross-funkcjonalnym zespołem: programista jest jednocześnie testerem i uczestnikiem code review. Code review między zespołami, programista z innego teamu sprawdza kod, zanim trafi na produkcję. Taki model wymaga od każdego członka szerokich kompetencji: fullstack, testowanie manualne, orientacja w AWS, proaktywna komunikacja.
To the success
Technological outcomes

Nowe funkcjonalności dostarczone na produkcję
Spot booking, teacher substitution, tagowanie użytkowników i moduł prywatnych sesji zostały wdrożone i działają dla użytkowników i providerów w produkcji.

Stabilizacja domeny finansowej
Zidentyfikowano i rozwiązano problem cichych błędów w AWS Lambda obsługującej finalizację transakcji.

Przygotowanie na compliance
Aplikacja fakturowa spełnia wymogi peppol dla rynku belgijskiego i jest architektonicznie przygotowana na kolejne kraje.

Przyspieszone tempo dostarczania
Od momentu dołączenia zespołu fireup.pro planowane jest sukcesywne przepisywanie starszych aplikacji na aktualny stack, prace idą sprawniej.
Korzyści biznesowe
Trudności rekrutacyjne na lokalnym rynku wiedeńskim przestały blokować development. Eversports dostało gotowy zespół i wróciło do tempa, w jakim chce dostarczać nowe funkcje.
Nowy dedykowany team finansowy (7 osób, w tym Robert z fireup.pro) działa od początku 2026 roku i przejmuje kolejne systemy.
Nowe funkcjonalności (spot booking, prywatne sesje, widget newslettera) bezpośrednio zwiększają wartość oferty studiów dla użytkowników końcowych.
Produkt przygotowany na integrację z Matchi i obsługę nowych rynków europejskich bez przerwy w dostarczaniu funkcjonalności dla obecnych.
Project team




Krystian
Senior Full-Stack Developer, Team Provider
Tech stack
Next.js

React

TypeScript

Razzle

Pug templates
Node.js

Nest.JS

Sails.js
AWS

peppol

Claude Code
Your success is our success
See how we can build a technological advantage for your company together.
We have a team that truly knows its stuff — we'll help you find a solution that works.
Conclusions & recommendations

Doświadczenie z wymagającym stackiem to kompetencja, nie bariera.
W projekcie z 10-letnim kodem produkcyjnym znajomość aktualnego stacku to za mało. Trzeba umieć czytać i bezpiecznie modyfikować Sails.js, Razzle czy Pug templates. To dziś egzotyka, ale dla Eversports wciąż działający fundament biznesu.

AI przyspiesza, ale wymaga architektonicznego kontekstu.
W monorepo tej skali narzędzia AI generują użyteczny punkt startowy, lecz bez wcześniejszego zrozumienia struktury projektu model dostaje zły kontekst i produkuje kod, który nie pasuje do systemu. Każdy output wymaga weryfikacji.
Ciche błędy są groźniejsze niż jawne wyjątki.
Lambda, która nie rzuca wyjątku, lecz milczy. To ryzyko niewidoczne w standardowym monitoringu. Proaktywna obserwacja i sprawny system reagowania są w domenach finansowych krytyczne.
Samoorganizujący się fullstack team działa, ale tylko z właściwymi ludźmi.
Model, w którym każdy developer jest jednocześnie testerem i recenzentem kodu z innego teamu, wymaga szerokiego zakresu kompetencji i kultury proaktywnej komunikacji.