Skip to content

What we do

We are a small studio that designs, builds and ships complete products — the iPhone app, the website, and the cloud service humming behind both.

01 · Apple platforms

Native apps for iPhone, iPad, Apple Watch and Mac

We build native Apple software in Swift and SwiftUI — from a period tracker with a watchOS companion to a real-time multiplayer word game and a macOS menu-bar utility. Native where it counts, tuned for iOS 26 and the Liquid Glass design language.

  • Swift 6
  • SwiftUI
  • SwiftData
  • watchOS
  • RealityKit
  • HealthKit
  • RevenueCat
  • Fastlane

In our work: Simply Track's watchOS companion, Word Challenge on the App Store, and Simply Zone on the Mac.

  • SwiftUI across the Apple ecosystem

    One codebase spanning iPhone, iPad, Apple Watch and Mac, with watchOS complications, widgets and Siri Shortcuts where they earn their place.

  • Data, health and 3D

    SwiftData and Core Data persistence, Swift Charts insights, opt-in HealthKit and EventKit, and RealityKit scenes composited straight into the interface.

  • Payments and identity, done properly

    Subscriptions and in-app purchases through RevenueCat and StoreKit, Game Center sign-in, and APNs push handled with token-based keys.

  • Built for a global audience

    String Catalogs drive localisation into eight languages, with a custom pre-rendered narration pipeline when robotic on-device speech will not do.

  • Release automation baked in

    Fastlane and Xcode Cloud generate device-framed screenshots, manage metadata across storefronts, and drive submission — so shipping is repeatable, not heroic.

02 · Web

Web applications and content platforms, SPA to static

Two lineages: signals-based Angular product consoles, and Next.js and React content platforms built for scale and SEO. When a single web codebase should also reach the App Store, we ship it there with Capacitor.

  • Angular 21
  • React 19
  • Next.js 16
  • TypeScript
  • Tailwind CSS 4
  • RxJS
  • SignalR
  • Capacitor

In our work: ToolChain's Angular 21 console, the Next.js sites behind word-challenge.com and simply-track.com, and Simply Read shipped to iOS with Capacitor.

  • Angular product SPAs

    Angular 21 with standalone components, signals and RxJS on CoreUI, secured with OpenID Connect and PKCE — the shape of a real multi-tenant SaaS console.

  • Next.js and React platforms

    Next.js 16 and React 19 on Tailwind CSS 4, statically exported or incrementally rendered, with typed content pipelines and a committed database as the source of truth.

  • Real-time in the browser

    Live ops feeds, dashboards and multiplayer wired over SignalR and WebSockets, so the interface reflects the backend the moment it changes.

  • Programmatic SEO at scale

    Tens of thousands of generated pages with structured data, sitemaps and breadcrumbs — the machinery behind sites that rank rather than just exist.

  • Hybrid delivery with Capacitor

    When it makes sense, an Angular app is wrapped in Capacitor for a native iOS shell — one codebase, a proper App Store presence.

03 · Backend & cloud

.NET APIs and cloud infrastructure that scale quietly

ASP.NET Core services built with clean, vertical-slice architecture and CQRS, backed by the right database for the job — relational or single-table — and deployed to AWS with least-privilege access and continuous delivery.

  • .NET 10
  • ASP.NET Core
  • MediatR
  • SignalR
  • PostgreSQL
  • DynamoDB
  • AWS
  • Docker

In our work: Word Challenge's .NET 9 multiplayer backend, ToolChain's multi-tenant .NET 10 platform, and Simply Choose's real-time decision service.

  • Clean, testable .NET APIs

    ASP.NET Core minimal APIs with MediatR CQRS, FluentValidation and RFC-7807 problem details, organised as vertical slices rather than a tangle of layers.

  • Real-time by design

    SignalR hubs power multiplayer duels, live ops consoles and tenant-scoped dashboards — pushing state to clients instead of polling for it.

  • The right data model

    PostgreSQL with EF Core — optimistic concurrency, tenant-scoped filtering and exclusion constraints — or DynamoDB single-table designs where throughput rules.

  • Authentication you own

    An embedded OpenIddict authorisation server on ASP.NET Core Identity, issuing tokens over auth-code with PKCE, with tenant-aware onboarding.

  • AWS, containerised and continuous

    Deployed to Lightsail, Amplify and S3 with scoped IAM identities, Docker, automatic TLS and GitHub Actions running the build and tests on every push.

04 · Design & delivery

Product design and delivery, sketch to the App Store

We take products end to end: shaping the idea, designing the interface, building the system and shipping it. Design systems, privacy-first architecture, real accessibility, and quality wired into the pipeline rather than bolted on afterwards.

  • Design systems
  • Prototyping
  • Localisation
  • Accessibility
  • Testing
  • CI/CD
  • App Store delivery

In our work: Word Challenge's real-time multiplayer engine, eight-language localisation across Simply Track, and privacy-first architecture in Simply Calm.

  • Discovery and product design

    From a first sketch to a shippable design system — reusable component languages that let each product keep its own character while sharing one foundation.

  • Adaptive, human-centred behaviour

    Interfaces that respond to the person using them, like an adaptive learning engine that quietly raises or lowers challenge and never shows a child a "wrong" screen.

  • Privacy-first architecture

    On-device data, optional accounts and opt-in integrations by default — privacy treated as a design constraint, not a policy page.

  • Quality wired into the pipeline

    Swift Testing and XCTest, xUnit, Karma and Vitest suites running in CI, alongside evidence-linked planning that separates what is proven from what is aspirational.

  • Localisation and accessibility

    Interfaces localised into eight languages and built to be legible, operable and understandable — the details most people never consciously notice.

How we build

From discovery to the App Store

A simple loop we run on every engagement — kept honest by writing down what is proven at each step, not just what we hope is true.

  1. 01

    Discover

    We dig into the problem, the people and the constraints — and write down what is genuinely proven versus assumed.

  2. 02

    Design

    Interface, data model and architecture take shape together, on a design system built to grow with the product.

  3. 03

    Build

    Small, well-tested increments in Swift, .NET and TypeScript, integrated continuously so nothing drifts out of sync.

  4. 04

    Ship

    Automated screenshots, metadata and deployment — to the App Store, to AWS, or to the edge — then iterate on what we learn.

The tools we reach for

SwiftSwiftUISwiftDatawatchOSRealityKitHealthKitAngularReactNext.jsTypeScriptTailwind CSSRxJS.NETASP.NET CoreSignalRPostgreSQLDynamoDBAWSDockerRevenueCatFastlaneOpenAI

Have a product in mind?

From a first sketch to the App Store, we design and ship software that feels effortless. Tell us what you are making.