SwiftUI re-renders reactively based on changes in this view model, which just receives notifications of any relevant changes to the SQLite database

Reply to this note

Please Login to reply.

Discussion

This is how the database changes are propogated to Swift. sqlite-watcher listens for changes to database tables in Rust, and sends notifications to Swift via Updater::send_update

Strict 1-directional data flow as God intended

Beautifully simple

You write your UI in platform-native options like SwiftUI or Jetpack Compose. You could also write it in React Native or Flutter. But honestly I don't think they are worth it. When the UI is a pure function you can vibe-code it. Your application is written and tested in Rust.

The UI above was a Cursor one-shot based on this TLDraw diagram. Notice how it put the "choose mint" screen in the wrong place. History screen was also broken so commented it out.

Forget React Native and Flutter!

Forgot to post the TLDraw

Reminded me of this