Skúsenosti
02/2025 až súčasnosť
1 rok 9 mesiacov
IGT Systems
Full-Stack Software EngineerBratislava, hybridne(predtým IGT Consulting)
Pracujem na viacerých produktoch pre klientov naraz, v tímoch od dvoch do ôsmich vývojárov, naprieč webom, mobilom aj backendom. Nastúpil som ako vývojár v Elixire a dnes pracujem hlavne s Reactom, TypeScriptom a Kotlinom.
Core3
Firemná platforma pre projekty, dochádzku, HR, CRM a tikety
- Zodpovedný za modul projektového manažmentu: kanban s drag and drop, oprávnenia k úlohám pre autorov, riešiteľov a vedúcich projektov, postupy Scrum a Waterfall
- Optimalizoval najpomalšie stránky po sťažnostiach používateľov: pomalé miesta som našiel cez flame grafy, opravil N+1 dopyty v PostgreSQL a MongoDB a pridal cache so správnou invalidáciou
- Asynchrónne načítavanie dát s nekonečným scrollovaním, zdokumentované ako spoločný vzor pre tím
- Aktualizácie v reálnom čase cez jeden spoločný PubSub, zoradené tak, aby staršie správy neprepisovali novšie
- Skeleton načítanie, optimistické UI a typovo bezpečné URL parametre vo viacerých moduloch
- End-to-end testy v Cypress
- Elixir
- Phoenix LiveView
- PostgreSQL
- MongoDB
- JavaScript
- Cypress
WYDO
Aplikácia na hľadanie športových aktivít a spoluhráčov
- Začal aplikáciu pre Android a iOS v Kotlin Multiplatform: mapa, ktorá zhlukuje aktivity a načítava ich pri posune, vyhľadávanie a filtre, skupiny s príspevkami a komentármi, hodnotenia a chat cez WebSockety
- Vytvoril promo stránku a potom presunul webovú verziu z Kotlin Multiplatform do samostatnej aplikácie v Reacte
- Webová aplikácia s virtualizovanými feedmi, push notifikáciami, prihlásením cez passkey, SEO pre každú stránku a inštalovateľnou PWA
- Štyri jazyky v aplikácii aj na webe, s testami, ktoré strážia úplnosť prekladov
- Funkcie backendu v Spring Boot vrátane passkeys (WebAuthn) a preložených chybových hlásení
- Kotlin
- Compose Multiplatform
- Ktor
- React
- TypeScript
- TanStack
- Spring Boot
- Vitest
Playwright
CleanEEG
Služba, ktorá odstraňuje šum z EEG záznamov
- Vytvoril webovú aplikáciu od nuly v tíme dvoch ľudí
- Rýchly WebGL prehliadač, ktorý zobrazí pôvodný a vyčistený signál cez seba, samostatne alebo ich rozdiel, s filtrami signálu priamo v prehliadači a ovládaním klávesnicou
- Registrácia, cenník, platby, notifikácie a prehľad súborov s nahrávaním cez drag and drop
- TanStack Router, Query, Form, Table a Virtual v celej aplikácii
- React
- TypeScript
- TanStack
- Plotly
- Tailwind CSS
- Zod
Business Data Access Point (BDAP)
Interný dashboard na monitorovanie dátových procesov veľkého firemného klienta
- Vytvoril frontend zo znovupoužiteľných častí, takže nová sekcia je len nová routa
- Generická typovaná tabuľka s vnorenými riadkami, triedením a meniteľnou šírkou stĺpcov
- Filtre, triedenie a stránkovanie uložené v URL a režim len na čítanie podľa rolí používateľov
- React
- TypeScript
- TanStack Query
- Zod
- Tailwind CSS
06/2024 až 01/2025
8 mesiacov
Švarba s.r.o.
Full-Stack Developerna diaľku
Nový interný systém pre medzinárodnú firmu s priamym predajom, ktorý nahradil niekoľko starších PHP aplikácií novou webovou aplikáciou v Reacte a novým API.
REST API
TypeScript, Node.js a Express
- Vyvinul REST API nového systému s generovanou OpenAPI dokumentáciou a validáciou požiadaviek
- MSSQL s uloženými procedúrami, prihlásenie cez JWT s obnovou tokenov a reset hesla e-mailom
- Notifikácie v reálnom čase cez WebSockety a Redis a plánované úlohy pre e-maily, importy a exporty
- Automatické preklady produktových textov cez OpenAI API
- Unit a integračné testy v Jest a supertest
- TypeScript
- Node.js
- Express
- MSSQL
- Redis
- Jest
Webová aplikácia a starší systém
React, PHP a Nette
- Formuláre a obrazovky v novej aplikácii v Reacte
- Reporty, tabuľky a SQL v staršom PHP systéme, kým sa ešte používal
- React
- PHP
- Nette
10/2023 až 05/2024
8 mesiacov
SoftPoint s.r.o.
Junior Python DeveloperBratislava, hybridne
Integrácia dát a automatizácia pre veľký e-shop.
ETL pipeline
Python a Airflow
- Vytvoril ETL pipeline v Airflow, ktoré importujú produkty, ceny a zásoby od viac ako 20 dodávateľov do dátového skladu
- Zdroje siahali od webov a API dodávateľov po XML, XLSX a FTP feedy; niektoré si vyžadovali prihlásenie do B2B portálov cez Selenium
- Dáta som čistil a pároval v pandas, napríklad normalizácia EAN kódov a odstránenie duplicít
- Python
- Airflow
- pandas
- Selenium
- PostgreSQL
- FastAPI
Automatizácia objednávok
Ruby
- Automatizoval objednávanie v 20 e-shopoch dodávateľov skriptmi v Ruby cez headless prehliadač; Ruby som sa kvôli tomu naučil
- Ruby