Native Apps
Software that belongs on the machine it runs on — launching instantly, working offline, and keeping its data in a format you still own. Five shipped Mac applications, built on Tauri with Rust, and Swift where the platform demands it.
A focused Mac app ships in a 2–4 week sprint; a full product in 1–3 months.
A native app is one the operating system treats as its own: it opens immediately, keeps working without a network, respects system conventions, and stores its data where you can reach it. That is a different discipline from a web app in a window, and the difference shows up in startup time, memory, and what happens on a plane.
- MAC APPS SHIPPED
- 5
- SURFACES
- MAC · iOS · CLI
- FROM
- €5,000
- CORE
- RUST
HOW IT RUNS
WEEK 1 → WEEK 4- WEEK 1
The file format
What the app writes to disk is decided before the window is drawn. It outlives every version of the interface above it.
- WEEK 2
Window and keyboard
The main surface, keyboard-first, following platform convention rather than a web layout wearing a native frame.
- WEEK 3
Offline and speed
Cold start, memory, and behaviour with no network — measured on real hardware instead of assumed.
- WEEK 4
Signed and shipped
Notarised build, auto-update, crash reporting, and a release that can go straight to a customer.
HOW IT IS BUILT
- Local-first, not cloud-tethered
- Ampersand keeps every document as plain Markdown on disk. Pastry keeps clipboard history in local SQLite. Cali writes portable .cal files. Nothing is held hostage in a proprietary format or a vendor's cloud.
- Rust where speed is the feature
- Cali's expression engine is a hand-written lexer, parser, and evaluator with no math library behind it. Where a general-purpose dependency would be slower and vaguer than the thing it replaces, the engine gets written.
- Native where native matters
- All Things Claude ships in Swift and SwiftUI — a menu-bar meter and an end-to-end-encrypted session mirror. The toolkit is chosen per surface rather than applied uniformly.
- Keyboard-first by default
- Software used every day is used by hands, not cursors. Pastry is a paste stack reached by a keystroke; Ola is a keyboard-driven inbox. Shortcuts are designed alongside the interface, not added after it.
SHIPPED
Not a capability list — software in market that this work produced.
- MARKDOWN EDITORAMPERSANDA native editor with block-based editing, a saved version of every change, and an AI draft that stays in the margin until asked for. Exports to clean PDF and Word; the source stays plain .md you can still open in twenty years.Tauri · Rust · ReactCASE STUDY
- CLIPBOARD MANAGERPASTRYA local-first Mac clipboard on Tauri and SQLite. It reads the type of every clip — colors, code, JSON, images — redacts anything sensitive, and turns the pile into a keyboard-first surface with tags, pinboards, and a paste stack.Tauri · Rust · ReactCASE STUDY
- CALCULATORCALIA hand-written expression engine — lexer, parser, evaluator, no math library — that reads labels, currencies, and units out of ordinary sentences. Live per-line totals, thirty-plus real-time rates, portable .cal files, one engine across Mac, web, and CLI.Tauri · Rust · TypeScriptCASE STUDY
- CLAUDE CODE TOOLSALL THINGS CLAUDEThree tools under one name: Blueprints installs commands and agents into Claude Code, Battery meters rate limits and burn-rate from the menu bar, and Balcony mirrors a live session to the phone over an end-to-end-encrypted local link.Swift · SwiftUI · TypeScriptCASE STUDY
WHAT YOU GET
- A signed, notarised Mac application ready to distribute
- Auto-update channel and release pipeline
- Local data layer with a documented, portable file format
- Keyboard model and shortcut map
- Icon and app identity consistent with the product's brand
- Homebrew or direct-download distribution set up
- Tauri
- Rust
- Swift
- SwiftUI
- React
- SQLite
- TypeScript
THE ARTIFACT
IS THIS THE RIGHT FIT
- The product is used daily and startup time is part of the experience
- Data should live on the user's machine in a format they own
- You need macOS system integration — menu bar, shortcuts, file handling
- A product whose whole value is collaborative and server-side
- A team that needs one codebase across web, iOS, and Android above all else
QUESTIONS
Why Tauri and Rust rather than Electron?
A bundled browser engine per app is a large amount of memory and startup time to pay for a rendering layer macOS already provides. Tauri uses the system webview and puts the heavy work in Rust, which is why Ampersand, Pastry, and Cali open immediately.
Do you handle App Store submission and notarisation?
Yes — signing, notarisation, and the release pipeline are part of the deliverable, along with an auto-update channel. Distribution outside the App Store via Homebrew or direct download is also set up.
Can the same product also run on the web?
Often, if the core is written for it. Cali runs one Rust engine behind the Mac app, the web version, and a CLI. That is a decision made at the start, not a port made later.
Got something in this shape?
A scoped sprint starts at €5,000 and runs two to four weeks. Every engagement is priced before work starts.
