13

Item Hunt

Kenya's first demand-driven marketplace exploring an alternative to traditional e-commerce—where buyers post requests and verified sellers compete with offers

Screenshot 1Screenshot 2Screenshot 3
1 / 3

Item Hunt: Experimental Reverse Marketplace Platform

Exploring Demand-Driven E-Commerce

Project Overview

Item Hunt was an experimental reverse marketplace that explored flipping traditional e-commerce on its head. Instead of sellers listing items for buyers to browse, buyers posted what they needed, and verified sellers competed to provide the best offers. Built with Next.js and Supabase, the platform featured real-time notifications, location-based matching, seller verification, and a multi-language interface designed for the Kenyan market.

Main Purpose: Create a demand-driven marketplace that eliminates endless browsing by reversing the traditional e-commerce model—buyers post requests, sellers respond with competitive offers.

Problem Addressed:

  • Eliminates endless browsing through countless product listings
  • Reduces seller listing overhead—sellers only respond to actual demand
  • Ensures competitive pricing through multi-seller bidding
  • Builds trust through KYC-verified sellers
  • Enables hyperlocal commerce via geographic matching

Live Demo: itemhunt.ike.work

Market Validation & Project Status

The project is currently suspended following market validation analysis. While the platform successfully demonstrated technical excellence, the core user experience—posting "I want X"—was found to closely mirror existing search functionality on established marketplaces like Jumia. The hypothesis that users can't express their needs or seek non-existent items proved to be a niche use case, but wasn't validated as a large enough market segment to differentiate from established competitors.

The primary differentiated value existed in edge cases:

  • Items users struggle to name or describe
  • Custom or non-existent products requiring seller creativity
  • Highly localized or specialty items

This represents an important lesson in product differentiation and market validation—technical execution alone doesn't guarantee product-market fit. The project may be revisited if this specific use case proves more significant.

Technology Stack

Frontend Framework

  • Next.js (latest version with App Router) - Server-side rendering and static site generation
  • React 19 with TypeScript - Type-safe component development
  • Tailwind CSS - Utility-first CSS framework for rapid UI development
  • shadcn/ui - Reusable component library built on Radix UI
    • Avatar, Checkbox, Dropdown Menu, Label components
  • Radix UI - Accessible component primitives
  • next-themes - Theme management with dark mode support
  • lucide-react & FontAwesome - Comprehensive icon libraries

Backend & Database

  • Supabase - Comprehensive backend platform
    • PostgreSQL database with PostGIS for geospatial data
    • Built-in authentication (email/password, magic links)
    • Row-level security (RLS) policies
    • Real-time subscriptions
    • Server-side rendering support (@supabase/ssr)

Database Tables:

  • profiles - User profile information
  • sellers - Seller account details and KYC status
  • seller_categories - Seller category associations
  • categories - Hierarchical product/service categories
  • geo_points - Geographic location data for matching
  • buyer_requests - Customer demand requests
  • offers - Seller offers on buyer requests
  • issued_warranties - Warranty tracking for insured items
  • reports - User reporting system

Deployment & Infrastructure

  • Firebase Hosting - Static hosting with Next.js integration
  • Firebase CLI - Deployment tooling
  • Environment variables for Supabase configuration

Build Tools

  • TypeScript 5 - Type safety throughout
  • ESLint 9 - Code linting
  • PostCSS & Autoprefixer - CSS processing and browser compatibility
  • Yarn - Package management

Key Features

Core Marketplace Mechanics

Reverse Marketplace Model: Buyers post item requests with title, description, budget, condition, and location. Sellers browse these requests and respond with competitive offers. Public request visibility promotes transparency and drives competitive pricing.

Request Management System:

  • Multiple statuses: active, accepted, declined, withdrawn, expired, banned
  • Configurable duration with automatic expiration
  • Item condition tracking (excellent, very good, good, fair, poor)
  • Premium request options
  • Request withdrawal capability

Offer Competition System:

  • Sellers make competing offers on buyer requests
  • Price specification with currency support (KES)
  • Offer statuses: active, accepted, hidden, withdrawn, paused, banned
  • One offer per seller per request enforcement
  • Detailed offer descriptions

Trust & Verification

Seller Verification (KYC):

  • Three-tier KYC status: pending, approved, rejected
  • Business name and location verification
  • Verified sellers can make offers; browsing is free for all
  • Trust-building through verified badge system

Insurance & Warranty System:

  • Optional item insurance for offers
  • Warranty type and duration tracking
  • Issued warranty management
  • Background warranty updates to prevent data inconsistency

Location-Based Services

Geospatial Matching:

  • PostGIS integration for advanced geospatial queries
  • Radius-based matching with configurable kilometer range
  • Geographic points system for precise location matching
  • Hyperlocal marketplace connections

Category Management

Hierarchical Category System:

  • Nested subcategories with multiple levels
  • Icon support for visual category identification
  • Seller category associations (sellers choose expertise areas)
  • Category filtering for targeted browsing
  • Multi-category selection UI components

Real-Time Features

Notification System:

  • Buyers notified when offers arrive on their requests
  • Sellers notified when requests match their categories
  • Email notification integration
  • Real-time updates via Supabase subscriptions

Internationalization (i18n)

Multi-Language Support:

  • English, Swahili, and additional languages
  • Language switcher component
  • Browser language detection
  • Cookie-based language persistence
  • Localized routing structure

User Experience

Profile Management:

  • Separate buyer and seller profiles
  • Profile header with avatar
  • Account status tracking
  • Additional user information management

Advanced UI Features:

  • Dark mode support with theme switcher
  • Responsive design for desktop and mobile
  • Avatar dropdown navigation
  • Confirmation modals
  • Offer cards with grouping
  • Request details header
  • Category and location dropdown components

