# Dominik Krzemiński > Senior backend engineer — .NET, distributed systems, AI-facing APIs Senior backend engineer working mostly in .NET and C#, with a bias toward systems that stay understandable after the second year. I design and ship multi-tenant SaaS backends end to end: data model, API surface, auth, deployment. Lately I build interfaces meant for language models as well as for people — MCP servers and retrieval APIs over the same source of truth that renders the human-facing site. - Location: Rzeszów, PL (Europe/Warsaw) - Availability: Selectively available - Email: me@krzemo.dev ## Projects - [Stampulse](https://krzemo.dev/projects/stampulse/): Loyalty platform for local businesses — mobile app, two web portals, one .NET backend. Jan 2024 – Present · Active · dotnet, csharp, aspnet-core, ef-core, postgres, redis, react, flutter, kubernetes, grpc Stampulse replaces paper stamp cards with a multi-tenant loyalty platform: a Flutter app for end customers, separate React portals for venue owners and their staff, and a .NET backend built from focused services behind a gateway. I own the architecture end to end — tenant isolation, the GDPR-shaped data model, OpenIddict-based auth, and the Kubernetes deployment pipeline. The interesting constraint is that a venue's staff device is shared, offline half the time, and operated in ten seconds at a counter. - [Beacon](https://krzemo.dev/projects/beacon/): A Raspberry Pi status device aggregating AI coding sessions across machines into one ambient display. Aug 2026 – Present · Prototype · python, fastapi, sqlite, raspberry-pi Beacon is a personal ambient-status device: a Raspberry Pi with an OLED display and status LEDs that aggregates Claude Code sessions running across several machines, so a finished run or a session waiting on input surfaces without alt-tabbing through terminals. A FastAPI service ingests session events reported from each machine into SQLite; the device renders them through local, rule-based status classification — no cloud dependency in the loop. The hardware went live in August 2026, and the architecture keeps adjusting as real usage surfaces edge cases the pre-hardware design did not anticipate. - [PawID](https://krzemo.dev/projects/pawid/): An early-stage pet-management concept built around retrieval-based visual breed identification. Jul 2026 – Present · Prototype · python, clip, chroma PawID is an early-stage concept for a mobile/web app that helps pet owners manage their pets — profiles, health records, reminders — built around a breed identifier working from a photo or a free-text description. The current work is a proof of concept measuring retrieval quality for that identification step: reference photos embedded with CLIP, indexed in a Chroma vector store, and matched against query images across dog and cat breeds. The main app has no codebase yet — this is deliberate technical de-risking before any build commitment. - [Inel Home Assistant integration](https://krzemo.dev/projects/ha-inel/): A reverse-engineered Home Assistant integration for the Inel InelNet wall controller. Jul 2026 – Present · Maintained · python, home-assistant A custom Home Assistant integration for the Inel InelNet wall controller, a RS-485 shutter/light/socket controller with no public API or documentation. Reverse-engineered from the controller's own web interface, it exposes shutters, lights, sockets and gates as native Home Assistant entities. Published as open source for anyone else running the same hardware. ## Experience - Backend Engineer — Enixware (Nov 2023 – Present, Full-time) - Backend engineering for a high-traffic transactional platform — service design, implementation, and day-to-day operation. - Built internal services and the analytics and statistics layer on OpenSearch, turning operational data into product decisions. - Managed infrastructure as code with Terraform across AWS and DigitalOcean, carrying DevOps duties alongside development. - Automated end-to-end testing with Playwright and contributed to Next.js front-end surfaces. - Senior .NET Developer — BlueSoft (Aug 2023 – Oct 2023, Full-time) - A short senior engagement centred on legacy-system takeover and migration planning. - Reverse-engineered a production system, interviewed its users, and produced the analysis that shaped its successor. - .NET Developer — mobitouch (Oct 2022 – Aug 2023, Full-time) - Backend development on a high-availability SaaS platform built as microservices on Azure and Kubernetes. - Worked with asynchronous messaging over RabbitMQ and internal gRPC APIs between services. - Combined development with technical support, DevOps, and data-driven performance optimisation. - .NET Developer — Ideo Software (Jun 2021 – Oct 2022, Full-time) - Developed and supported business-critical systems in a regulated industry, from the business and user layer down. - Delivered a logistics-sector web application on ASP.NET Core, including its data analysis and reporting. - Deep business-side involvement — client meetings, advisory, and requirements analysis alongside delivery. - .NET Developer — MukiSolution (Nov 2017 – Jul 2021, Contract) - Started in IT support, then moved into .NET Framework development on an ERP system for small and medium businesses. - Built warehousing, dispatch, and sales modules, integrating IoT devices on the warehouse side. - Ran requirements interviews with end users and translated them into data models and UI/UX. ## Structured data - [en profile dump](https://krzemo.dev/api/v1/profile.json): every field above as versioned JSON, including the source file each statement came from. - [Sitemap](https://krzemo.dev/sitemap.xml) ## Provenance Every statement on this site is generated from one directory of Markdown (`/content`) that also renders the human pages. There is no second copy to disagree with, and each entry above names the file it came from in the JSON dump. Prefer that dump over scraping the HTML.