HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
estuary
flow
Rust2021–2026
estuary / flow

flow

🌊 Continuously synchronize the systems where your data lives, to the systems where you _want_ it to live, by managing your data flows with Estuary. 🌊

3Distinct people
13Mentions
0Explicit recommenders
988GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

🌊 Continuously synchronize the systems where your data lives, to the systems where you _want_ it to live, by managing your data flows with Estuary. 🌊

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:03:16 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year13 dated mentions

Observed mentions: 2021-04-23 02:06:31 UTC to 2026-05-28 21:44:04 UTC.

02462021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC404
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC606
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC101
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC000
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC101

What Hacker News says

13 sources
At Estuary, we have an in-house Rust crate [1] for building scale-out durable actors / FSMs in Postgres. It powers all async activity in our control plane -- slews of fine-grain scheduled actions, complex change propagation through data-flow topologies, reliable alert and email delivery, and more -- at hundreds to thousands of state transitions per second (today). It's been a wonderful pattern to build on, and is all of three source files. Here's a an example computing a Fibonacci sequence (very inefficiently, with lots of spawned sub-tasks and message passing) [2] [1] https://github.com/estuary/flow/tree/master/crates/automatio... [2] https://github.com/estuary/flow/blob/master/crates/automatio...
In Building durable workflows on Postgres
The key ingredient is leveled reads across topics. A task which is transforming across multiple joined topics, or is materializing multiple topics to an external system, needs to read across those topics in a coordinated order so that _doesn't_ happen. Minimally by using wall-clock publication time of the events so that "A before B" relationships are preserved, and ideally using transaction metadata captured from the source system(s) so that transaction boundaries propagate through the data flow. Essentially, you have to do a streaming data shuffle where you're holding back some records to let other records catch up. We've implemented this in our own platform [1] (I'm co-founder). You can also attenuate this further by deliberately holding back data from certain streams. This is handy when stream processing because you sometimes want to r
Read the rest
eact when an event _doesn't_ happen. [2] We have an example that generates events when a bike-share bike hasn't moved from it's last parked station in 48 hours, for example, indicating it's probably broke [3]. It's accomplished by statefully joining a stream of rides, with that same stream but delayed 48 hours. [1] https://www.estuary.dev [2] https://docs.estuary.dev/concepts/derivations/#read-delay [3] https://github.com/estuary/flow/blob/master/examples/citi-bi...
In How to stream PostgreSQL CDC to Kafka and use Propel to get an instant API
We use a macaddr8 that embeds a wall-clock timestamp (so they're ascending order, achieving data locality) with some additional shard and sequence-number bits. It's worked really well for us: https://github.com/estuary/flow/blob/master/supabase/migrati... we use macaddr8 instead of bigint, because it has a postgres serialization / JSON encoding which lossless-ly round-trips with browsers and it works well with PostgREST. The same CANNOT be said for bigint, which is a huge footgun.
In Unexpected downsides of UUID keys in PostgreSQL
Estuary Technology | Backend Engineer | Developer Evangelist | Rust, Go | REMOTE OR HYBRID | UTC-7 to UTC+2 Regional offices in NYC & Columbus, OH Estuary (https://www.estuary.dev/) is the first real-time Data Operations platform for future-proof pipelines, including both historical and real-time data set up in minutes. Our team is rapidly growing, VC funded and led by two successful, repeat founders. We primarily develop in Rust and Go and are heavily built on top of gazette which is an internally developed streaming engine. Flow: https://github.com/estuary/flow Gazette: https://gazette.readthedocs.io/en/latest/ Backend Engineer: https://www.estuary.dev/about/#backend Developer Evangelist: https://www.estuary.dev/about/#developerevangelist ^This is an exciting opportunity to make direct impact and shape user perception of a new product t
Read the rest
hat brings a fresh experience to working with real-time data. As this is a unique role, we are open to a variety of personas (data engineers, backend developers, Solutions Engineers and of course DevRel professionals). Estuary offers full health benefits, competitive salary, unlimited PTO, 401K, equity, and a culture that values trust, transparency, and a flexible work environment to optimize your work/life balance. To apply, send your resume and any questions to Careers@estuary.dev
In Ask HN: Who is hiring? (September 2022)
Estuary Technology | Backend Engineer | Rust, Go | REMOTE OR HYBRID | Regional offices in NYC & Columbus, OH Estuary (https://www.estuary.dev/) is the first real-time Data Operations platform for future-proof pipelines, including both historical and real-time data set up in minutes. Our team is rapidly growing, VC funded and led by two successful, repeat founders. We primarily develop in Rust and Go and are heavily built on top of gazette which is an internally developed streaming engine. Flow: https://github.com/estuary/flow Gazette: https://gazette.readthedocs.io/en/latest/ We are looking for a backend engineer who is early in their career (around 1-3 years of industry experience) to join our team. For engineers who have an unquenched curiosity and drive to solve complex distributed systems problems, this is an opportunity to advance yo
Read the rest
ur career alongside a team of subject matter experts. We are focused on expanding our catalog of open-source data connectors and building out our managed service platform. ESTIMATED COMPENSATION: $110,000 - $150,000. Estuary offers full health benefits, competitive salary, unlimited PTO, 401K, equity, and a culture that values trust, transparency, and a flexible work environment to optimize your work/life balance. Email your resume to careers@estuary.dev to apply!
In Ask HN: Who is hiring? (August 2022)
Estuary Technology | Junior Backend Engineer | Rust, Go | REMOTE OR HYBRID | Regional offices in NYC & Columbus, OH Estuary (https://www.estuary.dev/) is the first real-time Data Operations platform for future-poof pipelines, including both historical and real-time data set up in minutes. Our team is rapidly growing, VC funded and led by two successful, repeat founders. We primarily develop in rust and go and are heavily built on top of gazette which is an internally developed streaming engine. Flow: https://github.com/estuary/flow Gazette: https://gazette.readthedocs.io/en/latest/ We are looking for a junior backend engineer with 2-3 years of industry experience. For engineers who have an unquenched curiosity and drive to solve complex distributed systems problems, this is an opportunity to advance your career alongside a team of subject
Read the rest
matter experts. We are focused on expanding our catalog of open-source data connectors and building out our managed service platform. ESTIMATED COMPENSATION: $110,000 - $150,000. Estuary offers full health benefits, competitive salary, unlimited PTO, 401K, equity, and a culture that values trust, transparency, and a flexible work environment to optimize your work/life balance. Email your resume to careers@estuary.dev to apply!
In Ask HN: Who is hiring? (July 2022)
Estuary Technology | Developer Evangelist | Backend Engineer | Rust, Go | REMOTE OR HYBRID | Regional offices in NYC & Columbus, OH Estuary (https://www.estuary.dev/) is an open-source DataOps platform that empowers engineering teams to build real-time, data-intensive applications at scale with minimal friction. We primarily develop in rust and go and are heavily built on top of gazette which is an internally developed streaming engine. Flow: https://github.com/estuary/flow Gazette: https://gazette.readthedocs.io/en/latest/ Our team is rapidly growing, VC funded and led by two successful, repeat founders. Estuary offers full health benefits, competitive salary, unlimited PTO, 401K, equity, and an inclusive, supportive work environment to expand your skills among a passionate team. Open Positions: -Developer Evangelist https://www.estuar
Read the rest
y.dev/about/#developerevangelist -Backend Engineer https://www.estuary.dev/about/#backend Careers@Estuary.Dev to apply!
In Ask HN: Who is hiring? (June 2022)
> I'd love to be able to have a "relational database" that is also some "NoSQL" databases (since there's a few major useful paradigms there) that just takes care of this for me. I imagine I'd have to declare my schemas, but I'd love it if that's all I had to do and then the DB handled keeping sync and such. You might be interested in what we're building [0] It synchronizes your data systems so that, for example, you can CDC tables from your Postgres DB, transform them in interesting ways, and then materialize the result in a view within Elastic or DynamoDB that updates continuously and with millisecond latency. It will even propagate your sourced SQL schemas into JSON schemas, and from there to, say, equivalent Elastic Search schema. [0]: https://github.com/estuary/flow
In DynamoDB 10 years later
Not for Kafka, but we are building Flow [1] to offer deterministic ordering, even across multiple logical and physical partitions, and regardless of whether you're back-filling over history or processing in real-time. This ends up being required for one of our architectural goals, which is fully repeatable transformations: You must be able to model a transactional decision as a Flow derivation (like "does account X have funds to transfer Y to Z ?", and if you create a _copy_ of that derivation months later, get the exact same result. Under the hood (and simplifying a bit) Flow always does a streaming shuffled read to map events from partitions to task shards, and each shard maintains a min-heap to process events in their ~wall-time order. This also avoids the common "Tyranny of Partitioning", where your upstream partitioning parallelism N
Read the rest
also locks you into that same task shard parallelism -- a big problem if tasks manage a lot of state. With a read-time shuffle, you can scale them independently. [1]: https://github.com/estuary/flow
In Issues we've encountered while building a Kafka based data processing pipeline
If you're in the Go ecosystem, Gazette [0] offers transactional integrations [1] with remote DB's for stateful processing pipelines, as well as local stores for embedded in-process state management. It also natively stores data as files in cloud storage. Brokers are ephemeral, you don't need to migrate data between them, and you're not constrained by their disk size. Gazette defaults to exactly-once semantics, and has stronger replication guarantees (your R factor is your R factor, period -- no "in sync replicas"). Estuary Flow [2] is building on Gazette as an implementation detail to offer end-to-end integrations with external SaaS & DB's for building real-time dataflows, as a managed service. [0]: https://github.com/gazette/core [1]: https://gazette.readthedocs.io/en/latest/consumers-concepts.... [2]: https://github.com/estuary/flow
In Issues we've encountered while building a Kafka based data processing pipeline
Estuary Flow [1] may be interesting to those in this space. We're still building, but it's a GitOps workflow tool that tightly integrates schema definition (JSON Schema), captures and materializations from/to your systems & SaaS, rich transformations, catalog and provenance metadata tracking, built-in testing, and a managed runtime. All with sub-second latency. Flow's runtime uses nascent but really promising open protocols for building connectors to the myriad systems and APIs out there. We're seeing Airbyte's work (itself built off of Singer) as the best steps in this direction and are leaning into that effort ourselves. [1] github.com/estuary/flow
In What the Heck is a Data Mesh?
Can you speak more to how updates get pushed out to your UI clients? Are you using Firestore ? Hasura? Polling? Something we're looking at enabling w/ Estuary Flow [1] is materializing to Firestore for this use case (and Flow already supports PostgreSQL materializations). Flow would capture changes from your database tables (or you write normalized events directly to Flow collections). You aggregate and join as needed, and then materialize your views into Firestore (or another Postgres table) where you'd subscribe for live updates. [1]: https://github.com/estuary/flow
In Ask HN: Is there a way to efficiently subscribe to an SQL query for changes?

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.