Skip to content

Services

Idea to production, and everything that keeps it running.

Web, mobile, AI, SaaS, backend, UI/UX implementation, DevOps and legacy modernisation — what each engagement covers and what it delivers.

01Services

What I can be hired to do.

Eight engagements, one operating model: understand the outcome, design the system, ship it, then keep it healthy.

Full products in Next.js and React — the interface, the API routes behind it, and the database underneath. Server-rendered where it helps performance and search, client-driven where it helps interaction, decided per route rather than by dogma.

  • Next.js
  • React
  • TypeScript
  • PostgreSQL

Typical deliverables

  • Typed component system and design tokens
  • Authentication and role-based access
  • Responsive down to 320px, tested on real devices

02AI in the workflow

AI is part of the toolchain, not the pitch.

It has changed how I write, refactor and review code — and not at all who is accountable for the result. Here is where it genuinely earns its place.

AI-assisted development

Cursor and similar assistants handle the parts of the job that are typing rather than thinking — scaffolding a component, wiring a form, converting a design into markup. Every generated line is read before it lands, because the person who merges it owns it.

How it runs

  1. Describe
  2. Generate
  3. Read
  4. Adjust
  5. Commit

Typical components

  • Cursor
  • TypeScript
  • Git

Every item here describes how the work gets done, not a claim to have trained the models. The judgement about what to build, and whether the output is correct, stays with a person.

03Process

How the work actually runs.

Eight stages, in order. The early ones are cheap and decide most of the cost; the late ones are where everyone else starts.

  1. Step 01: Discover

    Understand the business outcome, the users, the constraints, and which deadline is real versus aspirational.

    Outputs

    • Problem statement
    • Success metrics
    • Constraint map
  2. Step 02: Plan

    Scope the smallest version that proves the thesis, then sequence everything else behind it. Cut before building, not after.

    Outputs

    • Scoped milestones
    • Risk register
    • Estimate range
  3. Step 03: Architect

    Decide the data model, the service boundaries and the failure modes. Most of the lifetime cost of a system is committed here.

    Outputs

    • Data model
    • System diagram
    • Decision records
  4. Step 04: Design

    Turn flows into interfaces — states, empty cases, errors and responsive behaviour, not just the happy-path screen.

    Outputs

    • Component inventory
    • Interaction spec
    • Design tokens
  5. Step 05: Develop

    Build in reviewable increments against a working trunk. Every branch deploys to a preview URL you can click.

    Outputs

    • Preview deploys
    • Typed APIs
    • Weekly demo
  6. Step 06: Test

    Automate the paths that would embarrass us in production, and manually probe the ones that are hard to describe to a machine.

    Outputs

    • Test suite in CI
    • Accessibility pass
    • Load profile
  7. Step 07: Deploy

    Ship behind flags, migrate forward-compatibly, watch the dashboards, and keep the rollback one command away.

    Outputs

    • Release pipeline
    • Runbook
    • Monitoring and alerts
  8. Step 08: Scale

    Let real usage set the priorities. Profile the slow thing, cache the hot thing, delete the thing nobody used.

    Outputs

    • Performance report
    • Cost review
    • Next-quarter roadmap