Inspiration

In today's digital economy, millions of freelancers and clients encounter payment trust issues. Clients fear paying upfront without receiving quality deliverables, while freelancers face delayed payments or total non-payment after completing hard work. Traditional escrow systems are often clunky, charge exorbitant fees, or lack seamless real-time communication.

We were inspired to build EscrowPayβ€”a modern, fintech-grade freelance marketplace SaaS that automates trust using Stripe PaymentIntent vaults, real-time negotiation chat, anti-scam dispute freezes, and instant Connect split payouts with zero friction.


What It Does πŸš€

EscrowPay is a full-stack, production-ready freelance escrow platform with four core operational pillars:

  1. Structured Escrow Job Posting: Buyers publish jobs with transparent fixed budgets locked upfront into secure Stripe payment vaults.
  2. Stripe-Compliant Checkout & Dynamic Card Detection: Buyers pay using a sleek Stripe elements modal featuring real-time card brand identification (VISA, Mastercard, AMEX, Discover, JCB) and custom billing country selection.
  3. Facebook-Style Floating Chat Dock: Real-time buyer-freelancer negotiation chat with inline escrow triggers ("Deposit Escrow", "Submit Deliverable", "Release Funds", "Open Dispute").
  4. Anti-Scam Dispute Engine & Super Admin Portal: Dynamic zero-code platform controls, real-time fee toggling (0% Free Launch Promo), and dispute freeze/refund/payout mechanisms.

How We Built It πŸ› οΈ

We architected EscrowPay with a cutting-edge, resilient stack focused on performance, aesthetics, and type safety:

  • Frontend & App Router: Built with Next.js 16 (React 19) using the App Router for server-side rendering, client hydration, and fluid UI transitions.
  • Styling & Aesthetics: Crafted with Tailwind CSS, featuring dark mode, glassmorphism UI elements, custom interactive country dropdowns, micro-animations, and dynamic visual badges.
  • Database & ORM:Powered by Prisma ORM for type-safe database access, managing User accounts (Buyers, Sellers, Admins), Jobs, Contracts, Escrow Vaults, Chat Conversations, Messages, and Disputes.
  • Payment & Escrow Engine: Integrated with Stripe PaymentIntents API and Stripe Connect for automated escrow holding, platform fee calculation, and freelancer split transfers.
  • Micro-Animations & Delighters: Integrated canvas-confetti celebrations upon successful escrow deposits and fund releases.

Challenges We Ran Into 🧠

  1. Seamless In-Chat Escrow Triggers: Designing a real-time floating chat dock that synchronizes contract states (NO_CONTRACT β†’ PENDING_PAYMENT β†’ FUNDED_ESCROW β†’ WORK_SUBMITTED β†’ DISPUTED β†’ COMPLETED) across both Buyer and Seller views without layout shifts.
  2. Cross-Browser Dropdown Compatibility:Overcoming browser native overlay clipping in dark mode modals by engineering a custom interactive React country dropdown component with flags and backdrop isolation.
  3. Mobile-First Responsive Layouts: Ensuring complex Stripe checkout grids, 3-column card input forms, and floating chat windows resize fluidly on small mobile viewports (320px–480px) without horizontal scrolling.

Accomplishments That We're Proud Of πŸ†

  • Pixel-Perfect Stripe Checkout UI: Built a production-grade checkout modal with real-time brand detection and PCI-DSS Level 1 security badges.
  • Zero-Code Dynamic Admin Configuration: Implemented a real-time admin portal that allows toggling 0% fee promotional tiers without redeploying code.
  • Rich Seeded Marketplace Feed:Populated the platform with 14+ realistic tech jobs spanning Web Development, Smart Contracts, UI/UX, AI, and Mobile Development.
  • End-to-End Escrow Lifecycle: Successfully tested the complete pipeline from job posting and card deposit to deliverable submission, dispute handling, and automated payout.

What We Learned πŸ“š

  • Advanced state machine patterns for multi-party escrow contracts.
  • Deep integration of Stripe PaymentIntents with custom transfer groups.
  • Designing responsive, high-converting UX components with micro-animations.

What's Next for EscrowPay

  • Automated Webhook Syncing: Expanding production webhook handlers for automated Stripe payout retries. -Multi-Currency Support: Supporting multi-currency conversion (EUR, GBP, BDT) dynamically.
  • AI Dispute Assistant: Integrating AI to analyze chat logs and project deliverables during dispute reviews.

Built With

Share this project:

Updates

Submission history