Maville
Laptop Marketplace & Recommendation Engine for the Nigerian Market
Key Technical Highlights
Weighted, 100-point multi-factor recommendation engine (performance/budget/features/battery/portability) with hard pre-filters applied before scoring
Heuristic fallback scoring (CPU generation, RAM, GPU) for listings missing curated use-case scores
Full JSON-LD structured data (Product + Offer + BreadcrumbList, plus sitewide Organization/WebSite schema) for search rich-result eligibility
Found and fixed a real SEO regression during a domain migration — a hardcoded sitemap domain in robots.ts — by centralizing on one canonical environment variable
The Case Study
Overview
Maville is a laptop marketplace and recommendation platform built for the Nigerian market — a small, solo-built project (Next.js 16, PostgreSQL/Prisma 7, Auth.js v5) kept intentionally light in scope.
The Recommendation Engine
The one piece of real technical substance: a weighted, 100-point multi-factor scoring engine (performance, budget, features, battery, portability — each independently weighted) with hard pre-filters, such as budget ceiling and condition match, applied before scoring, plus a heuristic fallback (CPU generation, RAM, GPU) for listings missing curated use-case scores.
Caught Before It Shipped
During a production domain migration, an SEO audit found robots.ts still pointing at the old deployment domain while sitemap.ts and the root layout had already been updated — a real regression that would have silently kept search crawlers pointed at the wrong domain. Fixed by centralizing the canonical domain on the one environment variable the other files already used, so a future domain change needs no code changes at all.