Reporting & Moderation:

  • User reporting system
  • Report modal for flagging inappropriate content
  • Admin moderation capabilities (ban requests/offers)

Technical Implementation Highlights

Service Layer Architecture

Built with 9 dedicated service modules for clean separation of concerns:

  • buyerRequestsService.ts - Request CRUD and status management
  • offersService.ts - Offer creation, updates, and queries
  • sellersService.ts - Seller profile and verification
  • categoriesService.ts - Category hierarchy management
  • profilesService.ts - User profile operations
  • warrantyService.ts - Warranty and insurance tracking
  • reportsService.ts - User reporting functionality
  • sellerCategoriesService.ts - Seller-category associations
  • buyerRequestOffersService.ts - Combined request-offer operations

Custom React Hooks

5 specialized hooks for shared logic and state management:

  • use-current-user-image.ts - Current user avatar management
  • use-current-user-name.ts - Current user name retrieval
  • use-profile-data.ts - Profile data fetching
  • use-seller-categories.ts - Seller category management
  • use-seller-data.ts - Seller profile data

Component Library

29+ custom components organized by feature:

  • Form components (login, signup, forgot password, update password)
  • Navigation components (navbar, footer, avatar dropdown)
  • Feature components (offer cards, request details, category dropdowns)
  • Utility components (theme switcher, language switcher, confirmation modal)

Authentication & Security

  • Supabase authentication integration
  • Email/password login and magic link support
  • Forgot password flow with reset functionality
  • Password update capability
  • Session management middleware
  • Row-level security policies

SEO & PWA

  • Open Graph images and Twitter card support
  • Sitemap.xml and robots.txt
  • Proper meta tags throughout
  • PWA support with manifest.json

Architecture Highlights

Database Design

  • PostGIS Extension for geospatial queries and location-based matching
  • Row-Level Security for user data isolation and access control
  • Enums for type-safe status values (request_status_enum, offer_status_enum, kyc_status)
  • Foreign Keys ensuring relational integrity across tables
  • Timestamps with automatic created_at, updated_at, deleted_at tracking

Middleware Architecture

  • Supabase session management
  • Internationalization (i18n) routing
  • Language detection from browser headers and cookies
  • Centralized auth and i18n handling

Component-Based Architecture

  • 29+ reusable components
  • Custom hook library for shared logic
  • Modular service layer
  • Clear separation of concerns

Project Structure

item-hunt/
├── app/                          # Next.js App Router pages
│   ├── [lang]/                  # Internationalized routes
│   │   ├── auth/                # Authentication pages
│   │   ├── buy/                 # Buyer dashboard
│   │   ├── sell/                # Seller dashboard
│   │   ├── start-selling/       # Seller onboarding
│   │   └── ...                  # Other routes
│   ├── favicon icons            # Favicons and app icons
│   ├── manifest.json            # PWA manifest
│   └── sitemap.xml              # SEO sitemap

├── components/                   # React components (29+ files)
│   ├── ui/                      # shadcn/ui base components
│   ├── auth-button.tsx          # Authentication button
│   ├── category-dropdown.tsx    # Category selection
│   ├── offer-card.tsx           # Offer display
│   └── ...                      # 20+ more components

├── lib/                         # Core library code
│   ├── services/                # Business logic (9 services)
│   ├── supabase/                # Supabase configuration
│   ├── i18n/                    # Internationalization
│   └── utils/                   # Utility functions

├── hooks/                       # Custom React hooks (5 hooks)
├── docs/                        # Project documentation
├── public/                      # Static assets
├── middleware.ts                # Auth + i18n middleware
└── package.json                 # Dependencies

Skills Demonstrated

Full-Stack Development

  • Modern Next.js architecture with App Router and TypeScript
  • Supabase integration for authentication, database, and real-time features
  • Advanced geospatial features using PostGIS
  • Production-ready internationalization flows

System Architecture

  • Service layer pattern with 9 specialized modules
  • Component-based architecture with 29+ reusable components
  • Type-safe codebase with TypeScript throughout
  • Database optimization with proper indexing and geospatial queries

Advanced Features

  • Real-time capabilities via Supabase subscriptions
  • Multi-language support with automatic detection
  • Location-based matching with PostGIS integration
  • Complex state machine with 6+ status types for requests/offers

User Experience

  • Dark mode support with theme persistence
  • Responsive design for all devices
  • Accessibility via Radix UI primitives
  • Intuitive navigation and clear user flows

Key Takeaways

Item Hunt reinforced the importance of validating differentiation early. While the platform showcases strong technical execution with advanced features like geospatial matching, real-time notifications, and comprehensive service architecture, it serves as a reminder that innovation must solve a problem significantly better than existing solutions, not just differently.

What Worked

  • Technical architecture and implementation quality
  • Advanced features (PostGIS, real-time, i18n, KYC)
  • Clean code organization with service layer pattern
  • Production-ready deployment on Firebase Hosting

Market Validation Learnings

  • Core mechanic (posting "I want X") mirrors existing search functionality
  • Differentiated value exists primarily in edge cases
  • Niche use cases weren't large enough to compete with established platforms
  • Technical excellence alone doesn't guarantee product-market fit

Technical Achievements

Despite market validation challenges, Item Hunt demonstrates:

  • Full-stack TypeScript architecture with type safety
  • Advanced geospatial features using PostGIS
  • Comprehensive service layer with clean separation
  • Production-ready i18n and authentication flows
  • Real-time synchronization and notification systems

Item Hunt serves as both a technical showcase and a valuable lesson in product validation. The platform demonstrates advanced full-stack capabilities while emphasizing the critical importance of market validation and product differentiation in early-stage development.