Technology

Technology, layer by layer.

Breadth across every interface, depth down to the infrastructure. Every technology on this page is chosen for the job it does in the system.

Stack

The stack, by function.

Technologies are chosen for the job they do in the system. This is the stack we build on, from the interface down to the machine.

  1. Frontend

    What people see and touch.

    • ReactComponent-driven interfaces
    • Next.jsWeb applications, server-rendered
    • React NativeiOS and Android from one codebase
    • TypeScriptTypes from database to screen

    Talks to the layer below over HTTPS / JSON

  2. Backend

    Business logic and the contracts around it.

    • Node.jsServices, workers, integrations
    • APIsVersioned, documented, authenticated
    • DatabasesPostgreSQL, migrations, indexes
    • AuthenticationSessions, roles, permissions

    Talks to the layer below over SQL / events

  3. Data & AI

    Where the product learns and acts on its own.

    • AIAssistants, extraction, semantic search
    • AutomationWorkflows across your tools
    • Data systemsPipelines, reporting, analytics

    Talks to the layer below over Containers

  4. Infrastructure

    The machines, and everything that keeps them honest.

    • DockerReproducible builds and deploys
    • LinuxServers administered and hardened
    • CloudFrom a single VPS to managed cloud
    • CI/CDBuild, test and release, automated
    • MonitoringHealth checks, alerts, logs

Principles

How we choose.

  1. Chosen for the job

    A technology earns its place by the work it does in the system — never because it is popular.

  2. Fewer moving parts

    No queue, cache or extra service until the product needs it. Everything we add is something to monitor, secure and back up.

  3. Types end to end

    TypeScript from the database schema to the interface: a renamed field breaks the build, not production.

  4. Reasons written down

    Every significant choice is documented with its reason and the alternatives set aside, so the next team can carry on.

Security

A security baseline, not an afterthought.

The baseline we hold NovaDesk, our own platform, to — and the one we start from on yours.

  • Passwords hashed with Argon2id
  • Sessions stored in the database, revocable at once
  • Permissions checked on the server, in every action
  • Brute-force protection by address and by account
  • No account enumeration on login or reset
  • Credentials encrypted at rest
  • Secrets never sent to the browser
  • Audit log of sensitive actions

Operations

Built to be run.

The infrastructure side of every product: how it is shipped, watched and recovered.

  • Containerised

    Reproducible Docker builds, the same from one environment to the next.

  • Automated releases

    Build and release pipelines, so shipping is a routine rather than an event.

  • Health checks and alerts

    Endpoints, logs and alerts that report a problem before users do.

  • Backups and restores

    Encrypted backups and a written, testable full-restore procedure.

  • Runbooks

    Deployment, incident and recovery procedures, written and kept current.

  • Migrations

    Versioned database migrations, reviewed in SQL and applied on deploy.

Have something worth building?

Tell us what you’re building. We reply within two working days with an honest first view on feasibility, scope and order of magnitude.