From rough idea to a system that's live.

I'm David Willians, a full stack developer with 4 years of experience. I build custom websites and web apps and handle the whole thing: the screens your customers use, the server, and the database behind them. You talk to one person from start to finish.

See my work
Photo of David Willians

How it works

You know where the project stands at every step.

  1. 1.

    You tell me the problem

    The way you'd explain it to a friend, no technical terms needed. I ask the questions and send you, in writing, what will be built.

  2. 2.

    You watch it come together

    No waiting until delivery day to see anything. The system takes shape on an online test version, and changing course early costs a lot less.

  3. 3.

    It goes live

    I publish it, show you how to use it, and stay around to fix what comes up and build on what makes sense.

What I'm working on

A real system for a problem that costs money every month.

Cadenza

In progress

A clinic loses money every time a patient doesn't show up or cancels last minute. Cadenza is a CRM for health clinics that keeps patients and schedules organized, holds a waitlist, and offers the freed-up slot to someone on it before it goes empty.

Cadenza · Overview
Cadenza: Overview
See all projects

Tools

You don't need to understand any of this. But if someone technical is on your team, this is what I work with.

Interface
HTMLCSSJavaScriptTypeScriptReactNext.jsVue.jsTailwind CSSSassshadcn/uiMantine UI
Server
Node.jsExpressFastifyHonoPythonFastAPIC#
Data
PostgreSQLSQL ServerRedisSupabaseFirebasePrismaDrizzle ORMTypeORMApache NiFiPower BI
Cloud, infrastructure and design
AWSDockerGitFigma

Who's on the other side

I started on the front end, building screens. Over time I worked my way down to the server and the database, because I wanted to understand the whole system, not just the part people see.

Today that's how I work: I see a project end to end, from the interface and user experience to APIs, databases, integrations, and infrastructure. I like to understand the problem before writing code, and to be able to explain every decision in plain terms.

I also like building my own projects. Right now I'm working on products like Cadenza, a system for managing and automating clinics, and ExpertData, a platform for managing and monitoring public data pipelines. They let me explore not just development, but also product, architecture, data, and automation.

Day to day, I mostly work with React, Next.js, TypeScript, SQL, and relational databases, along with data and integration tools. I'm studying Systems Analysis and Development, and in my spare time I'm learning about data engineering and machine learning.

Beyond the code

What you can expect from me during a project, beyond the technical side.

Straight communication
I explain what I'm doing and why, without jargon. If something changes along the way, you hear it from me before it becomes a problem.
Understand before building
I ask questions until I understand the real problem. Sometimes the best solution is simpler than the one requested, and I'll tell you so.
End-to-end ownership
Since I handle the whole project, there's no "that's another team's job". Deadlines, decisions, and fixes all go through me.
Product thinking
I think about who will use it and what the business needs, not just the code. Building Cadenza and ExpertData taught me to work this way.
Always learning
I'm always studying something new and bring it into my projects. Right now the focus is data engineering and machine learning.