<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Aninda Mukherjee</title>
    <description>The latest articles on DEV Community by Aninda Mukherjee (@aninda_mukherjee_e383ec2e).</description>
    <link>https://dev.to/aninda_mukherjee_e383ec2e</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4174579%2F6ba55192-04fa-4cb9-ae6b-a5fd88acbf69.png</url>
      <title>DEV Community: Aninda Mukherjee</title>
      <link>https://dev.to/aninda_mukherjee_e383ec2e</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aninda_mukherjee_e383ec2e"/>
    <language>en</language>
    <item>
      <title>How I Built Contractors2Hire, and What Almost Broke It</title>
      <dc:creator>Aninda Mukherjee</dc:creator>
      <pubDate>Sat, 10 Oct 2026 04:53:36 +0000</pubDate>
      <link>https://dev.to/aninda_mukherjee_e383ec2e/how-i-built-contractors2hire-and-what-almost-broke-it-20hn</link>
      <guid>https://dev.to/aninda_mukherjee_e383ec2e/how-i-built-contractors2hire-and-what-almost-broke-it-20hn</guid>
      <description>&lt;p&gt;Every handyman I talked to had the same problem. They weren't short on skill. They were short on time. They were on a ladder or under a sink when the phone rang, and by the time they called back, the homeowner had hired someone else.&lt;br&gt;
That's why I built Contractors2Hire. It's a free marketplace where homeowners find local pros. It also offers an AI receptionist that answers a contractor's calls when they can't.&lt;br&gt;
I've spent more than 15 years as a performance engineer in fintech, insurance and healthcare. I thought building a marketplace would mostly be a scaling problem. It wasn't. Here's what I built and what I learned.&lt;br&gt;
Where it started&lt;br&gt;
&lt;a href="https://Contractors2Hire.com" rel="noopener noreferrer"&gt;https://Contractors2Hire.com&lt;/a&gt; began in late 2025 as a simple pre-launch landing page on AWS. I posted on Reddit to ask contractors and homeowners what frustrated them. I also studied how HomeAdvisor, Angi, Thumbtack and Yelp make money.&lt;br&gt;
The pattern was clear. Most platforms charge contractors per lead, whether or not the lead turns into a job. Contractors told me they hated paying for leads that went nowhere.&lt;br&gt;
So I made one decision early: the marketplace is free for everyone. Homeowners search for free. Contractors get listed for free. The only paid product is the AI receptionist, a tool that directly helps a contractor win more of the jobs they're already being called about.&lt;br&gt;
What I built.&lt;/p&gt;

&lt;p&gt;• The marketplace: A React front end on a set of Spring Boot microservices. They handle users, leads, matching, profiles, projects, messaging, reviews and email.&lt;br&gt;
• The infrastructure: AWS Lambda with SnapStart, SQS, RDS Postgres, DynamoDB, and S3 with CloudFront. It's built to stay cheap at low traffic and scale when it needs to.&lt;br&gt;
• The data: Instead of launching an empty marketplace, I built a pipeline that seeds real businesses from public licensing and business data. Contractors can claim and update their profiles.&lt;br&gt;
• The AI receptionist: Each contractor gets a dedicated phone number. They forward their business line to it when they're busy or after hours. A voice AI answers, learns what the customer needs, and books the appointment.&lt;br&gt;
The challenges&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The chicken-and-egg problem. A marketplace with no contractors gets no homeowners, and the reverse is true too. Seeding real, licensed businesses gave homeowners something useful from day one. It also gave contractors a reason to claim their profile.&lt;/li&gt;
&lt;li&gt;SEO for a single-page app. Google showed hundreds of my category pages as "Discovered – currently not indexed." The cause was embarrassing: every deep page had a canonical tag pointing back to the homepage. I'd basically told Google to ignore my own site. Fixing canonicals, meta tags and thin templated content was more important than any feature I shipped.&lt;/li&gt;
&lt;li&gt;Phone compliance. Sending texts from a business number in the US requires A2P 10DLC registration. My first registrations were rejected several times. I eventually restructured as a proper business profile, split transactional messages from marketing messages, and got approved. If you're building anything with SMS, start this process on day one.&lt;/li&gt;
&lt;li&gt;Build vs. buy for voice AI. As a backend engineer, I was tempted to build my own voice pipeline. I ran the numbers on cost per contractor and time to launch. Using an existing voice AI platform got me to market months sooner. I can revisit it once I have real usage data.&lt;/li&gt;
&lt;li&gt;Pricing something new. Voice minutes and text messages cost real money. I modeled the margins until I found a price a one-person handyman business can say yes to and that still keeps the lights on.
What I'd tell other founders
• Pick one thing to charge for, and make everything else free.
• Check your canonical tags before you write a single blog post.
• Start phone and SMS compliance before you write the code that depends on it.
• Talk to your users before you design your pricing. Contractors told me exactly what they hated paying for.
Try it
&lt;a href="https://Contractors2Hire.com" rel="noopener noreferrer"&gt;https://Contractors2Hire.com&lt;/a&gt; is live. If you're a homeowner, find a local pro for free. If you're a handyman or contractor, claim your free profile and try the AI receptionist. The regular price is $29/month, and the first 50 contractors who sign up get it for $19.99/month.
Visit contractors2hire.com to get started. I read every message, so tell me what you'd like to see next.&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>ai</category>
      <category>aws</category>
      <category>saas</category>
      <category>startup</category>
    </item>
  </channel>
</rss>
