A free public pricing calculator now lives at pennyweight.app/jewelry-pricing-calculator. Forward mode prices a piece from cost up; reverse mode starts with a target retail and tells you how much budget is left for labor and everything else after margin. Live gold, silver, and platinum spot baked in, no signup, share by URL. Inside the app, materials and labor are now editable inline from a product page through a row-level menu, so changing the spec for a 14K sheet doesn’t require leaving the piece you’re pricing. The standalone /calculator route inside the app is gone — the public one handles "what would this piece price at?" demos and outside links, while pricing in the authenticated app lives where it belongs, on the product page.
Tooltip and popover z-index fixed so they render above sheets and dialogs
Materials category cards reordered: Finding first, Metal last. New materials default to Finding
Typical-minutes pre-fill on hourly labor entries
Vendor auto-fills from a supplier URL on new materials, and hides entirely for castings
Library table cleanup: vendor dropdown gone from labor forms, Location column gone from vendors, Payroll tax column gone from labor
Purity dropdowns sort low-to-high now (10K → 24K), with 14K as gold default
Casting cost accuracy + component picker badges
Two themes shipped together: more accurate casting costs (the caster’s metal surcharge is now modeled explicitly, separate from the flat fee) and a clearer component picker (karat and gold tone are structured metadata surfaced as badges, not buried in the material name).
Caster metal markup on castings: model the surcharge casting houses charge on top of spot (default 20%, typical for US shops), separate from the flat casting fee
Per-material casting weight unit: enter each casting in grams, pennyweight, or troy ounces without changing your global preference
Gold tone (yellow / white / rose / green) is now structured metadata on a material, not something you type into the name
Component picker shows karat purity and tone as badges, so a 14K yellow sheet and an 18K yellow sheet are distinguishable at picking time
Naming guide rewrite: form-factor-first ("Wire 1mm", "Ear Nut Heavy"), with karat and color living in metadata where they belong
Naming-schema hint in the component picker, so the convention is visible at the moment of entry
Bulk-purchase calculator now handles length-unit conversions (ft ↔ in) and has an Insert button to drop the computed cost into the form
Capitalization fix on the gold karat dropdown labels (24K, 18K, 14K, etc.)
Vendor seed cleanup: dropped a bogus IJS entry and a duplicate Kitco listing in favor of Ross Metals
Spacing pass across the New Material, New Labor, and New Vendor sheets
Double-toast fix on inline material and labor creation
Per-category markup in onboarding
Onboarding step 2 now asks for a markup per cost category instead of one preset multiplier applied across the board. The old presets quietly baked in the assumption that packaging and gemstones priced like metal, which contradicts how most jewelers actually work.
Per-category markup in onboarding: metal, casting, chain, finding, gemstone, packaging, labor, acquisition. Each set independently
Defaults realigned to match real jeweler pricing: metal and casting at 2×, gemstones at 2.5×, packaging at 1.2× (cost recovery, not a profit center)
Existing accounts that customized any markup keep everything they set. Only never-touched defaults get the realignment
New typical-markup-by-category table on the Strategy guide, with notes on how production DTC, fine custom, and wholesale-heavy lines pull the defaults in different directions
Lifecycle emails + public guide previews
Two parallel wins: new accounts now get a small set of automated emails along the way, and every guide on pennyweight.app/guides shows enough publicly to be useful before sign-up.
Welcome email at sign-up
Onboarding wrap-up email when the wizard finishes
Day-after follow-up for jewelers who haven’t picked a plan yet
Marketing-site guides show their full first half publicly and gate the deeper sections behind a free sign-up. A jeweler landing from a search like "how do I price wholesale for my line?" can read enough to know whether Pennyweight fits before committing
Onboarding wizard + contextual guide pills
A three-step onboarding wizard now greets every new account before the dashboard. Two minutes in, every jeweler has a calibrated pricing profile and the calculator is pre-seeded with their settings, so a quick "what would this piece price at?" run feels native from the start.
Three-step onboarding wizard: hourly rate, markup preset (2× / 2.5× / 3×), and a wholesale toggle
Calculator pre-seeded with wizard settings, so the first run is calibrated instead of empty
Contextual "Read Guide" pills threaded onto every major surface (Field notes, materials, labor, channels, strategy, the calculator), so when a question comes up mid-task, the relevant guide section is one click away
Tidier table layout for the margin-target legend on Strategy
Inline library creation + plan picker refresh
A handful of friction-removers across the app: stop popping out of forms to set up a vendor or labor task, stop hitting dead ends after picking a plan, stop hunting for the supplier URL behind a vendor name.
Vendors and labor tasks can now be created inline from the material and labor forms. No more popping out mid-task to set up a new casting house
Plan management moved to /plans with Clerk’s pricing table and a clear path back to the app, so picking a plan (or browsing read-only) no longer feels like a dead end
Vendor pills on a product’s components link straight to the supplier’s purchase URL, with the destination on hover
Refreshed margin-target legend in Strategy
Two-column Settings layout with plan info up front
Copy polish pass across product forms
Catalog import + library polish
CSV catalog import is live, and the library got a polish pass while we were in there.
CSV catalog import: drop a Shopify export (or any CSV) onto the new Import page; AI maps columns and infers categories, then shows a preview so you can review every row before it lands in your catalog
Materials and labor entries show product thumbnails on their "Used in" cards, so you can see at a glance which pieces use a 14K gold sheet or a polishing labor line
Copy pass across charts, vendor pages, and confirmation dialogs: developer jargon replaced with jeweler-friendly language
Public trial open
Pennyweight is open for public trial. Anyone can spin up a 14-day trial of the full Maker tier: spot-linked materials, labor and overhead rules, multi-channel markup, full data export. Card on file at signup; auto-converts to paid Maker at day 14 unless cancelled. Sign up from the homepage.
Private alpha launch
Pennyweight went live in private alpha. A small group of independent jewelers tested spot-linked catalog pricing, labor and overhead rules, and multi-channel markup ahead of the public trial.
Rewrite begins
Five months of prototype, a lot of jeweler feedback, and several pricing-model rewrites later, the prototype had taught us what Pennyweight needed to be. Kicked off a clean rebuild on Next.js, Supabase, and Clerk. The engine carries forward; the codebase doesn’t.
Channel pricing reworked
Testers kept asking the same question: "where does my wholesale price come from?" The prototype had each channel as a separate input; jewelers wanted retail as the anchor and wholesale, consignment, and distributor derived from it. Reworked the model end-to-end. That’s the channel pricing logic shipping today.
Labor and overhead
Added hourly labor entries and overhead allocation amortized across expected annual output. Multiple testers had flagged the same gap independently: markup alone was leaving small-batch work under-recovered. The labor and overhead model in Pennyweight today came out of that round of feedback.
Materials library + first jeweler interviews
Added a reusable materials library so spot-linked metals could be shared across pieces instead of re-entered per item. Sat down with around a dozen jewelers (production studios, solo benchworkers, instructors) and watched them set up their first materials from a blank slate. Rebuilt the form three times based on what tripped people up.
First spot-linked prototype
Stood up the first hosted prototype: live spot prices and metal cost from karat × weight. No catalog, no labor, no markup. Just the one thing a jeweler does manually every morning, on the web. Sent it to a handful of independent jewelers. Every one of them said some version of the same thing: "this is what I’ve been doing by hand for years."
Bring your data
Luna Moon Ring
Retail$4825
Wholesale$2364
Profit$1234
Glow Orb Ring
Retail$3400
Wholesale$2456
Profit$1232
The jewelry pricing engine that tracks the metal market