Christopher Rosso
All work

Petzone

The till and back office running a pet store in Itagüí.

Open Petzone (opens in a new tab)

Client
Petzone
Scope
Product design, build, operations
Year
2026
Home, on a desktop and on a phone

Point-of-sale and operations for a pet retail store in Itagüí, Colombia. Fast checkout at the counter, then orders, products by SKU and variant, purchasing, discounts, customers and reports behind it. Designed for a counter, not a desk: everything reachable with a thumb, keyboard shortcuts for the till. Its mascot, Dasha, is built and rigged in Blender with a coat from Substance Designer, and keeps every empty page company.

What shipped

  • A register built for a counter: scan or search, favourites, one-tap ticket
  • Receipts, plus orders reserved for later payment, pickup or delivery
  • Products by SKU, variant and lot, purchase orders, customers and reports behind the till
  • Discounts the register applies on its own: codes, buy X get Y, free delivery
  • A Home that sets up a new store one step at a time, each step a 3D card
  • A help center in the app: seventeen narrated video guides, recorded from the app by script
  • Dasha, the store's mascot: modelled, groomed, textured in Substance and rigged in Blender, on every empty page
  • Runs the shop's daily trade, not a prototype

Tagged

  • product design
  • pos
  • retail
  • operations
  • ui
  • ux
  • dashboard
  • documentation
  • 3d
  • blender
  • substance

The film

60 seconds, no sound
A silent film made from the app itself, and from Dasha rendered in Blender, for the site and for social media. Sample store data.

Home and setup

3 screens

Home opens on the day: money collected, orders to prepare and balances to collect, under a box to ask Dasha, the store's assistant. A new store sees its setup there instead, one card per step, each with a 3D scene that moves under the cursor.

Home: ask the assistant, or start from today's sales, open orders and balances
A new store's Home: every setup step is a card with its own 3D scene
Dasha, the store's assistant, answers from the store's own records: sales, stock, customers and the drawer
Store and receipt details: the receipt prints
Products and presentations: the treat hops
Prices and costs: the tag swings
Cash opening: the coin flips
A step can wait: close its card, and bring it back when you're ready

Point of sale

5 screens

A sale from the first scan to the receipt on WhatsApp, then the day's tickets and the cash drawer.

The register: a ticket for a customer and their pet, with a code taken off before charging
Picking a size before it goes on the ticket
Paid: send the receipt on WhatsApp or print it, and Enter starts the next sale
Today's tickets: sales, money collected, refunds and what's still owed
The cash drawer: open it, sell, then count the cash once at close

Orders and customers

5 screens

Every sale and order in one list, the orders still to prepare or collect, and customers with their pets and what they usually buy.

Orders: every sale and order, with its payment and delivery
A delivery order, paid for when it arrives
Customers: their pets, their balance and what to do next
A customer's record: what they owe, what they usually buy and what happened last
Refills: when each pet is likely to need more, with a WhatsApp message drafted

Products and discounts

8 screens

Every package with its price, cost, stock and lots, a page for each product with what competitors charge for it, and discounts the register applies on its own.

Products: what sells, what runs out soon and what to reorder
A product page: price and margin, stock, codes and recent sales, saved as you type
What competitors charge, against the store's own price
Variants and lots: each size with its own SKU, price and stock, and each lot with its expiry
Inventory: what's in the store, what open orders hold and what's on its way. Tap a count to correct it, with the reason
A new product on a page of its own. Its stock can wait until it's received
Discounts: with a code or automatic, active or scheduled
Buy X get Y, set up on its own page

Reports, purchasing and payments

5 screens

How the store is doing, stock ordered from suppliers and received against the order, and every account the money lands in.

Reports: sales, profit and balances, and what needs attention
Purchase orders: what to receive, what's late and what's on its way
A purchase order: ordered, received and still in transit
Payments: what each account should hold, and card payments still to settle
Settings: the details on every receipt, the store's VAT, and a currency and time zone that stay fixed

Help center

2 screens · 6 guides

The help center lives inside the app: seventeen guides, each a narrated video with its steps written out beside it, and routines for opening, the day, closing and the week. A script records every video from the demo store, an ElevenLabs voice reads each step in Spanish, the store's language, and a guide is recorded again when its screens change. Six of them are below, with English subtitles.

The help center: your first day, then a routine for each part of the day
A guide: the video, where it happens in the app and the steps in writing
A tour of Petzone0:46 · narrated in SpanishWhere everything is: Home, the menu, the register, search and shortcuts.
Read what it says

Home shows you the day: sales, orders and payments still to collect

