Featured engagement · Fishertown, Pennsylvania
Daugherty’s Embroidery
& Screen Printing
- My role
- Independent consultant
Product design & development - The business
- Family-owned custom apparel
Schools, teams & local businesses - The scope
- Website → ordering →
staff management → reporting - The delivery
- Live public website
Order service implemented in code
01 / Product thinking
Start with the operating model.
The product needed to serve three people: the customer choosing apparel, the coordinator collecting group orders, and the staff preparing production.
Keep the group payment workflow
Customers submit an order and print a confirmation. Their organization collects payment and pays the shop in bulk. I built around that model, keeping online payment processing out of scope.
Scope & prioritizationMake valid choices the easy choices
Staff define which designs, decoration methods, placements, colors, and sizes a product allows. The order form only offers those combinations, and the server checks them again.
Requirements & error preventionMeet staff in the tools they use
The operational output is a structured Excel workbook, including production quantities and paper-form check-off columns. Printable receipts and scheduled email reports connect the digital service to daily shop work.
Adoption & operational fit02 / The customer-to-production journey
One order. A clear path through the business.
A private group storefront carries the details from selection to a production-ready handoff.
- 01
Set up the store
Staff configure products, pricing, allowed designs, a group password, and an Eastern-time cutoff.
Shop staff - 02
Choose & review
Customers select garments, sizes, colors, and optional names or numbers, with live pricing before submission.
Customer - 03
Confirm & reconcile
A printable PDF and optional email receipt include an order number and verification code for paper matching.
Customer + coordinator - 04
Manage & produce
Staff review orders, void duplicates or junk, and export Excel tallies and personalization details.
Shop staff
Duplicate a store for the next season, import S&S Activewear product options, and choose which stores appear in the daily report.
Under the hood: the technical delivery
Next.js and React power the website and order experience. Prisma and Neon PostgreSQL store the catalog and order snapshots. ExcelJS builds the workbooks, Nodemailer sends confirmations and reports, and Netlify handles hosting and scheduled reporting.
03 / Reporting that fits the business
The deliverable is a usable workday.
Five Excel sheets turn order records into invoices, garment quantities, and a personalization checklist.
Summary
Per-customer totals and paper receipt reconciliation. Voided orders remain visible and are excluded from totals.
- Active orders
- 2
- Items ordered
- 3
- Invoice total
- $90.00
| Order # | Status | Verify code | Customer | Items | Total | Paper received | Matches paper |
|---|---|---|---|---|---|---|---|
| TEAM-1 | Active | HJKMP | Alex Morgan | 2 | $48.00 | Y | Y |
| TEAM-2 | Active | RSTVW | Sam Rivera | 1 | $42.00 | — | — |
| TEAM-3 | Voided | WXYZA | Taylor Chen | 0 | $0.00 | — | — |
Orders
One row per item, with the garment, decoration, quantity, and prices captured at submission. The actual export also includes optional contact information and personalization.
| Order # | Status | Product | Color / size | Method / placement | Qty | Each | Line total |
|---|---|---|---|---|---|---|---|
| TEAM-1 | Active | Team tee | Navy / M | Screen print / Front | 2 | $24.00 | $48.00 |
| TEAM-2 | Active | Team hoodie | Grey / L | Embroidery / Left chest | 1 | $42.00 | $42.00 |
| TEAM-3 | Voided | Team tee | Navy / M | Screen print / Front | 1 | $24.00 | $24.00 |
Production Tally
Active order quantities grouped by product, supplier style, color, design, and decoration method, with a size breakdown for ordering blanks.
| Product | Style # | Color | Design | Method | M | L | Total |
|---|---|---|---|---|---|---|---|
| Team tee | TEE-01 | Navy | Team logo | Screen print | 2 | — | 2 |
| Team hoodie | HD-01 | Grey | Team logo | Embroidery | — | 1 | 1 |
Personalization
A separate work list for names, numbers, placements, and staff completion checks. This example’s $42 hoodie includes a $4 name fee.
| Order # | Customer | Product | Size | Name text | Placement | Qty | Done |
|---|---|---|---|---|---|---|---|
| TEAM-2 | Sam Rivera | Team hoodie | L | RIVERA | Right sleeve | 1 | — |
Price List
A reference for the store’s configured products, prices, available options, and personalization fees.
| Product | Base price | Colors | Sizes | Allowed decoration | Personalization |
|---|---|---|---|---|---|
| Team tee | $24.00 | Navy | M, L | Team logo / Screen print / Front | None |
| Team hoodie | $38.00 | Grey | M, L | Team logo / Embroidery / Left chest | Name / Right sleeve / $4.00 |
Reporting arrives where staff already work.
A configurable daily email delivers store summaries and Excel attachments to the shop inbox. Staff choose the send hour in Eastern time and which stores to include; the scheduler guards against sending the same day twice.
04 / Trust as a product requirement
Protect the workflow and the people using it.
I treated access, order integrity, and privacy as requirements built into the service.
Private by design
Salted scrypt hashes for staff passwords, signed expiring sessions, and HttpOnly cookies with SameSite=Lax and Secure in production. Staff actions require admin access; group store access can be revoked.
Validate on the server
Prices are recalculated against the configured catalog. Saved order snapshots preserve the submitted details, while unique submission keys prevent double-clicks and retries from creating extra orders.
Constrain incoming data
Sign-in and order rate limits, same-origin form checks, upload size and file-signature checks, and HTTPS supplier-domain allowlists for imported images. Private routes use frame, content-type, and referrer protections.
Collect what the order needs
Email and phone are optional, with a purpose notice in the order flow. Credentials stay in environment variables. Store and admin pages are excluded from search; authentication controls access.
05 / Production & discoverability
Build for the shop floor. Prepare for the web.
A more structured handoff
- Aggregate garment quantities by size and decoration method in the production tally.
- Separate names and numbers into a personalization checklist.
- Match printed receipts with order numbers and verification codes.
- Exclude voided orders from invoice totals and production quantities.
- Reuse configured stores next season instead of starting over.
Control cost and release risk
- Resize uploaded and imported images to a maximum 1200px and convert them to WebP.
- Remove unused image records to manage database storage.
- Apply database migrations only on production deploys; preview builds do not run migrations.
- Keep TypeScript build errors blocking and document launch, email, backup, and credential-rotation checks.
Google discoverability
Give search engines a clear public front door.
I implemented canonical URLs, descriptive page metadata, a public sitemap, robots directives, and LocalBusiness structured data covering the business’s identity, address, hours, and service area.
Public marketing content can be crawled, while admin and group-order routes use noindex directives and stay out of the sitemap. These are indexing foundations; they do not establish a Google ranking or confirm indexing.
06 / AI as a practical development tool
From everyday photos to a coherent digital experience.
I used AI to optimize normal product photos into website material and to improve UI code and functionality across devices.



