Skip to content

ValeriaVG/kvart

Repository files navigation

App Store

Kvart

Kvart (from Swedish "kvart", meaning "quarter") is a visual timer app built with a Rust Crux core and a native iOS (SwiftUI) shell. It does one thing and does it well: it helps you keep track of time in set intervals.

Screenshot: round green timer set to 15 minutes

More screenshots

Distribution

Kvart is available on the Apple App Store for iOS devices and can be downloaded for free.

Android version is planned for the near future.

App contains in-app purchases to unlock additional themes for a minimal one-time fee to support development.

Development

Kvart combines a shared Rust core (using Crux) with a native iOS shell. The core owns all domain logic, state, and view projections; the shell stays thin with native views and capabilities.

Prerequisites

  • Rust with the wasm32-unknown-unknown target (rustup target add wasm32-unknown-unknown)
  • just task runner
  • xcodegen and cargo-swift v0.9.0
  • Xcode with iOS Simulator — follow Apple's setup guide for your iOS development environment

Layout

  • ./shared — Rust/Crux core (domain types, events, pure handle() logic, view models)
  • ./apple — iOS SwiftUI shell consuming the generated Swift bindings

Running

From ./shared, validate and test the core:

just dev   # fix → check → build → test

From ./apple, generate bindings, build, and run on the iOS Simulator:

just generate   # typegen → package → xcodegen
just build      # xcodebuild for the Kvart scheme

See CLAUDE.md for the full core-first workflow and conventions.

Support

Kvart is free and open source software, if you find it useful you could consider supporting its development:

Buy Me A Coffee.

About

Mobile visual timer app written in Crux to keep track of intervals

Topics

Resources

License

Stars

Watchers

Forks

Contributors