← Index honestaf.co

HonestAF.co

A UK-first review platform for alcohol-free drinks — built around one idea: a rating means something different depending on why you're drinking AF in the first place.

The problem

The alcohol-free category has grown fast, but reviews for AF drinks are usually just borrowed from the wine and beer playbook: five stars, one average, done. That works fine when everyone rating a product wants the same thing from it. It doesn't work here.

Someone who's sober, someone who's pregnant, someone who's driving home, and someone who's just curious are all rating the same bottle — but they're not judging it against the same bar. A flat average quietly averages away the exact information that makes a review useful.

The approach

Every review on HonestAF is tagged with the reviewer's context: sober, cutting down, pregnant, driver, or curious. Instead of collapsing all of that into one score, ratings are broken down and shown by context — so a drink can be a 4.6 for people who are sober and a 3.2 for people cutting down, and both numbers stay visible.

This context-aware breakdown is the flagship feature of the product — the whole platform is built around surfacing it clearly, on every drink page.

Alongside ratings, each review also answers a second, more direct question: does it taste like the real thing? — a yes / close / no signal that sits independently of the star rating, since "tastes real" and "worth drinking" aren't always the same answer.

Under the hood

A few decisions that shaped how the platform is built:

Context-aware ratings
Ratings are aggregated per reviewer context rather than into one number, so the breakdown that makes HonestAF useful is structural, not a UI trick on top of a flat average.
Denormalised counters
Average ratings and review counts are stored, not computed on every page load, and kept in sync by model observers whenever a review or vote is created, edited, or removed.
Swappable search
Search sits behind an interface rather than being wired directly into the catalogue, so today's straightforward search can be swapped for something like Meilisearch later without touching the rest of the app.
Admin-curated catalogue
Anyone can submit a product, but it only becomes searchable once it's been reviewed and approved — keeping the catalogue clean without blocking community contributions.
SEO built in
Every drink page ships structured data for products and aggregate ratings, so review scores are eligible to show up directly in search results.
Consistent image pipeline
Every image upload — drink photos, avatars, ad creative — is resized and re-encoded to WebP through a single service, so formats and sizes stay consistent across the site.

Getting people to a real answer

New users sign in with Google, but can't post a review, vote, or tip until they've picked a username and a reviewer context. That short onboarding step is what makes the whole rating system work — without it, there'd be nothing to break the ratings down by.

Stack

Laravel 11 · PHP 8.3 · Blade + Alpine.js · Tailwind CSS · MySQL · S3-compatible storage · Google OAuth

Where it's headed

HonestAF is live and growing at honestaf.co. This is the space for the next chapter — traffic, catalogue size, or user milestones — once there are numbers worth putting on the page.