HNHacker News
TopNewBestAskShowJobs

kobieps

169 karma · joined August 9, 2023

creating powersync
submissionscomments
kobieps··on Ask HN: Who is hiring? (January 2026)
PowerSync | Senior Backend Engineer and Database Expert | Full-time | Remote (opt-in regional offices)

PowerSync is a sync engine that keeps your backend database in sync with on-device SQLite. We support Postgres, MySQL, MongoDB and SQL Server as source databases and have a plethora of client SDKS, many of which are integrated with popular libraries and frameworks on the client-side like TanStack DB, Drizzle, GRDB, Room, etc

If you're a database enthusiast and have a solid track record of building, deploying and maintaining backend systems on modern cloud stacks at scale, please check us out.

Detail: https://www.powersync.com/careers/senior-backend-engineer-an...

Our team is small and polyglot, but experience with TypeScript is a must.

Experience with OSS projects is also a must - either you've made significant contributions to popular devtool projects or, better yet, you have your own.

Culture: We're agile and devops purists (before those terms got coopted)

kobieps··on Clock synchronization is a nightmare
Haha fair, but in this case it was "loses the time if the power supply is interrupted"
kobieps··on Clock synchronization is a nightmare
Even just a single accurate clock is a nightmare... https://www.npr.org/2025/12/21/nx-s1-5651317/colorado-us-off...
kobieps··on Ask HN: How do you design offline-first flows in large React Native apps?
Cool, makes sense. We still want to write a blog post about how we built powersync that will go into more detail on the points you raised.

The one thing I'll add is we found "keeping UI responsive while syncing in the background" is highly platform dependent since all platforms have their quirks, but for React Native we have a detailed blog post and code (admittedly tightly coupled to powersync, but should provide a starting point) https://www.powersync.com/blog/keep-background-apps-fresh-wi...

kobieps··on Ask HN: How do you design offline-first flows in large React Native apps?
Not sure if you're open to using tools for this, but PowerSync solves those tricky things you listed (and many more you didn't list (disclaimer I'm on the team))

We also have docs for common offline-first use cases. For temporary client IDs, see https://docs.powersync.com/usage/sync-rules/client-id#postgr...

Those strategies are broadly applicable no matter the stack, PowerSync just takes care of some of the details.

kobieps··on Roomba maker goes bankrupt, Chinese owner emerges
Yeah matic is vision only
kobieps··on Roomba maker goes bankrupt, Chinese owner emerges
I'm quite happy with the product, it performs really well for the most part
kobieps··on Instagram chief orders staff back to the office five days a week in 2026
I literally had a customer decline a meeting today with this as the reason:

"Couldnt find a proper space to conduct the meeting"

kobieps··on Chainalysis Successful Deanonymization Attack on Monero
Sure, but I more meant people recycling year old news for clicks, and smart people falling for it. That's a very broad phenomenon and not tied to crypto.
kobieps··on Chainalysis Successful Deanonymization Attack on Monero
surprising how often this happens...
kobieps··on Ask HN: Who is hiring? (November 2025)
We don't come up against them in deals, but I do believe it can be a replacement. I heard from a customer that SAP are planning to EOL MobiLink, have you heard the same?
kobieps··on Ask HN: Who is hiring? (November 2025)
PowerSync | Senior Backend Engineer and Database Expert | Full-time | Remote (opt-in regional offices)

PowerSync is a sync engine that keeps your backend database in sync with on-device SQLite. We support Postgres, MySQL and MongoDB as source databases and have a plethora of client SDKS, many of which are integrated with popular libraries and frameworks on the client-side like TanStack DB, Drizzle, GRDB, Room, etc

Detail: https://journeyapps.com/join-us/senior-backend-engineer/

Our team is small and polyglot, but experience with TypeScript is a must.

If you're a database enthusiast and have a solid track record of building, deploying and maintaining backend systems on modern cloud stacks, you're already a candidate. Also, if you're passionate about open source and synced / local-first/offline-first apps, please apply.

Culture: We're agile and devops purists (before those terms got coopted)

kobieps··on FSF announces Librephone project
Good to see someone fighting the fight
kobieps··on Why haven't local-first apps become popular?
Cool. Yeah in my experience last-write-wins is sufficient for 95% of use cases, and if you add audit trails to help resolve any disputes it gets you to 98%
kobieps··on Why haven't local-first apps become popular?
Agreed @ overengineering for most use cases.

Still, where a simpler approach gets tricky is if you only want to sync a subset of the backend database to any client's SQLite

kobieps··on Why haven't local-first apps become popular?
Who is the audience of your app? Is it an internal app for a company, or is it a public facing consumer app?
kobieps··on Why haven't local-first apps become popular?
Agreed @ not for the faint of heart.

There is at least one alternative "CRDT-free" approach for the less brave among us: https://mattweidner.com/2025/05/21/text-without-crdts.html

kobieps··on Why haven't local-first apps become popular?
It's kind of hard for me to think of a devtool as local-first or not, since the actual definition of local-first [1] talks about end-user software, not devtools.

So the question is whether it's possible to build software that adheres to the local-first principles using sqlite-sync.

edit: I'm aware people are using the term "local-first" very loosely, so perhaps my reply here is a bit off-topic

p.s. yes you can self-host ElectricSQL

p.p.s. I really need to keep my list of "sqlite sync" things updated: I have SQLSync [2], SQLiteSync [3] and now SQLite-Sync [4]. Simple!

[1] https://www.inkandswitch.com/essay/local-first/

[2] https://github.com/orbitinghail/sqlsync

[3] https://ampliapps.com/sqlite-sync/

[4] https://github.com/sqliteai/sqlite-sync

kobieps··on Offline-First Landscape – 2025
(I’m on the PowerSync team)

I’m glad this post made its way to HN, since it allowed me to reflect on how much progress we’ve made since it was written. The blog post doesn’t support comments, so here goes:

> The DX is the worst by quite a margin.

DX is something that we care a lot about. Like it’s a topic in every single planning and strategy session. We’ve made a ton of progress since this was posted, and we have a lot more on this front on our roadmap.

> Not only does it require Postgres-level integration

If you’re looking to stream data from your Postgres database to clients, I’m not aware of any other way to do this but to integrate with Postgres. So I’m not sure why this is framed in a negative light. PowerSync also only requires a user with SELECT privileges, so it’s not an invasive integration.

> it also needs a HA MongoDB cluster

It’s now possible to use Postgres for intermediary storage instead of MongoDB. I actually recall we gave you a shout out in one of our product updates on this :)

