About BrunnerWerk

Adrian Brunner, owner of BrunnerWerk: the person you speak to directly on a project.

BrunnerWerk is Adrian Brunner's one-person firm in Muttenz, Basel-Landschaft, Switzerland. I build and run websites and applications: on my own, in direct contact, with no layer in between.

How I work

  • One contact. You talk to the person who writes the code and looks after the server.
  • A defined scope. Before implementation starts, it is settled what gets built, what it costs, and what is not included.
  • Hand-built. No page builder and no purchased theme, but code that can still be changed later.
  • Operated in-house. I deploy and operate it myself. When something breaks, the path is short.
  • Visible progress. Where a project stands is visible at any time, not only at the end.

What I work with

ASP.NET Core and C# on the server, Angular and TypeScript in the browser, PostgreSQL or SQLite for the data, Docker for deployment. Running on servers in Europe. This website is built with the same stack.

On top of that, what many projects need beyond the basics: real-time data over WebSockets, integration with existing systems and APIs, sign-in with OAuth and OpenID Connect, and automated tests as a fixed part of the work.

I also work where software meets hardware: industrial control systems, small computers such as the Raspberry Pi, and radio networks such as LoRaWAN.

Technologies at a glance

  • Languages & frameworks. C#, .NET, ASP.NET Core, Angular, TypeScript, Python.
  • Data. PostgreSQL, TimescaleDB, SQLite, EF Core.
  • Real-time & APIs. SignalR, WebSockets, gRPC, GraphQL, NATS.
  • Cloud & operations. Docker, Kubernetes, Azure, Azure DevOps, GitHub, Fly.io, OpenTelemetry.
  • Security & identity. OAuth, OpenID Connect, Auth0, Keycloak, Microsoft Entra.
  • Hardware & industry. Raspberry Pi, LoRaWAN, GPIO, serial interfaces.
  • Testing. xUnit, Playwright, Testcontainers.

Where I am

Muttenz, Basel-Landschaft, Switzerland. Happy to meet in person in the Basel region, otherwise remote. Working languages are German and English.

Rather just ask?

Tell me briefly what it is about.

Get in touch