Senior Full-Stack Engineer (MVP) — DTC eCommerce MandA Brokerage + Valuation Platform to $4000

Senior Full-Stack Engineer (MVP) — DTC eCommerce M&A Brokerage + Valuation Platform
 

Scope: Build a production-ready MVP for a brokerage marketplace focused exclusively on DTC eCommerce brands. The platform must (1) onboard sellers via a clean valuation wizard, (2) create gated listings, (3) let vetted buyers browse, filter, inquire, and (4) support payments/fees, KYC, notifications, and basic analytics.

Goal: Ship an MVP we can use to close the first 100 paid customers (listings) and generate serious buyer inquiries.
 

Tech We Expect You To Use

  • Frontend / Hosting: Next.js (App Router, TypeScript) on Vercel
  • DB/Auth/Storage/Realtime: Supabase (Postgres + RLS, Auth, Storage, Realtime)
    • Realtime via Supabase Realtime or Ably (justify tradeoffs)
  • Payments: Stripe (prefer Stripe Connect) for application/listing fees, buyer deposits, disbursements
  • Notifications: Knock (in-app + email feed); Twilio for SMS
  • KYC/Compliance: Persona (buyers & high-value sellers)
  • Bank Linking: Plaid (ACH, verification)
  • eCom Integrations (MVP): Shopify (Admin API + OAuth + webhooks)
  • Email: Resend/Postmark/SendGrid (pick one and wire it cleanly)
  • Search (MVP): Postgres FTS; plan to swap in Typesense/Algolia later
  • Jobs/Workflows: Inngest or Trigger.dev (background tasks, webhooks, report generation)
  • Error & Analytics: Sentry (errors), PostHog (product analytics)

You must have a public GitHub with recent full-stack code. We will collaborate via PRs and code reviews.
 

What You’ll Build (MVP Scope)

  1. Public Site
    • Homepage with dual CTA: “Sell Your Brand” (valuation) / “Browse Listings” (buyers)
    • Category browsing (Beauty, Apparel, Supplements, Home, etc.), trust elements, FAQ
       
  2. Seller Flow
    • Valuation Wizard (TTM revenue/profit, SKU count, AOV, repeat rate, ad mix/ROAS, fulfillment model, channel split, platform risk)
    • Instant valuation range + drivers (risk/quality adjustments)
    • Create draft listing from the wizard; editable before publish
    • Upload docs to data room (Supabase Storage, signed URLs)
       
  3. Marketplace
    • Listings grid/list with filters: revenue, profit, margin, category, geography, age, growth %, channel mix
    • Listing detail with teaser metrics; sensitive data gated behind KYC (+ optional refundable buyer deposit via Stripe) and click-through NDA
       
  4. Buyer Flow
    • Buyer signup → Persona KYC → optional small Stripe deposit to unlock details
    • Request Info / Inquire → route to seller via in-app thread + email/SMS
    • Basic message thread (realtime) between buyer & seller (mask emails)
       
  5. Payments
    • Stripe application/listing fee for sellers (one-time)
    • Optional buyer deposit/intent fee to unlock confidentials
    • Stripe Connect account model for future success-fee flows
       
  6. Notifications
    • Knock for in-app feed; email + SMS (Twilio) for critical events: “New inquiry”, “KYC approved”, “NDA signed”, “Deposit received”
       
  7. Admin
    • Role-based dashboard (admin/broker)
    • Approve listings, see KYC status, refund deposits, redact content, audit log
       
  8. Security & Compliance (MVP-realistic)
    • Supabase RLS and row-level permissions (buyer/seller/admin)
    • Secrets via Vercel + Supabase; PII encryption at rest where appropriate
    • GDPR-friendly data deletion hooks; audit_log table for sensitive events
       
  9. Observability
    • Sentry wired on both server & client; PostHog for funnels and eventing
       
  10. Docs & Handoff
  • README + runbook, env sample, ERD diagram, endpoint catalog, postman collection
     

