Change Log
Every change to Vintage Value, newest first — including the request that prompted it.
August 20, 2026
Guided four-step account setup for new users
Prompt
"A new user signed up yesterday and ran into issues configuring their profile. Can you make the UI/UX dead simple and take the user through the steps to complete the profile and get on to using the app."
Outcome
- Found the cause: a new account landed on the full Profile & Settings page — currency, fees, store linking, photo cleanup, privacy, admin links and sign-out all at once — with a banner that only mentioned fees. Nothing said what was required, and saving fees silently bounced you to Home.
- Replaced it with a guided setup flow: four screens, one decision each — currency, selling fees, connect your store, privacy — with a progress bar and a "Step 1 of 4 · takes about a minute" label.
- Only currency needs an answer. Fees, store, and privacy are each marked "Optional — you can skip this", and the store step's button reads "Skip for now" until an account is linked.
- Every field now explains itself with a worked example, e.g. "A 20% commission on a $100 sale leaves you $80", instead of a bare label.
- Each step saves as you advance, so setup can be abandoned and resumed, and Back never loses what you typed.
- Setup ends on a confirmation screen with one clear next action — "Photograph my first item" — plus a quieter link to review settings.
- Profile is now purely a settings page. If anything was skipped it shows a "Finish setting up" checklist with a Continue setup button, and that card disappears once nothing is outstanding.
- Requirements ONB-1 to ONB-7 added, with the Help Center and Demo pages updated to cover the new setup guide.
August 20, 2026
Nav bar corners, floating-over-hero background, and larger logo
Prompt
"Make the navigation bar corners less rounded, make it flow over the header with a 2px border and drop shadow, then make the tan background behind it transparent so it floats over the hero, and mimic a floating nav with a large logo effect."
Outcome
- Nav pill corners are now less rounded, with a cream 2px border and a stronger drop shadow, and the bar stays sticky so it floats above content while scrolling.
- Removed the cream strip that used to sit behind the pill — the header background is now transparent and the hero's orange now extends up behind the nav, so the pill reads as floating directly on the hero.
- Enlarged the logo on desktop so it overflows above and below the pill for a bold floating-badge look; kept it at its original compact size on mobile so the Log in / Get started buttons stay fully visible.
August 20, 2026
Homepage header pill nav + mid-century modern hero redesign
Prompt
"Make the main menu a floating pill style box, orange, with high-contrast nav links, working well on mobile. Then: give the homepage more of a mid-century modern look and feel using an attached retro logo, and make the above-the-fold hero really cool ("Atomic Sunburst" direction)."
Outcome
- The homepage header is now a floating orange pill bar with white, high-contrast nav links and buttons, and it holds up cleanly on both desktop and mobile widths.
- The homepage hero (above the fold) was redesigned in a mid-century modern "Atomic Sunburst" style: a full burnt-orange background, a cream starburst graphic radiating behind the headline, bold uppercase display type, and a cream-bordered phone mockup.
- This is a visual-only change to the Landing page — no data, pricing, identification, or ConsignCloud logic was touched.
August 13, 2026
Search visibility: description field added to all record types
Prompt
"Help me improve my app's search visibility. My current score is 96/100 with 3 issues. Add an optional "description" field (up to 1000 characters) to each of these entities…"
Outcome
- Added an optional description field, limited to 1000 characters, to 15 record types: Community Data Record, Consent Audit Record, Identification Result, Integration Log, Item History Summary, Item Image, Price Comp, Pricing Snapshot, QA Bug, QA Repair Prompt, QA Test Case, QA Test Result, QA Test Run, QA Test Suite Item, and User Profile.
- Record types that already had a description or equivalent text field were left alone, and no existing field was renamed, removed, or made required.
- Tested by writing and clearing a description on a live profile record, then confirming items, photos, profiles, and integration logs all still read back normally.
- Nothing changes in the app you use day to day — the field is optional, unused by any existing screen, and no page or workflow was modified.
- Requirement LOG-7 added to document the new field.
August 13, 2026
Research rationale no longer sent to ConsignCloud
Prompt
"On the last item sent to CC from tim@gulfturn.com, it sent data to the Item Type field in CC that contains 64% estimated margin — it should not do that."
Outcome
- Confirmed it against the live store record: the item description read "642% estimated margin — net profit ~$38 after fees. Strong resale opportunity." That is the buy/pass rationale, which was being appended to the description on every send.
- Fixed the mapping so only your own item notes are sent as the store description. The recommendation reason, estimated margin, and net profit figures now stay in Vintage Value.
- Cleaned the two items already in your store that carried the leaked text, and verified the store records are now clear. Neither had any notes, so both descriptions are simply empty.
- The "Item Type"/Details field is unchanged — it still carries only the category, e.g. "Bavarian".
- Requirement CC-24 added, and the field-mapping page, Help Center, and Demo updated to say margin figures are never sent.
August 13, 2026
Photo orientation now preserved when resizing
Prompt
"I think in the process of resizing images, they got turned 90 degrees. I don’t want to fix any images, I just want to make sure the orientation of a picture does not change from the original."
Outcome
- Found the cause: phone cameras store a photo in sensor order and record the rotation separately in EXIF. Re-encoding discards EXIF, so the rotation was being lost and the copy came out sideways.
- Both resizers now bake the rotation into the pixels before writing the copy — the browser decodes using the image’s own orientation, and the server reads the EXIF orientation tag and rotates or mirrors to match.
- Handles all eight EXIF orientations, including the mirrored ones. Verified the rotation direction against the live image library rather than assuming it.
- No existing photos were changed, as requested — this only affects photos processed from now on.
- Requirement CAP-9 added, with Help and Demo updated.
August 13, 2026
One-time cleanup for older, full-size photos
Prompt
"Can our app resize images to ensure maximum interoperability and reduce our storage burden? → Shrink existing photos."
Outcome
- Confirmed new photos were already covered: every capture is re-encoded to JPEG at 1600px for the store plus a 900px research copy, roughly a 60-70% storage reduction, with the original never leaving the device.
- Added "Older photo cleanup" to Profile for photos captured before that change. It reports how many are left, shrinks them one at a time with visible progress, and tells you how much storage was freed.
- Cleanup runs in the browser, skips any photo it cannot read rather than aborting, and disappears once everything is optimized.
- A side benefit: older photos that ConsignCloud used to reject for being too large become sendable once shrunk.
- Declined for now: storing a single size instead of two, and tightening the size presets further.
- Requirements CAP-6 to CAP-8 added, with Help and Demo updated.
August 13, 2026
Resend photos button, and faster research using smaller images
Prompt
"Add a resend image button. Also I think you might have found a larger performance problem when researching an item to identify it — send a small version of the image to the research phase, and the best but correct size to ConsignCloud."
Outcome
- Every captured photo is now saved at two sizes: a store-sized copy (1600px) for display and ConsignCloud, and a small research copy (900px).
- Identification now sends the small research copy, so analysis starts noticeably faster. Vision models downsample large photos anyway, so nothing is lost.
- ConsignCloud keeps receiving the larger store-sized copy — the biggest size the store will actually accept.
- Added a "Resend photos" button beside each item in the "Already sent" list. It re-attaches photos to the existing store record and never creates a duplicate item.
- If the store-sized photo is ever rejected, the smaller research copy is now tried automatically so the item still arrives with a picture.
- Verified against the live store: photo re-attach succeeds, and the oversized-photo guard still refuses with a plain-English reason. Requirements CAP-5, IDN-5, CC-21 to CC-23 added, with Help and Demo updated.
August 13, 2026
Fixed photos silently not reaching ConsignCloud
Prompt
"I just sent an item and the photo didn’t go."
Outcome
- Traced the cause: ConsignCloud only accepts photos as base64 and caps a request at 2MB. The photo was 1.8MB, which becomes about 2.4MB once encoded, so the store rejected it — and the item was still created, just without the picture.
- Photos are now shrunk as you add them in Capture (longest edge 1600px, JPEG), which keeps every new photo well within the store’s limit.
- Added a hard size check before sending, so an oversized photo produces a plain-English reason instead of a silent drop.
- Photo problems now appear as an on-screen warning after a send and are written into the admin integration log.
- Confirmed the store connection still works after the change. Requirements CC-19 and CC-20 added, and Help and Demo updated.
August 13, 2026
Vintage Value SKUs (Vv000001) sent to ConsignCloud
Prompt
"Can we change our SKU to 8 digits starting with "Vv" and just generate a new number sequentially from the start. I want to be able to see in CC where the product came from."
Outcome
- Items now carry a Vintage Value SKU in the form Vv000001 — "Vv" plus six digits, eight characters in total — instead of the long internal item id.
- Numbering runs in one sequence across the whole app, starting fresh at Vv000001, so products from Vintage Value are instantly recognisable in ConsignCloud.
- The SKU is assigned on the first successful send and stored on the item, so it never changes or gets reused afterwards.
- Caught and fixed an issue during testing: items without a SKU sorted ahead of numbered ones, which would have handed out duplicate SKUs. The lookup now considers only items that already have one.
- Updated the field-mapping page, Help Center, Demo store step, and Requirements (CC-17, CC-18).
August 13, 2026
Acquisition cost now sent as ConsignCloud Purchase Price
Prompt
"Can the data field behind "Acquisition cost (optional)" be sent to CC as the Purchase Price? It has a data field for that in the Item. The VV "resale price" should be the Price in CC."
Outcome
- Yes. Inspected your store and found "Purchase Price" is a currency custom field on every item, alongside UPC and Other Costs.
- Acquisition cost is now written into that Purchase Price field, so what you paid reaches the store even on consignment items — which the built-in cost field does not allow.
- Confirmed by creating a live test item, verifying the value stored correctly, and deleting the test item straight away.
- Acquisition cost is still sent as the built-in cost per item for buy-outright and retail inventory types.
- Resale price already mapped to the item Price (tag price) in ConsignCloud, so no change was needed there — the field-mapping page now names it "Price" to match what you see in the store.
- Updated the Help Center, the field-mapping page, the Demo store step, and Requirements (CC-14, CC-16).
August 13, 2026
Diagnosed and fixed the failing sends to ConsignCloud
Prompt
"I just tried to send the same product again. Can you tell me what happened?"
Outcome
- Read the integration log for your account. Every send failed with a 400 from ConsignCloud, for two distinct reasons.
- Reason one, on most items: "Consignment items cannot have a cost per item." We were sending what you paid, which ConsignCloud forbids on consignment inventory because the store did not buy the piece.
- Reason two, on items with no resale price: "One of split_price or tag_price is required."
- Fixed the first by omitting cost on consignment items. Your cost is still kept here for margin maths, and is still sent for buy-outright and retail inventory types.
- Fixed the second by holding those items back before the call, with a message asking you to set a resale price, instead of letting the store return an opaque error.
- The split of 0.86 was correct in every attempt, so the earlier split work was not the cause.
- Updated the Help Center, the field-mapping page, the Demo store step, and Requirements (CC-14, CC-15).
August 13, 2026
Consignment split now read from ConsignCloud, no longer editable
Prompt
"What does consignor split mean when linking accounts? The store gets 14% and the consignor gets 86%. If you can read that from the CC API you should set it so the user cannot adjust it."
Outcome
- Answered the question and confirmed it against the live API: split is the consignor's share of each sale, stored as a decimal fraction. All 50 of your existing store items carry 0.86 — you keep 86%, the store keeps 14%.
- The split is now read automatically from the consignor's existing items in ConsignCloud when the account is linked, and re-read at send time if it is not yet stored.
- Removed the manual split input. The split is now shown read-only as "you keep 86% · the store keeps 14%", with a note that only the store can change it.
- The matched account list now previews the split before you link, so you can see the terms up front.
- Fixed a latent bug: a hand-typed 86 would previously have been sent as a split of 86 instead of 0.86. Percentages are now normalised to fractions before sending.
- Unlinking an account now clears the stored split as well.
August 13, 2026
Admin integration log + found the failed send
Prompt
"I clicked this product to send to CC and I do not see it in CC. Can you check what happened and can you build a log system that only admin roles can see so we can figure out why things don't work."
Outcome
- Diagnosed the Jolly Nigger cast iron bank: it was never sent. No consignor account was linked on the profile, so the send was refused before it reached ConsignCloud — and the refusal was not recorded anywhere, which is why it looked silent.
- Added an admin-only Integration Log that records every ConsignCloud call: action, user, item, outcome, message, HTTP status, duration, and the exact payload sent.
- Outcomes are classified success, failure, or blocked, filterable, with each entry expandable for full technical detail.
- Restricted the log to admin accounts server-side; regular users cannot read it at all.
- Logging runs with the service role and never throws, so it can never break a send.
- Added the log link to the bottom of the Profile page for admins, and reproduced the failure to confirm it is captured.
August 13, 2026
ConsignCloud field mapping page
Prompt
"Exactly what is sent to CC and what fields does it populate in CC. Do you have a visualization of a field to field mapping? If not could you create that as a page in the help section or something?"
Outcome
- Added a ConsignCloud Field Mapping page showing each field here alongside the ConsignCloud field it populates and the transform applied.
- Documented the four groups: values from the item, values from your profile and defaults, what is deliberately never sent, and what ConsignCloud writes back after a send.
- Added the page to the FAQ dropdown and linked it from the Help Center and the Demo walkthrough.
- Confirmed the two-account setup stays as is — the admin account and the user account remain separate.
August 13, 2026
ConsignCloud linking locked to your own email
Prompt
"Match strictly on the signed-in user's email — and also give the user a hint or tip when creating an account in this app that if they intend on linking to CC, it'll need to use that same email address."
Outcome
- Replaced the open consignor search in Profile with a "Find my consignor account" button that only ever returns the account whose email matches your sign-in email.
- Users can no longer see or link another consignor's account — the email match is enforced on the server.
- Added a clear message when no consignor account uses your email, telling you to have the store add it.
- Added a tip on the signup form: use the same email as your ConsignCloud consignor account if you plan to send items.
August 13, 2026
Multi-user separation audit and fix
Prompt
"Can this app support multiple users and do their inventories, data, etc. stay separated from other users? If no, please fix so this can support multiple users."
Outcome
- Audited every data type — items, photos, collections, identifications, comparables, pricing snapshots, and profiles are all owner-scoped server-side, so users cannot see each other data.
- Confirmed the ConsignCloud send runs as the signed-in user, so nobody can send an item they do not own.
- Fixed 9 legacy collections that had no owner recorded and were therefore invisible to the people who created them.
- Fixed the collection picker on the item page, which listed collections without filtering to the signed-in user.
- Verified all five accounts hold the standard user role, with admin limited to the owner account.
August 13, 2026
Demo and Help moved into an FAQ dropdown
Prompt
"Can you put the Demo and Help pages under FAQ and make it a drop down menu."
Outcome
- FAQ is now a hover dropdown in the site header containing FAQ, Demo, and Help Center.
- Removed the separate Demo and Help links to keep the header tidy.
- Refactored the three header menus into one shared dropdown component, replacing four duplicated copies across the landing and marketing headers.
- Fixed the landing page How and Why menu labels, which were rendering white on the cream header.
August 13, 2026
ConsignCloud photo upload + documentation pages
Prompt
"Add the photo upload step and make it dead simple for the user. Please create those pages. Question, do the products on the users VV account only go into their CC account?"
Outcome
- Item photos are now uploaded to ConsignCloud automatically as part of each push — no extra steps for the user.
- The Send to ConsignCloud page shows a thumbnail and photo count per item, plus a Select all shortcut.
- Added the Help, Demo, Requirements, and Change Log pages.
- Confirmed each user can only push their own items into the consignor account linked on their own profile.
August 13, 2026
ConsignCloud integration
Prompt
"Full integration with the ConsignCloud API, including mapping Item entity fields and building a backend bridge for inventory synchronization."
Outcome
- Added a secure backend bridge to ConsignCloud using a stored API key.
- Profile settings to search and link a ConsignCloud consignor account, set inventory type and split.
- New Send to ConsignCloud page for bulk sending, plus a per-item send button on item detail.
- Items track their ConsignCloud id, sent date, and any error so nothing is sent twice.
August 12, 2026
Landing page hero redesign
Prompt
"Redesign the homepage hero to be more app-like and interesting."
Outcome
- New phone-mockup hero with a live item result and confidence score chip.
- Reduced explanatory copy in favour of a visual, app-first first impression.
August 10, 2026
Pricing research engine
Prompt
"Pull real comparable sales from eBay and Etsy and recommend buy or pass."
Outcome
- Live comparable lookups across eBay and Etsy with an AI market synthesis fallback.
- Automatic buy / caution / pass recommendation based on margin after fees.
- Pricing snapshots saved over time so price movement can be tracked.
