Terug naar home

Changelog

Wat we hebben gebouwd

Een zorgvuldig overzicht van elke functie, fix en twijfelachtige ontwerpbeslissing. Als we provenance voor je boeken bijhouden, moeten we dat voor onze code ook doen.

Huidige versie1.4.142 releases

1.4.1

Laatste

The Polyglot Shelf

·9 wijzigingen

Shelvd now speaks English, Dutch, French, and German across the interface, website, blog, and wiki. Public pages get proper /nl, /fr, and /de routes, the app keeps stable URLs with a language setting where it belongs, and the header now uses an actual language picker instead of shouting EN NL FR DE like airport signage. Also: AI scan/enrich got sharper, E2E tests got a foundation, and iPad landscape stopped being treated like an exotic manuscript format.

Toegevoegd

Full i18n infrastructure — runtime messages, locale registry, strict copy scanner, validators, and PO/POT handoff for translators

Toegevoegd

Dutch, French, and German website routes — homepage, blog, wiki, legal pages, roadmap, changelog, and about now understand /nl, /fr, and /de

Toegevoegd

Localized blog and wiki content — 23 blog posts and 49 wiki pages translated per language, because “see English version” is not a strategy

Toegevoegd

App language preference in Settings — stable app URLs, localized buttons and labels. Civilized.

Verbeterd

Language chooser redesigned as a real picker with full language names and a checkmark, no more alphabet soup in the header

Verbeterd

AI scan and AI enrich review flows — better field review, richer search-result details, stronger Roman-year handling, and fewer mysterious “trust me” moments

Verbeterd

Settings page split into focused sections — account, billing, lookup, cleanup, links, subscription, and configuration each got their own desk

Toegevoegd

E2E testing foundation — Playwright config, personas, fixtures, and smoke-test docs are ready for proper browser-level guardrails

Opgelost

About page location updated to Bruges, Belgium — geography matters, even on the internet

1.4.0

The Great Split

·5 wijzigingen

The books page — the heart of Shelvd — has been completely restructured without changing a single pixel. The original 2,597-line monolith is now a clean 475-line orchestrator backed by 12 focused components and 4 custom hooks. AI scan results now correctly land in your Library collection, and all 70 unsafe type casts have been removed from the codebase.

Verbeterd

Books page split into 16 focused modules — types, helpers, 10 UI components, 4 hooks. 81% less code in the main file

Verbeterd

Zero unsafe type casts remaining — 70 "as any" casts replaced with proper TypeScript types across the entire codebase

Verbeterd

Export dropdown refactored — 7 individual buttons replaced by a data-driven list. Sort headers in list view now generated from column definitions

Opgelost

AI scan saved books but never added them to your Library collection — scanned books now appear in Library immediately

Opgelost

Five orphan books (created by earlier AI scans) were invisible in the catalogue — found and added to their owners' Library collections

1.3.1

The Bug Sweep

·9 wijzigingen

Nine fixes focused on data integrity and chart accuracy. Valuation charts now correctly sort mixed date formats. Duplicate entries no longer multiply on repeated saves — the root cause (stale isNew flags surviving router.refresh) is eliminated. Same-date valuations are averaged into a single chart point. All three history editors (valuation, provenance, condition) got drag-to-reorder replacing the confusing chevron buttons. Search filters are hardened against special characters in book titles. Import pages got the same autocomplete limit fix the add/edit pages received last release.

Toegevoegd

Same-date valuations are averaged into a single chart point — tooltip shows "Market Research (avg of 2)" when multiple entries share a date

Verbeterd

Drag-to-reorder for valuation, provenance, and condition history editors — GripVertical is now a real drag handle, confusing chevron arrows removed

Verbeterd

Date sort utility extracted to shared module — consistent date parsing across chart and timeline

Opgelost

Valuation chart showed wrong order with mixed date formats — "01.03.2026" sorted before "2018" alphabetically. Now uses smart date parsing

Opgelost

Duplicate valuation entries multiplied on every save — stale isNew flags caused re-inserts. State now resets from DB after save. 109 existing duplicates cleaned up

Opgelost

Search and prev/next navigation broke on book titles with commas or parentheses — PostgREST filter strings now properly escaped

Opgelost

Import pages truncated autocomplete lists at 1000 rows — same .limit(10000) fix applied to import and custom import pages

Opgelost

Wiki articles all showed "12 February 2026" — hardcoded date removed, wiki pages are reference docs not blog posts

Opgelost

Duplicates page book count stayed stale after deleting books — count now updates immediately

1.3.0

The Detail Sweep

·19 wijzigingen

Twenty fixes and features that make the daily cataloging workflow faster and less annoying. Contributors are now inline-editable with autocomplete from your existing entries. The edit page stays open after saving, Catalog ID got a uniqueness check, and the valuation chart finally reads left-to-right. Asking Price is now always asking price — the actual sale price belongs in Provenance. You can toggle browser spellcheck off for book forms, and the publisher/place autocomplete actually includes all your books now, not just the first thousand.

Toegevoegd

Inline contributor editing — change name and role directly in the form without deleting and re-adding

Toegevoegd

Contributor name autocomplete — suggests names from your existing books as you type

Toegevoegd

XML and Apple plist import — drag in an XML file from other book collector apps and Shelvd maps the fields automatically

Toegevoegd

Catalog ID in book detail header — visible right under title, author, and status badge, with copy button

Toegevoegd

Catalog ID uniqueness enforcement — database constraint prevents duplicates, forms show real-time warning with link to the conflicting book

Toegevoegd

Spellcheck toggle — disable browser spell check in book forms from Application Settings

Toegevoegd

Last Page book part — available as image label alongside First Page, Chapter Page, and all other parts

Verbeterd

Edit page stays open after Save — no more bouncing back to the detail page. "Done" button takes you back when you're finished

