Over the Christmas break I have been doing lots of thinking about content, publishing, and real-time events.

I have a fascination about processing events in real-time, from devices which are not always-on (connected).

Imager is a side-project where content is worked on locally, events are sent to a queue, and a (remote) Decider acts on those events.

The use-case for this side-project is a content management system, which is not served by a dynamic-content back-end server.

The Decider acts as a workflow engine. It will process instructions based on the event.

Imager - high level flow

I want the chocksaway.com blog to be powered by Imager, and use Micronaut as a sort of local server, with a remote Decider workflow, which checks for new (static) content.

When a publish event is in the queue, the Decider acts on it. For example pulling static HTML content (from an Imager endpoint), and saving it locally.

This would update the blog.

Why does Imager exist?

Security and cost. I want to develop something which does not require a large overhead. A Decider can run on a schedule, and only process specific events.

The blog use-case keeps content static, reducing the attack surface.