Back to browse

AH Original · Case study 07

AffiLinks

Live2026Agency site · Client portal

An affiliate and influencer marketing agency’s website and client portal: each brand signs in to a live dashboard of their program, read from the team’s Google Sheets through the Sheets API, with updates written back from the site.

View live site
Role
Full-stack · freelance
Stack
Next.js 15 · Hono · Sheets API
Year
2026
affilinks.io
AffiLinks.io home page: Affiliates, Creators, Publishers. One revenue engine.
client portal · kpis
AffiLinks client portal KPIs: clicks, revenue and commission per week
Type
Agency website · client portal
Role
Full-stack · freelance
Stack
Next.js 15 · Hono · Sheets API
Access
Public site · private portal

01. The brief

Win the brand, then show them the work.

AffiLinks.io runs affiliate and influencer programs for e-commerce and SaaS brands. The team already tracked every partner, click and order in Google Sheets, one sheet per client. They needed a website that wins new brands, and a portal where each brand sees its own program without asking for a report. I built both, with the sheets as the source of truth.

  1. 26page routes

    Marketing site

    Services, case studies, white papers, blog, and free tools that turn visitors into leads.

  2. 7sections

    Client portal

    Overview, affiliate and influencer management, project details, meetings, calendar, account.

  3. 2ways

    Google Sheets

    Read every tab the team keeps, and write back the one thing clients change.

  4. 27screens

    Admin console

    Clients, CRM board, visitor sessions, content, media and staff permissions.

02. The website

Light, airy,and built to convert.

The site follows a design system I wrote for it: white and lavender surfaces, one indigo accent, a gradient phrase in every heading, and motion that explains how partners turn into revenue. Free tools and forms do the selling.

  • One indigo accent, every heading with a gradient phrase
  • Animated illustrations that show money moving through a network
  • Designed for phones: fixed action bar, 16px fields, 28px slider hit areas
  • Calculator, contact and audit forms all land on one CRM board
01 / 13 · Homeaffilinks.io
AffiLinks: Hero with the partner revenue engine
Hero with the partner revenue engine

03. Every section sells

From first visit to booked call.

A comparison that makes the case for an operator team, a preview of the client portal, a 90-day plan for existing and new programs, and a revenue calculator built from the benchmarks behind the case studies. Each ends in a call to action, and every lead lands on the same CRM board.

04. The client portal

Their program, at a glance.

Each brand signs in to its own dashboard: where every partner stands, the team’s follow-ups, weekly KPIs, sales and campaigns. Nothing is typed twice. The views are mine; the numbers come straight from the sheet the team already keeps.

  • KPIs, pipeline, sales, outreach, campaigns and deals
  • Week vs week and month vs month comparisons
  • Charts and tables, with CSV download
  • Every figure in the client's own currency

Portal screens use a fictional client and a local stand-in for Google

05. Google Sheets as the backend

The team keeps the sheet. The site does the rest.

The Worker reads each client’s sheet as a Google service account, so sheets stay private. Month tabs in a four-week layout become KPIs; tabs like Recruitment, Active, Potential and Sales become the pipeline and lists. A copy is kept in D1 and read again at most once a minute, so the portal never comes up empty when Google is slow. When a client changes an order’s status, that one cell is written back.

  • Service-account JWT signed in the Worker with WebCrypto
  • Sections found by their headings, not fixed cell addresses
  • Read at most once a minute; the D1 copy covers Google outages
  • One cell written back when a client changes an order status

06. Architecture

Two Workers, no servers.

The Next.js site runs on Cloudflare Workers through OpenNext and holds no secrets. A Hono API on a second Worker owns everything else: content and media in D1 and R2, leads and the CRM, visitor analytics, client accounts and the Sheets sync.

  1. Google Sheets

    One tab per month and list

  2. Backend Worker

    Hono · service account

  3. D1 copy

    Read once a minute

  4. Next.js site

    OpenNext on Workers

  5. Client portal

    Signed-in brands

07. In numbers

Site, portal and API in six weeks.

The first commit landed in September 2026. Every line of code in the repository is mine; the client’s own commits are edits to the README.

70k
Lines of TypeScript and CSS
26
Database migrations
12k
Lines in the client portal

08. Technologies

  • Next.js 15
  • React 19
  • TypeScript
  • Tailwind CSS v4
  • Framer Motion
  • Hono
  • Cloudflare Workers
  • OpenNext
  • D1
  • R2
  • Google Sheets API
  • WebCrypto JWT
  • Resend
Chat on WhatsApp

AH Originals

More Like This

AH Original91 % image weight removedE-commerce platform & admin CMSSkinChoiceNext.js 16 · TypeScript · Cloudflare Workers · R2A production beauty storefront and fully custom, role-based admin CMS built for the Pakistani market. Watch case studyAH OriginalFurniture discovery & content platformDIEWOHNENNext.js 14 · Hono · Cloudflare Workers · D1 / R2A bilingual home-living platform pairing an AI shopping assistant and visual search with a full custom CMS. Watch case studyAH OriginalEnterprise compliance platform & Flutter appOneComplianceAngular 18 · Flutter · AWS Serverless · PostgreSQLA multi-tenant compliance SaaS whose interface is generated from metadata, plus a native Flutter field app for consultants. Watch case studyAH Original83 packages on one coreModular workspace platform & package HubHWS.NET 10 · Next.js · YARP · PostgreSQL · Cloudflare WorkersHorizech Workspace: a .NET core that installs, updates and rolls back apps, plugins, providers and themes at runtime, published through its own Hub. Watch case studyAH Original3 roles in one appField safety app & HWS dashboardProjSafeFlutter · Dart · HWS · ApiraiserA permit-to-work app for high-risk site jobs: risk assessments, three-step approvals and daily hazard check-outs, run from an HWS dashboard. Watch case studyAH Original196+ browser-based toolsOnline tools SaaS platformToolBubbleNext.js 14 · FFmpeg WASM · Cloudflare Workers · StripeOver 196 private, in-browser tools with online editors, cloud storage, secure sharing and subscriptions, designed, built and run solo. Watch case studyAH Original2 languages, one switchDutch coupon site & admin CMSActiesDealNext.js 14 · Hono · Cloudflare Workers · D1 / R2A coupon and voucher site for the Netherlands in Dutch and English, run from a custom role-based admin CMS. Watch case studyAH Original199 published coursesEngineering e-learning, web & appWiscademyNext.js 16 · Flutter · HWS · Stripe · RevenueCatNPPE, FE and CPD courses for Canadian engineers: a Next.js website and a Flutter app on one HWS backend. Watch case study

Next episode

Want something like AffiLinks?

Tell me about your idea and I'll reply with honest advice and a free quote. Replies within 24 hours.