See how teams have used the Critter Stack and JasperFx consulting to solve real-world challenges — from legacy migrations to building resilient, high-performance event-driven systems.
A growing company needed to migrate their monolithic system to a modern, event-driven architecture to support increasing scale and new feature requirements. The existing system was becoming difficult to maintain and extend.
JasperFx worked with the client team to design and execute a phased migration strategy using Marten for event sourcing and Wolverine for asynchronous messaging. We provided architectural guidance, hands-on implementation support, and training to ensure the team could maintain the new system independently.
The client successfully migrated to an event-sourced architecture with significantly improved maintainability and the ability to add new features faster. The team gained deep expertise in Event Sourcing and CQRS patterns through the engagement.
A client's Critter Stack application was experiencing performance bottlenecks under growing production load. Query performance was degrading and message processing was falling behind.
Through a combination of architectural review and hands-on performance tuning, JasperFx identified key optimization opportunities in projection design, query patterns, and message processing configuration. We worked alongside the client's developers to implement changes and establish monitoring with CritterWatch.
The client saw dramatic performance improvements and established a monitoring foundation that let them catch and address issues proactively rather than reactively.
A client was building a distributed system with complex messaging requirements and needed confidence that their system could handle failures gracefully without losing data or getting into inconsistent states.
JasperFx provided consulting on resilient messaging patterns with Wolverine, including retry policies, dead letter handling, and transactional outbox patterns. We ran workshops with the development team and reviewed their architecture for failure scenarios.
The client deployed a production system with robust error handling and recovery capabilities. The team internalized resilience patterns and applied them consistently across their growing system.
Whether you are migrating to event-driven architectures, scaling an existing system, or starting a new project — we can help.