
Hookah Hub
Publishedhookahhub.pro is an information and rating platform for hookah culture: a catalog of 14,281 tobacco flavors and 278 brands, ratings across five numeric criteria, a mix generator with daily recommendations, and a personal "Shelf" for your own tobacco collection. For business — the "Partnership" section: a guest card in Apple/Google Wallet, a QR menu on the table, and a screen for the hookah master. Next.js 15, PostgreSQL, Redis, 5 languages. Content is 18+.
/// Key features
- A catalog of 14,281 tobacco flavors from 278 brands, plus hookah models and accessories
- Ratings across five criteria — flavor, smoke output, strength, heat resistance, overall score; averages are denormalized for fast listings
- A mix generator with a daily "Mix of the day" drawn from the catalog
- "My shelf" — a personal tobacco collection; jars missing from the catalog become new flavors after moderation
- B2B "Partnership" section: a guest card in Apple Wallet and Google Wallet with a QR code and visit history
- A QR mix menu on the table — composition, grams, bowl, heat — and a generator limited to what the venue's bar actually stocks
- NextAuth v5 with roles and bans; Redis for caching and rate limiting in fail-safe mode
- 5 languages, including Arabic with RTL: UI strings kept separate from database content, with a locale → En → Ru fallback
/// Screenshots
About the project
Hookah Hub is our own product: an information and rating platform for hookah culture with the tagline "A community of hookah culture connoisseurs". The site brings together tobacco ratings, mix recipes, reviews of hookahs and accessories, guides, and articles on the history of hookah — with a dedicated health section and B2B tools for hookah bars and lounges. The platform's content is 18+. It launched in February 2026.
Site sections: Tobaccos, Recipes, Generator, Guides, History, Hookahs, Accessories, Health, Partnership.
Catalog and ratings
The core of the platform is the catalog: 14,281 tobacco flavors from 278 brands, plus hookah models and accessories. Every item is rated across five numeric criteria — flavor, smoke output, strength, heat resistance, and overall score.
This is a deliberate decision: no text comments. One rating per user per entity, and the averages are denormalized into the parent tables — which keeps listings and rating-based sorting fast even at this catalog size, with no on-the-fly aggregation.
The mix generator and "My shelf"
The generator assembles mixes and offers a daily "Mix of the day", helping people navigate a catalog of this scale.
"My shelf" is the user's personal collection of tobacco jars. Mark what you have at home in the catalog — and the generator builds mixes only from that, instead of fourteen thousand flavors. If a flavor isn't in the catalog yet, the user adds their own jar by hand; after moderation, these entries become new catalog flavors — one of the channels through which the catalog grows.
For business
The "Partnership" section offers B2B tools for two audiences: hookah bars/lounges and manufacturers.
For venues: a guest card in Apple Wallet and Google Wallet with a QR code and visit history, a QR mix menu right on the table (composition, grams, bowl, heat), a mix generator limited to the specific venue's bar stock, and a dedicated screen for the hookah master. For brands — managing their own data in the catalog.
Each direction honestly states its stage of readiness: live / pilot / in development — no wishful thinking presented as fact.
Technical highlights
- Next.js 15 App Router, React 19, TypeScript
- PostgreSQL 16 via Prisma; Redis 7 for caching and rate limiting in fail-safe mode — the app must stay functional without Redis
- NextAuth v5 (JWT), sign-in via Credentials and Google, USER/MODERATOR/ADMIN roles, bans
- Rendering via RSC, deliberately without static generation — force-dynamic with page-level caching through Redis
- Rate limiting driven by centralized limits; the IP is taken only from the last element of
X-Forwarded-For(behind Traefik); all input validation is done with zod - next-intl, Tailwind CSS, Framer Motion, Recharts
- Tests with Vitest and Playwright, including a dedicated mobile run
- Deployed with Docker (standalone) on self-hosted Dokploy
Localization
Localization is two-layered. UI strings live in messages/{locale}.json, while database content sits in locale-suffixed columns (nameRu, nameEn, and so on) with a locale → En → Ru fallback. 5 languages are supported: Russian, English, Arabic (with an RTL layout), Japanese, and Chinese.
Responsible framing
The platform's content is intended for an 18+ audience. The dedicated "Health" section provides informational materials, not encouragement to smoke: Hookah Hub is an information and rating platform for people already interested in the subject, not a service promoting it. The site sells nothing and is not an advertisement for tobacco products.