SwiftUI re-renders reactively based on changes in this view model, which just receives notifications of any relevant changes to the SQLite database 
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!


