Skip to content
Mateusz Cieplak

Company website · Next.js

profitway.pl

The agency's own website, built in a team of two

Profitway's site in Next.js 16 with Polish and English versions. I worked on it with a second developer: I built the web-design landing page and the brand press kit, moved the styles to the agency's shared design library and set up the Docker build.

Role
One of two developers
Period
Mar - Oct 2026
Stack
  • Next.js 16
  • TypeScript
  • Tailwind CSS 4
  • next-intl
  • Vitest
  • Docker
profitway.pl: homepage on a desktop screen
profitway.pl on a phone
pages in Polish and English
7 × 2
tests passing after the migration
169
CSS selectors changed by the design-library move
0

Context

The agency replaced its WordPress site with a Next.js app in August 2026. The site is bilingual, with Polish at the root and English under /en.

My part covered whole sections of the site and the build, while my colleague wrote most of the main pages.

What I did

  • The web-design landing page, a section of 63 files, with a portfolio slider of client sites
  • The brand press kit page with downloadable materials
  • Moving the theme tokens to the agency's shared design library, published as a private package
  • Docker build with standalone output and authentication to GitHub Packages in CI
  • Redirect for the brand subdomain and a noindex header for the beta

Hard parts and how I solved them

  1. Problem

    Moving 450 lines of theme tokens to the shared library left the CSS identical, yet the hero animations disappeared while all tests stayed green.

    Solution

    Tailwind does not scan node_modules, so classes used only inside the library were purged. Registering the library with @source brought them back. 1,318 selectors before and after, zero difference.

  2. Problem

    next/font/google broke the production build in Turbopack.

    Solution

    Switched to the Figtree font served locally from the design library, so the build no longer needs the network for fonts.

  3. Problem

    One drag in the portfolio slider jumped two or three projects at a time.

    Solution

    Rewrote the drag handling so one drag always moves exactly one project.

Results

  • 7 pages in Polish and English, 14 URLs in the sitemap
  • 169 tests passing after the design-library migration
  • The build no longer depends on the network for fonts

Screens

Swipe or use the buttons to browse the screens.

  • Homepage
    Desktop · Homepage
  • Web design landing page
    Desktop · Web design landing page
  • The landing page on a phone
    Phone · The landing page on a phone
  • Brand press kit
    Desktop · Brand press kit
  • English version
    Desktop · English version

Contact

Let's talk.

Looking for a frontend developer who can take a project all the way to production? Use the form or write to me directly.

kontakt@mateuszcieplak.com

Your details are used only to reply to you. The form is delivered by Web3Forms.

Get in touch