Back to projects
KUURL — Curly Hair Product Finder Platform

KUURL — Curly Hair Product Finder Platform

Hamid Sabri / April 21, 2026

People following the Curly Girl (CG) method face a frustrating problem: finding products that are silicone-free, sulfate-free, cruelty-free, and actually available where they live. The r/curlyhair community had been maintaining a massive spreadsheet to track this — functional, but not user-friendly, not searchable, and not localized.

I built KUURL to turn that raw community data into a fast, clean, searchable product discovery platform — available in English and French, with country-level availability filters.

The Problem

Curly hair care is a rabbit hole. Between decoding ingredient lists, cross-referencing cruelty-free certifications (PETA, Leaping Bunny, Choose Cruelty-Free, Vegan), and figuring out what's even sold in your country — it can take hours to vet a single product.

The community knowledge existed. It just wasn't accessible.

What I Built

KUURL is a full-stack web platform with three core pillars:

1. Smart Product Finder
Users filter by country (France, Germany, Morocco, Spain, United States — more being added), product type, and CG approval status. Results show certification badges and direct purchase links — online or local. Try it →

2. Community Submissions
Anyone can submit a new product in seconds. This keeps the database growing without relying on a single curator.

3. Bilingual Support (EN/FR)
Built with French and English-speaking curly communities in mind from day one — not an afterthought.

Key Features

  • CG Approval Status — Approved, Unclear, or Not Approved labels on every product
  • Cruelty-Free Badges — PETA, Leaping Bunny, CFK, and Vegan certifications surfaced clearly
  • Country Filter — Only shows products you can actually buy where you are
  • Direct Buy Links — No dead ends; links go straight to retailers
  • Product Submission Flow — Authenticated users can contribute new products
  • Guides — Educational content for people new to the CG method
  • Responsive Design — Works seamlessly on mobile, where most users land

Architecture

The platform is built around a structured product database with a filtering layer on top. The data originated from the International CG List compiled by the r/curlyhair community, which I cleaned, normalized, and loaded into a scalable schema.

The frontend handles filtering client-side for speed, with server-side rendering for SEO and initial load performance. User authentication gates the product submission flow to reduce spam while keeping contributions open to the community.

Design Decisions

A few intentional choices that shaped the product:

  • Country-first filtering — Most existing CG tools are US-centric. Leading with country selection makes the experience immediately relevant to the user.
  • Status over perfection — Rather than only showing "Approved" products, surfacing "Unclear" items gives users the full picture and mirrors how the community actually talks about products.
  • Low-friction contributions — The submit flow is deliberately short. More friction = fewer submissions = a stale database.

Outcomes

  • A searchable, filterable database replacing a hard-to-navigate community spreadsheet
  • Multi-country support making CG-friendly shopping accessible beyond the US market
  • A self-sustaining contribution model that keeps the database growing over time
  • Bilingual reach across English and French-speaking curly communities

Tech Stack

  • Next.js – Full-stack framework, SSR + API routes
  • PostgreSQL / Supabase – Product database and auth
  • Tailwind CSS – UI styling
  • Vercel – Deployment and edge hosting
  • i18n (EN/FR) – Internationalization layer