On the left is every part of the store

Point of sale is the register, where you sell

From any screen, F8 opens a quick sale

And ⌘K (or Ctrl+K) finds anything: products, customers, orders

Home brings you back here

Sell at the register0:51 · narrated in SpanishA counter sale, from finding the product to handing over the receipt.
Read what it says

Search for the product by name, or scan its barcode

Or tap it in the list of products

+ and − change the quantity

Cash is already chosen: tap the note you're handed

Petzone works out the change to give back

Tap Charge to record the sale

Done: the sale is recorded and the stock taken off

Send the receipt on WhatsApp, or print it

Next sale (or Enter) gets the register ready for the next customer

Orders for pickup or delivery1:25 · narrated in SpanishA sale paid for or handed over later: create it, prepare it, collect it and deliver it.
Read what it says

An order is a sale paid for or handed over later

Choose the customer: the order is in their name

Tap Reserve order instead of Pay now

Choose whether they pick it up or you deliver it

Tap Create order

If they leave a deposit, record it right here

Orders shows every open order

When you start getting it ready, tap Prepare

When it's ready to pick up, Mark ready

With the customer's permission, you can tell them on WhatsApp

When you hand it over, collect the balance

and tap Mark delivered

The order's timeline keeps every step and every payment

Add or remove stock0:41 · narrated in SpanishCorrect how many units of a product there are, with the reason.
Read what it says

Inventory shows what's in the store for each product

Tap the On hand number to change it

Type how many units come in, in Adjust by

Choose the reason: it stays in the product's history

Taking some off: a torn bag, for example

Sales and the purchases you receive adjust the stock on their own

Receive goods0:35 · narrated in SpanishRecord what arrived from the supplier: the stock goes up and the cost updates.
Read what it says

The deliveries you're expecting are under Receive

Type the number on the supplier's invoice or delivery note

Count what arrived and type how many units of each product

If everything ordered arrived, Receive all fills in the rest

Tap Post receipt

The stock goes up and each product's cost is updated

The day's drawer and its close0:59 · narrated in SpanishThe drawer's cash through the day: movements, the count and the close.
Read what it says

Cash drawer: your register's cash through the day

Taking cash out or putting it in outside a sale? Record it here

Expenses paid from the drawer go in Reports › Expenses

At the end of the day, tap Start closing

Petzone shows you how much cash there should be

Count the notes and coins and type the total

If it matches, confirm. If not, explain the difference

Tomorrow the drawer opens on its own with the first cash sale

Empty pages, with Dasha

4 screens

A page with nothing in it yet shows Dasha, the store's tabby kitten, in a scene of its own: the register with no products, orders before the first sale, customers, discounts, lots, the 404. Twenty-one in all. Point at her and she moves.

Orders, before the first sale
Customers: Dasha and the puppy from the logo
The register with nothing to sell yet: create a product, or charge an open item
A link that leads nowhere
Orders: she bats at the receipt
Customers: a high five
The register: a sniff and a blink
The 404: an ear flick
Each scene keys one motion on her rig, played once on hover

Dasha in 3D

7 screens

Dasha began as the owner's 2D drawings. Now she is built in Blender from code, with no hand-made file: a body from a signed-distance field, a groom of hair curves that follows her pose, eyes with lids that blink. Her coat is a Substance Designer graph rendered from its command line, the props wear Substance materials, and Rigify rigs her, so one model takes every pose. A puppy from the logo joins her.

One model, six poses from her pose library
The turnaround, rendered in Blender
Her face: a smile on a shape key, and lids that close into the drawings' sleepy arc
The rig: Rigify fitted to her by script, bound by bone heat, then cleaned up so her head never bends
Her coat, from a Substance Designer graph rendered from its command line
The props' materials, from Substance
The puppy, built the same way, beside her
A full turn, rendered in Blender

On a phone

10 screens

Everything reachable with a thumb: one column, a menu for the rest, and every record on a page of its own.

Home, in one column
The menu: every part of the store
The register: the ticket, then the total above the pay button
Picking a size
Orders, newest first
A customer's record: balance, next step and usual buys
A product page, in one column
A product's lots and variants
Discounts, with their status
Orders before the first sale, with Dasha

Dark theme

7 screens

The same app in its dark theme, from Home to reports.

Home in the dark theme
A ticket ready to charge
Picking a size, with each price on its button
Orders: payment and delivery at a glance
A product page, with its recent sales
A customer's record, with what to do next
Reports over 30 days

More work

All projects

Work with me

Next

Tell me what you're building and I'll tell you what it costs and when it ships.

Start something similar