Skip to content
← Work
Neuday app icon

Neuday

Operations workspace · in daily use since early 2026

Norm Bitkisel makes herbal cosmetics under several brands and sells them through its own stores and the major marketplaces. Customer messages, orders, stock, shipping and the work between departments used to live in a dozen different tools.

I designed and built Neuday to bring all of it into one app, shaped around how the people there actually work. It is now being prepared to serve other businesses too.

The customer service inbox: queues, brands and channels on the left, conversations from WhatsApp, Instagram, email and Trendyol in the middle, an open WhatsApp thread with an AI reply suggestion on the right

Every customer conversation in one queue

Instagram messages and comments, Messenger, WhatsApp, email, website forms and marketplace questions arrive in one inbox, threaded per customer.

An AI draft is waiting when an agent opens a conversation, and nothing is sent until a person approves it. Channel rules, like WhatsApp's 24-hour reply window, are enforced by the app.

A WhatsApp conversation about a damaged parcel, with an internal note, AI reply suggestions and the customer's earlier conversations

Kanban that carries the work, not just its status

Every request between departments — a label redesign, a new listing, a campaign — is a card started from a form the team designed. A card can't go to review while a required field is empty.

On a phone the board becomes a list, because dragging cards on a touch screen is a bad experience.

Kanban board with four stages and cards for design requests, marketplace listings, campaigns and supplier follow-ups

Approvals nobody can lose

Approvers give their verdicts one by one. A revision needs a reason and never moves the card by itself, and every verdict is kept — so who approved what, and why, is always on record.

The form, the files, the time spent and the conversation about the work sit in the same window.

A Kanban card open: people, card details, time entries, the work form and the card's own chat

Live, the way a chat app is

The same board turns into channels: every card is a conversation, with mentions that can reach a whole department.

Chat, the inbox and presence update in real time over a private channel per person, so nobody receives data they aren't allowed to see. If the connection drops, the app quietly falls back to polling.

The list view: cards as channels on the left, a live conversation with an image, reactions and a mention, and the card's checklist on the right

One stock figure for every store

A product is one record with a listing per channel, and one physical stock figure feeds every store. Orders from every marketplace land in a single list within about two minutes.

Stock page: products with on-hand, buffer and reserved stock, and a price chip per store showing sync state

A packing bench that won't let a mistake ship

Pick, scan, label, pack, sort by carrier. Each line turns green as its barcode is scanned, and the label can't be printed until the parcel matches the order.

The screen deliberately hides which channel an order came from — the person packing doesn't need it.

The packing station after a pick sheet and several barcodes were scanned, with the ship button still locked

Everything is an app

Marketplaces, carriers, messaging and Neuday's own modules are apps with a manifest: what they need, what they provide, where they appear. Connecting one means adding it and pasting a key.

Shipping needs orders, orders need a marketplace — and the map a business wires together decides what its workspace shows.

The apps map: organisation, sections, installed apps for marketplaces, carriers, messaging and commerce, sites and brands, connected by cables

One design language

The interface is built from a fixed kit of 57 shared parts, down from 135. Behaviour follows Discord: the window stays put and only the list, conversation or form scrolls. Visual detail follows Shopify's Polaris.

All 523 component states are rendered in light and dark and compared pixel by pixel on every build; any difference stops the release.

The whole app in the dark theme: sidebar with all sections, header and the Kanban board

Shaped by the people using it

Neuday has been in daily use the whole time it was being built, and most changes started as feedback from the team — hundreds of reports over the months. The card-creation screen was turned down twice, measured in a real browser and rebuilt. Approvals were redesigned after a disagreement over a single card. Drive pages went from up to three seconds to a quarter of a second.

Underneath

Next.js 16, TypeScript and PostgreSQL 17, with a background job worker and private realtime channels. About 2,400 automated tests; architecture boundaries and secret scanning run on every build. Every API route declares who may call it, and writes to outside services are denied by default. Schema changes go through a hash-chained migration ledger, and releases roll back by commit.

Written with AI coding tools — over 7,000 commits so far. The product decisions, the specifications and the review are mine.

The mark

Icon studies from earlier rounds of the Neuday mark, tried flat, two-tone, glass, gradient and outlined before the 2026 version was settled.

The same codebase also runs Marketplace Reviews, a Shopify app now in App Store review. Screenshots use made-up data; click any of them to see the full screen.