Open to new projects

Serafimov.Dev

I'm an independent developer working with small and mid-sized businesses. I build websites, landing pages, and custom web tools from idea to launch - including WordPress sites you and your team can easily manage.

The stuff I build

Some of the work I do.

Some of the work lives behind a day job and can't sit on a public site. This is the kind of thing I build — not a client list.

WordPress sites

Sites a small team can actually run — pages, posts, and the bits of the business that need to change without calling a developer every time.

Landing pages

One offer, one action. Built to explain the product and get someone to write, book, or buy.

Custom web tools

Small software for a real workflow — quoting, intake, internal ops — instead of bending a generic app around it.

Through launch

The public work is the kind. The private work is the same process — I stay until people can actually use it.

How I work

I build the app with you, for you.

Tell me who it's for. I listen, shape the experience, then write the software — until the product feels obvious to the people who will live in it.

Walkthrough

your-app.tsx
1// First we learn who will use this
2// Then we shape the product around their work
3// Then we build it and ship it together
4 
5const people = await listen("who will use this");
6 
7// This is what we make together
8export const app = design(people.needs, {
9ship: "an app that feels obvious",
10});
11 
mainLn 1, Col 1 · TypeScript React
In their hands

Built for the people who use it.

I don't start with a stack. I start with the people who will open the app every day — then I write software that stays out of their way.

Feels instant to use

01

People should spend their time on the work, not waiting on the screen. I keep the app light so every tap feels immediate.

what-they-feel.log
✓ first screen is ready
✓ no spinner theater
↳ they get to the task

Clear before it ships

02

I catch the messy cases in the work, not in your users’ hands. Empty states, errors, and edge cases are designed in — so the product holds up on a busy Tuesday.

before-we-ship.ts
if (step.isConfusing) {
rewrite("before launch");
}
// not after a support ticket

Everyone can use it

03

Your users aren’t all power users. I build for keyboards, screen readers, and small screens — so the people you actually serve can finish the job.

who-its-for.test
✓ keyboard can do the job
✓ every button has a name
✓ small screens still work
→ everyone gets in