> a lot of arcane yaml configuration

We’ve since published a schema for the yaml config - add this to powersync.yaml:

# yaml-language-server: $schema=https://unpkg.com/@powersync/service-schema@latest/json-sche...

> It also required us to completely denormalise our Postgres tables, as relations are not properly supported across the sync buckets.

This is ultimately a function of our decision to build a system that scales well. Having said that, we have plans to address this limitation this year.

> we found horrifying problems like off-by-one bugs in their Drizzle ORM integration

This was fixed around the time of the post, and our Drizzle integration is now in beta i.e. fully supported in production environments.

> queries returning data from local db very slowly (100ms+),

It’s hard to say what was causing this without knowing more, but as mentioned elsewhere in the comments here we’ve since added support for OPFS which provides a big performance boost.

> and long initialisation times (45s+ after login to Marco) with the UI view not updating until the sync fully completed.

We’ve added APIs to solve this - if you want to sync everything up front you can use sync priorities to log the user in quickly and sync the rest in the background [1]. We’ve also implemented many optimizations like transport-level compression, a waaaay faster rust sync client, etc with more to come. Also, using sync streams (available in the next few weeks) [2] you can sync data just in time as the user navigates around the app instead of syncing everything up front.

> No real case studies

It’s often quite a slow process to get case studies published with large companies, but you can see logos of customers using PowerSync on our website. But yes.

[1] https://docs.powersync.com/usage/use-case-examples/prioritiz... [2] https://github.com/powersync-ja/powersync-service/discussion...

kobieps··on Tor: How a military project became a lifeline for privacy
Friendly reminder that exit nodes are to be avoided. Hidden services are the way to go.
kobieps··on Linear sent me down a local-first rabbit hole
I can't speak to the other tools, but we built PowerSync using a schemaless protocol under the hood, specifically for this reason. Most of the time you don't need to implement migrations at all. For example adding a new column just works, as the data is already there when the schema is rolled forward.
kobieps··on Moneybadger and Peach Payments partner to enable Bitcoin payments
It uses bitcoin lightning, are you referring to that?
kobieps··on Donate to the Treasury to help pay down the $36.7T public debt
surprised they don’t accept crypto
kobieps··on Frequent reauth doesn't make you more secure
Preach. Gmail doesn't force password rotation, and one can just imagine the type of attacks they must sustain...

Unfortunately corporate policies evolve at glacial speeds...

kobieps··on Stop using REST for state synchronization (2024)
The pain points described in this post are exquisitely painful. Makes me bullish on sync engines.
kobieps··on Building Local-First Flutter Apps with Riverpod, Drift, and PowerSync
> A true local-first mobile app would allow me to collaborate with someone in the same room using Bluetooth, even out somewhere where I don't have wifi, cell service or Starlink

Are there any popular cross platform apps that actually do this? Genuine question, I don't know of any.

I won't speak on the author's behalf, but I think he was using the term loosely here to refer to an app that hydrates and mutates state against disk and asynchronously syncs with other users (via a sync service) in the background. Also, his post uses an architecture that connects to the devloper's own backend database (pg, mongo, etc) and not a proprietary backend-as-a-service. I don't see data lock-in here.

But yes, that is a trend. Even the conference has many talks that don't stick to the original 7 ideals. I think "sync" or "sync engine" is a more useful general purpose term that isn't bogged down by specifics.

kobieps··on Building Local-First Flutter Apps with Riverpod, Drift, and PowerSync
Anecdotaly I've found this to be true. The cause is probably multifaceted. Some things I noticed:

- npm is legit slower in these countries

- Flutter's easy and stable toolchain and great cross-platform support counts a lot more in countries with less specialization

- lower on-disk footprint because no node_modules black hole, actually matters in countries without infinity disk size

- smaller app bundles mean less mobile data

Just some anecdotal observations, there are probably other factors too like inertia

kobieps··on Building Local-First Flutter Apps with Riverpod, Drift, and PowerSync
Yes
kobieps··on Building Local-First Flutter Apps with Riverpod, Drift, and PowerSync
Probably easier to ask an LLM, but here goes: drift gives you type-safe queries which lets you catch any errors at compile time instead of runtime (which is the case with sqlite). There are other benefits but that's probably the main one.
kobieps··on Apple pulls data protection tool after UK government security row
Only three (well, now four) mentions of 1984 in the comments tells you all you need to know
← PreviousPage 2 of 3Next →