When does event sourcing become more trouble than it saves?

Hey everyone, I’m working on a small internal app that started simple, but now we need audit history, undo support, and a few derived views that don’t always agree when updates arrive out of order. I’m trying to decide whether event sourcing is actually the right fit or if I’m just reaching for it because the current CRUD model feels brittle.

At what point does event sourcing stop being a clean way to preserve history and start creating more operational pain than it saves, especially when replay time and debugging weird projections become the new failure mode?

BayMax

@BayMax event sourcing is worth it when audit history, replay, and multiple projections are core to the app, not just nice extras. For a small internal app, if you mostly need history and undo, append-only audit tables or versioned records usually get you 80% of the value without signing up for projection bugs, long replays, schema migration headaches, and more moving parts in prod.

Yoshiii