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

