Build a SaaS widget for website - Phase 1

Posted 2 weeks ago

Only freelancers located in the U.S. may apply.U.S. located freelancers only

Summary

I need a full stack developer to build a simple web application called WriteTheDeal. The frontend design is already 100% complete — I have fully designed HTML files ready to hand over. You are building the backend and making everything functional. This is Phase 1 of a larger project — if this phase goes well, there is a strong chance of continued paid work for Phase 2 with additional features. Here is exactly what needs to be built: 1. An embeddable JavaScript widget that dealers paste on their website with one line of code. When a buyer clicks Make an Offer a modal opens with a form collecting the following information from the buyer: offer amount, first name, last name, email address, phone number, and card details via Stripe. 2. Payment intent question — the offer form must ask the buyer how they intend to pay for the vehicle, with three options presented as selectable buttons: Finance through the dealership, Cash, or Outside lending. This is a required field and must be completed before the offer can be submitted. The dealer must see this answer clearly displayed alongside the rest of the offer details in their dashboard. 3. Trade-in question — the offer form must ask the buyer “Do you have a trade-in?” with a Yes or No option. If the buyer selects Yes, the following additional fields must appear: Vin Number - Year, Make, Model, Trim, Mileage, and Condition. Condition must be a dropdown with exactly these three options: “Showroom condition,” “Good — some scratches here and there, may need new tires,” and “Poor — needs a lot of TLC.” All trade-in details must be clearly visible to the dealer in their dashboard alongside the rest of the offer. 4. Notes field — both the buyer and the dealer must be able to add a note at any point in the process. The buyer can add a note when submitting their original offer. The dealer can add a note when responding to an offer. All notes must be stored and visible in the full offer history so both sides can see the complete conversation thread at any time. 5. A Stripe integration using Stripe Connect — when a dealer accepts an offer, the $1,500 deposit must go directly into the dealer’s own connected bank account, not mine. I must never receive the buyer’s deposit money in my account at any point. I earn only a separate platform fee automatically deducted at the time of each transaction. The buyer’s card must be authorized but not charged at the time of offer submission — it is only captured when the dealer accepts. If the dealer declines, the hold must be released immediately and the buyer is never charged. 6. ADF/XML lead delivery — when a buyer submits an offer, the system must automatically send a correctly formatted ADF/XML lead email to the dealer’s CRM intake email address. This must work with all major automotive CRMs including VinSolutions, ELEAD, DealerSocket, DriveCentric, ProMax, and AutoRaptor. The lead email must include all offer details — offer amount, buyer contact info, payment intent, trade-in details, and any notes. 7. Instant dealer notifications — the moment a buyer submits an offer, the dealer must automatically receive both an email notification and a text message notification containing the buyer’s name, offer amount, and a direct link to view the full offer in their dashboard. Text messages must be sent using Twilio. 8. Dealer dashboard — a secure, password-protected login page where dealers can see all of their incoming offers. Each dealer must only ever see their own offers and their own buyers — no dealer should ever be able to see another dealer’s data. The dashboard must clearly display for each offer: buyer name, email, phone, offer amount, payment intent, trade-in details if applicable, notes, and the full offer history. Each offer must have three action buttons: Accept, Decline, and Counter Offer. 9. Counter-offer functionality — in addition to Accept and Decline, the dealer must be able to send a counter-offer back to the buyer with a revised amount and an optional note. The buyer must receive an email and text notification when a counter-offer is sent. The buyer must be able to accept the counter, decline it, or send their own counter back. This back-and-forth negotiation must be able to continue for multiple rounds until one side accepts or declines. Every round of the negotiation must be stored and visible in the offer history for both the buyer and the dealer. 10. Maximum discount threshold with automatic decline — each dealer must be able to set a maximum percentage off MSRP they are willing to consider, for example 5%. If a buyer submits an offer that falls below this threshold — meaning the discount requested is greater than the dealer’s set maximum — the system must automatically decline the offer immediately without the dealer needing to take any action. The buyer’s card must never be charged on an auto-declined offer. This threshold setting must be adjustable by the dealer at any time from their dashboard settings, and must be settable as both a store-wide default and on a per-vehicle basis. 11. Salesperson send-link tool — inside the dealer dashboard there must be a tool where a salesperson can enter a customer’s name, email, phone number, offer amount, and vehicle details, and the system generates a unique pre-filled link. When the customer opens this link the offer form loads with all their details already filled in — they only need to add their card to submit. The salesperson must be able to send this link via email or text directly from within the dashboard. 12. Admin panel for me — I need a completely separate and private admin login at a secure URL. From this panel I must be able to: add a new dealer by entering their basic info, automatically generate their unique dealer ID, automatically generate their dashboard login credentials, automatically generate the exact widget code snippet ready to send to their webmaster, and view all dealers and all offers across the entire platform. I must never need to contact the developer to add a new dealer after launch. 13. Individual dealer login accounts — each dealer must have their own unique username and password to access their dashboard. When they log in they must only see their own data. No dealer should ever be able to access or view another dealer’s offers, buyers, or settings. 14. Public website — I have a fully designed landing page and pricing page already built as HTML files. I need these deployed and made live at writethedeal.com as the public-facing marketing website for the product. 15. All accounts must be created under my ownership — please set up all hosting, database, Twilio, and any other third-party service accounts using my email address and my payment method from day one. Even though you will be handling the technical setup, I must own every account. I must be able to access, manage, and if necessary transfer every account without needing your involvement after the project is complete. Please use Node.js for backend and PostgreSQL for the database, deployed on Render or Railway. If you strongly prefer a different approach please explain why in your proposal, but I would like to stick with widely used tech so I can easily find another developer to maintain or update the product in the future if needed. Deliverables: — Fully working embeddable widget with all form fields described above — Payment intent question (finance with dealer, cash, or outside lending) — Trade-in question with year, make, model, trim, mileage, and condition dropdown — Notes field on every offer visible to both buyer and dealer — Stripe Connect integration with deposits going directly to dealer accounts — ADF/XML lead delivery to dealer CRM intake email — Email and SMS notifications to dealers via Twilio — Dealer dashboard with accept, decline, and counter-offer functionality — Full negotiation history stored and visible on every offer — Maximum discount threshold settings with automatic decline per dealer and per vehicle — Salesperson send-link tool with pre-filled customer links — Admin panel where I can add new dealers and generate widget codes myself — Individual dealer logins with complete data separation between dealers — Public marketing website deployed at writethedeal.com using my existing designs — All third-party accounts created under my ownership — Fully deployed and live on a real URL — A 20 minute Loom video walkthrough of the entire system — A simple plain-English document explaining how to add a new dealer from start to finish Timeline: 4 to 6 weeks Budget: $3000-$4000 fixed price for everything listed above, paid across 6 milestones Note on hiring: Before I hire anyone I will ask all candidates to explain in plain English how they would set up Stripe Connect so that the $1,500 deposit goes directly to the dealer’s bank account and never passes through my account. The clarity and accuracy of your answer to this question will be a significant factor in my hiring decision.

  • $3,500.00

    Fixed-price
  • Expert
    Experience Level
  • Remote Job
  • Complex project
    Project Type
