CASE STUDY
Contrata.com: Home Services Marketplace Platform in the Dominican Republic
Custom marketplace development with Ruby on Rails for Contrata: customers book verified technicians and companies, providers compete for featured seats and pay a monthly plan, with AI search, an AI booking assistant and WhatsApp notifications.


- Client
- Contrata.com
- Industry
- Home services marketplace
- Country
- Dominican Republic
- In development since
- 2018
- Stack
- Ruby on Rails, Hotwire, PostgreSQL
- Services
- Marketplace development, monetization, payments, AI
Contrata.com is a home services marketplace in the Dominican Republic that connects customers with verified technicians, contractors and companies. DevLunch rebuilt and develops the platform with Ruby on Rails and Hotwire since 2018: Contrata AI search, customer bookings with an AI assistant, provider profiles and verification, featured seat auctions, provider subscriptions with Azul card payments and WhatsApp notifications.
THE ESSENCE
Customers Ask, Verified Pros Get Found
Contrata works two ways in every city. Customers ask for a service and the verified providers for it get the request. Other customers browse the directory, where the provider holding the featured seat is listed first and gets seen the most. Try both sides: ask as a customer, or win the featured seat as a provider and watch your profile views grow.
- 1Customer asks
- 2Verified pros notified
- 3A pro confirms
- 4Booked
- Running on its own
Tab A: click any city and pick a service to send a request. Tab B: bid for the featured seat, move your business to the top of the directory and watch your profile views grow. Leave it and it runs on its own.
The marketplace in numbers
- 2016
- Brand on the market since
- 5,000+
- Service providers
- 20,000+
- Users
- 45,000+
- Customer contacts to providers
- 32
- Provinces covered
- 60
- Seconds to find a verified provider
PROVIDER MONETIZATION
Featured Seat Auctions and Provider Subscriptions
Providers pay in two ways: a monthly plan to receive customer contacts, and featured seats (cupos) won in a live credit auction for each service and city. The seat holder is listed first in the directory for that service and city. Try the working replica below with sample data.
Featured seats
Seats put you first in the directory for the services and cities on your profile. Bid in the auction; if you are on top when it ends, the seat is yours. If you lose, your credits go back to your wallet.
- SantiagoElectricians00:00:40LLuz Total SRL40c
- SantiagoAir conditioning installation-Start with 20c
- La RomanaPlumbers-YYour businessYour seat expires in 1 month
Interactive replica with sample data. Bid on the Electricians seat, start a new auction, top up credits and report jobs in My plan. Auctions last 24 hours in the product; here they last 40 seconds.
Seat auctions per service and city
Providers bid credits for featured seats in the services and cities on their profile. Auctions last 24 hours and every bidder sees new bids live.
Automatic credit refunds
When another provider outbids you, your credits go back to your wallet right away, so only the winner pays for the seat.
Featured placement in the directory
The first position holder appears at the top of the directory for that service and city with the Destacado badge. Seats last one month.
Credit wallet with Azul
Providers top up credit packs by card through Azul and see their available balance on every auction screen.
Monthly provider subscription
The Suscripción + Contactos plan renews every month by saved card, with email receipts, failed payment notices and cancellation at the end of the cycle.
Levels and rewards
Four provider levels unlocked by reporting completed jobs, with rewards that grow at each level.
Marketplace for Customers and Providers
Customers search by service and location, compare verified providers and contact them or book directly. Providers get a public profile and tools to show their work and win new clients.
- Service search and category directory in Spanish
- Provider listings with verification badges, offers and certificates
- Provider profiles with galleries, achievements and reviews
- Customer reviews approved by the team
- Direct booking from any provider profile
- Ecos: a feed where providers post photos and videos of their work
- Offers store for services, products, contracts and equipment rentals
- Login with a WhatsApp or SMS code, Google or Apple

What Makes the Platform Different
AI booking assistant
Customers describe the job in a chat. The assistant collects the service, date, location and phone number, and staff can take over at any time.
Contrata AI search
Customers describe their problem in their own words and get the providers that fit the job, with a short summary of what other customers say about each one.
Manually verified providers
Providers submit their ID (cédula), business registration and legal documents, and the team approves each profile before it goes live.
WhatsApp first
Phone verification, login codes, new request alerts and payment notices go out over WhatsApp, the channel Dominican customers and technicians already use.
Requests that never get stuck
Providers get each request by WhatsApp and email. If one cannot take it, the request moves to another provider with its full context, so the customer never starts over.
Real time screens
Chats, bookings and seat auctions update live for everyone on the page, with no refresh.
Integrations
- Azul
- Card payments, saved cards, credits and subscriptions
- WhatsApp Business
- Request alerts, verification codes and payment notices
- Twilio
- SMS verification codes
- Google and Apple
- Sign in with Google and Sign in with Apple
- Push notifications
- Web push and mobile app alerts
- Postmark
- Transactional email and onboarding sequences
- Amazon S3
- Profile galleries, documents and media
Tech Stack
Backend
- Ruby on Rails
- PostgreSQL
- Sidekiq
- Redis
Frontend
- Hotwire (Turbo and Stimulus)
- Tailwind CSS
- ViewComponent
FAQ
Frequently asked questions
Contrata.com is a home services marketplace in the Dominican Republic. Customers describe what they need and get contacted by verified technicians, contractors and companies in their area.
Ruby on Rails with Hotwire (Turbo and Stimulus), PostgreSQL, Sidekiq, Redis and Tailwind CSS.
Providers pay a monthly plan to receive customer contacts and can bid credits for featured seats in each service and city. The seat winner is listed first in the directory for that service and city for one month.
A provider starts an auction for a service and city with credits. Other providers in that service and city can outbid it during 24 hours. Outbid providers get their credits back, and the top bid when the auction ends wins the seat.
Card payments, saved cards, credit top ups and subscription renewals run on Azul, the Dominican payment processor.
DevLunch builds custom two sided marketplaces, subscription billing, auctions and AI search with Ruby on Rails for companies in the Dominican Republic and the United States.
Build a Services Marketplace in the Dominican Republic
Free initial consultation. We reply within one business day.
Request a quote