Hi, I’m Oskar. I’m a product engineer with a passion for building tools, writing and iterative process. I’m creative, focused on delivering value with an intuitive understanding of the right balance between technical trade-offs and end-user value, honed over the years.
Currently based in Poland (UTC+1), I’ve been working remotely for startups and scale-ups since 2015. I’m not actively looking for a job, but opportunity like this is something I can’t walk past :) Since my early days in game development I’ve been passionate about building performant tools that help others create amazing work - Tailwind is just that in web development world.
Here’s a quick rundown of my experience:
Agentnoon (2022 - now)
YC-backed startup I joined as one of the first engineers. For the past two years, I’ve been driving countless initiatives, scoping, building and shipping minimal lovable products with full ownership and responsibility across the product lifecycle. I’m working with ambiguity, defining the projects scope, offering solutions and trade-offs. Most of the time work starts with a single sentence summary that I deconstruct into actionable steps.
- d3-backed graphs and charts, intertwined with Vue components, supporting datasets of 200k+ records
- Example: an org chart that embeds Vue components as employee cards within svg’s
foreignElement
nodes
- Nodes are lazily instantiated as they enter the viewport to optimise memory usage
- virtualised table component capable of showing employees of 200k+ organisations
- Specific requirements including calculating per-employee custom formulas based on existing properties
- Quick filtering of large datasets based on any combination of queries with a selection of operators
Refurbed (2021-2022)
EU-based scale-up. I’ve been responsible for building a checkout application that handled 1000s of transactions for the refurbished devices marketplace.
- Driving migration to Vue 3 and Vite. Reduced build times by 75% and allowed more robust TypeScript integration.
- accessible tailwind-based components with support for multiple localisations
- Typescript codebase using gRPC backed types for communication with the backend
- 0-fault tolerance, extensive A/B testing and performance/quality focus. Support for up to 30 parallel A/B tests for conversion rate optimisation.
- Transitioning the application to use a new Tailwind-based design system (30+ components)
Other (2013-2021)
Notable experiences that showcase my background and the attitude of a relentless tinkerer :)
- Built and released internal QA tool to automate process of verifying dynamic A/B experiments ran across 1000s of sub-pages in travel booking system. Implemented with Cypress.io, Vue and Electron to ship desktop app to use by QA staff. Reduced daily time needed to verify correctness of active tests by 80%. (Multiplica.us, 2020)
- Lead work on internal dashboard built on top of Asana's API, tracking and enabling data visualization of cross-project metrics and extending reporting capabilities on per-project basis (Multiplica.us, 2019)
- Web-worker AI solver compiled from c++ to web assembly to use in webGL game in order to avoid clogging the render thread with long running AI process (Adacio, 2017)
- Implemented UI, gameplay and networking features that enabled turn-based multiplayer gameplay with extensive social features, released on iOS, Android and WebGL-supporting platforms (eg. Facebook Play) (Adacio, 2015)
Writing
How to stay up to date with autostashed git rebase
Using threads in native plugins for Unity WebGL
Open source
https://github.com/oskar-szulc/vue-drag-and-drop