All Blogs

Kendall Roden

|

October 7, 2024

unleashing innovation: AWS hackathon sparks creative solutions with Diagrid Catalyst

In June, we hosted the first Diagrid Catalyst hackathon. Participants were tasked with developing a microservice-based application using at least two of the five Dapr APIs hosted by Catalyst. Learn about the winning sumissions in this blog.

During the Catalyst Hackathon, a set of competent and creative engineers set out to build innovative AWS-hosted solutions using the Diagrid Catalyst API platform. Participants were tasked with aligning their solution to one of three solution areas:

  1. Polyglot compute/ Cross-platform service discovery: Application services are deployed to different AWS hosting platforms which interact via the Catalyst APIs.
  2. Stateful business process orchestration: Application services are instrumented as using the Dapr Workflow API hosted by Catalyst.
  3. Serverless architecture: Application services are optimized to run on AWS PaaS/SaaS services which abstracts infrastructure concerns and enables high-scalability.

For a month, participants poured their creativity and expertise into brainstorming solutions, and the results were nothing short of remarkable. After an intense period of coding and collaboration, three standout projects emerged as the winners, showcasing the potential of Catalyst as a driving force for developer innovation.

In this blog post, we will provide a bit of background on the Catalyst product, briefly highlight the winning submissions, and invite you to dive deeper in an upcoming webinar jam-packed with Catalyst demos.

Background on Diagrid Catalyst 

Over the past year, the Diagrid team has been hard at work on the Diagrid Catalyst platform. The goal? Provide best-in-class development patterns as accessible-from-anywhere APIs. 

Modern-day applications are increasingly complex, built upon a growing collection of dependencies—from cloud provider SDKs and third-party libraries to databases and web frameworks. The Dapr OSS project, announced in 2019 and currently progressing through the CNCF graduation process, was created as a simple but powerful solution to tackle this growing complexity problem. 

Flash forward to 2024, the Diagrid Catalyst team is focused on providing a fully-hosted Dapr API experience. With Catalyst, developers can build scalable and flexible applications in any language, using any framework, running on any compute host, and consuming any service dependencies through a consistent API abstraction layer.

“I'm already using this product (Catalyst) everyday… I've tried building this app several times with different stacks. The burn was unbearable. Catalyst just gave me an easier way to do it, with minimal moving parts, isolation and decoupling which I adore."

- Rosius Ndimofor Ateh, Creator at Educloud, AWS Serverless Hero, and Hackathon champion

Showcasing the power of Catalyst: The winning projects

We were incredibly impressed with the quality of submissions we received as a result of the hackathon. Participants not only came up with solutions which solved real world problems, they also took full advantage of the breadth of Dapr APIs and capabilities provided by Catalyst. Below provides a closer look into the winning projects.

Dlveries: A package delivery service built by Rosius Ndimofor Ateh 

Dlveries provides an end-to-end tracking solution designed for a wide range of delivery scenarios, from tracking orders for food drop-off, to local grocery delivery and clothing shipments. With a frontend mobile app built using AWS Amplify with the Flutter SDK and multiple python-based microservices deployed to AWS App Runner, Dlveries seamlessly performs state management, cross-service invocation, messaging, and stateful workflows through the Catalyst-hosted Dapr APIs. The Dliveries application does not contain direct dependencies on any AWS databases or pub/sub brokers thanks to the abstraction layer provided by Catalyst, showcasing its potential to simplify and standardize the development process.

As an example, below shows the payment-service code which schedules a new payment processing workflow for a particular package using the Dapr Workflow API. 

The workflow client above creates a bi-directional gRPC stream between the application and the workflow orchestration engine in Catalyst; Catalyst persists the state of the workflow as an append-only log stream which it uses to drive the set of execution instructions it sends to the application. Below, you can see an example of the workflow output generated from the above API call using the Catalyst workflow visualizer.

Invoicer: An invoice generation tool built by Whit Waldo 

