Web platforms
SSR-first multi-tenant web apps with WebAssembly clients, passkey login, and zero-install user flows.
We build secure, fast, low-maintenance software in pure Rust — from native iOS and Android apps in Rust to web platforms with passkey authentication and Google Cloud back ends.
Six core areas where Rust pays off the most — mobile, web, cloud, and the security stack underneath.
SSR-first multi-tenant web apps with WebAssembly clients, passkey login, and zero-install user flows.
Native iOS and Android binaries in Rust, compiled to a native app around the system WebView, hosting our own web UI and adding what a browser cannot reach — Bluetooth, NFC, Face ID and fingerprint prompts, camera, push notifications and geofencing — with passkeys wired straight to Apple's and Android's own credential APIs. (Built directly on wry/tao.)
Telegram, WhatsApp, Slack and Google Chat bots that act on real business workflows — not just chat.
Axum services on Cloud Run: statically linked binaries in scratch containers, scaling to zero when idle, OIDC between services, and structured logging from the first commit.
Cloud Run, Cloud Tasks, Pub/Sub, Secret Manager, IAM, Workload Identity Federation — wired correctly, not copy-pasted.
Strict Content-Security-Policy with Trusted Types, HSTS preload, cross-origin isolation, row-level permissions enforced in the database rather than the application, append-only audit trails, and recorded legal acceptances with tamper-evident document fingerprints. Encryption and signing keys are protected by a hardware security module (HSM), and every service account can read only the exact secrets it uses.
Alongside our client work, we build and publish software of our own. Each one is made with the same care we put into every project.
Boring, predictable infrastructure plus a memory-safe language you can trust in production for years — on the server, in the browser, and on every phone.
No glue scripts, no Node toolchains. One language from the database adapter to the HTML renderer to the mobile UI — one codebase serving the web client (WebAssembly) and the iOS/Android apps alike. On mobile the UI is our own web app inside a native binary, so device features reach the platform SDKs through Rust bridges we write and audit, not a plugin marketplace.
Cloud Run for stateless services, Cloud Tasks for queues, Secret Manager for credentials — all with OIDC, no shared keys. Scheduled work runs inside the service itself rather than a separate cron system, so there is one less moving part to authenticate and to fail.

Written in Rust itself — which is the whole point: one language from the mobile UI through the server and all the way into the database, with no foreign runtime anywhere in the stack. Multi-model, with row-level PERMISSIONS, live queries and graph traversals, replacing three separate stores in most projects. It also runs embedded, inside the application binary, which is what makes an offline-capable build possible at all.
Small teams, written specs, and shipping code that holds up in production.
Every feature starts as a written design. You see the data model, the routes, and the security model before we touch the editor.
Authenticated endpoints, service accounts scoped to the minimum role, secrets in a managed vault rather than the image, and audit logs from the first commit. We ship static binaries in scratch containers — no shell, no package manager, nothing to pivot to — and enforce a dependency ban list in CI so a C library or an unexpected network client cannot arrive unnoticed. And every service runs inside our own WebAssembly capability sandbox, written in pure Rust: it can reach only the hosts, secrets and files it declares, so even a compromised dependency cannot send your data anywhere else.
Frontend, backend, database, infrastructure, CI/CD, and the legal/compliance pages. One team, one bill, one source of truth.
Send a short note describing the project. We aim to reply within one business day.
Schedule
Book a 30-min intro call
Pick a time that works for you. We'll send a Google Meet link automatically.
support@jjir.org
Best for general questions, scoping, and bug reports — we aim to reply within one business day.
Business hours
Mon–Fri, 9:00 – 18:00 (US Central)
Phone available on request for active engagements.