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

O projekcie

Klient:

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.

Cel projektu:
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.
      Od wyzwania

      Kluczowe wyzwania

      1

      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.

      2

      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".

      3

      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.

      4

      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).

      Przez rozwiązanie

      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.

          Po sukces

          Efekty technologiczne

          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.


          Zespół projektowy
          Abstract background
          Krystian
          Maksymilian
          Robert

          Krystian

          Senior Full-Stack Developer, Team Provider

          Odpowiedzialny za funkcjonalności platformy Eversports Manager: spot booking, teacher substitution, tagowanie użytkowników, prywatne sesje po stronie providera. Pracuje w technologiach wymagających zaawansowanego doświadczenia (Sails.js, Pug) oraz nowoczesnych (TypeScript, Next.js).

          Tech stack

          Next.js

          React

          TypeScript

          Razzle

          Pug templates

          Node.js

          Nest.JS

          Sails.js

          AWS

          peppol

          Claude Code

          Twoja sukces to nasz sukces!

          Zobacz, jak możemy wspólnie zbudować technologiczną przewagę dla Twojej firmy

          Umów się na konsultację!

          Mamy zespół, który naprawdę zna się na rzeczy — pomożemy Ci znaleźć rozwiązanie, które działa.

          Wnioski i rekomendacje

          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.

          Background

          Czas na Twój projekt!

          Przekształć idee w rzeczywiste rozwiązanie i skontaktuj się z nami.

          Twoja wizja, nasza realizacja
          Napisz, omówimy szczegóły.

          Wyrażam zgodę na przetwarzanie moich danych osobowych przez Fire ...