Przejdź do treści głównej
Mateusz Miszczak

Case Studies

Case Studies

Wybrane obszary produkcyjne, które realizowałem w aplikacjach fintechowych.

  1. 01Realtime · Fintech

    Interfejsy fintechowe w czasie rzeczywistym

    Frontend Engineer
    Partner panel
    Fintech
    PROBLEM

    Wewnętrzny panel administracyjny nie posiadał spójnego widoku kont klienta. Dane portfela, ceny assetów i historia transakcji były rozproszone po oddzielnych ekranach bez możliwości nawigacji między poziomami lub inicjowania transakcji bezpośrednio z widoku portfela.

    PODEJŚCIE

    Zbudowałem wielopoziomowy widok portfela z animowanymi drawerami kont, panelami szczegółów assetów z ceną i historią transakcji oraz tabelami transakcji z filtrowaniem po typie. Wartości portfela, ceny assetów i zawartości tabel są synchronizowane przez WebSockety, dzięki czemu dane zawsze odzwierciedlają aktualny stan rynku.

    REZULTAT

    Użytkownicy mogą teraz nawigować od pełnego portfela klienta do konkretnego aktywa i uruchamiać przepływy kupna lub sprzedaży bezpośrednio z panelu szczegółów, z wstępnie uzupełnionym walletem i aktywem. Wszystkie dane aktualizują się w czasie rzeczywistym bez konieczności ręcznego odświeżania.

    • React
    • TypeScript
    • Redux Toolkit
    • React Query
    • REST API
    • WebSockets
  2. 02Financial Flows

    Wieloetapowe przepływy finansowe

    Frontend Engineer
    Trading
    SEPA
    PROBLEM

    Użytkownicy potrzebowali możliwości wykonywania transakcji na aktywach i wypłat bankowych bezpośrednio w aplikacji. Oba przepływy dzielą wzorce UI na poziomie powierzchni, ale mają zupełnie inną logikę biznesową, reguły walidacji, modele danych i stany operacji, co czyniło wspólną implementację niepraktyczną.

    PODEJŚCIE

    Zaprojektowałem i zbudowałem dwa niezależne trzyetapowe przepływy: modal handlu aktywami (kupno/sprzedaż) oraz system wypłat bankowych, każdy z własnymi schematami walidacji Zod, maszyną stanów i obsługą błędów. Oba reagują na rzeczywiste potwierdzenia backendu przez WebSockety, a nie tylko na odpowiedź na pierwsze żądanie.

    REZULTAT

    Oba przepływy poprawnie obsługują przypadki brzegowe: nieudane transakcje, stany pośrednie i przerwy w połączeniu sieciowym, wszystkie sterowane przez zdarzenia WebSocket. Celowe rozdzielenie utrzymuje każdy przepływ niezależnie utrzymywalnym i łatwym do testowania.

    • React
    • TypeScript
    • React Query
    • REST API
    • WebSockets
    • Zod
  3. 03Admin Systems

    Systemy administracyjne i onboarding klientów

    Frontend Engineer
    Admin panel
    Partner portal
    PROBLEM

    Operacje administracyjne wymagały złożonych wieloetapowych formularzy z wymaganiami zgodności regulacyjnej. Wyszukiwanie w dużych zbiorach danych użytkowników generowało nadmierną liczbę wywołań API ze względu na brak strategii debouncingu.

    PODEJŚCIE

    Zaimplementowałem pełny cykl życia konta użytkownika, obejmujący zmiany statusu, kontrolę dostępu, zamykanie kont i odzyskiwanie dostępu do konta. W onboardingu klientów zbudowałem wieloetapowe formularze walidowane przez Zod i zintegrowałem ustrukturyzowane dane zgodności. Dodałem debouncing 500 ms do pola wyszukiwania, aby ograniczyć redundantne wywołania API.

    REZULTAT

    Debouncing wyszukiwania znacząco zmniejszył obciążenie API podczas wyszukiwania użytkowników. Wieloetapowe formularze onboardingu z walidacją Zod zapobiegają nieprawidłowym zgłoszeniom i zapewniają jasną informację zwrotną na każdym etapie. Pełny cykl życia konta jest objęty, w tym stany brzegowe takie jak odzyskiwanie dostępu do konta.

    • React
    • TypeScript
    • Redux Toolkit
    • REST API
    • WebSockets
    • Zod
  4. 04Tax & Compliance

    Zarządzanie podatkami i przepływy dokumentów

    Frontend Engineer
    Tax
    Compliance
    PROBLEM

    Klienci potrzebowali przeglądania historii podatkowej, wyboru roku podatkowego i zarządzania wnioskami podatkowymi, ale UI nie miało mechanizmu synchronizacji ze stanami operacji po stronie backendu podczas wieloetapowych przepływów. Złożenie wniosku nie dawało dokładnej informacji o jego powodzeniu.

    PODEJŚCIE

    Zaimplementowałem widoki historii podatkowej klienta, wybór roku podatkowego, tabele dokumentów podatkowych oraz pełne przepływy tworzenia i edycji wniosków. Dane i stany UI są sterowane odpowiedziami WebSocket, dzięki czemu każdy widok dokładnie odzwierciedla aktualny stan operacji po stronie backendu.

    REZULTAT

    Przepływ wniosków podatkowych obsługuje wszystkie stany pośrednie od złożenia do potwierdzenia przez backend bez odświeżania strony. Aktualizacje sterowane przez WebSocket wyeliminowały opóźnienie między działaniem użytkownika a odpowiedzią UI, dając klientom dokładny status na każdym etapie.

    • React
    • TypeScript
    • Redux Toolkit
    • React Query
    • WebSockets
    • Zod
  5. 05Marketing & CMS

    Wielojęzyczne landing page'e i strony CMS

    Frontend Engineer
    Next.js
    Strapi
    Turborepo
    SEO
    Analytics
    PROBLEM

    Dwa wielojęzyczne serwisy marketingowe wymagały utrzymania i rozwijania w ramach wspólnego ekosystemu Turborepo. Oba korzystały z treści zarządzanych przez CMS, cookie consent, Google Analytics, responsywnych układów i spójnej struktury we wszystkich lokalizacjach. Jeden serwis należało zbudować od podstaw, a drugi wymagał ciągłego rozwoju bez duplikowania wspólnej logiki frontendowej.

    PODEJŚCIE

    Zbudowałem jeden wielojęzyczny serwis marketingowy w Next.js od podstaw i kontynuowałem rozwijanie drugiego istniejącego serwisu w tym samym ekosystemie Turborepo. Pracowałem z treścią zarządzaną przez CMS ze Strapi, implementując responsywne sekcje landing page, podstrony, animowane układy i rendering frontendu uwzględniający lokalizację. Cookie consent i Google Analytics wyodrębniłem do wspólnej paczki Turborepo używanej przez obie aplikacje przez jeden import i obiekt konfiguracyjny. Skupiłem się na czystej architekturze informacji, semantycznym znaczniku, reużywalnych sekcjach, responsywności, utrzymywalnych komponentach i produkcyjnej implementacji.

    REZULTAT

    Oba serwisy marketingowe współdzielą warstwę cookie i analityki bez zduplikowanej logiki consent w monorepo. Jeden serwis dostarczono od podstaw z wieloma podstronami, animowanymi sekcjami i wielojęzycznymi treściami zarządzanymi przez CMS, podczas gdy drugi jest nadal rozwijany w oparciu o tę samą wspólną architekturę frontendową. Setup ułatwia dodawanie nowych sekcji, aktualizowanie treści CMS we wszystkich lokalizacjach i utrzymanie spójnych, wydajnych i łatwych w utrzymaniu stron marketingowych.

    • React
    • Next.js
    • TypeScript
    • Strapi CMS
    • Turborepo
    • Tailwind CSS
    • Framer Motion
    • Google Analytics
    • Cookie Consent
    • SEO
    • Responsive UI
Case Studies | Mateusz Miszczak