Angular / Full-Stack Engineer — Poland

MarcinCzerniak

Building web apps, backend services, and the infrastructure behind them.

I mainly work with Angular and TypeScript, but I'm comfortable going beyond the frontend. I enjoy working on backend services, experimenting with different technologies, and running my own infrastructure. A lot of my projects end up being a mix of all three.

currently building

// work


  1. NexusPolskaAngular Developernow

    • Angular frontend development
    • Test automation
    • Implementing AI workflows in the development process

// currently building


  1. UI component library

    001 UI component library

    The Angular component library behind every frontend I run: standalone components on signal inputs, published to a private registry, with a documentation site and an MCP server of its own.

    • Seventy-five components, from buttons and dialogs to a CSS-grid data table with grouping, sticky headers and subrows
    • Variants compose as fragment directives, each injecting its own styles on first use, instead of prop switches
    • Defaults set per application through injection tokens; themes are pure custom-property layers
    • Docs that render every example from source, versioned per release
    • An MCP server that gives coding agents the real inputs, outputs and examples, so generated code uses the library as it is
    • Angular 21
    • Signals
    • SCSS
    • MCP
  2. Unified inbox

    002 Unified inbox

    One inbox for IMAP, Gmail and Outlook accounts. A Go worker syncs mail into Postgres in the background, the Angular frontend reads it back as one newest-first list, and a classifier I trained on my own mail sorts it into tabs.

    • An IMAP IDLE connection per account, so new mail is synced and triaged within about two seconds; polling with backoff covers servers without IDLE
    • Gmail and Outlook over OAuth2, with read state kept in sync both ways with the mail server
    • Triage by mmBERT-small, fine-tuned on mail labelled by a local Gemma model and exported to ONNX: 98% category accuracy on held-out mail
    • The API only reads from Postgres and all slow network work stays in the worker, so the inbox is served straight off one index
    • Angular
    • Go
    • PostgreSQL
    • IMAP
    • ONNX

// previous projects


  1. Medicover Sport

    001 Medicover Sport

    The public homepage of Medicover Sport, a membership platform that opens a wide range of sports and leisure activities to its users. I built its Angular frontend as part of the development team.

    • User-facing features built from designs and requirements, then maintained in production
    • Reusable UI components shared across the homepage
    • Responsive layouts that hold from phone to wide desktop
    • Angular
    • TypeScript
    • SCSS
    • Responsive design
    visit site
  2. ng-openapi-gen in Go

    002 ng-openapi-gen in Go

    A Go port of ng-openapi-gen, the npm generator that turns OpenAPI 3.0 and 3.1 specs into typed Angular services and models. Same output, shipped as a single static binary.

    • A function per operation, an @Injectable service per tag, $Response variants for headers
    • One static binary: go install or a release download, no Node toolchain
    • Docs with a live demo that runs the generator in the browser, compiled to WebAssembly
    • Go
    • OpenAPI
    • Angular
    • WASM
    visit site

// stack

front

  • Angular
  • TypeScript
  • RxJS
  • NgRx
  • SCSS
  • Three.js
  • WebGL

back

  • Go
  • Gin
  • Node
  • Bun
  • PostgreSQL
  • Prisma
  • REST
  • OpenAPI

ops

  • Docker
  • Nomad
  • WireGuard
  • Traefik
  • Ory Stack
  • CoreDNS
  • Forgejo CI
  • Kubernetes

test

  • Cypress
  • Playwright
  • Vitest
  • Jest

ai

  • Claude Code
  • MCP
  • Ollama
  • llama.cpp
  • Agentic workflows

design

  • Figma
  • Penpot
  • Design systems
  • Motion

// contact

marcin.czerniak@outlook.com