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.
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.
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.
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.
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.
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.
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.
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.
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.
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.