Back to Projects
Live

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.