B2B commerce and back office for a printing-machine maker
As a printing-machine maker's first business system, we planned, designed, and built a B2B storefront where trade customers pick supplies and request quotes, plus a back office for production and orders. Quote requests that used to come by phone and fax now arrive as structured forms, and the four spreadsheets that ran production and orders moved into one system that keeps their columns and order.
Production scattered across four spreadsheets, gathered onto one order card
Order numbers were copied from the accounting software into spreadsheets, then split across four sheets by stage and order type. Instead of asking people to learn a new screen, we kept the column names and order they used every day and grouped scattered rows into one card per order. The same data can be viewed as cards, a board, or a table, and the weights and quantities once worked out by copying formulas row by row are now calculated by the system.

The office taps a number to open the list, the floor taps once on a phone
The top row of the dashboard shows today's requests, work in progress, overdue orders, and stalled stages, and tapping any number opens that exact list. Stage leads see only what is waiting on them on their phone and move it to the next stage with one large button. Unfinished items can be held back, and a mistaken tap can be undone within 12 seconds. The date and the person who moved it are recorded without anyone writing them down.

An order ledger that filters like a spreadsheet and flags delays first
The order ledger filters, sorts, and totals like a spreadsheet's auto-filter, and can be downloaded back to a spreadsheet at any time. Nobody was asked to give up the spreadsheets they knew. A due-date calendar surfaces orders at risk of running late, and per-stage lead times and defect analysis show where the bottleneck is. Unit prices are visible only to those with permission, and every change keeps its before and after values, with who and when.

Highlights
A B2B quote site and a production and order back office in one system
Production tracking that keeps the spreadsheet layout, with stage hand-off from the floor phone
A client-owned database with daily backups, permission-gated prices, and a change history
Insights
GA4 client_storage: 'none'은 정말 쿠키를 막을까?
두 달 전 이 블로그에 「GA4 쿠키 없이 쓰기」라는 글을 썼습니다. clientstorage: 'none' 으로 쿠키 저장을 끄고, 자체 분석이 쓰던 익명 ID 를 clientid 로 넘기면 쿠키 0개로 GA4 를 쓸 수 있다는 내…
GA4 Measurement Protocol: gtag.js 없이 서버에서 이벤트 보내기
랜딩 페이지의 전송량을 파일 단위로 쪼개 보다가, 가장 큰 파일이 우리 코드가 아니라는 것을 알았습니다. Google Analytics 의 gtag.js 였고, 방문 한 번에 176KB 를 받고 있었습니다. 페이지 전체가 1,094K…
중소 제조업 AI 도입 순서: DX를 먼저 끝내야 할까?
공장을 가진 중소·중견 제조기업 16만여 곳 가운데 스마트공장을 도입한 곳은 19.5%입니다. 회사가 작을수록 이 비율은 더 떨어집니다. 중소벤처기업부가 2025년 4월에 낸 제1차 스마트제조혁신 실태조사 결과입니다. type: ba…
Next.js loading.tsx와 404: 버튼이 화면보다 먼저 살아나게 하기
관리 화면 왼쪽 위에 사이드바를 접고 펴는 ☰ 버튼이 있습니다. 폭 하나 바꾸는 버튼인데, 대시보드에서 누르면 2초 넘게 아무 반응이 없었습니다. 레이아웃만 바꾸는 일이 왜 이렇게 오래 걸리는지부터 들여다봤습니다. Next.js 16…