<?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: Yashwardhan</title>
    <description>The latest articles on DEV Community by Yashwardhan (@isseikun9).</description>
    <link>https://dev.to/isseikun9</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%2F4028662%2F38c5f1fb-1a5e-4b38-ab37-93ba7b314635.png</url>
      <title>DEV Community: Yashwardhan</title>
      <link>https://dev.to/isseikun9</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/isseikun9"/>
    <language>en</language>
    <item>
      <title>How We Built a 67-Node AI Inside Sales Agent That Books Appointments While Contractors Sleep</title>
      <dc:creator>Yashwardhan</dc:creator>
      <pubDate>Sat, 08 Aug 2026 20:21:26 +0000</pubDate>
      <link>https://dev.to/isseikun9/how-we-built-a-67-node-ai-inside-sales-agent-that-books-appointments-while-contractors-sleep-288j</link>
      <guid>https://dev.to/isseikun9/how-we-built-a-67-node-ai-inside-sales-agent-that-books-appointments-while-contractors-sleep-288j</guid>
      <description>&lt;p&gt;Home service businesses — garage door repair, pest control, mobile detailing, moving companies — live and die by response speed. Industry data has shown for years that a lead contacted within 5 minutes converts dramatically better than one contacted an hour later. Most small contractors simply can't hit that window. They're on a roof, under a sink, or driving between jobs.&lt;/p&gt;

&lt;p&gt;So we built an AI Inside Sales Agent (ISA) to close that gap. Here's how it works under the hood.&lt;/p&gt;

&lt;h3&gt;
  
  
  The problem with "just add a chatbot"
&lt;/h3&gt;

&lt;p&gt;Most lead-response tools stop at "send an auto-reply." That's not enough. A real ISA needs to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Qualify the lead (budget, timeline, service type, location)&lt;/li&gt;
&lt;li&gt;Handle objections in natural language&lt;/li&gt;
&lt;li&gt;Check real calendar availability&lt;/li&gt;
&lt;li&gt;Book the appointment without double-booking&lt;/li&gt;
&lt;li&gt;Hand off cleanly to a human when the conversation goes off-script&lt;/li&gt;
&lt;li&gt;Log everything somewhere the business owner can actually see
That's a workflow problem, not a prompt problem.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The architecture
&lt;/h3&gt;

