Estimate Instant

repo: ~/Projects/estimate-instant · 14 commits · 0 in last 24h, 0 in last 7d ·

Search the build

14 commits indexed

  1. fb752d2 2026-07-16 estimate-instant: apply 5 contrarian fixes — always-gate leads/admin PII (ADMIN_CRED), targeted embed postMessage (host origin), unit-toggle value conversion, conservative per-strip half-drop math, total-linear-width hint
  2. f4c6d59 2026-07-16 shopify: refresh catalog — keep sample-only as 'by request'
  3. 0fd0700 2026-07-16 shopify: refresh catalog — real roll prices, no $4.25 sample-only leak
  4. edeca0c 2026-07-16 auto-save: 2026-07-16T08:12:03 (1 files) — data/shopify-catalog.json
  5. b38a6f6 2026-07-16 security: bind server to 127.0.0.1 so the tunnel/proxy basic-auth gate can't be bypassed on the LAN
  6. 646c3eb 2026-07-16 shopify: add Buy N rolls CTA + TEST banner to calculator UI
  7. 4349f95 2026-07-16 shopify: wire server to static catalog — estimate returns cart_url + /api/catalog-meta
  8. 1abb45d 2026-07-16 shopify: enrich rolls.json with real Shopify variant_ids + prices (0/8 SKU matches, 8/8 stand-ins)
  9. c033c9b 2026-07-16 shopify: add static catalog pull (200 real DW products, checkout_domain, variant_ids)
  10. f93b004 2026-07-15 estimate-instant: add embed-demo.html, fix /admin route + auth scope, admin sort+density (house rules)
  11. 6ec2a7c 2026-07-15 estimate-instant: add embeddable widget (embed.js iframe snippet + auto-height postMessage) — matches brief's 200+-site embed thesis
  12. 324b6db 2026-07-14 estimate-instant: fix half-drop math (consume match), honest capture copy, remove admin link from public page (contrarian FIX-FIRST)
  13. 25a1126 2026-07-14 estimate-instant v0: rolls-needed + instant-price calculator (server-side math), email capture, admin quotes view
  14. 6ef11db 2026-07-14 initial scaffold (estimate-instant) via web-dev accelerator

Authors

Agents used

  • none detected

Skills used

  • /cart3
  • /catalog-meta2
  • /pull-rollspecs2
  • /shopify-catalog1
  • /proxy1
  • /lead1
  • /www1
  • /behavior1
  • /leads1
  • /embed-demo1
  • /rolls1

Creative ideas + design notes

Commits with substantial prose (≥120 chars) — the rationale behind each move.

646c3eb · 2026-07-16 · shopify: add Buy N rolls CTA + TEST banner to calculator UI
- Email capture still first (POST /api/lead with created_at — unchanged)
- After estimate: green "Buy N rolls on Designer Wallcoverings" button appears
  linking to https://www.designerwallcoverings.com/cart/<variant_id>:<N>
  where N = rolls-needed from the estimate math
- Real per-roll price and total shown in button pills
- TEST-MODE banner below CTA: "hands off to LIVE Shopify checkout for N rolls;
  PayPal shows when enabled; roll specs are sample; production reads metafields"
- Stand-in note shown when shopify_match=false (all 8 current entries)
- Embed iframe compatibility preserved (postHeight still fires)
- All existing styles/behavior unchanged; only result block extended
4349f95 · 2026-07-16 · shopify: wire server to static catalog — estimate returns cart_url + /api/catalog-meta
- loadCatalog() reads shopify-catalog.json (no token, static pull)
- estimate() now accepts checkout_domain, builds cart permalink
  https://<checkout_domain>/cart/<variant_id>:<rolls_needed>
- estimate response includes shopify_variant_id, shopify_match, cart_url, checkout_domain
- pricePerRoll uses shopify_price from rolls.json (falls back to price_per_roll)
- New public /api/catalog-meta endpoint exposes checkout_domain for embed consumers
- No Shopify token ever lives in this server
1abb45d · 2026-07-16 · shopify: enrich rolls.json with real Shopify variant_ids + prices (0/8 SKU matches, 8/8 stand-ins)
All 8 prototype SKUs (DW-GRAS-01 etc.) are pre-production and have no match in the
live Shopify catalog. Each entry gets shopify_variant_id + shopify_price from a real
distinct DW catalog product, shopify_match=false, and a _note documenting the seam.
Price_per_roll now mirrors the real Shopify price for each stand-in variant.

PRODUCTION seam: roll_width_in / roll_length_ft / pattern_repeat_in must be pulled
from Shopify metafields keyed by variant_id — documented in each _note field.
c033c9b · 2026-07-16 · shopify: add static catalog pull (200 real DW products, checkout_domain, variant_ids)
Read-only copy of the live DW Shopify store — no token in the app.
Contains variant_id + price per SKU and checkout_domain for cart permalinks.
Cart permalink format: https://<checkout_domain>/cart/<variant_id>:<qty>
f93b004 · 2026-07-15 · estimate-instant: add embed-demo.html, fix /admin route + auth scope, admin sort+density (house rules)
- server.js: BASIC_AUTH now gates /admin + /api/leads ONLY — estimator stays
  public so it works when embedded cross-origin on 200+ sister sites
- /admin route properly serves admin.html (was falling through to 404 via
  basename mismatch); added CORS preflight headers for iframe embed POSTs
- public/admin.html: added sort <select> (Newest/Oldest/Email/Price↑↓) +
  density slider, both persisted to localStorage — house rule compliance
- public/embed-demo.html: mock retailer page showing the widget embedded via
  embed.js <script> snippet with copy-paste code block
- scripts/pull-rollspecs.sql: one-liner to swap sample data → real dw_unified
  products (psql "host=/tmp dbname=dw_unified" -Atq -f scripts/pull-rollspecs.sql > data/rolls.json)
- Verified: 12/12 checks pass (rolls API, roll math, half-drop, lead capture,
  admin 401→200 auth gate, embed pages, bad-email 400)

File tree

11 files tracked. Click any to browse the source at HEAD.

Other build journals

← Epstein Card  ·  all 4 projects  ·  Exo →

Export

commits.csv · feed.atom · project.json · commits.json

rendered in 0ms