Feature 01
A clear home for imprints
Visitors can quickly see the difference between Harmattan and Unbound and find the one that fits them.


A clear front door for an independent African publisher and its two imprints.
Gemspread Publishing is an independent African publisher with two sides to its business. Harmattan publishes books traditionally. Unbound by Gemspread helps authors publish their own books as a paid service.
Feedback from potential clients was that the old website made the offerings confusing. Readers, authors looking for a publisher, and authors looking for paid help all landed in the same place, with no clear path for any of them. The literary magazine, Ma Kẹkẹ, was also squeezed in as one section of the site, competing with the business for attention. Enquiries came in through scattered channels, and there was no way to tell how people used the site.
Feature 01
Visitors can quickly see the difference between Harmattan and Unbound and find the one that fits them.


Feature 02
Each title has its own page with the cover, description and author details, so it can be linked from launches, events and campaigns.


Feature 03
Authors interested in Unbound can see what's on offer, submit details about their work through a structured form, and get a quick estimate and a link to book an initial call.

Feature 04
New books and updates can be added without rebuilding the site.
Feature 05
Analytics and search tracking set up.
A professional public face for a young publisher. Partners, retailers and authors can check the business out and find it credible.
One clear front door for authors. Enquiries now follow a single, consistent route instead of arriving through scattered messages.
Every book has a permanent, shareable page that marketing and events can point to.
A clearer site overall. Moving the magazine to its own site let this one focus on the publisher's books and services.
Measurements in place. The business now has a baseline for future digital strategy decisions.
Next.js and TypeScript on Render, with Tailwind CSS and Framer Motion; Strapi headless CMS on Render with PostgreSQL; Cloudinary for media; Zoho SMTP for enquiries; Google Analytics. The Unbound enquiry route runs on Zoho Forms and Zoho Sheets, with Claude tailoring the reply sent from Zoho Mail.
How a request is served: from a reader, author or partner over HTTPS to Next.js on Render, which relies on Strapi CMS, Cloudinary and Zoho SMTP. Unbound enquiries run separately: Zoho Forms, then Zoho Sheets, then Claude, then Zoho Mail.
Reader, author or partner
Any browser
Next.js on Render
Pages regenerate hourly (ISR) and serve at static speed
Managed services
Strapi CMS
Books, authors and posts, on PostgreSQL
Cloudinary
Pre-sized images from a CDN
Zoho SMTP
Enquiry email
Unbound enquiries
Zoho Forms
Discovery form, linked from the site
Zoho Sheets
One row per enquiry
Claude
Tailors the reply email where needed
Zoho Mail
Sends the reply to the author
Images arrive pre-sized from Cloudinary's CDN, so on-server image processing is off and the site runs on a 512 MB instance.
The team publishes books, authors and blog posts in the CMS without code changes. One API client converts CMS content for the frontend.
Pages regenerate hourly, so they serve at static speed. CDN images, sitemaps and structured data help readers and search engines find the books.
A content security policy and HSTS, and a rate-limited contact form with a honeypot.