Modern .NET development

ASP.NET Core and Blazor development from Switzerland

For processes no off-the-shelf software covers. We build them with you, in your repository, with tests from day one.

Tell us what you're planning
Starting point

Sound familiar?

«The process lives in Excel, emails and three people's heads.»
We turn exactly that process into a web application.
«The standard software almost fits. The almost costs us every day.»
We build the missing piece, cleanly integrated.
«Our team is good, but too small for the roadmap.»
We work inside your team, not next to it.
How it works

How a project with us runs

Five steps, so you always know where your project stands.

  1. Conversation: 30 minutes about your goal and your hurdles.
  2. Proposal: Approach, team and rough effort.
  3. Something to try, early: So your business team has a say from the start.
  4. Regular releases: Small, tested steps in your pipeline.
  5. Your code, your knowledge: Repository, docs and know-how stay with you.
Reference

Software you can't buy anywhere

Tiefgrün

Live machine data in the field, without climbing into the cab

An installable web app for precision weeding, offline-capable and with guided error handling.

Case study: precision weeding PWA
What we do

Web applications and web APIs with .NET

From web API to finished product

An ASP.NET Core Web API is one part of the job, not the whole of it. We build the REST endpoints, the data model behind them and the interface in front, so that what you end up with is a web application people actually use.

The frontend that suits you

Blazor when you want to keep C# end to end. Angular when your team is at home there, and we are very fond of Angular signals. React when it fits. The choice follows your team, not our taste.

Code we have verified

Architecture, API and unit tests are part of development for us, not something bolted on afterwards. That keeps your application changeable long after we stop working on it every day.

Technologies

Our stack: ASP.NET Core, Blazor and more

.NET is our focus and where our experience runs deepest. Around it we pick whatever suits your project.

Code sample of an ASP.NET Core minimal API in C# with typed results and authorization

Backend and web APIs

  • C# and .NET
  • ASP.NET Core Web API
  • Entity Framework Core
  • Background jobs and messaging

Frontend with Blazor, Angular or React

  • Blazor
  • Angular including signals
  • React
  • TypeScript, HTML and CSS

Databases

  • SQL Server
  • PostgreSQL
  • Azure Cosmos DB
  • Migrations and reporting

Operations and quality

  • Azure
  • Docker and containers
  • CI/CD with GitHub Actions or Azure DevOps
  • Architecture, API and unit tests
Blazor

Blazor, and we maintain the testing library for it ourselves

Steven Giesel maintains bUnit, the component testing library most Blazor teams already have in their test projects. That is not a badge on a slide: it means we have read the framework from the inside, and we know which parts of it hold up under a real application.

We build new Blazor applications, take over ones that have stalled, and move WebForms and MVC code bases across without a rewrite from zero. This website runs on Blazor and .NET 10, so everything we recommend is something we run ourselves.

More on Blazor development and consulting
bUnit

bUnit, over 20 million downloads

The testing library for Blazor components, maintained by our founder. Open source, and used by teams far beyond our own projects.

Visit the bUnit project site
  • New Blazor applications

    From the first component to production, with a render model chosen for your users rather than for the demo.

  • WebForms and MVC migration

    Moving a grown ASP.NET application to Blazor page by page, so the product keeps shipping while the migration runs.

  • Component libraries and design systems

    A shared component set your teams actually reuse, accessible by default rather than audited afterwards.

  • Component testing with bUnit

    A test suite that covers rendering, state and interaction, set up by the people who maintain the tool.

  • Render models and interactivity

    Static server rendering, interactive server, WebAssembly or a mix. We pick per page, not per project.

  • Performance and diagnostics

    Finding the re-renders, the oversized payloads and the circuit problems that make a Blazor application feel slow.

Why BitSpire

Why teams bring us in for .NET projects

We join the team, we do not sit beside it

We work in your repositories, your reviews and your standups. Your team keeps ownership of the product, we add pace and experience.

Greenfield and brownfield

An empty repository is pleasant but rarely the reality. We work just as well inside systems that have grown over years, improving them step by step instead of rewriting everything at once.

Depth rather than breadth

We have worked with .NET for many years, including a Microsoft MVP award and contributions to open source. You notice it in the decisions we make early in a project.

Reishauer
“Given today's security standards and the many interfaces of our overall system, we have always achieved a first-class, high-performance solution.”
Dr. Christian Dietz, Head of Digital Technology, Reishauer AGTranslated from German.
Workshops

Workshops on ASP.NET Core web APIs

We do not only build, we pass the knowledge on. Steven Giesel runs workshops on ASP.NET Core web APIs, in German or English.

  • REST and API design
  • DTOs, mapping and error handling
  • Authentication and API versioning
  • SignalR for real-time updates
  • Unit and integration tests
  • Swagger and OpenAPI
C# and web development trainings and workshops
FAQ

Frequently asked questions about .NET and Blazor development

Do you work inside our team, or do you take the project over?

Both are possible. We strengthen your existing team and work to your standards, or we build the application together with you from the start. Which one fits depends on your team size and your timeline, and we sort that out in the first conversation. We are based in Switzerland and work just as well remotely with teams abroad.

Do you also take on existing applications?

Yes. A large part of our work is brownfield. We read our way into the code, pin the current behaviour down with tests and then improve in small steps. A big bang rewrite is rarely the right answer.

Blazor, Angular or React: which one fits our project?

Your project and your team decide that, not our taste. Blazor plays to its strength when you want C# from the database through to the interface and would rather not maintain a second language ecosystem. Angular and React are the answer when your team is at home there or you need the larger ecosystem, we have built plenty in both and are particularly fond of Angular signals. By the way, we help maintain bUnit, the testing library for Blazor components.

How do you make sure the quality is there?

With tests at several levels: unit tests for the logic, API tests for the interfaces and architecture tests that check rules such as layering automatically. On top of that, code reviews and a build pipeline that runs on every commit.

Do you also do Blazor testing, or only development?

Both, and we would rather not separate them. Steven Giesel maintains bUnit, the Blazor component testing library, so a test suite is part of how we build, not an extra we quote for later. If your team already uses bUnit and is stuck, we can help with that alone.

Can we move an existing WebForms or MVC application to Blazor?

Usually yes, and usually not in one step. We migrate page by page behind the running application, so the product keeps shipping while the old stack shrinks. The same approach works for the framework upgrade underneath it.

Read our .NET Framework 4.8 to .NET 6 migration guide

Do you also migrate PHP websites to .NET?

Yes. We migrate PHP CMS such as WordPress or TYPO3 to an open source CMS on .NET, such as Umbraco or Oqtane. Content and URLs move along, code and hosting stay with you.

More on the fixed-price PHP migration

Get In Touch

Rather write to us directly?

You talk directly to the people who will write your code.

  1. You get in touch: We do our best to reply within 24 hours.
  2. We get to know each other: 30 minutes. You talk, we ask. No pitch.
  3. We decide together: How to move forward, or honestly, that we're not the right fit.
98 / 2000

A few sentences are enough. What's holding you back today, is there a deadline?

We only use your details to reply to you.

Rather talk directly? 30 minutes on Google Meet with Steven Giesel.

Pick a time
Or email us at contact@bitspire.ch