# Web, mobile & desktop software. Pick what you need.

One small studio across the stack, so the front end, the API, and the deploy fit together.

-   [01 Front end ↓ jump](#frontend)
-   [02 Back end ↓ jump](#backend)
-   [03 Mobile ↓ jump](#mobile)
-   [04 Desktop ↓ jump](#desktop)

01 / FRONT END

## Front-end development that survives the second feature.

Type-safe by default. Componentized so it doesn't ossify. Performance budgets held to in CI.

**Product UIs** react · next · svelte

Customer-facing apps. Accessibility and i18n are first-class. The performance budget holds.

**Design systems** tokens · primitives · docs

Versioned package, documented components. One token layer for theme, density, and brand.

**Internal tools** forms · tables · workflows

The boring software that runs your company. Fast, keyboard-first, and not miserable to use.

**Marketing sites** ssr · static · cms

Fast by default. Editable by non-engineers. Shipped on push.

React Next.js Svelte TypeScript Tailwind

// 01 → 02 · interfaces meet systems ›

02 / BACK END

## Back-end systems that prefer to be boring.

Postgres-first. Idempotent jobs, well-typed boundaries, observable from day one.

**APIs & services** rest · typed clients

Versioned contracts and generated clients. Types that hold at the boundary.

**Data modeling** postgres · schema · migrations

Schema-first, migration-aware. We say "let's normalize that" without irony.

**Pipelines & jobs** queues · workers · cron

Long-running, scheduled, retried. Idempotent, because production is rude.

**Deploy & edge** cloudflare · workers · ci

Push to deploy, a preview per branch, rollbacks in one command.

Rust Node TypeScript Postgres SQLite Cloudflare GitHub Actions

// 02 → 03 · server meets device ›

03 / MOBILE

## Mobile apps: one codebase, two stores.

Cross-platform, with native modules only where the experience earns them.

**Cross-platform apps** react native · flutter

Shared logic, native primitives where they earn it. CI signs and ships to both stores.

**Offline-first** sqlite · sync

Works on a train. Real conflict resolution, not "last write wins."

**Release engineering** eas · ota updates

Phased rollouts and over-the-air updates. Store metadata lives in the repo.

**Backend integration** auth · push · payments

The plumbing every app needs, wired to the same API we built for your web app.

React Native Expo Flutter TypeScript SQLite

// 03 → 04 · server meets device ›

04 / DESKTOP

## Desktop apps that respect the operating system.

Tauri for small, fast cross-platform binaries. Rust underneath when performance matters.

**Tauri / Electron** cross-platform · web ui

Web-stack UI, native shell. Tauri for small binaries; Electron when the team is in JS.

**CLIs & tooling** rust · node

Command-line tools and background agents your team keeps reaching for.

**Auto-update & signing** notarization · installers

Apple notarization, Windows code-signing, Linux packaging.

**Web-to-desktop** shared ui · one codebase

Ship your existing web app as a real desktop app without maintaining two front ends.

Tauri Rust Electron TypeScript

## Good questions, short answers.

### Do you take single-discipline work, or only full-stack engagements?

Both. oxlabs is one small studio across the stack, but you can engage just the front end, back end, mobile, or desktop — or thread several disciplines together into one build.

### What does "production as default" mean in practice?

There is no throwaway prototype. Work lands in your repository behind a feature flag, on the same CI as everything else, from the first commit — so what you see in the demo is real software, not a staging-only mock.

### Do you work async and remote?

Yes — async by default. Long-form writing over standups, considered comments over reactions, weekly demos and deploys. The work happens in the writing and the code, not in meetings.

### How do I start a project?

Email is the most direct line; GitHub and the socials work too. Every message gets a real reply from an engineer who writes code, usually within a business day.

## Need just one of these? Or all of them, threaded together?

[Start a project ](/contact) [See things we've shipped](/work) [How we work](/about)