Verbeterd

New books redirect to edit page — image upload zone is immediately available after creating a book

Verbeterd

Catalog ID is now the first field in Title & Series on add and edit forms — because it's usually the first thing you enter

Verbeterd

Asking Price is always "Asking Price" — no more "Sold For" label. The actual sale price belongs in Provenance

Verbeterd

Image upload progress bar — replaces the pulsing book icon with actual upload count, percentage, and per-file status

Verbeterd

Detail page image upload simplified — removed the label selector UI, all uploads default to "detail" type

Opgelost

Valuation chart ran right-to-left — now correctly shows oldest on the left, newest on the right

Opgelost

Publisher, place, and other autocomplete lists stopped updating after ~1000 books — Supabase default row limit now overridden

Opgelost

Contributors could only be reordered or deleted, not edited — name and role were static text

Opgelost

Bulk image import: cancel button was wrong color, drop zone required double-click, uploads failed after idle tab

Opgelost

Stale books displayed after switching collections — race condition where slow fetch overwrote current results

Opgelost

Pending contributor lost on save — if you typed a contributor but didn't click Add, it vanished on submit

1.2.1

Under the Hood

·6 wijzigingen

The version where sorting actually works, buttons stop running away, and Facebook finally shows our face. Server-side author sorting replaces the old client-side shuffle that only sorted whatever page you happened to be on. The bulk image import page got a proper layout — action buttons next to the title instead of hiding below 200 photos. Facebook's sharing preview stopped showing a blank because we replaced a broken edge function with a boring PNG that just works. Oh, and hasFeature() now asks two questions instead of four.

Toegevoegd

Server-side author sorting — your entire library sorts A–Z by author, not just the current page. Powered by a generated column that updates itself

Verbeterd

Bulk image import redesign — action buttons pinned to the header row, subtle phase dots, friendlier copy, bordered preview table

Verbeterd

Import dropdown labels shortened — Spreadsheet, Photos, Custom File. Context does the rest

Verbeterd

hasFeature() performance — 4 sequential database queries reduced to 2. Every gated page loads faster

Verbeterd

AI enrichment errors now show the actual problem instead of a generic "please try again"

Opgelost

Facebook sharing preview showed blank image — 0-byte cached response from broken edge function replaced with static PNG

1.2.0

Your Move

·19 wijzigingen

Sixteen UX improvements, dark mode, and the free tier just got interesting. Infinite scroll replaces the old "Load More" button. Save your favorite searches as bookmarks. Drag contributors into the right order. Bulk-assign tags and statuses. Dark mode works everywhere thanks to 220 semantic design token replacements across 31 files. Free users now get 10 trial AI scans and 100 MB of image storage — enough to fall in love before upgrading. Oh, and we fixed that embarrassing bug where books appeared twice in grid view.

Toegevoegd

Dark mode — Sun/Moon toggle in the app header. All 220 hardcoded color classes replaced with semantic design tokens. Works across every page

Toegevoegd

Saved searches — bookmark complex filter combinations and recall them with one click. Badge shows count, hover to delete

Toegevoegd

Infinite scroll — books load automatically as you scroll down. No more "Load More" button

Toegevoegd

Bulk tag assignment — select multiple books and assign tags in one action

Toegevoegd

Bulk status change — select multiple books and change their status simultaneously

Toegevoegd

Drag-to-reorder contributors in add and edit forms — grab handles to set the display order

Toegevoegd

Draft recovery — unsaved changes in add and edit forms persist in localStorage. Resume where you left off

Toegevoegd

Free tier: 10 trial AI scans and 100 MB image storage — try the AI scanner before committing to a plan

Toegevoegd

Image URLs in exports — all export formats now include a column with links to every uploaded image

Verbeterd

Prev/next navigation preserves your filter context — collection, tag, and search query carry through

Verbeterd

Status badge is clickable everywhere — change status directly from the book detail page

Verbeterd

External links grouped by category (bibliographic, marketplace, auction, etc.) on the detail page

Verbeterd

Collection and tag dropdowns in advanced search — no more typing exact names

Verbeterd

Field-level validation for ISBN-13, ISBN-10 (check digit), OCLC (digits only), and URL format

Verbeterd

Navigation: removed confusing "Search" link from main menu (search lives on the books page)

Verbeterd

Marketing header button renamed from "Collection" to "Your Library" for consistency

Opgelost

Duplicate books appearing in grid view — race condition in infinite scroll where the same page was fetched twice

Opgelost

AI Scan gave 404 for free users — redirect now goes to the upgrade page instead of a non-existent route

Opgelost

Status badge on detail page showed fewer options than the edit form — now both show all 14 statuses

1.1.0

Found by Google

·12 wijzigingen

The one where we realized having 76 pages means nothing if Google only knows about one. Full SEO overhaul: structured data on every public page, ItemList schemas for blog and wiki indexes, BreadcrumbList on every article, FAQ schema targeting real collector queries, OpenGraph article tags by category, JSON-LD for changelog and roadmap, and an llms.txt for the AI crawlers. Also fixed duplicate detection (broken since the contributor simplification) and tidied up the book detail page.

Toegevoegd

llms.txt — AI-crawler-friendly site summary with feature descriptions, comparisons, and all public URLs

Toegevoegd

FAQ schema on homepage — five questions targeting real book collecting search queries (cataloging without ISBN, provenance tracking, collection valuation)

Toegevoegd

ItemList structured data on blog index — all 22 articles as ListItems for rich snippets

Toegevoegd

ItemList + CollectionPage structured data on wiki index — all 46 knowledge base articles

Toegevoegd

JSON-LD structured data on changelog and roadmap pages

Toegevoegd

BreadcrumbList JSON-LD on every blog post and wiki article for search result breadcrumbs

Verbeterd

