Filip Kowal's face

Filip Kowal Web Developer github

Hi,

I'm a web developer passionate about simplifying complex problems. My expertise extends beyond front-end scope, allowing me to innovate and explore new solutions.

I am open to cooperation with clients across all the continents *

I have led the development of applications from defining business and user requirements to UX and API design, and finally, to creating efficient and scalable product.

You can see my code here

Most of my recent projects were built with:
TypeScript React Next.js Testing Library Vitest Playwright Vercel GitHub Actions
I also worked with:
Vanilla JS Redux Apollo Vue Vuex Cypress Svelte Firebase DB Storybook AngularJS

Case study Jobs

The Jobs app allows people to easily search for jobs and apply to a selection of them. Additionally, both the behavior and styling of the app are deeply customizable so that the client can create various instances of the app for their partners or market branches. Code and demo

UX

I have helped the client clarify the business needs and create a common, early vision of the product. The design process involved creating user personas, defining the needed features, and mapping out data flow. data-flow

I prepared a lo-fi mockup and collected stakeholders' feedback to further shape the interface. lofi

Afterwards, a hi-fi mockup adhering to the client's brand identity was created. interface

API Design

While clarifying the UI, I created an early description of the client-server communication. After receiving feedback from the backend developers, I prepared an OpenAPI-compliant specification. Having a single source of truth helped us clearly define cooperation during the entire development process. api

Development

The client required very fast initial loading of the app, as well as ease of finding new developers to maintain the app in the future.

I decided to use the popular React.js library with the Next.js frontend framework, utilizing static rendering and server components wherever the initial state did not rely on user input.

To keep the app lightweight, helper libraries were used sparingly.

First Contentful Paint 0.3 s
Largest Contentful Paint 0.4 s