Full-stack developer. Shops, dashboards and design tools.

Four years of building the parts of the web people actually use: the shop they buy from, the dashboard they run it with, the editor they make things in.

  • Storefronts that load fast and check out without surprises.

  • Back offices that turn a messy week into one clear screen.

  • Browser editors with layers, templates and a proper export.

  • The plumbing: clean endpoints, and old data moved safely to new homes.

  1. An online store for a small maker brand: catalogue, cart, checkout and the order emails that go with it.

    StorefrontPaymentsOrders
  2. A back office where a team sees orders, stock and customers in one place, and fixes things without calling a developer.

    AdminReportsRoles
  3. A browser editor for making posters and social posts, with layers, templates and export.

    EditorTemplatesExport

Also: the APIs and careful data migrations behind most of the above.

Case 01

The problem

A small maker brand sold through messages and a spreadsheet. Orders got lost and nobody trusted the stock count.

What I built

A storefront with a catalogue, a cart and a checkout, plus order emails and a stock count that updates itself.

How it ended

Orders arrive in one place, stock stays honest, and the owner stopped copying things by hand.

StorefrontPaymentsOrders

Case 02

The problem

A growing shop ran on five browser tabs: orders in one, stock in another, customers in a third. Simple questions took a morning to answer.

What I built

One back office with orders, stock and customers side by side, simple reports, and roles so each person sees only what they need.

How it ended

The team answers most questions in a minute and changes things without waiting for a developer.

AdminReportsRoles

Case 03

The problem

People wanted to make posters and social posts without learning a heavy design app.

What I built

A browser editor with layers, templates and export, built with a team of five: a canvas editor in the front, an API behind it.

How it ended

Anyone can start from a template, change it and export it in a few minutes.

EditorTemplatesExport

Four years of making things for the web.

I am a full-stack developer. I like the whole path of a feature: the database table, the API, the screen, and the person using it on a Monday morning.

Shops, admin systems and a design editor, plus the quiet work in between: APIs, and moving old data to new homes without losing any of it.

Illustrated portrait of Minh An smiling with eyes closed, cheek resting on one hand
ShopsDashboardsDesign toolsAPIs and migrations

  1. Listen

    I ask what the day looks like for the person using it.

  2. Sketch

    Small drafts on paper or screen before any code.

  3. Build

    Small steps, plain code, something that still makes sense in a year.

  4. Look after

    I stay for the bugs, the questions and the next idea.

Languages
PHPPythonJavaScriptTypeScript
Frontend
ReactNext.js
Backend
LaravelFastAPI
APIs and data
RESTGraphQLMySQL
Tools
GitGitLab CI/CDDocker

I also use AI coding tools every day, and I always read what they write.

Short writing on things I learned the slow way.

Starting from what people see keeps the data honest.

5 min read Coming soon

A calm checklist for migrations that must not go wrong.

7 min read Coming soon

What a team actually needs on a Tuesday afternoon.

4 min read Coming soon

Got a shop to build, a back office to untangle, or an editor to dream up? Tell me what you are making.

Write to me

A demo: no real inbox behind it.

This is a demo portfolio, so there is no inbox behind this button.

Close
Illustrated portrait of Minh An waving hello

A demo portfolio. Minh An is a made-up person.