Skip to content
All projects

Case Study

Wildlife photographer in the Algarve. A limited-edition book about Africa became a website with integrated e-commerce, built from the book’s own visual language.

Tessa Schack is a wildlife photographer based in the Algarve, with decades of work across Africa’s national parks. Her first book, Passionately Africa, was about to launch. She needed a site that matched the book’s visual quality and gave her a way to sell it directly. The book was the brief. I built the site from its pages.

Visit tessaschack.com

14.9 hours

of development

E-commerce

with integrated checkout from day one

Online sales

active since launch

Part of proceeds

support wildlife conservation

The objective

What we set out to build

Build a website that translates the visual identity of a printed book into a digital experience. Add an integrated e-commerce channel so Tessa could sell her book directly, worldwide. Replace a generic Squarespace template with something built around her work.

Timeline: Two months, from briefing to launch.

The challenge

How the project unfolded

Tessa came to me through a referral. She’s a wildlife photographer who’s spent decades travelling across Africa’s national parks. South African by birth, she’d lived in Paris working in media and fashion magazines before moving to the Algarve in 2014. Photography had been her passion for years. The book was the first time she was putting it all together.

Passionately Africa was almost ready to print. A limited edition, with part of the proceeds going to Conservation Lower Zambezi. She already had a website on Squarespace, a clean template with a photo gallery and a small blog. It worked, but it didn’t look like the book. And it couldn’t sell it.

The brief was clear from the start: a site that matched the book’s visual identity, with e-commerce built in. Not a redesign for the sake of it. A new platform built around a specific object.

I got the book proofs as a PDF. The palette, the typography, the generous spacing, the way the photographs filled every page. That became the design language for the site. Large images, minimal text, plenty of breathing room. The web version of what the book already was.

The e-commerce was my first Stripe integration. Checkout, webhooks, order confirmation emails. One product, limited edition, shipping to multiple countries. It had to be simple enough for Tessa to manage without touching code.

The blog from the old Squarespace site was migrated manually into Sanity CMS, story by story. Content she’d written over the years about her travels and the animals she’d photographed.

Two meetings at Tessa’s home. One to understand the project. One to show her the result. She loved it. A few small adjustments, and it was live.

The impact

What changed

The site launched alongside the book. Since then, Tessa has been selling copies online and offline, and her website sits above Instagram, galleries, and photography platforms in Google search results for her name.

  • Website design built directly from the book’s visual identity, not from a template or mood board
  • Integrated e-commerce with Stripe checkout, shipping to multiple countries, from launch day
  • Online sales active since the site went live, alongside offline distribution
  • Position 1 on Google for “Tessa Schack,” above Instagram, Artcatto gallery, and international photography platforms
  • Full CMS access for content, products, and pricing. Built so she can manage everything without a developer.
Tessa Schack mobile screenshot

The takeaway

What I learned

This was my first e-commerce build. And honestly, one of the projects I enjoyed most. The brief was specific, the vision was already there in the book, and the result came together fast. There’s something satisfying about building a site where every design decision traces back to a physical object you can hold. The book told me what the site should look and feel like. I just had to listen.

A book became a website. A photographer got her own sales channel.

Built with

Tech stack

  • Next.js
  • TypeScript
  • Tailwind CSS
  • Sanity
  • Stripe
  • MailerSend
  • Vercel

A clear brief makes all the difference.

If you know what you need, I can build it. Let’s talk.