V. Savko

Fullstack developer

I build web products end to end: the interface, the API, the database and the cloud they run on.

Available for new builds, rescues of existing codebases and advisory work: architecture, databases, cloud, hiring.

What I can help with.

Seven areas, one person. Bring a build, a codebase that needs rescuing, or a question that deserves a careful answer.

  • Backend and APIs

    Services that keep working when traffic, retries and third parties misbehave.

    • REST and realtime APIs in Node.js and NestJS, documented with OpenAPI
    • Background jobs, queues and cron with overlap guards and checkpoints
    • Webhooks with signature checks and protection against repeated deliveries
    • Payments with Stripe: subscriptions, instalments, saved cards, reconciliation
    • Authentication, permissions and multi-tenant data access
    • WebSockets and server-sent events for live updates and streamed responses
  • Frontend and product UI

    Interfaces people can use on a phone, on a slow connection, with a keyboard.

    • React 19 and the Next.js App Router, server and client components used where each fits
    • Component systems with Tailwind CSS and shadcn/ui, tokens kept in one place
    • State with Redux Toolkit, RTK Query or TanStack Query, chosen per app
    • Forms with validation, drafts that auto-save, multi-step flows that track drop-off
    • Performance work: Core Web Vitals, caching, image pipelines, bundle size
    • Accessibility to WCAG 2.2 AA, including reduced-motion and keyboard paths
  • Databases

    PostgreSQL that stays fast and safe as the schema and the team grow.

    • Schema design and normalisation, with the denormalisation that reads actually need
    • Migrations with Prisma or Supabase, reviewed and reversible
    • Query tuning: indexes, explain plans, N+1 removal, pagination that scales
    • Row-level security and tenant isolation enforced in the database
    • Imports from spreadsheets, CSV exports and legacy CMSs, with cleaning scripts
    • Backups, restores and zero-downtime changes to live tables
  • Cloud engineering

    Environments that deploy on push, roll back cleanly and cost what they should.

    • AWS: VPC, ECS and ECR, S3, CloudFront, IAM policies that follow least privilege
    • Vercel for Next.js apps, serverless functions and scheduled jobs
    • Docker images and compose files so local matches production
    • Terraform for infrastructure as code, reviewed like application code
    • GitHub Actions pipelines: build, test, deploy, roll back, self-hosted runners
    • Observability with OpenTelemetry, Sentry and structured logs; cost reviews
  • AI features

    Models doing a specific job inside a product, with a plan for when they fail.

    • LLM integrations with OpenAI and Gemini: streaming chat, structured outputs, classification
    • Free-text parsing into typed fields, with validation before anything is saved
    • Voice agents that book, confirm and follow up; speech-to-text with Whisper
    • Image review and tagging at scale, batched and resumable
    • Deterministic fallbacks, rate limits and cost caps on every model call
    • Evaluation sets so prompt and model changes are measured, not guessed
  • Integrations and automation

    The connective tissue between your product and the tools your team already uses.

    • Messaging: Twilio SMS and voice, Resend and SMTP email with templates
    • Google Workspace APIs: Calendar, Gmail, Drive
    • CRM and automation tools, synced through signed webhooks
    • Ads and analytics: Meta Conversions API with event deduplication, GTM, PostHog, Clarity
    • Attribution that carries UTMs, click IDs and referrers through the whole signup flow
    • Maps and geodata with Mapbox and Google Places
  • Consulting and interviews

    A second pair of eyes before a decision that is expensive to undo.

    • Architecture reviews with a written report and a prioritised list
    • Code reviews of pull requests or a whole repository
    • Technical interviews for your hiring: screens, take-home reviews, pairing sessions
    • Mentoring and pairing for developers on your team
    • Rescue of stalled or inherited codebases: audit, stabilise, then plan
    • Estimates and vendor evaluations you can take to the board

Ways to work together.

Pick the shape that fits the problem. All three come with written scope and a weekly rhythm.

Build

A product or a feature, end to end: design handoff to deploy. Weekly demos, a shared board, and documentation that lets your team take over.

Good for: New products, big features, MVPs with a real backend

Rescue

An existing codebase that needs stabilising. An audit first, then the fixes that matter most, then a plan for the rest.

Good for: Inherited projects, slow pages, flaky deploys, growing bills

Advise

Architecture, databases, cloud and hiring, by the hour or on a retainer. Async reviews or calls, whichever moves you faster.

Good for: Founders and leads who need an answer this week

How an engagement runs.

The same four steps whether it is a two-week rescue or a six-month build. The order is the point: nothing gets built before it is written down.

  1. Step 1

    A call

    What you have, what you need, what has been tried. Thirty minutes, no slides.

  2. Step 2

    A written plan

    Scope, risks, milestones and a price. You keep it whether or not we go ahead.

  3. Step 3

    Weekly demos

    Working software every week on a shared board. Scope changes are written down, not absorbed.

  4. Step 4

    Handover

    Docs, runbooks, a deploy you can repeat without me, and a month of answers afterwards.

Tools I work with.

What I use week to week, grouped by layer. Happy to work in a neighbouring stack when the project calls for it.

Front end
TypeScript, React 19, Next.js App Router, Redux Toolkit and RTK Query, TanStack Query, Tailwind CSS, shadcn/ui, Motion, Vite
Back end
Node.js, NestJS, REST with OpenAPI, WebSockets, Server-sent events, Cron and background jobs, Webhooks with signature checks
Data
PostgreSQL, Prisma, Supabase, Row-level security, S3-compatible storage, Image pipelines with sharp
Cloud
AWS, Vercel, Docker, Terraform, GitHub Actions, OpenTelemetry, Sentry, PostHog
Integrations
Stripe, OpenAI, Gemini, Whisper, Twilio, Resend, Google APIs, Mapbox, Meta Conversions API, CRM and automation tools

How I work.

One owner for the whole path

A feature goes from the React component to the API, the migration and the infrastructure that runs it. Nothing is somebody else's half.

Unattended code gets guards

Crons carry overlap locks. Webhooks ignore repeated deliveries. Long jobs checkpoint, so a restart resumes instead of starting over.

AI where it does a job

A model earns its place by doing one specific task well. Every call has a deterministic fallback, so the product works when the model does not.

Boring where it should be

PostgreSQL, a typed API, a pipeline that deploys on push. Novelty goes into the product, not the plumbing.

Say hello.

Email is the fastest way to reach me. A sentence about what you are building is enough to start.