Skip to content

App Dev

Struggling to modernise legacy applications or build cloud-native solutions from scratch? Our development expertise in .NET, Azure, and DevOps accelerates your delivery and de-risks your journey.

Talk to our .NET experts

Struggling to modernise apps or build cloud-native solutions from scratch? Our development expertise in .NET, Python, TypeScript, Azure and DevOps accelerates your delivery.

Discovery

Discovery

Jumpstart your .NET modernisation with our battle-tested process
Proof of Concept

Proof of Concept

Build the business case by implementing a scenario
Blueprints

Blueprints

De-risk your project and accelerate time to value
Delivery Squads

Delivery Squads

Team-per-week working to a deadline or budget
DevOps

DevOps

Streamline delivery with CI/CD, Infrastructure as Code, and automation
App Modernisation

App Modernisation

Transform legacy applications into cloud-native .NET solutions
Performance Optimization

Performance Optimization

Identify and eliminate bottlenecks to maximise application speed and efficiency
Mentoring

Mentoring

Weekly "office hours" to help solve problems & make decisions
Skills Assessment

Skills Assessment

Understand your capabilities to plan for modernisation success

In the Cloud Native era, apps are complex, interconnected & data driven. Reactive programming is a useful paradigm for any system that has to deal with things happening, and solves the problem of extracting intelligent signals from the noise of modern data volumes.

Reactive Extensions for .NET was created in 2008 by the Cloud Programmability team at Microsoft, for a Cloud Native future, which has now arrived

The System.Reactive NuGet package has been downloaded over 150 million times, and is used by Visual Studio, .NET Interactive and ReactiveUI.

Since 2023, the Open Source project has been maintained by endjin.

GitHub Repo

Reactive programming provides clarity when our code needs to respond to events. The Rx.NET libraries were designed to enable cloud-native applications to process live data in reliable, predictable ways.

We've written a FREE book which explains the vital abstractions that underpin Rx, and shows how to exploit the powerful and extensive functionality built into the Rx.NET libraries.

introtorx.com

Reaqtor evolves Rx.NET by adding state & durability primitives to enable long running queries, for processing live or historic data streams. Reaqtor is used by Bing, MSN, and M365 to handle billions of standing stateful queries, processing thousands of events per second.

We spent 5 years collaborating with Microsoft to Open Source Reaqtor under the .NET Foundation and become the project maintainers.

reaqtive.net

Watch our talks on Reactive Extensions for .NET, from modernization and new features to high-performance event processing with Reaqtor.

Watch on YouTube

.NET Learning Paths

Curated series covering the patterns, performance techniques, language features, and data modelling every .NET developer should know.

All .NET posts

Watch our talks on .NET development, C# language features, and high-performance coding techniques.

Watch on YouTube

Latest App Dev blogs

AsyncAPI Code Generation with Corvus: Custom Transports

AsyncAPI Code Generation with Corvus: Custom Transports

Matthew Adams

Implement a custom IMessageTransport for brokers not covered by the built-in packages - PublishAsync, SubscribeAsync, RequestAsync, dead-letter routing, and optional health check support.
AsyncAPI Code Generation with Corvus: Testing

AsyncAPI Code Generation with Corvus: Testing

Matthew Adams

Test Corvus-generated AsyncAPI producers and consumers without a running broker - unit test handler logic with typed payloads, verify producer output with message capture, and integration test the full publish-consume round-trip using InMemoryMessageTransport.
AsyncAPI Code Generation with Corvus: Filtering

AsyncAPI Code Generation with Corvus: Filtering

Matthew Adams

Generate producers and consumers for only the channels you need - use channel filtering, tag selection, and the asyncapi-show preview command to carve focused messaging code from large AsyncAPI specifications.
AsyncAPI Code Generation with Corvus: Durability and Resumption

AsyncAPI Code Generation with Corvus: Durability and Resumption

Matthew Adams

Configure durable message delivery for Corvus-generated AsyncAPI consumers - Kafka consumer groups, AMQP acknowledgement, NATS JetStream, MQTT persistent sessions, and Azure Service Bus PeekLock settlement.
AsyncAPI Code Generation with Corvus: Health and Telemetry

AsyncAPI Code Generation with Corvus: Health and Telemetry

Matthew Adams

Add observability to Corvus-generated AsyncAPI producers and consumers - OpenTelemetry distributed tracing, message throughput metrics, processing loop heartbeats, and ASP.NET Core health checks for transport connectivity.
AsyncAPI Code Generation with Corvus: Request/Reply

AsyncAPI Code Generation with Corvus: Request/Reply

Matthew Adams

Generate typed request/reply methods from AsyncAPI specs with Corvus - correlated messaging with zero-allocation correlation IDs, typed response payloads, timeout management, and support for both AsyncAPI 3.0 reply objects and 2.6 x-corvus-reply extensions.

We share the value we create.

We help our customers succeed by leveraging our Intellectual Property.

"Past Us" created value so that "Future Us" could benefit, and work smarter; constantly focusing on delivering real business value rather than reinventing the wheel, to scratch a technical itch. You can benefit from our efforts too.

Endjin on GitHub

From SMEs to global enterprises, we help organisations build modern, cloud-native applications with .NET and Azure.

We pride ourselves on our customer relationships. Here's what they had to say about us.

Endjin helped us to find the performance bottlenecks in our WPF based application running on XenApp clusters. They quickly identified bottlenecks and suggested changes to mitigate the issues. Endjin upskilled our team so we can now do the analysis and optimisation ourselves. Endjin delivered beyond our expectations.

We recently completed a Microsoft Solution Assessment and line-by-line code review. The solution and code were rated high-quality and well-constructed.

It's the unique blend of commercial acumen, strategy awareness, deep technical ability and the willingness to call bullshit/not tolerate it, that makes endjin so special.

Chat

Chat

Click here to pop open a chat window and we'll get right back to you
Call

Call

If you'd rather talk another time, schedule a call using our online calendar
Email

Email

Or you can use good old fashioned email to drop us a line, hello@endjin.com