Published images from the client website. These show the final website presentation; original photos are not shown.
AI-assisted product imagery
I used AI to turn ordinary product photos into material suited to the website’s product and project galleries. The business’s real apparel remains the subject, making the work easier to browse and understand.
AI-assisted UI development
I used AI while improving interface code and functionality for phone, tablet, and desktop use. The implementation includes mobile navigation, responsive layouts, touch-friendly controls, form validation, and garment previews.
AI supported iteration on assets and implementation. The decisions still came back to the business: what customers need to choose, what staff need to fulfill, and how the experience should work across devices.
07 / What this demonstrates
Product thinking, carried through to delivery.
My consulting role combined translating a business process, defining the experience, and implementing the system that supports it.
Problem definition
Connect customer-facing ordering with group coordination and shop fulfillment.
Scope discipline
Support bulk settlement, paper receipts, and Excel rather than adding unnecessary payment complexity.
Technical judgment
Make tradeoffs around valid configurations, data integrity, image storage, private access, and release safety.
Operational adoption
Deliver reusable stores, practical reporting, and documented staff workflows.
What I would measure next
Evaluate the experience against the work it supports.
These are proposed success measures, not reported results.
- Order completionSubmitted orders ÷ checkout starts
- Reconciliation effortStaff time to match receipts and resolve exceptions
- Production correctionsOrders requiring garment or personalization fixes
- Search acquisitionSearch Console impressions, clicks, and qualified inquiries