David Park
한국어Open to roles
All work
Case study 03 — How I work · Built solo

Who will use this, and how?

Sign-up, account settings, dealership staff accounts, an article editor. Most companies have these, and none of them is new. What this case shows is that I did all of it myself, from deciding who each screen is for to the data structure, wireframes, design and code. At most companies that work is split between a PM, a designer and a few developers.

Built solo: the work usually split across three roles
Product leadBrainstorming · User scenarios · Feature scope · Page flow
DesignerUX · Wireframes · UI design · Figma
DeveloperData structure · Relations with existing data · Front end (Next.js) · Back end (Node, MongoDB)
RoleCo-founder & CEO, leading product, design and build
Timeline2026
UsersSellers, dealership staff and our own team
ProductsSign-up, My Account, dealership accounts, admin, news
Carmate's Sell Your Car page: list in five minutes, in three steps
01  How I worked

From the user to the code

Every feature in this case went through the same steps, and I did each of them:

1Who uses the screen, and what they're trying to get done
2What it needs to show, and in what order
3Which page comes before it and which comes after
4How its data connects to the structures and relations already in the platform
5Wireframes
6UI design
7Front end and back end

All of it was built inside a five-year-old codebase, so each new screen had to fit the data and pages that were already there. The users were different every time: individual sellers used to Facebook, dealership staff selling the same stock, and our own team running the site.

02  Context

Users new to the web

Most of our sellers are used to Facebook rather than websites, and Facebook accepts whatever you type. Most people in Cambodia stick to a handful of big apps, so forms that check what you enter are new to a lot of them. We also never know how keen a seller is, and one confusing step can be enough for them to leave. So every form needed checks and suggestions that help without getting in the way.

When people made mistakes, it wasn't carelessness. They were bringing habits from apps they knew to a kind of product they hadn't used before, so each mistake told us something about the design.

03  Part 1 · For customers

Features customers see

Sign-up, contact and dealership accounts, the screens sellers and dealership staff use every day.

03.1  Seller support

Simple tasks failed

When our first dealership started using the seller tools, staff mixed up the two profiles. Some put their own photo where the dealership logo should go, and typed the dealership's details into their personal profile.

On top of that, each type of seller sees a slightly different version of the product, and from my own account I couldn't see what they were seeing.

Dealership settings with two parts: the Dealership Profile, and the staff member's own Account with their name, profile photo, Telegram username and verified phone number

Help them inside their own account

Better forms help, but some sellers will still get stuck, and it doesn't take much for them to give up. More instructions wouldn't change that. Having our team step in does.

With the seller's permission, our team can open the site as that user and see exactly what they see, whether it's where they got stuck or a bug that only shows up for their type of account. We sort it out together and they carry on, without losing their ad.

Each session is clearly marked. A banner shows whose account it is and that any changes are saved to it, and one click ends the session.

Admin user list with the action Open site as this userThe seller's dealership page during a support session, with a banner saying the team is signed in as that user and that changes are saved to their account
03.2  Onboarding

One seller, more than one number

Buyers and sellers sign in with Google, Facebook or Telegram, and posting an ad needs a verified phone number. That part is fairly standard.

Many Cambodians carry a number for each mobile network, because calls work best within the same network. So sellers often want a different number on their ad from the one they signed in with.

Instead of making them swap their sign-in number, every number a seller verifies is linked to the same account. They can post with any of them and sign in with any of them, and they always end up in the same account.

Changing the primary phone number while posting an ad: the seller can still sign in with the current number or the new one
03.3  Conversion

One tap to reach the seller

Most buyers want to message the seller on Telegram, but to do that they first have to save the number and check it has a Telegram account. A Telegram button skips all of that.

For sellers, being easier to reach means more buyers get in touch, so every ad in Manage Ads reminds them to add their Telegram username.

Manage Ads: a seller's active ad with views, calls and a prompt to add a Telegram username
03.4  B2B accounts

One dealership, many staff

Several staff sell the same stock. When they posted from their own accounts, cars got listed twice and nobody could see what the others had posted. Separate accounts couldn't solve that, so dealerships needed their own setup, which I built as the launch got close.

1Each staff member signs in with their own account, inside one dealership.
2They post and manage the dealership's in-stock cars in one shared list, so nothing is posted twice.
3One location and address, and the Call button shows every staff member.

Buyers see one dealership rather than a handful of separate sellers, which helps the dealership build a name on Carmate. Tags like Power Seller help too.

Admin view of a dealership: its linked staff accounts on the left and every car they have listed on the right
04  Part 2 · For our team

Shared systems our team uses

What our team uses to run the platform and publish content.

04.1  Article tools

Articles built from blocks

Our own team uses the platform too. Article categories were a fixed list in the code, with no groups or subcategories, which didn't match how the news pages had been designed. I rebuilt it to match, borrowing a lot from my years of using WordPress.

  1. 01

    Categories that match the site

    A category manager where the team adds categories, groups that collect several categories under one tab, and subcategories, each with its own URL and a switch to show or hide it.

    Manage Categories: categories, a Features group holding EV Guide, Buying Guide and Tips & Advice, and each one's URL
  2. 02

    Articles sorted by category

    The article list follows the same tree, with counts for each category, and shows each article's status, category and number of blocks.

    Articles list filtered by category, showing status, category, block count and a featured article
  3. 03

    Built from blocks

    Articles are made of blocks: heading, text, image, gallery, video, pros and cons, tables, price tables, model listings, cars for sale, call to action and FAQ. Major blocks have variations, so a new kind of content means adding a block rather than building a new page.

    Article editor: the content builder with the menu of blocks to add, from heading and text to model listings, CTA and FAQ
  4. 04

    Preview before posting

    Whoever writes the article can preview it on desktop and mobile before it goes live.

    The article previewer showing the same article on desktop and on mobile before it is published
Next — Case study 04We launched as an app. Almost nobody installed it.