Suggested Data Model (initial ERD)

  • users (role: buyer | seller | admin; KYC status; 2FA)
  • organizations (optional; for seller teams)
  • brands (name, domain, category, geo, platform)
  • metrics_monthly (brand_id, month, revenue, cogs, opx, profit, sessions, AOV, repeat_rate)
  • listings (brand_id, status: draft/live/gated; asking_price; teaser fields)
  • listing_assets (files in Supabase Storage, access policies)
  • valuations (inputs + computed range + risk adjustments)
  • ndas (status, signed_at, pdf_url)
  • inquiries (buyer_id, listing_id, message, created_at)
  • messages (thread_id, sender_id, body, read_at)
  • payments (stripe ids, amount, type: listing_fee | buyer_deposit)
  • audit_log (actor_id, action, entity, before/after, ip)
     

Nice-to-Have (Stretch after MVP)

  • Escrow provider integration (Escrow.com/Mangopay) for deal deposits
  • DocuSign / Dropbox Sign for NDAs & LOIs (PDF generation)
  • WooCommerce or Amazon Seller Central adapters (post-MVP)
  • Typesense/Algolia for richer search & ranking
  • CSV import for sellers not on Shopify
  • Basic comps/multiples library to explain pricing vs peers
     

Your Responsibilities

  • Own the architecture and ship the MVP fast with clean code, tests, and docs
  • Implement Shopify OAuth + webhooks (orders/paid, refunds) to compute core metrics
  • Build valuation logic (simple, explainable, weighted on risk & quality)
  • Set up Stripe Connect, Persona, Plaid, Knock, Twilio
  • Enforce RLS and robust permissioning; cover critical paths with tests
  • Collaborate with our designer (you’ll receive Figma) to match a Wayflyer-level polish
  • Set up CI/CD (Vercel), preview deploys, env config, seed scripts

What Success Looks Like (30/60 Days)
 

  • Day 30:
    • Seller valuation → draft listing → publish → appears in marketplace
    • Buyer signup → Persona KYC → deposit → gated unlock works
    • Inquiries/messages functional; notifications live; admin approve flow
       
  • Day 60:
    • Shopify integration powering metrics on listings
    • Stripe Connect flows; deposits/refunds; audit logs; Sentry/PostHog dashboards
    • We have >50 live listings and real buyer conversations in product
       

Must-Have Experience

  • Next.js + TypeScript in production; Vercel deployment
  • Supabase (Auth, Postgres, Storage, RLS) or equivalent (and can learn fast)
  • Payments (Stripe/Connect), webhooks, and secure background processing
  • Third-party KYC (Persona/Alloy) + Twilio/Knock-style notifications
  • OAuth app development (ideally Shopify) and webhook handling at scale
  • Designing RBAC/permissions and shipping secure, auditable systems
  • Writing tests (unit/integration) + owning monitoring/alerts
     

Bonus

  • Built a marketplace, brokerage, or fintech-style product before
  • Typesense/Algolia, Inngest/Trigger.dev, Ably/Pusher
  • DocuSign/Dropbox Sign, Escrow providers
  • Data viz (simple charts) and CSV ingest pipelines
     

How to Apply

  1. GitHub link (required). Point to a repo showing:
    • Next.js + TS + DB + third-party integration + tests
  2. Short note on which parts you’d implement first and why (be specific)
  3. A one-page architecture sketch (bullet points) for the MVP:
    • Folder structure, ERD, key tables, RLS approach, background jobs, error handling
  4. Estimate for a 6–8 week MVP with weekly milestones and hours
     

Quick Screening Task (paid, small)

  • Build a Next.js route that completes Shopify OAuth, stores the shop + token in Postgres (Supabase), and exposes an API endpoint /api/shops/:id/metrics that returns last-30-day revenue & orders from Shopify. Include a minimal Prisma or SQL migration and a Jest/Vitest test for the endpoint.

Required languages

English C2 - Proficient
Fastify, Vercel, Shopify, plaid
Published 16 September
27 views
·
4 applications
25% read
·
25% responded
Last responded yesterday
To apply for this and other jobs on Djinni login or signup.
Loading...