I build and maintain full-stack products, mostly with Python and Django on the server and Vue, React or plain, well-behaved HTML in the browser. My work has tended to land in places where downtime is expensive and data has consequences: clinical platforms, railway engineering, and agricultural decision support.

The short version: I like clear data models, small releases, and code that a new teammate can read without a guided tour.

What I bring

Backend

Django, done properly

Domain modelling, permissions, background jobs, APIs and the unglamorous work of making a codebase pleasant to change. PostgreSQL and PostGIS are home turf.

Frontend

Interfaces without ceremony

Vue and React where they earn their keep, server-rendered HTML everywhere else. Accessible, responsive, and tested against real workflows rather than happy paths.

Delivery

CI/CD and test-driven habits

Automated tests, repeatable deployments and environments that do not depend on one person remembering the magic command. Boring infrastructure is a feature.

Leadership

Remote teams that ship

Leading distributed developers, running useful reviews, and replacing status meetings with written context and small, demonstrable increments.

Selected work

Healthcare · 2022–2024

Clinical workflow platform

A patient-facing and internal platform for a medical organisation. I worked across the Django backend, the Vue frontend and the deployment pipeline, with particular attention to audit trails, role-based access and safe handling of sensitive records.

Rail & surveying · 2018–2021

Survey project management and web-GIS

Backend systems that kept large surveying projects moving, plus browser-based maps for railway engineering work. The maps became the shared reference point between field crews, engineers and clients.

AgTech · 2021–2023

Crop modelling and yield prediction

Services that disseminated crop-model output to growers and agronomists, including a decision-support layer that turned model runs into practical recommendations.

Platform · Ongoing

Geospatial data pipelines

Ingestion, validation and publication of field and satellite data: scheduled jobs, tiling, caching, and APIs that keep map clients responsive when the data gets large.

Toolbox

  • Python
  • Django
  • Django REST Framework
  • PostgreSQL
  • PostGIS
  • Celery
  • Redis
  • Vue
  • React
  • TypeScript
  • Docker
  • GitHub Actions
  • pytest
  • Playwright
  • GDAL
  • Linux

How I work

  1. Understand the constraint. Every project has one: a deadline, a legacy database, a regulatory rule, or a user who works offline half the week. I start there.
  2. Model the data before the screens. Good boundaries make the rest of the build cheaper. Bad ones follow you into every sprint.
  3. Keep the loop short. Small changes, clear commit messages, tests around the behaviour that matters, and a demo at the end of it.
  4. Leave it legible. Documentation, sensible defaults and an honest README are part of the deliverable.

Software is a team sport played over time. Optimise for the person who inherits the repository, because that person will often be you.

Let's talk

I'm currently open to backend, geospatial and data-heavy product work — remote, or based around Wrocław. If you have a problem that needs a steady pair of hands, send me an email or find me on LinkedIn.