Experience
Feb 2025 to now
1 yr 9 mos
IGT Systems
Full-Stack Software EngineerBratislava, hybrid(formerly IGT Consulting)
I work on several client products at once, in teams of two to eight developers, across web, mobile and backend. I joined as an Elixir developer and now work mostly with React, TypeScript and Kotlin.
Core3
Business platform for projects, attendance, HR, CRM and ticketing
- Responsible for the project management module: kanban boards with drag and drop, task permissions for creators, assignees and project leads, and Scrum and Waterfall workflows
- Optimized the slowest pages after user complaints: found the slow parts with flame graphs, fixed N+1 queries in PostgreSQL and MongoDB, and added caching with proper invalidation
- Async data loading with infinite scroll, documented as a shared pattern for the team
- Real-time updates through one shared PubSub, ordered so that older messages never overwrite newer ones
- Loading skeletons, optimistic UI and type-safe URL parameters across several modules
- End-to-end tests in Cypress
- Elixir
- Phoenix LiveView
- PostgreSQL
- MongoDB
- JavaScript
- Cypress
WYDO
App for finding sports activities and people to play with
- Started the Android and iOS app in Kotlin Multiplatform: a map that clusters activities and loads them as you move, search and filters, groups with posts and comments, ratings and chat over WebSockets
- Built the promo site and then moved the web version from Kotlin Multiplatform to its own React app
- Web app with virtualized feeds, push notifications, passkey login, per-page SEO and installable PWA support
- Four languages in the app and on the web, with tests that keep the translations in sync
- Backend features in Spring Boot, including passkeys (WebAuthn) and translated error messages
- Kotlin
- Compose Multiplatform
- Ktor
- React
- TypeScript
- TanStack
- Spring Boot
- Vitest
Playwright
CleanEEG
Service that removes noise from EEG recordings
- Built the web app from scratch in a team of two
- A fast WebGL viewer that shows raw and cleaned signals over each other, side by side or as their difference, with signal filters running in the browser and full keyboard control
- Signup, pricing, billing, notifications and a file dashboard with drag-and-drop upload
- TanStack Router, Query, Form, Table and Virtual throughout the app
- React
- TypeScript
- TanStack
- Plotly
- Tailwind CSS
- Zod
Business Data Access Point (BDAP)
Internal dashboard for monitoring data pipelines of a large enterprise client
- Built the frontend from reusable parts, so a new section is just a new route
- A generic, typed data grid with nested rows, sorting and resizable columns
- Filters, sorting and pagination kept in the URL, and a read-only mode based on user roles
- React
- TypeScript
- TanStack Query
- Zod
- Tailwind CSS
Jun 2024 to Jan 2025
8 mos
Švarba s.r.o.
Full-Stack Developerremote
A new internal system for an international direct-sales company, replacing several older PHP applications with a React web app and a new API.
REST API
TypeScript, Node.js and Express
- Developed the REST API of the new system, with generated OpenAPI documentation and request validation
- MSSQL with stored procedures, JWT login with refresh tokens and password reset by e-mail
- Real-time notifications over WebSockets and Redis, and scheduled jobs for e-mails, imports and exports
- Automatic translations of product texts with the OpenAI API
- Unit and integration tests with Jest and supertest
- TypeScript
- Node.js
- Express
- MSSQL
- Redis
- Jest
Web app and older system
React, PHP and Nette
- Forms and screens in the new React app
- Reports, data grids and SQL in the older PHP system while it was still in use
- React
- PHP
- Nette
Oct 2023 to May 2024
8 mos
SoftPoint s.r.o.
Junior Python DeveloperBratislava, hybrid
Data integration and automation for a large e-commerce retailer.
ETL pipelines
Python and Airflow
- Built ETL pipelines in Airflow that import products, prices and stock from more than 20 suppliers into the data warehouse
- Sources ranged from supplier websites and APIs to XML, XLSX and FTP feeds; some needed Selenium to log in to B2B portals
- Cleaned and matched the data with pandas, for example normalizing EAN codes and removing duplicates
- Python
- Airflow
- pandas
- Selenium
- PostgreSQL
- FastAPI
Order automation
Ruby
- Automated ordering on 20 supplier web shops with headless-browser scripts in Ruby, a language I learned for this task
- Ruby