Building a Chatbot with Blazor and Google's Gemini πŸ€–


Posted on Saturday, 23 August 2025

In this blog post, we'll explore how to build a simple chatbot using Blazor WebAssembly and Google Gemini. We'll also use MudBlazor for UI. What you should end up with is something like this, where you can ask it all the important questions.

Read

Getting started with Ollama πŸ¦™ with dotnet


Posted on Thursday, 21 August 2025

Ollama is an open-source runtime that makes it easy to run large language models (LLMs) locally on your machine. It handles model loading, execution, and exposes a simple API you can interact with from any language β€” including C#. You can find available models from https://ollama.com/search. You'll find models like Meta's llama or the infamous deekseek ai model.

Read

πŸš€ Deploying a Blazor WebAssembly App to GitHub Pages with GitHub Actions


Posted on Sunday, 10 August 2025

If you’ve ever wanted to deploy a Blazor WebAssembly app to GitHub Pages, GitHub Actions makes the process straightforward and automated.

Read

Testing with .NET Aspire


Posted on Sunday, 3 August 2025

Testing distributed applications isn’t just about checking HTTP endpoints. It involves coordinating APIs, background workers, messaging systems, and databases. .NET Aspire provides a way to build and test cloud-native .NET applications as a unified experience.

Read

Getting started with .NET Aspire in a event driven microservice


Posted on Saturday, 5 July 2025

When .NET Aspire came out in May 2024, I wasn’t sure what it was solving. But after digging in and trying it out, it clicked. In this post, I’ll walk through my experience integrating Aspire into a real-world event-driven microservice, regis-pay (https://github.com/reggieray/regis-pay) which is an example event driven microservice.

Read

.NET MAUI First Impressions


Posted on Saturday, 20 July 2024

In my past I've built mobile apps for companies and my side projects using Xamarin.Forms, Android apps using Kotlin/Java, so I'm a bit familiar with the Android ecosystem. Although it has been a while since I had coded in this space and all my side project Android apps looks more like a grave yard of delisted applications due to neglect.

Read

Discriminated Unions With OneOf


Posted on Monday, 17 June 2024

Before I try and do a very poor job of explaining what a discriminated union is, I can point you to a documentation on it for F#. Discriminated Unions documentation and a quote taken from said documentation.

Read

Keyed Services in .NET 8


Posted on Friday, 14 June 2024

Keyed services allow you to register multiple implementations of a service with a key and resolve the desired implementation at runtime based on that key. This enhances the flexibility and maintainability of your application.

Read

Building distributed applications with MassTransit


Posted on Sunday, 12 May 2024

MassTransit is a mature and feature-rich messaging framework that facilitates communication between distributed components using messaging patterns such as publish/subscribe, request/response, and message routing. Built on top of .NET, MassTransit abstracts away the complexities of message queuing systems like RabbitMQ, Azure Service Bus, and Amazon SQS, enabling developers to focus on application logic rather than infrastructure concerns.

Read

Load testing Event Driven Microservices with NBomber


Posted on Sunday, 28 April 2024

In this blog post I'll be exploring how to load test a event driven microservice. The code I use in this post can also be found in the Regis Pay github repository. I'll also be using this microservice example for running the load tests against.

Read

.NET Event Driven Microservice (Part 3) - Architecture Overview


Posted on Friday, 26 April 2024

This is part of a multi part blog post where I go over an example event-driven microservice project, using a fictional payment processor named Regis Pay as an example. To see the previous blog post click this link on Event Sourcing.

Read

.NET Event Driven Microservice (Part 2) - Event Sourcing


Posted on Monday, 22 April 2024

This is part of a multi part blog post where I go over an example event-driven microservice project, using a fictional payment processor named Regis Pay as an example. To see the previous blog post click this link on the transactional outbox pattern.

Read