Skip to content

Flip.shop

Flip to nowoczesna platforma e-commerce, łącząca doświadczenie zakupowe w stylu TikToka z usługami premium. Założona w 2019 roku, firma szybko zyskała na popularności, oferując użytkownikom możliwość odkrywania i kupowania produktów poprzez 60-sekundowe filmy tworzone przez społeczność. Dzięki temu klienci mogą oglądać autentyczne recenzje produktów, dokonywać zakupów jednym kliknięciem oraz korzystać z ekspresowej wysyłki.

Moje obowiązki

W Flip pełniłem rolę Backend Developera, gdzie byłem odpowiedzialny za rozwój i utrzymanie backendowej części platformy we współpracy z zespołami programistycznymi. Jednym z kluczowych zadań było opracowanie autorskiego rozwiązania do generowania obrazów Open Graph (OG). Było to potrzebne, by ograniczyć kosztowne i długie zapytania do zewnętrznego API (zajmowały nawet ponad 10s per request) oraz by uprościć pracę deweloperów. Jest to jedna z tych rzeczy, z których efektów jestem najbardziej dumny. Stworzyłem wtyczkę do programu Figma, która na podstawie zaznaczonego designu (przyszłego szablonu) tworzy plik SVG z dodatkowymi metadanymi przechowującymi informacje o umiejscowieniu danych do podmiany. Następnie plik ten jest przesyłany do API, gdzie jest zamieniany na szablon – na jego podstawie będą tworzone obrazki PNG zawierające dane użytkowników. Gdy następuje zapotrzebowanie na wygenerowanie obrazka, pobierany jest szablon SVG, jest uzupełniany danymi użytkownika i następuje generowanie obrazka PNG. Całość generowania zamyka się w ~700ms per request. Przy okazji tworzenia tego zadania zarządzałem małym teamem, razem pracowaliśmy nad nowymi funkcjami.

Ponadto, zarządzałem systemem obsługi postów wyświetlanych użytkownikom. Opracowałem i wdrożyłem mechanizmy filtrowania, sortowania oraz personalizacji treści, co zwiększyło zaangażowanie użytkowników i poprawiło ich doświadczenie na platformie. Moje obowiązki obejmowały również ogólne utrzymanie mikroserwisów, dbając o ich niezawodność, skalowalność oraz wydajność.

Podsumowanie technologii

W pracy wykorzystywałem następujące technologie:

  • Node.js 18 i 20
    • NestJS
    • Jest, Mocha
    • TypeORM
    • Puppeteer
  • REST
  • Bazy danych
    • PostgreSQL
    • MongoDB
    • ElasticSearch
    • Redis
  • RabbitMQ
  • GitLab
  • Jira i Confluence
  • Docker
  • AWS (głównie S3)
  • Kubernetes
  • Figma (razem z tworzeniem pluginu z użyciem Preact)
  • Slack