Frontend Developer (React / TypeScript)
🐙 Cześć!
Jesteśmy niewielką, ale dynamicznie rosnącą firmą 💡 z innowacyjnym produktem dla e-commerce w modelu SaaS 🛍️. Data Octopus to platforma do zarządzania danymi o klientach i produktach dla e-commerce. Umożliwia zespołom odpowiedzialnym za digital marketing szybsze i skuteczniejsze przygotowywanie danych dla platform reklamowych oraz osiąganie lepszych wyników na poziomie przychodów oraz zysku. Wśród naszych klientów znajdziesz liderów swoich kategorii oraz szybko rozwijające się sklepy 🏆, takie jak X-Kom, Gomez, Selsey, Pitbull, R-gol. Nasza aplikacja w całości działa w Google Cloud ☁️, a jej natywną hurtownią danych jest Google BigQuery 🔄.
✨ Co nas cechuje i dlaczego warto?
Nowoczesność: Pracujemy na najnowszych rozwiązaniach w ramach Google Cloud Platform.
Kultura pracy zorientowana na rezultaty i wartość dla klienta: Współtworzysz produkt wykorzystywany przez liderów e-commerce. Będziesz blisko biznesu i kreacji wartości oraz feedbacku z rynku.
Elastyczność: Praca w pełni zdalna (full remote) — pracujesz skąd Ci wygodnie.
Profesjonalny onboarding: Skuteczne przygotowanie do objęcia roli i płynnego wejścia w obowiązki.
Sprzęt i benefity: Dofinansowanie karty Multisport i prywatnej opieki medycznej (LuxMed), wysokiej jakości sprzęt.
Wiedza, eventy: Udział w eventach organizowanych przez partnerów takich jak Google Cloud.
🧑🏭 Kogo szukamy?
W Data Octopus budujemy analityczny "mózg" dla e-commerce — a frontend to miejsce, w którym nasi klienci realnie z niego korzystają. Tworzymy aplikację AI-native: użytkownik nie tylko ogląda dashboardy, ale wprost rozmawia ze swoimi danymi — pyta o insighty, prosi o wyjaśnienie wyników, zarządza swoim systemem reklamowym dla e-commerce. To nie jest doklejanie przycisków do API — to zaawansowany, oparty na danych interfejs SaaS (tabele, wykresy, dashboardy, komponenty prezentujące dane), który wprost wpływa na zysk naszych klientów.
Szukamy inżyniera frontendu, a nie tylko programisty — osoby samodzielnej i biorącej odpowiedzialność, która rekomenduje i wdraża najlepsze praktyki, zamiast czekać na listę zadań. Będziesz rozwijać warstwę frontendową w oparciu o dopracowany już fundament architektoniczny (konwencje, testy, Storybook) — masz realny wpływ na jego ewolucję i ownujesz nowe moduły. Cloud Native (GCP) i praca z agentami AI to u nas codzienność, a nie buzzword.
🎯 Twoje zadania:
Projektowanie i rozwój warstwy frontendowej w React 19 + TypeScript, w oparciu o istniejący, dopracowany fundament architektoniczny, który współrozwijasz.
Budowa interfejsów do pracy z danymi – dashboardy, tabele, wykresy i komponenty prezentujące insighty z analiz e-commerce.
Rozwój AI-native UI – warstwy, w której użytkownik "rozmawia z danymi" (Vercel AI SDK / chat).
Praca w metodologii Spec Driven Development (SDD) – precyzyjne opisywanie komponentów, logiki oraz założeń technicznych zgodnie z najlepszymi praktykami, w celu efektywnego współtworzenia i generowania kodu przez agentów AI.
Integracja z REST API backendu, zarządzanie stanem serwerowym (TanStack Query) oraz obsługa stanów ładowania i błędów.
Dbanie o wysoką jakość: TDD (Vitest, Testing Library, Playwright), czysty i w pełni otypowany kod oraz component-driven development w Storybooku.
Przekładanie wymagań biznesowych na konkretne, wydajne rozwiązania UI – samodzielnie, z inicjatywą i rekomendowaniem najlepszych praktyk.
Przeprowadzanie Code Review i wspólne podnoszenie standardów frontendowych w zespole.
Wdrożenia na środowiska (dev/stage/prod) w oparciu o istniejące procesy CI/CD.
💡 Poszukiwane umiejętności:
💻 Główny Tech Stack:
Nie wymagamy znajomości każdej biblioteki, której używamy, ale powinieneś swobodnie poruszać się w tym środowisku:
Core: React 19, TypeScript, Vite, Bun
UI & Styling: Mantine, Tailwind CSS
Component-driven dev: Storybook
Stan & dane: TanStack Query (server state), integracja z REST API
AI: Vercel AI SDK (ai / @ai-sdk/react) – warstwa "rozmowy z danymi"
Auth: Clerk
Routing: React Router
Testy & jakość: Vitest, Testing Library, MSW, Playwright, ESLint, Knip
Architektura: Clean Architecture, async-first, Test-Driven Development
🔍 Czego oczekujemy?
Szukamy osoby z podejściem "product-minded", która rozumie biznesowy cel kodu.
Doświadczenie: Min. 3–4 lata komercyjnej pracy z React i TypeScript.
Nowoczesny React: Swobodne posługiwanie się hookami, kompozycją i myśleniem komponentowym.
UI & Styling: Solidne CSS/UI – Tailwind oraz biblioteki komponentów (Mantine lub podobne).
Praca z danymi w UI: Doświadczenie z wizualizacją danych – tabele, wykresy i komponenty prezentujące dane (to sedno naszego produktu).
Stan serwerowy: Praktyczna znajomość TanStack Query (lub równoważnych rozwiązań) i integracji z REST API.
Jakość i testy: TDD oraz testowanie (Vitest, Testing Library, Playwright), Clean Code i SOLID-owe myślenie o architekturze.
Samodzielność: Inicjatywa i branie odpowiedzialności – rekomendujesz i wdrażasz najlepsze praktyki.
Praca z AI: Naturalnie korzystasz z narzędzi AI wspomagających development (Cursor, Claude Code lub podobnych) — nie jako zamiennika myślenia, lecz jako codziennego narzędzia, które pozwala działać szybciej i lepiej. Interesuje Cię, jak budować oprogramowanie z pomocą agentów AI, a nie tylko obok nich — a u nas dodatkowo budujesz AI bezpośrednio w produkcie (interfejs "rozmowy z danymi").
🌟 Mile widziane:
Doświadczenie z Storybookiem / component-driven development.
Budowanie interfejsów AI / chat (Vercel AI SDK lub podobne).
Znajomość nowoczesnych rozwiązań auth (Clerk, 2FA/MFA).
Google Cloud Platform / Firebase Hosting, CI/CD i wdrożenia na wielu środowiskach (dev/stage/prod).
Wyczucie UX i zainteresowanie produktem – rozumienie, po co powstaje dany interfejs.
⚙️ Jak wygląda proces rekrutacyjny?
Pierwsza rozmowa – godzinne spotkanie wideo, podczas którego poznamy się nawzajem i porozmawiamy o Twoim doświadczeniu.
Druga rozmowa – dla wybranych kandydatów; spotkanie wideo z zadaniem rekrutacyjnym wykonywanym na żywo. Zadanie przedstawiamy dopiero podczas spotkania – nie wymaga ono wcześniejszego przygotowania ani inwestowania Twojego czasu w domu.
Złożenie oferty.