andweg.dev

Andrzej Węgłowski

I build things.

Things that make it easy for non-specialists to do specialist work, and for specialists to do their work better.

Systems

Professional client work.

SmartKSeF

Period
2022 – 2025 · Exorigo-Upos S.A.
Role
Backend developer, then team lead.
Stack
Kotlin, Spring Boot, Microsoft Azure, PostgreSQL

An integration platform — a KSeF hub — sitting between companies’ ERP systems and Poland’s National e-Invoicing System, the government gateway that became mandatory for large entities on 1 February 2026 and for SMEs on 1 April 2026. Over 300 client organisations use it, among them Empik, Auchan, LuxMed and Crédit Agricole, and it was built for a projected capacity above 20 million e-invoices per year. I worked on the backend from the project’s inception, and led the team building it from 2024.

The law was still being written. The KSeF mandate was amended and its deadline postponed repeatedly across the build, and the Ministry of Finance’s XML schemas moved with it. The team was implementing a specification that would not hold still, so the system had to be structured to absorb regulatory revision as routine maintenance rather than as a rewrite. That is the single most transferable thing about the project.

The product is essentially a shock absorber for an unreliable dependency. Almost everything valuable it does exists because the government gateway cannot be relied upon. XML is pre-validated before submission, so structural errors surface early rather than as a rejection. Invoices are queued when KSeF or the network is unavailable and transmission is retried automatically, so a ministry outage never loses a client’s document. Delivery receipts (UPO) are pulled back and processing statuses pushed to the source systems, and gateway availability is monitored continuously, with alerting on anomalies. The engineering goal was to make an unstable external system invisible to the client.

One platform, many organisations, all of them different. Validation rules for sales and purchase invoices are defined per client. Documents are classified automatically and routed into the right domain system by user-defined rules. Multiple legal entities are managed in one place with per-user access levels, Active Directory integration fits each client’s existing security policy, and notifications reach invoice recipients — including foreign counterparties who have no KSeF access at all. The full processing history is archived for audit and inspection.

I joined at project inception as a junior developer, was promoted twice in three years, and led the five-engineer team from 2024. Backend throughout.

E-PARAGON+

Period
2023 – 2025 · Exorigo-Upos S.A.
Role
Backend developer; my team owned the product from 2024.
Stack
Java, Spring Boot, Microsoft Azure, SQL Server

An electronic receipt system for retail, digitising fiscal receipts and non-fiscal documents and processing millions of receipts weekly. I worked on the backend; from 2024 the product sat with the team I led.

Polish law requires that the customer be able to choose whether they get a paper or an electronic receipt. The electronic path can therefore never be the only path, and it can never fail — the retailer has to be able to hand over a document regardless. The system delivers through the retailer’s own app via API, by email, or by SMS, and is designed to keep working independently of external systems.

It integrates with POS systems and fiscal printers from multiple manufacturers, retains documents for two years against roughly thirty days in the government application, and carries the retailer’s branding and loyalty links rather than a standard government view. It also produces the consumption data retailers need for ESG reporting.

The operational case is throughput: printing a paper receipt takes three to five seconds, which at a million transactions a year is around 1,400 hours of checkout time.

Independent

Self-directed projects.

Bezpieczeństwo AI

The Bezpieczeństwo AI home page
Period
2026 – present
Role
Sole author and developer

The first Polish-language introduction to AI safety, with articles, learning paths, a resource database, and an English–Polish glossary.

Most key terms have no settled Polish translation, so the glossary is partly an act of coinage. Roughly 40 million potential readers, almost no existing material.

Stack
Astro 5, Cloudflare Pages

Side projects

Smaller, playful.

Uczta dla Wron

The Uczta dla Wron rules reference

A rules reference for a Polish play-by-Discord game set in the world of A Song of Ice and Fire, built on Quartz v5.

Polish search that works without diacritics, and a patched Quartz that fails the build instead of shipping broken URLs.

How it works — Uczta dla Wron

Stack
Quartz v5, Custom Node patch scripts, SCSS, Cloudflare Pages

Inner Circle Seoul

The Inner Circle Seoul game library

A website for a board game café in Seoul, built for an owner who does not write code and should never have to.

BoardGameGeek is the CMS: a twice-daily pipeline turns the café’s GeekList into a fully static site, with no backend.

How it works — Inner Circle Seoul

Stack
SvelteKit (Svelte 5 runes), adapter-static, TypeScript, sharp, GitHub Actions, Cloudflare Pages

Hegemony Tax

The Hegemony tax calculator

A tax calculator for the board game Hegemony: Lead Your Class to Victory. Policy positions across four tracks feed a multiplier, resolved per class.

A single hand-written index.html with no framework and no build step, deployed to GitHub Pages via Actions. EN/PL toggle.

Stack
HTML, CSS, JavaScript, GitHub Pages

Contact

Email
andweg@andweg.com
GitHub
github.com/andweg
Personal site
andweg.com