Homepage JSON-LD — added featureList, sameAs (ProductHunt), SearchAction, applicationSubCategory, and pricing description

Verbeterd

Blog OpenGraph tags — article:section and article:tag per category for better social sharing and search categorization

Verbeterd

Canonical URL fix — absolute URL instead of relative on homepage

Verbeterd

Book detail page — status badge moved from title row to below contributors, cleaner layout

Verbeterd

Book detail buttons reordered — Delete (neutral) → Print Insert → Edit (red, prominent). Edit is the primary action, Delete is de-emphasized

Opgelost

Duplicate detection broken since contributor simplification — ISBN-13, ISBN-10, and title matching now use books.contributors JSONB instead of dropped tables

1.0.0

The One

·22 wijzigingen

Fifty-one UX improvements in a single weekend. Every screen touched, every rough edge smoothed. The books list gained quick-filter tabs, visual status badges, and value averages. Book detail got copy-to-clipboard identifiers, collection-aware breadcrumbs, and set-as-cover from the gallery. The edit form auto-detects link types when you paste a URL. Search learned date ranges and notes fields. The scanner shows step-by-step progress. Mobile got responsive activity cards and swipe-to-close navigation. This is v1.0.0 — the version where Shelvd stopped being a project and started being a product.

Toegevoegd

Quick-filter tabs on books list — one click to filter by status (Available, Sold, Reserved, etc.) without opening advanced search

Toegevoegd

Visual status badges — colored dots and backgrounds replace plain text labels across list, grid, and detail views

Toegevoegd

Value summary averages — see average acquired and estimated value per book alongside totals

Toegevoegd

Date range filter in advanced search — filter by when books were added to your library

Toegevoegd

Search in notes and bibliography fields — four text columns searched simultaneously

Toegevoegd

Copy-to-clipboard on all identifiers — ISBN-13, ISBN-10, OCLC, LCCN, Catalog ID with one-click copy

Toegevoegd

Collection-aware breadcrumbs — navigating from a collection filter shows the collection name in the breadcrumb trail

Toegevoegd

Set as cover in image gallery — click any uploaded image and set it as the book's cover photo

Toegevoegd

Paste-to-detect link types — paste a URL and the link type auto-selects based on the domain (Goodreads, WorldCat, etc.)

Toegevoegd

Step progress indicator for AI scan — Upload → Analyze → Done with animated transitions

Toegevoegd

Password strength meter on signup — four-level indicator with real-time feedback

Toegevoegd

App footer with Wiki, Support, Changelog, Privacy, Terms links and version number

Toegevoegd

Swipe-to-close mobile navigation drawer

Toegevoegd

Humorous empty states across activity, tags, lookup, and search — consistent tone with helpful guidance

Verbeterd

AI enrich now fills language and original language — detects translation cues like "traduit de" and "vertaald uit"

Verbeterd

Books list — skeleton loading, responsive cards, "clear search" on empty results, drag-to-reorder columns

Verbeterd

Book detail — expandable long descriptions, metadata sections for physical description and condition, external links sorted by category

Verbeterd

Settings — client-side tab routing (no full page reload), loading skeleton, styled delete-account modal with type-to-confirm

Verbeterd

Import preview table now shows all mapped columns dynamically instead of fixed five columns

Verbeterd

Activity table — responsive card layout on mobile, audit results cached in localStorage with "scanned X ago" timestamp

Verbeterd

Dark mode toggle on book detail and edit pages

Opgelost

Numerous small layout fixes — consistent section spacing, field alignment, skeleton proportions across all pages

0.34.0

Second Look

·5 wijzigingen

You already photographed your books. Now Shelvd can re-read those photos to fill in what you missed. Hit AI Enrich on any book with images and Claude examines your title page, cover, and colophon — same vision engine as the scanner, but without re-photographing anything. Results appear in the familiar enrich diff panel where you pick field by field what to keep. Also: the AI now understands that ALL CAPS on a title page is a design choice, not a cataloging instruction.

Toegevoegd

AI Enrich from Photos — one click on any book with uploaded images. Claude re-reads your title page, cover, and colophon to extract missing bibliographic data. Results shown in the enrich diff panel: green for new fields, amber for different values, you decide what stays. Uses your existing scan credits, no new photos needed

Verbeterd

AI title normalization — the scanner now converts ALL CAPS titles to proper casing. English gets title case (The Old Man and the Sea), French and Dutch get sentence case (De ontdekking van de hemel). No more shouting book titles

Verbeterd

AI scanning spotlight moved to a more prominent position on the landing page, with a new photo gallery section showcasing the image features

Opgelost

Existing book photos are now protected during AI scanning — a bug in the scan endpoint would delete your uploaded images if the AI processing failed. Fixed with a cleanup guard that preserves existing photos on error

Opgelost

Signup and login pages now show feature numbers (32 library sources, 76 book formats, 7 export formats) instead of live database counts that broke on cold starts

0.33.0

Take It With You

·4 wijzigingen

Your entire library in a single file. Export everything — books, collections, tags, valuations, provenance — as a portable SQLite database. Open it in DB Browser, query it with SQL, back it up to a USB stick. Also: the custom import finally saves your books, and seventeen buttons learned to stand at attention.

Toegevoegd

SQLite export — download your complete library as a .db file with nine relational tables: books, languages, conditions, bindings, formats, collections, tags, valuation history, and provenance entries. Foreign keys intact, contributors stored as JSON. Opens in DB Browser for SQLite, DBeaver, or anything that speaks SQL

Opgelost

Custom import now actually saves — the "Import from File" flow with field mapping was missing its save logic entirely. Books now insert with JSONB contributors, collection assignment, valuation history, provenance entries, activity logging, and a progress bar that means something

Opgelost

Button heights normalized across the books page — toolbar buttons (list, grid, select, import, export, duplicates, add) now share a consistent height, and search bar buttons match the input field beside them. Small thing, but it was driving us mad

Verbeterd

Dead code removed — three unused TypeScript interfaces (Contributor, BookContributor, BookContributorEntry) cleaned out after the JSONB migration. The codebase is lighter

0.32.0

Cover Me, I’m Going In

·8 wijzigingen

Point your phone at a title page — any title page, in any language, from any century — and Shelvd reads it for you. Three photos, five seconds, and up to thirty-one fields filled in. No ISBN required. No typing required. No other book app does this.

Toegevoegd

AI Book Scanning — photograph a book’s cover, title page, and colophon. Claude reads the text, cross-references between the photos, and extracts title, subtitle, author, translator, publisher, place, year, edition, impression, ISBN, language, original title, dedication, and the full colophon text. Works on a 2020 paperback and a 1776 leather-bound folio alike

Toegevoegd

Scan credits — Pro subscribers get 10 scans per month, Dealers get 50. Need more? Buy credit packs (25, 100, or 500 scans) that never expire. Your monthly credits reset automatically, purchased ones stay forever

Toegevoegd

Confidence indicators — every extracted field shows a green dot for high confidence, so you know at a glance what to trust and what to double-check

Toegevoegd

All scan photos saved — cover, title page, and colophon are stored with your book. The cover becomes the thumbnail, the rest goes to the image gallery. No photos lost

Verbeterd

Titles transcribed exactly as printed — including trailing punctuation, diacritics, and typographic conventions. If the title page says “À propos.” with a period, that’s what you get. ISBD would approve

Toegevoegd

Email change in Settings — click Change next to your email, enter a new address, and confirm via both your old and new inbox. Dual confirmation keeps your account secure

Verbeterd

Contributors simplified — authors, translators, illustrators, and all other contributor roles are now stored directly on each book instead of in separate database tables. Faster page loads, no more duplicate contributors on import, and the full 69-role MARC Relator Code list is available in every dropdown

Toegevoegd

Data cleanup in Settings — one-click removal of orphaned publishers, contributors, and tags that are no longer linked to any book. Keeps your dropdowns clean

0.31.0

Final Proofs

·5 wijzigingen

A new import system that reads any spreadsheet in six languages, a full visual consistency pass across every page, and accessibility improvements that make every screen easier to read. Also: your books now live in a library, not a collection. As they should.

Toegevoegd

Free import with field mapping — drop any Excel, CSV, or TSV file and Shelvd auto-detects your columns using multilingual fuzzy matching (English, French, German, Dutch, Spanish, Portuguese). A mapping step lets you assign each column to a Shelvd field with grouped dropdowns and sample data preview. Shelvd templates are auto-detected and skip the mapping entirely

Verbeterd

Terminology standardized — “Collection” is now “Library” throughout the app, navigation, and marketing pages. Collections (Library, Wishlist, custom) keep their name as a feature — but your books live in your library, not a generic collection

Verbeterd

Accessibility — text contrast meets WCAG AA across all pages, priority indicators use labels alongside color, and the search page now matches the visual language of the rest of the app

Verbeterd

Cover image sync — changing an image label to Front Cover now actually updates the book's thumbnail. First image uploaded to a book auto-becomes the cover

Verbeterd

Navigation — scroll position is remembered across pages, and save or cancel on the edit form reliably returns to the book detail page

0.30.0

Trust, but Verify

·5 wijzigingen

Your first real payment went through, and then it went through again. That's the kind of bug that ages you. This release fixes the duplicate charge, adds a Billing tab so you can see your payment history, gives admins a refund button, and makes admin accounts immune to tier limits. Because the person debugging the payment system shouldn't also be locked out of their own books.

Toegevoegd

Billing tab in Settings — payment history table with dates, amounts, methods, and status badges. Auto-renewal banner showing your next charge date and amount. Cancellation warning when your plan is ending

Toegevoegd

Admin refund — one-click refund per payment in the admin user detail page. Creates Mollie refund, updates payment status, logs the action. For when the system charges someone twice and you need to fix it in seconds, not days

Toegevoegd

Admin limit bypass — admin accounts now skip all tier limits (books, tags, storage, features). The tier stays real, but enforcement steps aside. No more fake subscriptions to test your own product

Toegevoegd

Quota exceeded indicator in admin user list — red text with count/limit when a user has more books than their tier allows. Instant visibility into who got caught by a downgrade

Verbeterd

Mollie subscription timing fix — first payment now correctly covers the initial period, with the recurring subscription starting one month later. Previously, Mollie would charge immediately on subscription creation, resulting in a double charge on day one

0.29.0

Show Me the Money

·7 wijzigingen

The free tier was never the whole plan. Shelvd now takes payments — iDEAL, Bancontact, credit cards, SEPA direct debit — through Mollie. Click upgrade, pay, done. Subscriptions manage themselves: auto-renewal, cancellation with grace period, lazy downgrade when the period ends. The admin panel tracks every payment, and your activity feed knows exactly when you became a paying customer.

Toegevoegd

Mollie payments — upgrade to Collector Pro or Dealer with iDEAL, Bancontact, credit card, or SEPA direct debit. One-click checkout, redirect back, subscription active. Monthly recurring payments handled entirely by Mollie

Toegevoegd

Subscription management in Settings — see your plan, next billing date, payment method. Cancel anytime, access continues until the end of your billing period. No surprise cutoffs

Toegevoegd

Upgrade page — plan comparison with feature lists, pricing, and a single "Proceed to payment" button. Clean enough that even your accountant would approve

Toegevoegd

Admin subscription overview — dedicated page with MRR, active subscribers, and a sortable table of all subscriptions. User detail pages show subscription status, billing period, and full payment history with Mollie dashboard links

Toegevoegd

Smart tier resolution — your effective tier is the highest of your membership, lifetime benefits, invite code trial, and active subscription. Cancelled subscriptions downgrade lazily at period end, not before

Toegevoegd

Signup with plan intent — pricing buttons on the landing page now send new users through signup with a plan param. After email confirmation, you land directly on the upgrade page. No friction, no lost intent

Verbeterd

Subscription events in activity feeds — started, renewed, payment failed, cancellation requested, expired. Amber dots in both user and admin activity pages, with a dedicated Subscription filter tab

0.28.0

Fine. You Win.

·3 wijzigingen

We held out as long as we could, but apparently typing thirteen digits is "too many digits." So now your camera can read ISBN barcodes. Point it at the back cover like it's 2012 and you're at a self-checkout. Works on phones, laptops, even that dusty webcam on your iMac. Meanwhile, the admin panel learned to count storage, collections remembered how to sort, and your view preferences finally survive a page refresh.

Toegevoegd

ISBN Barcode Scanner — tap the camera icon next to any ISBN field in Lookup or Enrich, point at a barcode, done. Uses native detection on Chrome and ZBar WASM (the gold standard C barcode library) on Safari. Because manually typing 9780140449136 is nobody's idea of a good time

Toegevoegd

Admin storage tracking — the Users list now shows per-user storage bars with color coding (green/amber/red) and exact percentages. User detail pages get a full storage section. When users hit 90%, the upload API whispers a warning

Verbeterd

View and sort preferences now persist — switch to grid view, sort by catalog number, navigate away, come back. Still grid. Still sorted. Revolutionary

0.27.0

Dewey, Meet Your Friends

·9 wijzigingen

You know those cryptic numbers on library spines — 823.912, PR6039, 02? They have names now. Type a Dewey code and see "English fiction." Type a Library of Congress range and see "English literature." Four classification systems, 12,535 entries, and a search that works in both directions. Plus three new export formats, because apparently six ways to get your data out still wasn't enough for some people.

Toegevoegd

Three new export formats — BibTeX for academics who live in LaTeX, RIS for Zotero and Mendeley users, and XML for anyone who thinks JSON is too modern. Six formats total: take your pick

Toegevoegd

Subject Classification — type a Dewey, LCC, UDC, or NUR code and instantly see what it means. Or type a description and find the code. Works both ways, like a proper reference book

Toegevoegd

Smart classification matching — when Library Lookup returns "823.912," Shelvd now tells you that's English fiction. Even partial codes get matched to the nearest category

Toegevoegd

NUR codes — all 682 entries for the Dutch and Belgian book trade. If you're selling books in the Low Countries, you need this

Toegevoegd

Four wiki articles on DDC, LCC, UDC, and NUR — with more history than strictly necessary, and full lookup tables for each

Verbeterd

Previous/Next navigation now follows your sort order — sorted by year? You'll browse by year. No more jumping back to alphabetical

Toegevoegd

Bulk Image Import — drop hundreds of photos named by catalog number and Shelvd matches them to your books. Preview table shows exactly what will be uploaded before you commit. Duplicates skipped, mismatches exportable. Dealer only

Toegevoegd

Newsletter — sign up from the landing page, blog, or footer. Occasional updates on new features and the odd literary digression. No spam, no schedule

Verbeterd

Catalog provenance now shows how a book was acquired ("Purchased from Antiquariaat X, 2012") instead of the meaningless "Current owner" it used to show

0.26.0

Thirty-Two Libraries, Five Continents

·6 wijzigingen

From Poland's 4.7 million records to the National Library of Israel's trilingual collections, from Luxembourg's 90 libraries to Brazil — your Book Lookup now reaches thirty-two sources across twenty-seven countries. At this point, if a book exists and has an ISBN, we'll probably find it.

Toegevoegd

Nine new library sources — Portugal, Poland, Luxembourg, Israel, Brazil, and eight Southeast European countries (Slovenia, Serbia, Bosnia, and more). Plus Europeana: 200 million records from 49 European countries, for when national libraries aren't enough

Toegevoegd

Image relabeling — uploaded a photo as "cover" when it's really the spine? Click it, pick the right label. No re-upload needed

Toegevoegd

Two new wiki articles — photo labeling guide and trade catalog conventions

Verbeterd

Library Lookup dropdown redesigned — providers grouped by language with record counts, so you know where to look first

Verbeterd

Tooltips no longer vanish behind the edge of your browser

Verbeterd

Full catalog audit against ABAA, ILAB, and IFLA standards — confirmed coverage of 76 formats, 49 cover types, 65 bindings, 69 contributor roles, and 283 other things librarians care about

0.25.0

Thirteen Languages, One Standard

·8 wijzigingen

Your catalog entries just learned thirteen languages and two international standards. Generate a Trade Catalog entry the way ILAB dealers do it, or a formal ISBD entry the way librarians do it — in English, French, German, Dutch, Spanish, Portuguese, Italian, Swedish, Danish, Norwegian, Belgian French, Belgian Dutch, or Latin. Yes, Latin. Because some books demand it.

Toegevoegd

Two catalog entry styles — Trade Catalog (how dealers describe books at fairs) and ISBD Formal (how librarians describe them in catalogs). Pick your audience, pick your format

Toegevoegd

Thirteen languages — each following the conventions of its national trade association. French entries follow SLAM rules, German ones follow VDA, and so on. The details matter when you're selling to a collector in Stockholm

Toegevoegd

Nineteen more fields in catalog entries — depth, paper type, edge treatment, endpapers, text block condition, dust jacket, signature details, protective enclosure, dedication, colophon. The kind of detail that makes a bibliographer's heart sing

Toegevoegd

Signature details — a new field that appears when you mark a book as signed, because "Signed" alone never tells the whole story

Toegevoegd

Google Books added as a lookup source

Verbeterd

Cover types expanded from 11 to 49 — Quarter Morocco, Three-Quarter Vellum, Limp Boards... if a bookbinder ever made it, it's in the list now

Verbeterd

Condition grades corrected to ABAA standard — "Mint" is now "As New" (nobody in the trade says Mint), and "Fair" fills the gap between Good and Poor where most honest books live

Verbeterd

Every field tooltip rewritten for the book trade — with examples like "Connolly 78" and "Wing S2926" instead of "enter a value"

0.24.0

Photographs

·11 wijzigingen

A book catalog without photographs is just a spreadsheet with pretensions. Upload images from your phone or desktop — cover, spine, title page, whatever tells the story. Pinch to zoom, swipe to browse, drag to reorder. Your collection finally has faces.

Toegevoegd

Image uploads for Pro and Dealer — drop files or snap photos directly from your phone. Accepts JPEG, PNG, WebP, even HEIC from your iPhone

Toegevoegd

Photo gallery on every book — with type labels, a lightbox that does pinch-to-zoom and swipe navigation, and keyboard arrows for the mouse-averse

Toegevoegd

Drag to reorder your photos — cover first, foxing detail second, whatever makes sense for the listing

Toegevoegd

Covers sync everywhere — upload a cover and it appears in your list view, grid view, and search results

Toegevoegd

Duplicate warning — start typing a title and Shelvd tells you if you already own it, with a link. For the 3 AM cataloging sessions

Toegevoegd

Save confirmation toast — a small but reassuring message after every edit, because "did I actually save that?" was keeping people up at night

Toegevoegd

Unsaved changes dot (●) in your browser tab — the universal sign for "don't close this yet"

Toegevoegd

Catalog number search — find books by your own numbering system, not just by title or ISBN

Toegevoegd

Custom 404 page — "Ex Libris Nobody." We had to

Verbeterd

Back to collection returns you to your exact scroll position instead of the top. Small thing, big relief

Verbeterd

Grid view sorting — eight sort options that actually work across all pages

0.23.0

Now Works on Phones

·3 wijzigingen

Turns out people own phones. The entire app — every page, every form, every table — now works on screens narrower than a duodecimo. Plus a valuation bug that was quietly making your collection look cheaper than it is.

Toegevoegd

Mobile navigation — a proper slide-out menu instead of a desktop nav bar that runs off the edge of your screen

Toegevoegd

Book list on mobile — compact cards with cover, title, and author instead of a twelve-column spreadsheet that requires a magnifying glass

Verbeterd

Every page audited — settings tabs scroll, forms stack, touch targets are actually touchable. Fingers are not mouse pointers, it turns out

0.22.0

Welcome to Shelvd

·4 wijzigingen

First impressions matter — especially when a blogger sends you traffic. A welcome wizard that asks the right questions with the right amount of humour, a getting-started checklist that adapts to your profile, and empty pages that actually tell you what to do instead of staring blankly.

Toegevoegd

Welcome wizard — four screens: who you are, how many books you own, what system you're escaping from, and what matters most. Your answers shape the rest of the experience

Toegevoegd

Getting started checklist — four steps to get you going (add a book, try Library Lookup, grade a condition, create a collection) plus bonus steps if your profile warrants them. Checks itself off as you go

Toegevoegd

Smart empty states — six pages that used to show blank tables now show personality and a clear next step. An empty library is an invitation, not a dead end

Toegevoegd

Returning user nudge — come back after a few days and a gentle toast points you to your next uncompleted step. Persistent, not pushy

0.21.0

The Dashboard

·4 wijzigingen

Numbers for the people who run the platform. Growth charts, data health scores, and an activation funnel that shows exactly where new users get stuck. You'll probably never see this page — but it's why problems get fixed before you notice them.

Toegevoegd

System dashboard — total users, total books, books per user, data completeness, and activity trends. The kind of dashboard that makes you either proud or nervous

Toegevoegd

Data health checks — seven quality scores (ISBN filled in? Condition set? Cover photo?) sorted worst-first. The platform now knows where the gaps are

Toegevoegd

Activation funnel — from signup through 1 book, 10 books, 100 books, 1,000+ books. With conversion percentages, because hope is not a strategy

Toegevoegd

Per-user journey tracker — six steps from "signed up" to "actually uses the platform." Visible to admins, invisible to you. As intended

0.20.0

The Shelvd Wiki

·4 wijzigingen

A complete knowledge base: 35 articles across 8 categories, covering everything from your first book to the 69 MARC relator codes. Written with the same care we'd give a first edition, and considerably more humour than the average user manual.

Toegevoegd

Wiki — 35 articles across 8 categories: Getting Started, Cataloging, Provenance, Search, Data & Export, Settings, Glossary, and For Dealers. The answers to questions you didn't know you had

Toegevoegd

Glossary — 150+ terms from "foxing" to "t.e.g." to "association copy." For when the dealer's description reads like a foreign language (it is)

Toegevoegd

Reference guides for all 76 book formats, 69 contributor roles, binding styles, and condition terminology

Verbeterd

Blog promoted to its own navigation link, because burying 22 articles in a dropdown felt inhospitable

0.19.0

Before the Ink Dried

·3 wijzigingen

Three new sources for the serious collector. CERL's Heritage of the Printed Book covers European books from 1455 to 1830 — the kind that come with provenance notes and binding descriptions. HathiTrust brings 13 million digitised volumes. DanBib adds the complete Danish union catalog. Twenty-six sources, nineteen countries.

Toegevoegd

CERL Heritage of the Printed Book — 6 million records of European rare books, 1455–1830. Includes printer names, former owners, and binding notes. For when your book predates the country it was printed in

Toegevoegd

HathiTrust — 13 million digitised volumes from 200+ research libraries, with links to the digital versions. Handy when you want to check if page 47 is really missing

Toegevoegd

DanBib — the complete Danish union catalog, 14 million records. Your Danish first editions just got easier to verify

0.18.0

Helsinki to Tokyo

·5 wijzigingen

Five new library catalogs across four continents. From Finland's open archives to Japan's National Diet Library, from Italy's 6,300 libraries to the Koninklijke Bibliotheek. Your Book Lookup now works in languages you can't read — which is oddly satisfying.

Toegevoegd

Finland — 460+ archives, libraries, and museums in one search. Includes the really obscure stuff

Toegevoegd

Italy — 6,300 Italian libraries, 17 million records. Good luck finding a Venetian first edition that isn't in here

Toegevoegd

Japan — the National Diet Library, the largest library in Japan. First Asian source in Shelvd

Toegevoegd

Australia — National Library of Australia. First source in the Southern Hemisphere

Toegevoegd

Netherlands (KB) — the Koninklijke Bibliotheek, complementing the existing Dutch coverage

0.17.0

Fjords and Waltzes

·2 wijzigingen

Norway and Austria join the lookup network. Fifteen sources, thirteen countries. We're running out of continents.

Toegevoegd

Norway — academic and research libraries. Useful for those Ibsen first editions

Toegevoegd

Austria — the Österreichische Nationalbibliothek. Because Vienna has always taken its books seriously

0.16.0

Brussels to Bern

·4 wijzigingen

Three more national libraries and a tool that tells you what's missing from your catalog. Belgium, Spain, and Switzerland bring the total to twelve sources across ten countries.

Toegevoegd

Belgium (Unicat) — 19.5 million records from the Belgian union catalog: KBR, university libraries, and three major networks. Impressive for a country of 11 million

Toegevoegd

Spain (BNE) — the Biblioteca Nacional de España

Toegevoegd

Switzerland (Swisscovery) — 500+ Swiss academic and research libraries in one search

Toegevoegd

Collection Audit — a health score for your catalog. Ten checks (ISBN? Condition? Publisher? Photo?) sorted worst-first, with one-click links to fix each book. For Pro and Dealer accounts

0.15.0

What's It Worth?

·6 wijzigingen

Every book now remembers what it cost, what it was appraised for, and what it sold for at auction. Track values over time and see the trend — up, down, or stubbornly sideways.

Toegevoegd

Valuation timeline on every book — see how its value changed over time, with the source and appraiser for each entry

Toegevoegd

Value trend chart — appears automatically when a book has two or more valuations. Finally, a chart that goes up and to the right (hopefully)

Toegevoegd

Seven valuation sources — self estimate, professional appraisal, auction result, dealer quote, insurance valuation, market research, and acquisition cost

Toegevoegd

Provenance auto-sync — when a provenance entry includes a price, a matching valuation is created automatically. Edit one, the other follows

Verbeterd

Collection statistics now use the full valuation history instead of a single price field — more accurate totals, better trends

Verbeterd

Old pricing fields removed — the four separate price fields on the edit form are gone, replaced by the timeline. Less clutter, no data lost

0.14.0

Three Kinds of Collector

·4 wijzigingen

Shelvd now has a business model. Three tiers: Collector (free, always), Collector Pro (€9.99/month), and Dealer (€49/month). The first hundred users get Collector Pro for life. Because being early should count for something.

Toegevoegd

Three tiers with transparent pricing — see exactly what each level includes, no surprises, no "contact sales"

Toegevoegd

Early Access benefit — the first 100 users get lifetime Collector Pro, stated clearly everywhere it matters

Toegevoegd

New profile fields — phone, company name, and website. Dealers need a business card, not just a username

Verbeterd

Sensible limits — Dealer gets 100,000 books and 1,000 tags instead of "unlimited." Real numbers you can plan around

0.13.0

Activity Feed & Invite Codes

·4 wijzigingen

Your collection now has a memory. Every book added, every edit, every enrichment — tracked and browsable. Plus: invite codes for sharing Shelvd with the world.

Toegevoegd

Activity feed — see everything you've done: edits, enrichments, imports, collection changes. Available in the main navigation and on your stats page

Toegevoegd

Book timeline — every book shows its own change history: when you added it, what changed, when you enriched it

Toegevoegd

Invite codes — shareable promo codes for bloggers, bookfairs, and friends. Codes can grant trial days or lifetime Collector Pro

Verbeterd

Profile pages now show more detail across the platform

0.12.0

Cover Images & Enrich Everywhere

·6 wijzigingen

Your books finally have faces. Cover images from Google Books and Open Library, plus Enrich now works everywhere — not just the edit form.

Toegevoegd

Cover images — found automatically via Enrich, or paste your own URL. Shown on detail pages, list thumbnails, and grid cards

Toegevoegd

Click any cover to view it full-size

Toegevoegd

Enrich now available when adding a new book and directly from any book's detail page

Toegevoegd

Lookup moved to the header — search for books from anywhere in the app

Verbeterd

Covers follow through the entire flow: search → select → add to library. No more disappearing images

Verbeterd

Navigation stays visible while scrolling

0.11.0

Print Inserts & Polish

·6 wijzigingen

Your digital collection meets paper. Print vintage catalog cards and professional catalog sheets for any book.

Toegevoegd

Printable PDF inserts — generate a vintage 3×5" catalog card or a full catalog sheet from any book's detail page

Toegevoegd

Catalog card with authentic library aesthetic: red line, typewriter font, punch hole. Decorative and clean versions included

Toegevoegd

Catalog sheet available in 6 paper sizes (A4 through US Half Letter) with Swiss typography

Toegevoegd

Live stats and literary quotes on login and signup pages

Verbeterd

Form sections reordered to match how collectors actually think about their books

Verbeterd

Support simplified to two forms: Bug Report and Message

0.10.0

Support, Blog & Navigation

·5 wijzigingen

Report bugs, read 22 articles about book collecting, and find everything through a proper user menu.

Toegevoegd

Feedback & Support — report bugs or send a message directly from the app, with status tracking

Toegevoegd

Marginalia blog — 22 articles on ISBN history, condition grading, provenance, book formats, and more

Toegevoegd

Public roadmap — see what's shipped, in progress, and planned

Toegevoegd

User menu with quick access to Settings, Support, Blog, Roadmap, and Changelog

Verbeterd

Cleaner header and navigation throughout the app

0.9.0

The Website

·8 wijzigingen

Shelvd now has a public face. And opinions.

Toegevoegd

Landing page — hero, 12-feature showcase, 4 visual spotlights, 3-tier pricing, and more personality than most enterprise software

Toegevoegd

Privacy Policy — GDPR-compliant, 11 sections, written by a human (you can tell because it contains jokes)

Toegevoegd

Terms of Service — 14 sections of readable legal text, which may constitute a minor miracle

Toegevoegd

About page — the origin story, featuring a broken spreadsheet and 28,000 books

Toegevoegd

Changelog — you're reading it

Toegevoegd

Announcement banners — dismissible messages for updates, maintenance, and news

Toegevoegd

Collapsible form sections — because nobody needs to see all 76 formats at once

Toegevoegd

Locale & number formatting — pick your locale (en-US, nl-BE, de-DE, fr-FR, etc.) and all numbers and dates adjust automatically

0.8.0

Enrich, Provenance & Valuation

·5 wijzigingen

The update that turned Shelvd from a catalog into a proper bibliographic tool.

Toegevoegd

Enrich Mode — search library databases and merge new data field-by-field: green for new, amber for different, you decide what stays

Toegevoegd

Provenance tracking — visual timeline with 10 owner types, 14 association types, evidence sources, and acquisition records

Toegevoegd

Currency & valuation — home currency setting, multi-currency support, live ECB exchange rates, profit/loss tracking per book

Toegevoegd

Provenance in ISBD entries — your catalog entries now include the ownership chain

Toegevoegd

Provenance import/export — bring your provenance data in and out via Excel/CSV

0.7.0

Collections & Tags

·7 wijzigingen

Organize your books the way your brain works, not the way a database does.

Toegevoegd

Multiple collections — Library, Wishlist, and unlimited custom collections with drag-to-reorder

Toegevoegd

Custom colored tags — create, rename, recolor, and filter by tag

Toegevoegd

Bulk collection actions — add to or remove from any collection in one click

Toegevoegd

Collection chips on book detail — toggle collections directly from any book page

Toegevoegd

"Move to Library" — one-click button for promoting books from Wishlist

Toegevoegd

Tags management in settings

Verbeterd

All 14 book statuses now with proper labels and colors

0.6.0

Library Lookup

·5 wijzigingen

Nine libraries, one search box. Your local rare book dealer doesn't stand a chance.

Toegevoegd

Library lookup — Library of Congress, BnF, DNB, K10plus, SUDOC, LIBRIS, Open Library, Google Books, and more coming

Toegevoegd

Multi-field search — title, author, publisher, year, ISBN across all providers simultaneously

Toegevoegd

Duplicate detection — fuzzy matching with adjustable threshold to find books you cataloged twice at 3 AM

Toegevoegd

External links from lookup — source URLs automatically saved to your book record

Toegevoegd

Draft status — for books pending review before entering your collection

0.5.0

Admin & Settings

·4 wijzigingen

The boring infrastructure that makes everything else possible.

Toegevoegd

Admin dashboard — user management, book counts, platform overview

Toegevoegd

User settings — profile, password, preferences, address, subscription management, delete account

Toegevoegd

External links — configurable link types per user with auto-fill URLs (WorldCat, OpenLibrary, Google Books, etc.)

Toegevoegd

Items per page — separate settings for list view (up to 500) and grid view (up to 100)

0.4.0

Statistics Dashboard

·3 wijzigingen

More charts than a stockbroker's office. All of them about books.

Toegevoegd

Statistics dashboard — key metrics, status & condition breakdown, content & origin, physical & storage, time & growth charts

Toegevoegd

Export selected books — choose which books to include in your export, not just "all or nothing"

Toegevoegd

Landing page with features list and early access offer

0.3.0

Import & Export

·3 wijzigingen

Your data is yours. We mean it.

Toegevoegd

Excel import — smart field mapping, validation, and error handling for bulk uploads

Toegevoegd

Multi-format export — Excel, CSV, JSON, one click each

Toegevoegd

Swiss Design header with navigation

0.2.0

Search & Edit

·7 wijzigingen

Finding your books is now almost as satisfying as buying them.

Toegevoegd

Global search — instant filtering across your entire collection as you type

Toegevoegd

Advanced search — 14 fields with query-by-example, empty field search, and recent search history

Toegevoegd

Contributors — add and edit with 69 MARC roles (author, illustrator, translator, binder, cartographer…)

Toegevoegd

Manual book entry — full add page with all fields

Toegevoegd

Sortable columns and bulk delete with checkbox selection

Toegevoegd

ISBD catalog entries — professional entries generated in 4 languages (EN/FR/DE/NL)

Toegevoegd

76 historical book formats and BISAC subject codes with searchable dropdowns

0.1.0

Foundation

·5 wijzigingen

The one where we stopped using Excel.

Toegevoegd

Authentication — sign up, sign in, password reset

Toegevoegd

Books listing — list and grid views with pagination

Toegevoegd

Book detail page — every field visible at a glance

Toegevoegd

Book editing — inline edit with autocomplete dropdowns

Toegevoegd

Previous/next navigation between books

Versie 0.0.0 was een Excel-spreadsheet. Die brak op een zondagmiddag ergens rond rij 2.300. De rest is geschiedenis.

Wil je het volledige verhaal kennen? Lees de About-pagina.

Changelog — Shelvd