Prixise
Prixise
Price Comparison & Affiliate Platform
Ongoing
  • Full-Stack Developer
  • Personal
  • Web, 2026
  • Next.js, TypeScript, React, Express, PostgreSQL, Drizzle ORM, Redis, BullMQ, Turborepo, Tailwind CSS, Zod, OpenAPI
  • Web
  • Price Comparison
  • Affiliate
  • Next.js
  • TypeScript
  • Express
  • PostgreSQL
  • Redis
  • BullMQ
Prixise is a single-publisher price-comparison and affiliate site. Shoppers discover products, compare verified retailer offers, and click out to buy — while background workers ingest feeds, match products across stores, track price history, and surface deals.

Objective

I am building Prixise so shoppers can find a product once, see every tracked retailer offer with freshness and verification rules, and leave through affiliate links to complete the purchase. The platform is deliberately not a store: no inventory, checkout, or fulfillment — commission comes from click-out attribution.

Problem

The same product shows up under different titles, SKUs, and prices across retailers. A useful comparison site has to ingest heterogeneous feeds, normalize them, match the same product reliably (GTIN/MPN/style before fuzzy names), keep offers fresh, and send shoppers to the right affiliate URL.

Tasks I have done

  • Product requirements and architecture as a single-publisher catalog (not multi-tenant SaaS)
  • Turborepo monorepo: public web, admin console, Express API, BullMQ worker, and scheduler
  • Domain model for products, offers, retailers, brands, categories, price history, and affiliate entities
  • Feed-oriented ingestion design: adapters for CSV/XML/JSON/API and affiliate-network feeds
  • Product matching workflow prioritized by identifiers (GTIN → UPC/EAN → MPN → style → brand/model)
  • Background job pipeline for import, normalize, match, price history, deal detection, and alerts
  • Affiliate redirect path (/go/offer/:id) with click tracking for commission attribution
  • Public UX scope: search, product comparison, deals, brands/stores, My List, price-drop alerts, and guides

Features

  • Multi-retailer offer comparison with lowest verified price and full offer table
  • Feed ingestion workers (BullMQ) — heavy parsing stays off the request path
  • Identifier-first product matching across retailers
  • Price timestamps, history, verified price drops, and deal surfaces
  • Affiliate click-out with tracked redirect URLs
  • Browse by category, brand, and retailer; product search (PostgreSQL in MVP)
  • Saved products (My List) and price-drop alerts
  • Editorial guides/journal plus About, Methodology, and disclosure pages
  • Admin console for catalog, feeds, matching, and operator workflows

Architecture

Public Web Admin Console Express API PostgreSQL Redis / BullMQ Feeds Affiliate (Next.js) (operators) Zod · OpenAPI (catalog) (worker jobs) (CSV/API) (click-out)

Data pipeline: Retailer and network feeds land as jobs on Redis/BullMQ. The worker normalizes rows, runs identifier-first matching, writes products and offers to PostgreSQL, and updates price history. The Express API is the security and business boundary; web and admin are UI clients only. Shoppers compare offers on the product page and leave via tracked affiliate redirects.