Revolutionizing Real-Time Alerts With AI, NATS, and Streamlit

Imagine you have an AI-powered personal alerting chat assistant that interacts using up-to-date data. Whether it’s a big move in the stock market that affects your investments, any significant change on your shared SharePoint documents, or discounts on Amazon you were waiting for, the application is designed to keep you informed and alert you about any significant changes based on the criteria you set in advance using your natural language.

In this post, we will learn how to build a full-stack event-driven weather alert chat application in Python using pretty cool tools: Streamlit, NATS, and OpenAI. The app can collect real-time weather information, understand your criteria for alerts using AI, and deliver these alerts to the user interface.

Designing Microservices Platforms With NATS [Book] Released!

Just Released!

It is a great and humble feeling to release my very first book “Designing Microservices Platforms with NATS” on 19th November 2021 (first edition). You can read it through Amazon, Barnes and Nobel, Packt, and other distributors worldwide.

Cover of the book Designing Microservices Platforms with NATS

Why Another Microservices Book?

I hear you! Why there are so many books about microservices? Is that so complicated? Why do people use it? Those were some of the questions I had when reading about microservices in the wild (internet). The more I read through, the more I realized that there is something missing. That missing piece was the first principle and the simplicity when building microservices.

JetStream Publishing with the NATS.io Java Library

The previous entry, JetStream Stream Creation with the NATS.io Java Library in this series showed us how to create a stream. Once you have defined a stream, you can publish to the configured subjects. Publishing to stream subjects isn't really much different from publishing a regular NatsMessage. Once a subject is established, you could publish a regular NatsMessage to that subject, but there are benefits to publishing via the JetStream API instead of the regular message API.

Publish Acknowledgement

When you publish via the JetStream API, each publishes will receive an acknowledgment or PublishAck. This is the server's way of letting you know it has received the message and has handled it according to the options like storage, retention, and replication that were established when creating the stream.

NATS.io JetStream Stream Creation With the NATS Java Library

The NATS Java library with support for JetStream has just been released!

JetStream allows you to persist streams of messages, allows consumers to either subscribe in real-time or to access the messages at a later time with the added flexibility to choose from where in the stream you want to start receiving messages. You can start reading from the stream at a specific point in time or start at a specific message sequence number.