Skip to content

961tech (working name) — Lebanese Tech Aggregator

Design Specification

Date 2026-04-25
Author Amine Amatoury (MASTER) + Claude design partner
Working brand 961tech (final domain TBD: 961tech.com, tech961.com, or riglb.com)
Status Design approved; implementation plan to follow
Project type Solo evening/weekend venture, alongside areeba day job + freelancing

1. Executive Summary

What: A Lebanese tech retail aggregator with two parallel experiences — a compatibility-checked PC Builder (the defensible moat) and a multi-category Browse & Compare product covering laptops, prebuilt PCs, peripherals, and eventually phones, watches, and gadgets. Both feed a unified multi-merchant cart with smart split-checkout suggestions.

Why: Lebanon has 5.34M internet users, an active PC enthusiast community of 10–25k builders, ~25 mappable computer parts retailers (mostly on WooCommerce/Shopify — easy to scrape), and zero existing aggregators. Pricena skips Lebanon. PCPartPicker doesn't serve Lebanon. International tools show parts you can't actually buy locally because of shipping, customs, and stock gaps. The whitespace is real.

Who: Solo founder (MASTER), no employees, no marketing team, no logistics. Vendors handle their own fulfillment, payments, and customer service. The platform is a discovery + attribution layer.

Revenue: 1.5% commission per converted sale (CPS) as the primary stream, with \(0.15 CPC fallback for retailers without conversion tracking and optional featured-listing fees (\)50–$200/month per category) as a secondary stream.

When: Localhost prototype in Month 1; closed beta on bits hosting in Months 2–4; soft launch in Month 5; Wave 2 retailer onboarding by Month 8; SARL incorporation by Month 12.

How much: Total cash exposure through Month 4 beta ≈ $30. Year 1 net income range: \(15k–\)40k. Year 2 with peripherals + phones: \(40k–\)120k. Year 3: \(80k–\)250k.

Strategic role: Cornerstone of MASTER's Phase 2 wealth-building plan. Stacked with freelancing income and IBKR investment compounding, this project clears the $5–10k/mo passive-income target (Dec 2031) within 3–4 years.


2. Honest Reality Check

The brainstorm surfaced three uncomfortable truths that anchor every other decision.

2.1 The "1-month prototype" is a demo, not a v1

In 60–80 hours (15–20 hr/week × 4 weeks), the achievable scope is: 3 retailers, 3 component categories (CPU/MB/GPU), no auth, no vendor backoffice, no Instagram, no S2S postback, single-rule compatibility wizard, public read-only site. This is enough to demo to 2–3 retailer owners and gather pilot feedback. Real v1 (full feature set) takes ~3 months. Growth-ready takes ~6 months.

2.2 Income ceiling is bounded by Lebanon's market size

Metric Estimate
Lebanese PC parts total GMV $30–80M/year
Online subset $20–40M/year
Year-1 captured GMV (0.5–2%) \(100k–\)800k
Year-1 commission income (at 1.5%) \(1.5k–\)12k/year
Year-1 with full revenue stack (CPS + CPC + featured) \(15k–\)40k net

The $5–10k/mo passive-income goal requires either category expansion (laptops → phones → all tech) or revenue stacking (this + freelancing + investments).

2.3 The compatibility database is the actual moat — and the longest pole

PCPartPicker spent two years on nights-and-weekends to reach v1. The compatibility data is what's defensible; price aggregation is trivial. Estimated solo effort with LLM-assisted extraction: ~120 hours (~8 weeks) for 80% coverage of buyer-relevant SKUs.

2.4 What this means strategically

This project rewards patience. It builds a real defensible asset, generates modest income that grows steadily, doubles as a public portfolio piece, and survives Lebanon-specific operational hazards by design.


3. Product Definition

3.1 The two modes

Mode For Key feature Moat
Builder PC enthusiasts assembling a desktop Compatibility-checked wizard: pick CPU → live-filter compatible motherboards → live-filter RAM/PSU/case/cooler → final build with multi-merchant price optimizer Compatibility DB + rules engine
Browse & Compare Buyers shopping for finished products Faceted search + spec filters + multi-retailer price comparison + smart cart split Inventory breadth + cleanest UX in Lebanese tech retail

Both modes share one backend: catalog, retailer integrations, cart, attribution, vendor backoffice.

3.2 v1 feature set (3-month MVP)

  • Categories at launch: CPU, GPU, motherboard, RAM, PSU, case, CPU cooler, storage, plus laptops and prebuilt desktops (10 categories total)
  • Compatibility wizard: all rules for the 8 PC-parts categories — socket, RAM type/speed, PSU wattage, case GPU clearance, cooler height, M.2 slots, BIOS warnings
  • Multi-merchant cart with optimizer: transparent per-retailer split + suggestions like "save $54 by switching to PCAndParts + Ayoub"
  • Saved builds & sharing: authenticated users save builds; public URL for sharing/feedback
  • Build gallery: browse public builds (UGC drives SEO long tail)
  • Vendor backoffice: product CRUD, CSV/image bulk import, click→conversion analytics, commission ledger
  • Affiliate tracking: tagged-link + S2S postback (primary); coupon code (fallback); manual reconciliation (last resort)
  • Auth: Auth.js v5 with Google OAuth + email magic link
  • Search: Postgres full-text at v1; upgrade to Meilisearch by Month 4 if faceted filtering becomes painful
  • English UI with Arabic-ready architecture (i18n setup, no translations until v2)
  • Mobile-first responsive design tested on Lebanese devices and networks

3.3 Phased category roll-out

Phase Categories added Rationale
v1 (months 1–3) PC parts (8 categories) + laptops + prebuilt desktops Same retailers carry all; laptops triple addressable audience; no compat logic needed for laptops
v2 (months 4–8) Peripherals (mice, keyboards, headsets, monitors), gaming chairs, networking Adjacent to PC builders; same retailers; can add monitor compatibility (refresh-rate matching to GPU output)
v3 (months 9–14) Phones, smartwatches, tablets, headphones, smart-home gadgets Larger audience; different buyer journey; some new retailers (Khoury Home, telco shops, Apple resellers)
v4 (year 2+) Cameras, drones, gaming consoles, accessories Long-tail completeness; brand becomes "Lebanon's tech aggregator"

3.4 Differentiation

What makes the platform defensible:

  1. Compatibility DB + rules engine — no Lebanese retailer offers this; PCPartPicker doesn't serve Lebanon
  2. Multi-merchant cart optimizer — no Lebanese aggregator exists at all
  3. Local retailer relationships — 25 personal partnerships are nearly impossible for a foreign competitor to clone
  4. Lebanon-specific value — real-time stock, USD pricing, local delivery info, customs-resolved prices
  5. Below Google's caring threshold — Idealo just won €465M against Google for self-preferencing; Lebanese market is too small to attract Google's attention
  6. SEO long tail — every public build = unique URL with rich product metadata

4. Business Model & Financials

4.1 Commission model

Stream Default Applied to
CPS commission (primary) 1.5% per converted sale Retailers with S2S postback capability (Shopify, WooCommerce, modern stacks)
CPC fallback $0.15 per outbound click Retailers who can't track conversions but want the traffic
Featured placement (optional) \(50–\)200/mo per category top slot Any retailer wanting boosted visibility (clearly labeled "Sponsored")
Excluded Used parts, marketplace listings imported from OpenSooq, sales with attribution confidence < 60%

Research established that 0.5% is below market (PCPartPicker effectively gets 0.5–1% from Newegg, Skroutz takes ~5–6%, Idealo charges £0.24/click). 1.5% balances "easy enough to pitch" against "viable unit economics."

4.2 Cost structure

Item v1 (1k DAU) v2 (10k DAU) v3 (100k DAU)
Hosting (bits → Hetzner + Vercel + Cloudflare + Neon) $17 $126 $284
Domain + email + SSL + monitoring $5 $5 $10
Anthropic API (LLM extraction + scraper fallback) $5 $20 $50
Monthly burn ~$27 ~$151 ~$344

One-time setup: ~\(300 (domain, initial LLM extraction batch, dev tooling). Total cash exposure over 3-month MVP: ~\)370.

4.3 Year 1 revenue projection

Month Catalog state Live retailers Conversions/mo Avg commission Featured Total revenue Net
1 Demo (3 retailers, 3 categories) 0 0 $0 $0 –$30
2 MVP scaffold 0 0 $0 $0 –$40
3 Soft launch 1–2 5–15 $20 $0 \(100–\)300 +\(50–\)250
4 8 retailers, full PC parts 2–4 20–40 $22 $0 \(440–\)880 +\(380–\)820
5 + laptops live 4–6 40–80 $25 $50 \(1,050–\)2,050 +\(980–\)1,980
6 15 retailers 5–8 60–120 $25 $100 \(1,600–\)3,100 +\(1,520–\)3,020
7 Vendor backoffice live 6–10 80–160 $25 $150 \(2,150–\)4,150 +\(2,060–\)4,060
8 IG flow + coupon attribution 8–12 100–200 $25 $200 \(2,700–\)5,200 +\(2,600–\)5,100
9 First Black Friday 10–15 150–300 $30 $300 \(4,800–\)9,300 +\(4,690–\)9,190
10 Build gallery SEO maturing 12–18 180–360 $30 $400 \(5,800–\)11,200 +\(5,680–\)11,080
11 Holiday season 15–20 250–500 $30 $500 \(8,000–\)15,500 +\(7,870–\)15,370
12 Year-end + price-drop alerts 18–25 200–400 $30 $500 \(6,500–\)12,500 +\(6,360–\)12,360
Year 1 total ~\(33k–\)64k ~\(32k–\)63k

This is a model, not a forecast. Actual numbers will diverge based on scrape uptime, retailer negotiations, war disruption, seasonal patterns, and viral moments. Treat the range as orders of magnitude. Realistic working estimate: \(15k–\)40k net.

4.4 Year 2–3 outlook

Year Revenue range Net income
Year 2 (+ peripherals, monitors, networking) \(40k–\)120k \(30k–\)100k
Year 3 (+ phones, watches, gadgets) \(80k–\)250k \(65k–\)220k

4.5 Key inflection points

  1. Month 6–9: First retailer signs a CPS contract instead of just allowing scraping. Validates the business.
  2. Month 12: First $5k+ month. Confirms it's a real business, not a hobby.
  3. Year 2: Laptops + peripherals double revenue per user.
  4. Year 3: Phones and gadgets unlock the broader Lebanese tech-buyer audience (10–20× the PC builder base).

4.6 Path to MASTER's $5–10k/mo passive income goal (Dec 2031)

Path Year-by-year trajectory Hits goal?
This project alone, single category Y1: $1.5k/mo · Y2: $3k/mo · Y3: $5k/mo Hits low end Y3
This project with full tech expansion Y1: $1.5k · Y2: $5k · Y3: $10k · Y4–5: $15–25k Hits high end Y3–4
This project + freelancing + investments Three-stream stack Hits goal Y2

This is the cornerstone of Phase 2 of the wealth-building plan, not a side hustle.


5. Technical Architecture

5.1 Stack

Layer Choice Rationale
Frontend Next.js 15 (App Router) + TypeScript + Tailwind v4 + shadcn/ui + Framer Motion Server components for product pages (cache + ISR); shadcn for vendor backoffice; mobile-first
Backend (app) Next.js API routes + Server Actions Single deploy, single language, less ops surface
Backend (scraper) Separate Node service (Playwright + Cheerio + BullMQ) Playwright on serverless = pain; needs long-running process
Database Postgres (single instance) One source of truth; JSONB for spec long tail; GIN indexes for search
Cache + Job queue Redis (BullMQ for scraper jobs, sessions, rate limits) Same VPS as scraper
Search Postgres FTS at v1 → Meilisearch self-hosted by Month 4 if needed Free, simple, defer the upgrade
Auth Auth.js v5 (Google + email magic link) Free, owns your data
Image storage Cloudflare R2 + Cloudflare Images for transforms Zero egress, $0.015/GB
Background jobs BullMQ + Redis self-hosted Bound to scraper VPS; no per-run pricing
Email Resend $0 up to 3k emails/mo; React Email
Monitoring Sentry (errors) + Posthog (analytics + feature flags) Free tiers carry Year 1
LLM extraction Claude Haiku 4.5 via Anthropic API $0.004/page; fallback when bespoke parser fails

5.2 Build vs buy

Custom Next.js. Skip every off-the-shelf marketplace platform. Sharetribe, CS-Cart, Yo!Kart, Saleor, Spree, Mirakl, Magento — all assume the platform processes payment. The aggregator model never sees the money. PCPartPicker, Skroutz, Idealo, Geizhals all run custom for this reason.

5.3 Key sub-systems

(a) Compatibility DB + rules engine — the moat

Postgres schema with normalized typed columns for ~10 specs the rules engine queries (cpu_socket, ram_type, form_factor, tdp_watts, length_mm, psu_wattage, etc.) plus JSONB for the long tail.

CREATE TABLE products (
  id              uuid PRIMARY KEY DEFAULT gen_random_uuid(),
  category        text NOT NULL,
  brand           text NOT NULL,
  model           text NOT NULL,
  slug            text UNIQUE NOT NULL,
  cpu_socket      text,
  ram_type        text,
  ram_speed_mhz   int,
  form_factor     text,
  tdp_watts       int,
  length_mm       int,
  height_mm       int,
  psu_wattage     int,
  specs           jsonb NOT NULL DEFAULT '{}',
  image_url       text,
  release_date    date,
  msrp_usd        numeric(10,2),
  created_at      timestamptz DEFAULT now(),
  updated_at      timestamptz DEFAULT now()
);
CREATE INDEX idx_products_category_socket ON products (category, cpu_socket);
CREATE INDEX idx_products_specs_gin ON products USING gin (specs);
CREATE INDEX idx_products_search ON products USING gin (
  to_tsvector('english', brand || ' ' || model)
);

Compatibility rules are deterministic if-then TypeScript (~300 lines): socket match, RAM type/speed, PSU wattage with 30% headroom, case GPU clearance, cooler height, M.2 slots, BIOS warnings. Bootstrap from unofficial PCPartPicker scrapers → manufacturer sites (Intel ARK, AMD, NVIDIA, AIB partners) → LLM extraction for ambiguous specs → human QA on top 100 SKUs/category. Estimated effort: ~120 hours over 8 weeks.

(b) Scraping — bespoke for top 5 retailers, LLM-fallback for the long tail

Most Lebanese retailers run WooCommerce/Shopify with zero anti-bot infrastructure. HTTP + Cheerio handles ~95% of pages; Playwright only for JS-rendered listings.

scrapers/
  ├── runner.ts              # BullMQ worker
  ├── core/
  │   ├── http.ts            # undici + retry + rate limit + cookie jar
  │   ├── browser.ts         # Playwright pool
  │   ├── parse.ts           # cheerio helpers
  │   ├── normalize.ts       # brand/model canonicalization
  │   └── llm-extract.ts     # Claude Haiku fallback
  ├── sites/
  │   ├── pcandparts.ts      # exports listProducts(), getProduct(url)
  │   ├── compuone.ts
  │   ├── ayoub.ts
  │   ├── 961souq.ts
  │   └── ...
  └── schedule.ts            # cron expressions per site

Health dashboard tracks per-retailer last_successful_run, error_rate_24h, product_count_drift. Telegram alerts on failure.

Instagram: don't scrape directly. Build a self-onboard flow where IG merchants paste a post URL or upload a screenshot. LLM-extract product data with vision; merchant edits before publishing. Frame as a feature.

© Affiliate tracking — built from scratch

Tapfiliate/Refersion model the wrong direction (you-as-platform issuing codes to influencers). Build it.

Token format: nanoid(12) (~71 bits entropy). Outbound link contract:

GET /go/r/:retailerId/p/:listingId
  → Insert click row with token = nanoid(12)
  → 302 Redirect to: {retailer.affiliate_url_template}
       ?subid={click_token}&url={retailer_product_url}

S2S postback contract:

POST /api/affiliate/postback
  Headers: X-Retailer-Token: {per-retailer secret}
  Body: { "click_token": "...", "external_order_id": "...",
          "amount": 1500.00, "currency": "USD",
          "commission": 22.50, "status": "approved" }
Response:
  200 { "ok": true, "conversion_id": "..." }
  401 { "error": "invalid retailer token" }
  409 { "error": "duplicate", "conversion_id": "..." }   # idempotent on (retailer_id, external_order_id)
  410 { "error": "click expired" }                        # > 30 days
  422 { "error": "invalid click token" }

Fraud detection: duplicate token (already enforced by unique index), click-to-conversion timing (< 5s = bot), commission outliers, postback flood limits.

5.4 Hosting strategy

Phase Duration Hosting Cost
Phase 1: Localhost Month 1 Windows desktop, Docker Compose (Postgres + Redis + Next.js) $0
Phase 2: bits beta Months 2–4 bits hosting (friend's platform) Free / friend rate
Phase 3: Production Month 5+ bits if it supports managed Postgres + container deploys + 99.5% SLA; otherwise Hetzner Frankfurt + Cloudflare \(20–\)50/mo

Action item for Month 4: ask bits for a one-pager covering managed Postgres, container support, bandwidth caps, backup story, SLA. Decide Phase 3 hosting based on that.


6. Vendor Onboarding & Attribution

6.1 The 4-stage onboarding ladder

Stage Status Catalog visible? Tracking Commission paid?
1. Scraped + Attributed No contact Yes (with "Source: [domain], updated [date]") Outbound clicks logged No (free traffic)
2. Notified Cold-emailed/visited Yes Same as Stage 1 No
3. Light Integration Verbal/email agreement Yes, with "Verified Partner" badge Discount/referral code at checkout, manual CSV reconciliation monthly Yes (1.5% on reconciled sales)
4. Full Integration Signed terms, technical setup Yes, with "Premium Partner" badge + analytics dashboard S2S postback firing on order completion Yes (1.5% CPS, instant attribution)

Stage 1 is not stealing. Pages display clear source attribution and timestamp; outbound link goes directly to the retailer's site; the retailer gets free qualified traffic. Removal requests are honored within 48 hours.

6.2 Outreach wave sequencing

Wave Target retailers When Pitch
Wave 0 (beta) 1–2 friends/family who own/work at a retailer Month 1–2 "Help me test this"
Wave 1 (soft launch) Smaller hungrier retailers: Tech Titan, PC Station LB, PCBuildingLeb, Sbeity, Macrotronics Month 3–4 "Your products are on the platform. Here's beta traffic data. Formalize at 1.5% — no contract term, try for 60 days."
Wave 2 (giants) PCandParts, Ayoub, Mojitech, 961Souq Month 5–7 "Wave 1 is paying us $X/month. Your competitors are getting your buyers. Join at 1.5% or stay on free Stage 2 forever."
Wave 3 (long tail) Tripoli/regional + Instagram-only merchants Month 6–9 "Self-onboard via the backoffice — listing free, only pay when we drive a sale."

6.3 Settlement flow

Step Mechanic
1. End of month Auto-generate per-retailer invoice with line items: orders, gross value, commission owed (1.5%), platform fee (0%)
2. Email + WhatsApp invoice PDF + Whish payment link with reference number
3. Net 7 days Retailer pays via Whish corporate ($30k cap), USDT TRC20, OMT, or bank transfer
4. Auto-reconcile Whish API or manual confirmation marks invoice paid
5. Public ledger Retailer sees full history in backoffice

Disputed conversions: retailer flags in dashboard → 7-day review window → spot-check from click logs → resolved or removed from invoice.

6.4 Vendor backoffice user journey

  1. Sign up — Auth.js (Google or email magic link); phone collected for WhatsApp ops
  2. Profile — commercial name, address, optional CR number, payout preference (Whish phone / OMT name / USDT address)
  3. Add store — paste URL → auto-detect platform (Shopify/Woo/PrestaShop/custom) → suggest scraper config OR manual catalog entry / CSV import / IG-post-URL ingestion
  4. Match catalog — auto-match products to canonical SKU catalog (fuzzy match on brand+model); resolve ambiguous matches in a 3-step wizard
  5. Install tracking (optional, for Stage 4) — copy 5-line snippet, paste on order confirmation page, "Test conversion" button fires a fake postback
  6. Go live — listing appears with "Verified Partner" badge
  7. Dashboard — clicks, conversions, commission ledger, search-term analytics, "what users almost bought from you," monthly invoice PDFs

For IG-only merchants who can't host a tracking script: referral code mode. They generate a unique code per user (or one shared code), apply 0% discount but log redemption, monthly CSV upload to backoffice.

6.5 The hardest practical truth

Wave 1 vendor onboarding takes longer than the entire technical build. Plan for 60–90 days of relationship-building per signed Stage-3 retailer. Lebanese B2B is "have coffee three times before signing anything."


7. Operational/Legal Setup

7.1 Stage-by-stage matrix

v0 — MVP (Phase 1+2 beta) v1 — Validated ($1.5k+/mo) v2 — Scale ($8k+/mo)
Legal entity Informal sole proprietor; declare on PIT (R10) Lebanese single-member SARL (Law 126/2022) Lebanese SARL + optional Estonia OÜ for international expansion
Banking neo by Bank Audi (personal) SARL business account at Bank Audi SARL business + Wise Business (EU)
Commission collection — primary Whish Money personal wallet Whish Money corporate ($30k cap) Whish corporate + Areeba/PinPay for larger merchants
Commission collection — secondary USDT TRC20 for crypto-native merchants USDT TRC20 + OMT fallback + International wires for >$2k/month merchants
VAT registration No (below LBP 5B / ~$56k threshold) No (still likely below threshold for Year 1) Yes if crossed
PIT filing Add affiliate income line to existing R10 SARL: 17% CIT + 10% dividend WHT Same + Estonia OÜ filings if used
Hosting Localhost → bits beta bits or Hetzner Frankfurt + Cloudflare + paid Cloudflare Pro + Hetzner Storage Box backups
Privacy / ToS Plain-language ToS + privacy policy + cookie banner; affiliate disclosure visible Lawyer-reviewed ToS; data subject access endpoint Full Law 81/2018 documentation; data processing agreement with merchants

7.2 Initial setup checklist (next 30 days)

  • Register domain (961tech.com / tech961.com / riglb.com — decision deferred)
  • Whish Money personal wallet (verify corporate upgrade available when crossing $1k/mo)
  • Buy .com (defer .lb until OGERO process has bandwidth — weeks of paperwork)
  • Cloudflare account for DNS/CDN regardless of hosting
  • GitHub private repo
  • Auth.js Google OAuth credentials in Google Cloud Console
  • Anthropic API key for LLM extraction
  • Resend account for transactional email
  • Sentry + Posthog free-tier accounts
  • Draft a one-page ToS + privacy policy in English (lawyer review at v1)
  • Bybit USDT seed phrase backup off-site
  • Lebanon has no CFC rules. A Lebanese-resident solo founder operating through a foreign entity (Estonia OÜ) faces no automatic worldwide-income inclusion at the entity level.
  • Single-member SARL is now legal (Law 126/2022). Setup: \(1,500–\)3,000 in fees through a Beirut law firm; ~10–15 business days; minimum capital trivially small post-devaluation.
  • VAT threshold raised to LBP 5B (~$56k) under the 2024 Budget Law. Below this, no VAT registration, collection, or filing required.
  • PIT still applies on every dollar of income. Progressive 4–25%. Add affiliate income line to existing R10 declaration. Use FinanceForge to track every business expense for deduction.

7.4 Operational risk plan

Risk Mitigation
Power bits hosting handles platform uptime; for dev: 5A generator subscription (~\(120/mo) + UPS for desktop/router. Solar (~\)3k capex) is the right Year 2 investment.
Internet Ogero FTTH primary + Touch/Alfa 4G failover via Mikrotik dual-WAN. Starlink as Year 2 consideration.
War Source code in GitHub; daily encrypted DB backups to Hetzner Storage Box (Germany); domain registrar = Cloudflare (not OGERO); Bybit seed phrase off-site. Set up Wise Business or Estonia banking BEFORE an emergency — the window closes during crisis.
bits-specific risks Lebanese-hosted infrastructure is subject to same exposures as the operator. Don't put production on bits-only. Replicate DB backups to a German/EU storage.

Polite scrape + clear attribution + identified User-Agent (961techBot/1.0; +https://[domain]/bot) + respect robots.txt + 48-hour takedown response. Convert each scraped retailer into a signed affiliate within 90 days; once signed, it's no longer scraping but data feed integration under contract.

US precedent (hiQ, Van Buren, Meta v. Bright Data) supports public-data scraping. Lebanese commercial litigation is so slow that no Lebanese retailer will sue over a scrape they can have removed via one email.


8. Phased Roadmap

8.1 Macro phases

Phase Months Goal Output
Phase 1: Localhost Prototype 1 Validate core flows on your machine Working demo with 3 retailers × 3 categories
Phase 2: bits Beta 2–4 Closed real-world test on Lebanese internet/devices 6–8 retailers, full PC parts, vendor backoffice MVP
Phase 3: Soft Launch + Wave 1 5–7 Public access; first paying retailers; laptops added 10–15 retailers, 1–3 paying, \(500–\)3k/mo
Phase 4: Growth + Wave 2 8–12 Established retailers signed; IG flow live; SEO compounding 18–25 retailers, \(5k–\)12k/mo, ready for SARL incorporation

8.2 Month-by-month (Year 1)

Month Focus Key deliverables
1 Localhost scaffold Next.js + Postgres + Redis Docker Compose; DB schema; 3 bespoke scrapers (PCAndParts, 961Souq, Macrotronics); 3 categories (CPU/GPU/MB); read-only public pages; click logging; single-rule compat (CPU↔MB socket); demo-able to a friend over your shoulder
2 Beta on bits Auth.js v5; build wizard with 6-rule compatibility (CPU↔MB socket, RAM type+speed match, PSU wattage with 30% headroom, case GPU clearance, cooler height fits case, mobo form factor fits case); 6 retailers total; PSU/RAM/case/cooler categories; saved builds; deploy to bits; closed beta with 5–10 friends
3 Vendor backoffice + cart optimizer Vendor backoffice MVP (CRUD, basic analytics); LLM extraction pipeline; multi-merchant smart-split cart; mobile QA; "fake test merchant" end-to-end attribution validation; beta expanded to 20–30 users
4 Production hardening Affiliate tracking (S2S postback contract); ToS + privacy policy + cookie banner; bits prod config; Whish corporate upgrade; first 1–2 friendly retailers signed (Wave 1 starts); public soft-launch
5 + Laptops + prebuilt PCs Browse mode (no compat logic for laptops); Wave 1 outreach: Tech Titan, PC Station LB, PCBuildingLeb; build gallery public; first 5–10 build guides published; \(100–\)300/mo revenue
6 Wave 1 closes 2–3 paying retailers; vendor analytics dashboard; email lifecycle via Resend (welcome, build saved, price alert); Posthog feature flags; \(500–\)1.5k/mo
7–8 Wave 2 begins + IG flow PCandParts/Ayoub/Mojitech/961Souq outreach (Wave 2); IG-merchant self-onboarding (post-URL → LLM extraction → vendor edit); coupon-code attribution fallback; CSV reconciliation; featured-placement option; \(1.5k–\)5k/mo
9–10 Wave 2 conversions + Black Friday 1–2 giants signed; 15+ retailers; first Black Friday push (timed to Lebanese Christmas season); SEO content: 30–40 build guides + 20+ "best X under \(Y" articles; **\)5k–$10k/mo**
11–12 Holiday peak + SARL incorp Holiday peak revenue; Lebanese SARL incorporated (revenue justifies); lawyer-reviewed ToS update; price-drop alert system live; 18–25 retailers; \(5k–\)12k/mo

8.3 Year 2–3 outlook

Year Categories Retailers Revenue range Major moves
2 + Peripherals (mice/keyboards/headsets/monitors), gaming chairs, networking 25–35 $5k → $15k/mo Bulk discount management, sponsored bidding, weekly newsletter, image/CDN optimization, SARL operations mature
3 + Phones, smartwatches, tablets, headphones, smart home 35–50 $10k → $25k+/mo Telco/big-box vendor segment (Khoury Home, Aoun Trading); Estonia OÜ exploration for regional expansion (Iraq/Jordan/Egypt scoping)

8.4 Critical path

Three things gate everything else:

  1. Compatibility DB completeness gates the build wizard's usefulness
  2. First Wave 1 retailer signing gates revenue start
  3. LLM extraction quality gates scaling beyond the 5 hand-built scrapers

The DB and scrapers can be built in parallel (different mental modes, weekend vs weeknight). Vendor outreach is its own stream that runs while you code.

8.5 Time budget

Activity Hours/week Months 1–3 (build) Months 4–12 (run)
Coding 12 144 hrs 240 hrs
Compatibility DB curation 4 48 hrs 30 hrs
Vendor outreach + meetings 0 0 4–6 hrs/week from Month 4
Content (build guides, articles) 0 0 3 hrs/week from Month 5
Analytics + monitoring + ops 1 12 hrs 20 hrs
Total ~17/wk ~205 hrs over 3 months ~15–20 hrs/week

Plan for ~20% slippage = 12–14 month timeline to Month-12-table outcomes. Areeba day-job intensity, salary negotiation, and war disruption all create real risk.

8.6 Honest milestones to gate-check progress

Date If you've hit this, you're on track. If not, reassess.
End of Month 1 Localhost prototype demos to a friend. They can browse 3 retailers, build a CPU+MB combo, click out.
End of Month 3 bits-hosted beta with 20+ active users. 3 of them have come back twice.
End of Month 6 1+ retailer paying real (small) commission via Whish. Tax invoice issued.
End of Month 9 $2k+ in a single month. Wave 2 conversation underway with at least one giant.
End of Month 12 $5k+ in a single month. SARL incorporation in motion. SEO traffic from organic search > 30% of total.

If Month 6 milestone is missed, the issue is vendor outreach, not code. If Month 9 is missed, the issue is positioning/pricing, not catalog.


9. Risks & Mitigations

# Risk Probability Impact Mitigation
1 Cultural relationship-led buying — Lebanese buyers use platform to negotiate at "their guy" rather than click through High High Position as build planner first, price comparison second. Compatibility wizard is the value; price comparison is the side benefit. Emphasize "share builds for feedback" community feature.
2 Wave 2 giants refuse to engage Medium-high Medium Wave 1 success creates pressure. If still no movement by Month 9, pivot to "Wave 1 alliance" — formalize with smaller players.
3 War / regional disruption Medium Very high External git, EU-jurisdiction backups, foreign banking optionality, Bybit cold storage. Set up Wise Business and/or Estonia OÜ paths BEFORE you need them.
4 Compatibility DB quality issues — LLM hallucinations produce wrong specs Medium High Human QA on top 100 SKUs/category; "report incorrect spec" button on every product page; corrections queue; never green-light a build with missing data — show "compatibility unknown" warning instead.
5 Day-job slippage — areeba pulls weekends High Medium 20% slippage buffer in timeline. If areeba intensity spikes for >2 months, formally pause the project.
6 Scraper drift — merchants redesign sites Medium Medium Health dashboard with last_successful_run, error_rate_24h; Telegram alerts. LLM-fallback parser as second tier.
7 Pricena finally enters Lebanon Low-medium High Lock in compatibility-DB moat (they don't have one). Sign exclusive Wave 1 retailer agreements with category exclusivity where possible.
8 Banking access deteriorates — neo restricts business activity, Whish caps tighten Low-medium Medium USDT TRC20 is the failsafe (already in your Bybit pipeline). Estonia OÜ + Wise Business is the v2 hedge.
9 Lebanese FATF tightening triggers tax enforcement Low (Year 1) Medium Declare from day 1. FinanceForge expense tracking. Lebanese SARL at v1.
10 Burnout — 15–20 hr/week on top of areeba + freelancing for 12+ months Medium-high Catastrophic Build pause-able systems (no 24/7 commitments, no live support, no SLAs in v1). Schedule deliberate breaks. Treat compatibility-DB curation as a meditative weekend ritual.

10. Brand & Naming

10.1 Working brand: 961tech

The brand identity is 961tech — Lebanon's country code (961) paired with "tech" for category breadth. Decision rationale:

  • Lebanese-anchored without scope-locking to PCs (works through v4 expansion to phones/watches/gadgets)
  • Brandable — distinctive logo and color treatment possible
  • Type-able — Lebanese visitors recognize "961" instantly
  • Available as .com at standard registrars (~$15/year via Cloudflare Registrar / Namecheap)
  • No trademark conflicts found in research

10.2 Domain decision (deferred to launch)

Option Cost Notes
961tech.com ~$15/year via Cloudflare Registrar / Namecheap Recommended. Available globally.
tech961.com ~$15/year Same brand essence, suffix-flipped. Available via bits friend's reseller.
riglb.com $40 / 3 years via bits Backup option. Gaming-coded. Available now.

Decision deferred until launch readiness. Architecture is brand-agnostic.

10.3 Premium future domains (Year 2+)

Domain Status When to acquire
pc.lb Available Once OGERO bureaucracy is navigable (~3–6 weeks of paperwork)
tech.lb Available Same — strong canonical brand option
961.tech Available If .tech TLD adoption grows

11. Open Questions / Deferred Decisions

# Question Decision deferred to Recommendation
1 Final domain registration Pre-Phase 3 (Month 4) 961tech.com direct via Cloudflare Registrar
2 bits hosting capabilities Month 4 Ask friend for one-pager: managed Postgres? Container deploys? Bandwidth? Backup? SLA?
3 Lebanese language v2 timing Trigger when monthly Arabic-IP traffic > 30% of total Year 2
4 Telegram bot for merchant notifications Month 7 (post-Wave 1) Yes — low effort, high retention
5 Fake test merchant name Month 1 build Pick during scaffold (LabStore, TestRig, etc.)
6 Wave 1 outreach order Month 3 Tech Titan first (smallest, hungriest, IG-active), then PC Station LB, then PCBuildingLeb
7 Lawyer at v0 vs v1 v1 (when revenue > $1k/mo) Self-draft passable v0 ToS; spend nothing on lawyers until paying-customer-revenue justifies
8 Bits friend SLA + escrow plan Phase 3 transition Replicate backups to Hetzner Storage Box regardless

12. Appendix: Research Sources

This spec synthesizes findings from four parallel research streams (April 2026):

Stream 1: Lebanese PC retail market — mapped 24 active Tier-1 retailers (Mojitech, Ayoub Computers, PCAndParts, 961Souq, Macrotronics, Tech Titan, etc.) plus Tier-2 distributors and Tier-3 IG-only operators. Estimated GMV $30–80M/year (online subset $20–40M). Confirmed no Lebanese PC aggregator exists; PCPartPicker doesn't serve Lebanon; Pricena doesn't cover Lebanon. Identified active enthusiast communities: Lebanon PC Gamers FB Group, PC Gaming Lebanon FB, Lebanese Gaming Emporium Steam group.

Stream 2: International benchmarking — PCPartPicker (founded 2010, Texas, ~$6M revenue, 15–20 staff, ~8M monthly visits, Django+jQuery stack). Skroutz (founded 2005, Greece, started PC-parts-only, 11-year path to marketplace pivot, now $1.255B GMV). Idealo (founded 2000, Germany, just won €465M lawsuit vs Google for self-preferencing). Egyptian solo-built precedents: PCPrices, EGPrices, EG-PC.

Stream 3: Technical architecture — confirmed custom Next.js path; reviewed and rejected Sharetribe, CS-Cart, Yo!Kart, Saleor, Spree, Mirakl, Magento; specified scraping infrastructure (HTTP+Cheerio primary, Playwright when needed, LLM-fallback for long tail); affiliate tracking architecture; vendor backoffice approach.

Stream 4: Lebanese operational/legal — banking situation as of April 2026 (Whish Money primary, USDT TRC20 secondary, OMT fallback); legal entity options (informal v0 → SARL v1 → Estonia OÜ v2); confirmed Lebanon has no CFC rules; VAT threshold LBP 5B; scraping legal posture; war/power/internet continuity planning; Lebanese consumer profile from DataReportal Digital 2026.

Detailed source citations are preserved in the brainstorming conversation log dated 2026-04-25.


End of design specification.

Next step: invoke superpowers:writing-plans to convert this design into a concrete implementation plan with task breakdown, dependencies, and milestone validation criteria.