Whit, a small business owner, developed Invoicer to streamline his invoicing process, avoiding costly third-party services.  

Whit who is primarily an Azure user and .NET developer leveraged the flexibility of Catalyst to create a solution that is not only cost-effective but also highly portable across cloud platforms. His project demonstrates how Catalyst’s Dapr APIs enable efficient, scalable, and customizable application development.

“The Catalyst APIs were a huge time-saver - especially since I created a Dapr-heavy solution, this saved me a lot of time setting up the various component definitions, it kept my solution quite portable (as I could just as easily deploy this to Azure or GCP without any changes but to the build definition) and the ability to view the state, call graph and API logs using the Catalyst console meant I didn't have to write supplementary tooling while debugging the solution”

- Whit Waldo, CEO, Innovian 

Below you can see the Catalyst App ID associated with Whit's invoicer application. The externally-hosted application makes Dapr API calls to the App ID below using the generated API token. The App ID then facilitates communication to a number of backing services via connections. 

Whit is currently using the Dapr pub/sub API with the Diagrid Pub/Sub service as shown below, but he could, for instance, choose to use Kafka or Azure Service Bus in the future by simply onboarding the respective connections to Catalyst.

Family Pets: An ML-powered pet finder application by Kevin Rafael Santacruz Burgos & Santiago Arguello 

Family Pets is a heartwarming solution aimed at reuniting lost pets with their owners using AI. Traditional methods for finding a lost pet such as plastering paper flyers around local neighborhoods or sharing social media posts can be ineffective and slow, leading to prolonged distress for both the pets and their owners. 

Using the Family Pets application, users can upload photos of a lost or found pet which will execute a machine learning model to identify the breed of the pet. Afterward, the system will attempt to match the uploaded photo to a database of animals reported lost or found.

By integrating Catalyst’s stateful orchestration with Amazon’s machine learning capabilities, the team built a system that enhances the chances of finding lost pets quickly. This project highlights the transformative potential of Catalyst in combining modern AI with practical, everyday applications.

Catalyst is only getting better: A few recent improvements

All of the submissions highlighted above showcase the power of the Dapr APIs coupled with the Catalyst platform. The hackathon led to the creation of powerful solutions, but also provided the Catalyst product and engineering team at Diagrid with amazing feedback leading to improvements in developer experience and platform stability. For a sneak peak at some of these improvements, see below.

Connection create experience enhancements

You can now search through connections based on the operations and capabilities they support. For example, you can search specifically for state stores which can be used to store Workflow data.

App ID Details view redesign

Connecting to and disconnecting from your application, navigating the console, making API calls, and adding new scoped resources to your App ID are easier to do than ever thanks to a more action-oriented App ID details page. 

Workflow observability improvements

If your application endpoint is no longer reachable, your workflow status will show as disconnected. Once your application is reconnected, the workflow will resume processing. This and many other backend improvements related to onboarding Dapr 1.14 and the new Dapr scheduler have led to increased reliability and a better Workflow user experience. 

 

In summary 

Developing and deploying distributed solutions quickly while following best practices can be an extremely tall order based on the growing list of requirements engineering must tackle related to security, reliability, scalability, resiliency… the list goes on. We are excited to see how Catalyst continues to evolve to enable even more developers as they tackle growing software complexity. 

“Even as an early access product, Catalyst APIs stand out among other API-driven solutions with which I have worked with during my career, and as backed by the Dapr CNCF project, it allows Software Engineers to rely on it without worrying about the solution's Heavy Lifting core logic.”

- Sardor, Software Engineer, EPAM Systems 

Looking ahead

We invite you to join us on August 15th at 9 AM PDT/ 6 PM CET as we invite our first and second place winners to dive deep into their solutions, showing off the Catalyst platform in real-time. 

In addition, we will have the product and engineering team highlight the major Catalyst investments made in the past few months so you are up to speed with the latest and greatest features available to you! 

Save your seat here! And check out these guides to see more of Catalyst in action: