Publishing
New website and catalog for an academic publisher
A decade-old website with about 1,500 titles, rebuilt without losing the catalog, old links or the publisher's ability to manage its own content.
- Legacy modernization
- Data migration
- Digital product
Context
An academic publisher kept its catalog of about 1,500 titles on a website built more than a decade ago with Zend Framework and PostgreSQL. The design was dated, some covers were broken, and key content — such as the new releases page — was maintained by hand as free text.
Challenge
- Refresh the experience for readers and buyers without losing anything: catalog, authors, categories and the old URLs, which are cited in academic papers and bookmarked by readers.
- Deal with inconsistent legacy data: author credits stored as whole lines of text, ISBNs buried at the end of descriptions and publication years recorded only on a text page.
- Give the publisher autonomy to update its own website.
Approach
- Clickable prototype first. The new design was validated with the publisher before any backend investment — layout and content decisions were settled early and cheaply.
- Faithful migration of the prototype to Laravel 13 with Inertia and React, with automated pixel-by-pixel visual comparison on desktop and mobile to make sure the result matched exactly what was approved.
- Legacy catalog importer that splits credits into individual authors, extracts ISBNs from descriptions, rebuilds publication years from the old releases page and recovers covers. Titles without a year are flagged in the admin panel with a suggestion based on neighboring titles.
- 301 redirects for every legacy URL format — titles, authors, categories and search — to preserve links and Google rankings.
- Admin panel for books, authors, categories, collections, banners, institutional copy, orders and contact messages.
- Accent-insensitive search by title and author, continuous scrolling in the catalog and a sitemap covering every title and author.
Outcome
The project is in its final rollout phase. What it delivers:
- The full catalog on a modern foundation, with richer and more consistent data than the old system.
- No broken links: old URLs keep working.
- The publisher manages its own content, and the site is ready to evolve in further stages.