STACKS
Invented by @katrinadabbles · · 137,924

The Saturn, Tailwind, Apache, Cypher, Kafka, and Stripe Stack

The STACKS stack is a functional, event-driven architecture designed for building scalable web applications with strong type safety and real-time data processing.

Saturn serves as our server-side framework, providing an opinionated F# implementation of the MVC pattern that ensures type-safe request handling and enforces functional programming best practices across our business logic. Apache acts as our reverse proxy and HTTP server, sitting in front of Saturn to handle SSL termination, load balancing, and static asset serving at the edge. Tailwind powers our frontend styling, giving us a utility-first CSS framework that lets our team ship UI rapidly without fighting the cascade.

For stateful data, we use Cypher as our query language against a property graph database, which is particularly useful for modeling relationships in our domain—whether that's user networks, product hierarchies, or transaction chains. Kafka handles our event streaming layer, decoupling our real-time operations from synchronous requests; order events, user activities, and system state changes flow through Kafka topics, allowing us to build reactive features and maintain audit logs without blocking critical paths. Stripe is our payment integration library, consuming events from Kafka to trigger charges, manage subscriptions, and synchronize transaction state with our graph database.

This stack excels at building e-commerce or fintech platforms where you need functional correctness in transaction logic, graph-based relationship modeling, and asynchronous event processing at scale.