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 with Rust at its core — web platforms with passkey authentication, iOS and Android apps, 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.) When an app is mostly platform APIs, we write it in native Swift or Kotlin instead.
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.
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.
Our logic, servers and data layer are written in Rust — no glue scripts, no Node toolchains. The screens are HTML and CSS generated by that Rust: it is what every browser and phone already renders natively, so pages load instantly, work with screen readers, and need no extra download. On mobile, that interface runs inside a native app built in Rust, and device features reach the platform SDKs through bridges we write and audit, not a plugin marketplace. We write Swift or Kotlin only where an app is mostly Apple's or Google's own APIs.
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 server all the way into the database. 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 we are moving every service into our own WebAssembly capability sandbox, written in Rust with no C code: there a service 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.