Solutions which make a difference

What I do

I design and build complete products — the interface people touch, the API behind it, and the infrastructure it runs on. You brief one person rather than three agencies, and the decisions stay joined up from the database to the last pixel.

Much of my recent work sits where AI meets a real product: voice assistants that answer in under a second, apps that watch a live camera feed and talk a user through what they're doing, and automation that quietly removes work nobody wanted to do anyway. The rest is the craft that makes any of it worth shipping — type-safe code, architecture that survives its second year, and deployments that don't wake you up at night.

Capabilities

Every one of these is something I have built and put into production — not a service page written in the hope someone asks.

  • Realtime AI: voice assistants & live camera vision

    Realtime AI: voice assistants & live camera vision

    AI that answers in the moment and can see what your user sees. Spoken conversation with sub-second latency, live camera understanding that guides someone through a task step by step, and assistants that handle conversations around the clock in any language. On-device when privacy or offline use matters; streaming cloud models when raw capability matters.

    • Realtime voice APIs
    • Apple Intelligence
    • Vision models
    • Streaming speech
    • WebSockets
    Discuss your project
  • AI features & automation inside your product

    AI features & automation inside your product

    The useful, unglamorous half of AI: retrieval over your own documents so answers cite real sources, structured extraction that turns messy input into clean records, classification and routing, and agents that take actions behind an approval gate. Built against cost and latency budgets, because a feature nobody can afford to run is not a feature.

    • OpenAI
    • Anthropic
    • RAG & vector search
    • Tool calling
    • Local models
    Discuss your project
  • Native apps for iPhone, Mac and Android

    Native apps for iPhone, Mac and Android

    Real native apps, not a website in a shell. SwiftUI where the platform matters, React Native and Expo where one codebase should serve both stores, and Tauri with a Rust core for desktop software that installs in megabytes instead of hundreds of them. Signed, notarized and shipped, with auto-updates that cryptographically verify what they install.

    • Swift / SwiftUI
    • React Native
    • Expo
    • Tauri + Rust
    • StoreKit
    Discuss your project
  • Full-stack SaaS platforms

    Full-stack SaaS platforms

    Your idea as a product that can actually take money: multi-tenant data, roles and permissions, subscription billing, onboarding, admin tooling, and the analytics to see what is happening. Architected so the second year of growth does not require a rewrite.

    • Next.js
    • React
    • Node.js
    • Stripe
    • Docker
    • PostgreSQL
    Discuss your project
  • Type-safe backends & APIs

    Type-safe backends & APIs

    The part clients never see and always feel. End-to-end type safety from database to client, so a schema change breaks the build instead of production. Designed for real traffic, with sensible caching, honest error handling, and integrations that degrade gracefully when a third party has a bad day.

    • TypeScript
    • Node.js
    • tRPC
    • GraphQL
    • Prisma
    • MongoDB
    Discuss your project
  • E-commerce & payments

    E-commerce & payments

    Storefronts that load fast and check out cleanly, with payment flows that hold up in the real world — multi-item baskets, EU and international shipping and tax, transactional email, refunds, and an admin view of orders and customers. Built to convert on a phone, because that is where the traffic is.

    • Next.js
    • Stripe
    • MongoDB
    • Resend
    • Tailwind CSS
    Discuss your project
  • Cloud, DevOps & deployment

    Cloud, DevOps & deployment

    Infrastructure that stays boring. Containerized services, CI/CD that deploys on merge, monitoring and logging that tell you what happened before a customer does, and infrastructure as code so environments are reproducible rather than remembered. Costs reviewed, not assumed.

    • AWS (EC2, RDS, S3)
    • Docker
    • CI/CD
    • Vercel
    • Infrastructure as code
    Discuss your project
  • Realtime & collaborative platforms

    Realtime & collaborative platforms

    Chat, live feeds, presence and notifications — anything where "refresh the page" is the wrong answer. Websocket-backed features that survive flaky mobile connections, reconnect cleanly, and keep state consistent across every device a person owns.

    • WebSockets
    • Server-sent events
    • React Query
    • Zustand
    • Push notifications
    Discuss your project
  • Custom software, shaped to your workflow

    Custom software, shaped to your workflow

    The internal tool, the awkward integration, the process nobody sells software for. I start from how your business actually works, then build the smallest thing that removes the friction — clean, documented, and yours to keep.

    • Discovery
    • Architecture
    • Documentation
    • Clean handover
    Discuss your project

The toolkit

Chosen per project rather than by habit — but this is what I reach for, and what I can still support long after launch.

Frontend

  • React
  • Next.js
  • TypeScript
  • Tailwind CSS
  • Framer Motion
  • Three.js / R3F
  • shadcn/ui

Mobile & desktop

  • Swift / SwiftUI
  • React Native
  • Expo
  • Tauri
  • Rust
  • SwiftData

Backend & data

  • Node.js
  • Express
  • tRPC
  • GraphQL
  • Prisma
  • Drizzle
  • MongoDB
  • PostgreSQL
  • Supabase
  • Zod

AI

  • OpenAI
  • Anthropic
  • OpenRouter
  • Apple Intelligence
  • Local models (Ollama)
  • RAG & vector search
  • Stable Diffusion

Infrastructure

  • AWS
  • Docker
  • CI/CD
  • Vercel
  • Firebase
  • Monitoring & logging

Product plumbing

  • Stripe
  • Clerk
  • NextAuth
  • Resend
  • React Query
  • Zustand
  • Recharts

What working together looks like

  • 01

    We agree what success means first

    Before any code, we settle what the thing has to do and how we'll know it worked. Most project failures are decided in that conversation, not in the build.

  • 02

    You see it running early, and often

    Working software beats status reports. You get something you can click within the first weeks, and it stays deployable from then on — so feedback arrives while changing course is still cheap.

  • 03

    I tell you when I disagree

    If a request will cost more than it returns, or a shortcut will hurt in six months, you hear it plainly — and then we do what you decide. You are paying for judgement, not agreement.

  • 04

    You own everything at the end

    Your code, your repositories, your cloud accounts, documented well enough that another developer could pick it up tomorrow. No lock-in — and I'm still here when you want the next phase.

Have something in mind?

Tell me what you're trying to build — or what is currently getting in the way. I'll tell you honestly whether I'm the right person for it, and what it would realistically take.

Start a conversation

office@gw-intech.com · usually a reply within a day