CV/Jonatan Witoszek

Front-end Engineer

Experience

Saleor

Sr. Front-end Developer, Open Source Maintainer
02-2022 – now
Open Source Ecommerce Platform

Contributed to Saleor Dashboard project - an SPA app for managing online stores powered by Saleor

saleor/saleor-dashboard
Technologies used:
TypeScriptReactMaterial UIGraphQL

Contributed to Macaw UI - design system & component library used at every Saleor project

saleor/macaw-ui
Technologies used:
TypeScriptReactStorybookAccessibility
  • Implemented new components with accessibility in mind (example)
  • Worked on RFC to replace Material UI with other styling solutions that would allow more flexibility

Worked on Saleor Storefront - example boilerplate project that showcase best practices and allow easy bootstrap for e-commerce stores,
and Saleor Checkout - ready to use checkout that supports multiple providers out of the box and handles all gateway communication between gateways and Saleor

saleor/react-storefront
Technologies used:
TypeScriptNext.jsTailwind CSSDockerTurborepopnpm monorepoURQLUrql
  • Implemented support for Adyen and Mollie payment gateways in Next.js API routes - pay-by-links and refund support
  • Implemented webhooks validation with JWKS
  • Dockerized apps inside monorepo
  • Added API integration testswith Polly.js and mock-service-worker
  • Worked on API design for more advanced transactions: split payments, plugins for payment providers, express checkout via Apple Pay
  • Wrote technical documentation for integrating with payment gateways
  • Triage and help our customers with issues raised on GitHub

Netguru

Front-end Developer
05-2021 – 02-2022
Software House

Successfully shipped a CRM web app for a company in the renewables & environment sector, improving document and settlements workflow

Technologies used:
TypeScriptReactReduxRxJSSocket.ioMaterial UI💅styled-components
  • Automated Pull Request flow for a project using danger.js in CI pipeline to avoid mundane tasks performed by developers (like checking comments, linter errors, etc.). This decreased time spent on reviewing code and enabled devs to focus on architecture decisions.
  • Improved app Core Web Vitals by optimizing load time of large images using modern image formats (WebP, AVIF) while maintaining cross-browser compatibility
  • Avoided a critical mistake before deploying an app with a broken service worker that would have prevented our team from deploying new app versions in the future
  • Developed real-time notification feature using Socket.io

Worked on a modernizing legacy web app for a client in the mental health care business

Technologies used:
TypeScriptReactReduxStorybookXStateAccessibility
  • Conducted accessibility review on the existing app and suggested improvements in order to adhere to the ADA (Americans with Disabilities Act) regulations
  • Cut down Webpack build time by 50%, which improved developers productivity
  • Prepared a plan to get rid of Tech Debt which was slowing down development
  • Introduced Storybook into the project, re-implemented components with proper accessibility in mind

Buddy

Jr. Front-end Developer
04-2020 – 05-2021
SaaS Tool for Developers

Buddy is a CI/CD tool that's easy to set up without any DevOps knowledge and mangling with YAML files, thanks to its graphical interface. I've worked on the app's redesign in React and maintenance of the existing codebase in Backbone.js

Technologies used:
TypeScriptReactSassStorybookNext.js
  • Developed new features within the redesigned app like: global search, account management, environment variables configurator.
  • Created React components library based on the existing Sass stylesheets, moved documentation to Storybook for better developer experience in the company.
  • Worked on refactoring marketing website written in Next.js
  • Written technical guides for our users (ex. How to automate Firebase deployments)

Freelancing

Full-stack Developer
03-2019 – now
Self employment

CEIDG Browser - Browser for businesses data from the government's companies registry

Technologies used:
TypeScriptPythonReact.jsNext.jsTailwind CSSMongoDBPython
  • Imported 10GB+ data of XML for all companies in Poland into MongoDB database using Python script (PyPy)
  • Prepared automation script in Python for fetching changes in the registry every day
  • Front-end page uses Next.js's Incremental Static Regeneration feature in order to render pages only when they're needed (the amount of data wouldn't allow to SSG every page)

Routes optimization - Routes optimization for delivery drivers

Technologies used:
TypeScriptReact.jsFirebaseHERE Maps
  • Application allowed importing routes from JSON source and used HERE Maps API for optimization (Traveling Salesman Problem)
  • In the Backend Firebase Cloud Functions was used for loading and optimizing routes, Firestore was used for storing data and Authentication for authenticating users (app was invite only)

Torebkowo.com.pl

Web Developer
01-2018 – 03-2019
Part-time

Torebkowo.com.pl was a small apparel e-commerce website. I've worked part-time on the site design and on integrating our products' database with external providers for drop-shipping and fulfillment

Technologies used:
PythonVue.jsElectron.js
  • Web development of templates for the e-commerce website
  • Development of automation scripts in Python for importing data from external suppliers (drop-shipping)
  • Developed internal tool for keeping track of margins profits
  • Created POS system for in-store customer service using web technologies: Electron.js, Vue.js and Vuex

Education

Władysław Szybinski High School in Cieszyn
09-2016 – 05-2020
Profession: IT Specialist (technik informatyk)
  • Designing and managing relational databases
  • Creating websites by using HTML5, CSS3, JavaScript and PHP
  • Designing, building and maintaining computer networks

Courses & training

Complete Intro to React (v5)

Intermediate React (v2)

Creating React app using it’s latest features (Hooks, Context API, Portals, Suspense) along with all the ecosystem of tools used to make modern web apps (Reach Router, CSS in JS, Jest, React Testing Library)
Architektura Na Froncie (Front-end Architecture)
Note: Polish content

Architecture focused training for senior devs. Learned more about building software that is resilient to changes and easy to maintain, solving universal problems (framework-agnostic). The course focused on delivering business requirements first and foremost and rejection of following "good practices" mindlessly.

  • Advanced TypeScript
  • Advanced React
  • Testing patterns, End-to-End testing
  • State management, Finite State Machines

State Machines in JavaScript with XState
Soling app state issues and edge cases with the use of Finite State Machines, State charts and Actor pattern (implemented in XState and Vanilla JS).
Atakowanie i ochrona aplikacji webowych (attacking and protecting web apps)
Protecting webapps against cyber attacks (OWASP TOP 10 - XSS, CSRF, SQL Injection, SOP), performing penetration tests.Certificate of completion

Fun fact!

This entire PDF is actually a website! You see it on cv.witoszek.dev.

Please check it out to see more details in "Experience" section.
Built using React, Windi CSS and Vite

GDPR Consent

I hereby give consent for my personal data included in the application to be processed for the purposes of the recruitment process in accordance with Art. 6 paragraph 1 letter a of the Regulation of the European Parliament and of the Council (EU) 2016/679 of 27 April 2016 on the protection of natural persons with regard to the processing of personal data and on the free movement of such data, and repealing Directive 95/46/EC (General Data Protection Regulation).