Web app development for software people use every day.

Velvy designs and builds custom web applications: customer portals, internal tools, dashboards, and SaaS products. We work in TypeScript with React, Next.js, Node.js, and PostgreSQL, and ship with authentication, a sound data model, automated tests, and monitoring in place. You get a working, maintainable system and the documentation to keep building on it.

Spec/services/web-app-development

Best-fit engagement

Milestone-based hourly

Per milestone

Built with

  • TypeScript
  • React
  • Next.js
  • Node.js
  • PostgreSQL
  • Drizzle
  • Prisma
  • Supabase
  • Firebase
  • Stripe
  • Vercel
  • Cloudflare

Working

Deployed to production

Tested

Automated tests and evals

Observable

Logs, traces, and alerts

What we build

Software your team and customers log into every day.

01

Customer portals

Accounts, roles, billing, and the self-serve flows that take work off your support team.

02

Internal tools

Admin panels and operations dashboards that replace spreadsheets and copy-paste between systems.

03

SaaS products

Multi-tenant apps with Stripe subscriptions, onboarding, and the admin views you need to run them.

04

Data dashboards

Reporting over your own data, with the queries and access rules done properly in PostgreSQL.

05

APIs and integrations

Typed APIs, webhooks, and third-party integrations that other systems can depend on.

06

Rebuilds and rescues

Taking over a fragile or half-finished codebase, stabilizing it, and moving it forward without a risky big-bang rewrite.

How we build it

Plain technology, careful engineering.

The stack

  • TypeScript
  • React
  • Next.js
  • Node.js
  • PostgreSQL
  • Drizzle
  • Prisma
  • Supabase
  • Firebase
  • Stripe
  • Vercel
  • Cloudflare
01

Model the data first

Most web app problems are data problems, so the schema and access rules come before the screens.

02

Ship in thin slices

Working features deployed to staging every week, so you review real software instead of mockups.

03

Test what breaks

Automated tests around the flows that carry money, data, or permissions, and type safety end to end.

04

Deploy with eyes open

CI, preview deployments, error monitoring, and logs, so problems surface before your users report them.

How to engage

Start with Milestone-based hourly.

A defined web app runs well as milestone-based hourly work: we agree the milestones and acceptance criteria up front, and you see working software at each one.

We start with paid discovery, never an unpaid test project, so the plan rests on your real requirements.

Milestone-based hourly

Per milestone

Hourly work organized into agreed milestones, each with clear acceptance criteria.

Also fits

Fractional engineering

2–3 days a week

For an ongoing product roadmap, fractional engineering embeds us with your team instead.

All engagement models

Common questions

Web app development, answered.

Something else on your mind? Ask us directly at hello@velvy.ai, or book the intro call below.

What is the difference between a website and a web app?
A website mostly presents information. A web app has users who log in, data that changes, and workflows: portals, dashboards, booking systems, and SaaS products. That means it needs a data model, authentication, permissions, and testing that most websites do not.
Which tech stack do you use?
TypeScript throughout, React and Next.js on the front end, Node.js on the server, and PostgreSQL with Drizzle or Prisma, or Supabase or Firebase when they fit. We deploy on Vercel or Cloudflare. If you already have a stack, we work in it wherever it is sound.
Can you take over an existing codebase?
Yes. We start with a short paid review of the code, infrastructure, and data, then propose a plan: what to stabilize, what to keep, and what to replace. We avoid big-bang rewrites unless the review shows there is no safer path.
Will we be able to maintain it without you?
That is the aim. We write conventional, typed code, document the architecture and deployment, and walk your team through it at handoff.
How do you handle payments?
Through Stripe: one-off payments, subscriptions, invoices, and webhooks reconciled against your own records, so your database and Stripe always agree on who has paid for what.

Get started

Bring the messy problem. Leave with a plan.

Book an intro call. Tell us what you’re trying to build or automate, and we’ll tell you plainly whether we’re a fit and what a first engagement would look like.

Prefer email? hello@velvy.ai

Book an intro call