&lt;p&gt;We built this as a 67-node workflow in &lt;strong&gt;n8n&lt;/strong&gt;, orchestrated around:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GPT-4o-mini&lt;/strong&gt; for conversation and intent classification — cheap enough to run on every inbound message without blowing up margins&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Twilio&lt;/strong&gt; for SMS-based conversation (most homeowners won't download an app or use a web chat widget for a garage door quote)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Google Calendar API&lt;/strong&gt; for real-time availability checks and booking&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Google Sheets&lt;/strong&gt; as a lightweight CRM backbone — searchable, exportable, and something a non-technical business owner can actually open and understand&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Slack&lt;/strong&gt; for internal handoff alerts when a lead needs a human
The key design decision was keeping the qualification logic &lt;em&gt;outside&lt;/em&gt; the LLM prompt as much as possible — structured branching in n8n, with GPT-4o-mini handling only the parts that genuinely need natural language understanding (interpreting free-text replies, detecting objections, tone-matching). This keeps costs predictable and behavior debuggable, instead of relying on one giant system prompt to carry the entire conversation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Why this matters for contractors specifically
&lt;/h3&gt;

&lt;p&gt;Home service leads are unforgiving. A homeowner with a broken garage door is usually messaging 3-4 companies at once. Whoever responds first — and sounds competent doing it — tends to win the job. An ISA that replies in under a minute, asks the right qualifying questions, and books directly onto the calendar removes the single biggest leak in a contractor's funnel: the lag between "lead comes in" and "someone picks up the phone."&lt;/p&gt;

&lt;h3&gt;
  
  
  Lessons from building this
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Don't let the LLM own scheduling logic.&lt;/strong&gt; Calendar conflicts are a deterministic problem — hand them to code, not a language model.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Log every message, even failed ones.&lt;/strong&gt; The failure cases taught us more about real customer language than any amount of prompt engineering.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Build the human handoff path first, not last.&lt;/strong&gt; The fastest way to lose a contractor's trust is an AI that gets stuck in a loop with a live customer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Small models are enough for 90% of turns.&lt;/strong&gt; GPT-4o-mini handled almost everything; we reserved anything heavier for edge cases.
### Wrapping up&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you're building similar lead-response or scheduling automation — whether with n8n, LangChain, or a custom stack — I'd genuinely like to compare notes in the comments.&lt;/p&gt;

&lt;p&gt;We do this kind of build for home service contractors and real estate agents at &lt;strong&gt;&lt;a href="//xmelautomations.xyz"&gt;Xmel Automations&lt;/a&gt;&lt;/strong&gt; — feel free to check it out if you're working on something similar.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>automation</category>
      <category>realestate</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Why GoFr Deserves a Spot on Every Go Developer's Radar</title>
      <dc:creator>Yashwardhan</dc:creator>
      <pubDate>Tue, 14 Jul 2026 11:35:18 +0000</pubDate>
      <link>https://dev.to/isseikun9/why-gofr-deserves-a-spot-on-every-go-developers-radar-2pkk</link>
      <guid>https://dev.to/isseikun9/why-gofr-deserves-a-spot-on-every-go-developers-radar-2pkk</guid>
      <description>&lt;p&gt;Building microservices in Go is powerful, but it's rarely simple. You end up wiring together a router, a logger, a metrics exporter, a tracer, database drivers, a Pub/Sub client, and health checks — before you've written a single line of actual business logic. GoFr (gofr-dev/gofr), an open-source, opinionated Go framework, exists to remove exactly that friction. Backed by 21K+ GitHub stars, 1.8K forks, and a genuinely active release cadence (112 releases, with v1.57.0 shipped in June 2026), it has quietly become one of the more compelling "batteries-included" frameworks in the Go ecosystem — and it's even listed in the CNCF Landscape, which says a lot about its production-grade ambitions.&lt;br&gt;
&lt;strong&gt;1. It gets you from zero to running service in seconds&lt;/strong&gt;&lt;br&gt;
GoFr's core promise is simplicity. A working HTTP serv&lt;br&gt;
ice is genuinely this short:&lt;br&gt;
_package main&lt;/p&gt;

&lt;p&gt;import "gofr.dev/pkg/gofr"&lt;/p&gt;

&lt;p&gt;func main() {&lt;br&gt;
    app := gofr.New()&lt;br&gt;
    app.GET("/greet", func(ctx &lt;em&gt;gofr.Context) (any, error) {&lt;br&gt;
        return "Hello World!", nil&lt;br&gt;
    })&lt;br&gt;
    app.Run()&lt;br&gt;
}&lt;br&gt;
_&lt;br&gt;
No boilerplate router setup, no manual middleware chaining, no separate config loader. That low ceremony is a real advantage for solo developers and small teams who want to ship rather than assemble infrastructure.&lt;br&gt;
**2. Observability isn't bolted on — it's built in&lt;/em&gt;*&lt;br&gt;
This is arguably GoFr's biggest differentiator. Logs, traces, and metrics come out of the box, with OpenTelemetry support baked into the framework rather than left as an exercise for the developer. In most Go stacks, observability is the thing teams postpone until "later" (which often means "after the incident"). GoFr flips that by making it a default, not an add-on.&lt;br&gt;
&lt;strong&gt;3. It speaks Kubernetes and microservices fluently&lt;/strong&gt;&lt;br&gt;
GoFr is explicitly designed with Kubernetes deployment and microservice patterns as first-class citizens. It includes:&lt;br&gt;
Health checks for all connected datasources — critical for readiness/liveness probes&lt;br&gt;
Database migrations handled natively&lt;br&gt;
Circuit-breaker-enabled HTTP service calls, so one flaky downstream service doesn't cascade into an outage&lt;br&gt;
Pub/Sub support for event-driven architectures&lt;br&gt;
gRPC support alongside REST, so you're not locked into one communication style&lt;br&gt;
For anyone deploying to a cloud-native environment, this means fewer third-party libraries to evaluate, integrate, and keep version-compatible.&lt;br&gt;
&lt;strong&gt;4. Thoughtful developer-experience touches&lt;/strong&gt;&lt;br&gt;
Beyond the core architecture, GoFr includes details that show real production experience baked into the design:&lt;br&gt;
Remote log-level changes without restarting the service — genuinely useful for debugging live systems&lt;br&gt;
Auto-generated Swagger documentation&lt;br&gt;
Abstracted file systems for consistent file handling across environments&lt;br&gt;
WebSocket support for real-time features&lt;br&gt;
Cron job scheduling built into the framework itself&lt;br&gt;
These aren't flashy features, but they're the kind of thing that saves hours of "let me find a library for that" during real project work.&lt;br&gt;
&lt;strong&gt;5. It's genuinely community-driven and well-maintained&lt;/strong&gt;&lt;br&gt;
With nearly 5,000 commits, 79 open issues being actively triaged, and 45 open pull requests, GoFr shows the signs of a healthy, living project rather than an abandoned side experiment. It's Apache-2.0 licensed, has a clear CONTRIBUTING.md, a code of conduct, and even incentivizes contributions with merchandise — small things that reflect a maintainer team invested in community growth, not just code.&lt;br&gt;
&lt;strong&gt;Who benefits most from GoFr&lt;/strong&gt;&lt;br&gt;
Startups and solo builders who want production-grade defaults (observability, health checks, auth middleware) without assembling them manually&lt;br&gt;
Teams standardizing on Kubernetes who want a framework that treats cloud-native deployment as a default, not an afterthought&lt;br&gt;
Go developers tired of "framework sprawl" — juggling five different libraries for logging, tracing, migrations, and Pub/Sub&lt;br&gt;
&lt;strong&gt;The bottom line&lt;/strong&gt;&lt;br&gt;
GoFr isn't trying to be a minimal, unopinionated toolkit like the standard library — it's making a deliberate bet: that most microservice teams don't want to make a hundred small infrastructure decisions before writing business logic. By baking in observability, database support, auth, gRPC, and Kubernetes-friendly health checks, it lets developers focus on the part of the job that actually differentiates their product. For teams building microservices in Go, it's well worth a serious look.&lt;br&gt;
&lt;strong&gt;Repo&lt;/strong&gt;: github.com/gofr-dev/gofr · &lt;strong&gt;Docs&lt;/strong&gt;: gofr.dev/docs&lt;/p&gt;

</description>
      <category>go</category>
      <category>microservices</category>
      <category>opensource</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