Skills and Expertise
Mandatory skills
SaaS
XML
JavaScript
Stripe
Activity on this job
  • Proposals:5 to 10
  • Last viewed by client:5 days ago
  • Interviewing:
    4
  • Invites sent:
    5
  • Unanswered invites:
    0
About the client
Member since Jun 22, 2026
  • United States
    10:17 PM
  • Sales & Marketing
    Individual client

Explore similar jobs on Upwork

Software DeveloperHourly‐ Posted 8 months ago
ASP.NET MVC
Django
Python
AngularJS
JavaScript
jQuery
WordPress
Google Chrome Extension
React
CRM Development
Microsoft Dynamics 365
Microsoft Dynamics CRM
Microsoft Dynamics Development
Microsoft PowerApps
Single Sign-On
Three.js
JavaScript
WordPress
AR Plugin
WooCommerce
3D Modeling

How it works

  • Post a job icon
    Create your free profile
    Highlight your skills and experience, show your portfolio, and set your ideal pay rate.
  • Talent comes to you icon
    Work the way you want
    Apply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
  • Payment simplified icon
    Get paid securely
    From contract to payment, we help you work safely and get paid securely.
Want to get started? Create a profile

About Upwork

  • Rating is 4.9 out of 5.
    4.9/5
    (Average rating of clients by professionals)
  • G2 2021
    #1 freelance platform
  • 49,000+
    Signed contract every week
  • $2.3B
    Freelancers earned on Upwork in 2020

Find the best freelance jobs

Growing your career is as easy as creating a free profile and finding work like this that fits your skills.

Trusted by

  • Microsoft Logo
  • Airbnb Logo
  • Bissell Logo
  • GoDaddy Logo