<?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: Chad Dyar</title>
    <description>The latest articles on DEV Community by Chad Dyar (@chadtdyar).</description>
    <link>https://dev.to/chadtdyar</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3811599%2F0adb0b4b-5659-4c7c-8f09-49347539478f.jpg</url>
      <title>DEV Community: Chad Dyar</title>
      <link>https://dev.to/chadtdyar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/chadtdyar"/>
    <language>en</language>
    <item>
      <title>I Built a Pet Health App in Two Weeks Because My Notebook Failed Me</title>
      <dc:creator>Chad Dyar</dc:creator>
      <pubDate>Fri, 10 Apr 2026 19:00:44 +0000</pubDate>
      <link>https://dev.to/chadtdyar/i-built-a-pet-health-app-in-two-weeks-because-my-notebook-failed-me-2ac6</link>
      <guid>https://dev.to/chadtdyar/i-built-a-pet-health-app-in-two-weeks-because-my-notebook-failed-me-2ac6</guid>
      <description>&lt;h1&gt;
  
  
  I Built a Pet Health App in Two Weeks Because My Notebook Failed Me
&lt;/h1&gt;

&lt;p&gt;I was keeping a notebook to track health data for my three dogs.&lt;/p&gt;

&lt;p&gt;For about two weeks, it worked. Then I needed to find a pattern in Maya's energy levels and the notebook turned into a pile of inconsistent entries I couldn't read or share or filter in any useful way. That, combined with an incident where I took my mom's dog to the vet and couldn't answer a single question about her history, pushed me to just build the thing.&lt;/p&gt;

&lt;p&gt;Two weeks later, Pawformance was running in production. Here's how I built it and what I learned.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Stack
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Frontend:&lt;/strong&gt; Lovable&lt;br&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; Supabase (auth, database, real-time)&lt;br&gt;
&lt;strong&gt;Payments:&lt;/strong&gt; Stripe&lt;br&gt;
&lt;strong&gt;Analytics:&lt;/strong&gt; PostHog&lt;br&gt;
&lt;strong&gt;Error tracking:&lt;/strong&gt; Sentry&lt;br&gt;
&lt;strong&gt;Uptime monitoring:&lt;/strong&gt; BetterStack&lt;/p&gt;

&lt;p&gt;The Lovable and Supabase combination is what made the two-week timeline possible. Lovable handles UI scaffolding fast. Supabase removes the need to build auth, manage database infrastructure, or set up API layers from scratch. Together they let me stay focused on the data model and the product logic rather than the plumbing.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Data Model
&lt;/h2&gt;

&lt;p&gt;This took the most thought. Here's the core structure:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;users&lt;/strong&gt; (handled by Supabase auth)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;pets&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;id, user_id, name, species, breed, birthdate, weight, photo_url, created_at&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;health_events&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;id, pet_id, user_id, event_type (visit / symptom / observation), title, notes, date, created_at&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;medications&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;id, pet_id, user_id, name, dosage, frequency, start_date, end_date, notes, active&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;vaccinations&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;id, pet_id, user_id, vaccine_name, administered_date, next_due_date, administered_by&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;weight_logs&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;id, pet_id, user_id, weight_lbs, logged_at&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;activity_logs&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;id, pet_id, user_id, activity_type, duration_minutes, notes, logged_at&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything scopes to user_id and pet_id. Supabase Row Level Security policies enforce this at the database level so a user can only read and write their own records. For the multi-pet dashboard, queries join across pets where user_id matches. No duplication, just proper relational structure.&lt;/p&gt;

&lt;p&gt;The shareable vet report queries across all these tables for a given pet and generates a structured output. That was the original reason I started building. If I had had this when I took my mom's dog to the vet, I could have answered every question the vet asked.&lt;/p&gt;

&lt;h2&gt;
  
  
  Payments: Stripe and Three Tiers
&lt;/h2&gt;

&lt;p&gt;Three tiers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Free: single pet, core logging&lt;/li&gt;
&lt;li&gt;$3.99/mo: unlimited pets, medication reminders, vaccination scheduling&lt;/li&gt;
&lt;li&gt;$7.99/mo: everything in $3.99 plus AI symptom checker, shareable vet reports, weight trends, multi-pet dashboard&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Stripe Checkout handles the subscription flow. Supabase stores the subscription tier on the user record and the frontend gates features based on that value. The 14-day trial is set at the Stripe level so it applies automatically without extra logic on my end.&lt;/p&gt;

&lt;p&gt;The integration was straightforward. The main thing I'd do differently: build the billing portal link into the app earlier. I added it later than I should have and it created unnecessary friction for testing the upgrade flow.&lt;/p&gt;

&lt;h2&gt;
  
  
  Observability: PostHog, Sentry, BetterStack
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;PostHog&lt;/strong&gt; handles product analytics. I track key events: pet created, health event logged, report generated, upgrade initiated. With 8 users and 22 pageviews per week, the event volume is low, but the data is already showing me where people drop off in the onboarding flow.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sentry&lt;/strong&gt; catches errors in production. I integrated it early and it's caught a handful of things I wouldn't have found otherwise. One malformed date input that broke the weight chart. One edge case in the medication reminder logic where end_date being null caused a render error. Small things, but the kind that erode trust fast if they surface repeatedly to users.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;BetterStack&lt;/strong&gt; monitors uptime. Pawformance is not handling any level of traffic where downtime is a crisis, but the habit of monitoring matters. It also sends alerts if the Supabase instance or any external service dependency goes down.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Worked
&lt;/h2&gt;

&lt;p&gt;The Lovable and Supabase combination delivered on the two-week timeline. I was in production with auth, multi-pet support, full logging, and a working report before I'd spent a month on this.&lt;/p&gt;

&lt;p&gt;Row Level Security in Supabase is the right way to handle per-user data scoping. Setting it up at the database level means I don't have to trust that every query in the application code has the right filters. The policy enforces it regardless.&lt;/p&gt;

&lt;p&gt;PostHog session recordings have been more useful than I expected at this traffic level. Watching how the two or three active users actually move through the app told me things I couldn't have inferred from the event data alone.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'd Change
&lt;/h2&gt;

&lt;p&gt;The data model for health_events is a little too flat. I used a single event_type field to distinguish between vet visits, symptoms, and general observations. That worked fine until I wanted to add structured fields specific to vet visits (like vet name, clinic, and cost). I ended up adding those as optional columns on health_events, which is fine but not clean. I'd probably split this into separate tables for vet_visits and observations with a shared parent structure.&lt;/p&gt;

&lt;p&gt;I also built the free tier too generously in one specific way: the core logging experience is complete on free. That's intentional from a product philosophy standpoint, but it means the upgrade motivation is mostly about power users who have multiple pets or need the report. I'm comfortable with that trade-off, but I should have stress-tested the conversion logic before launch rather than after.&lt;/p&gt;

&lt;h2&gt;
  
  
  Current Numbers
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Users:&lt;/strong&gt; 8&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Revenue:&lt;/strong&gt; $0&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pageviews per week:&lt;/strong&gt; 22&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Months since launch:&lt;/strong&gt; several&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I built this and then essentially didn't promote it. The numbers reflect that. The app works, the infrastructure is solid, and I'm now actually starting to put it in front of people.&lt;/p&gt;

&lt;p&gt;If you're a dog owner who has ever tried to track health data in a notebook and watched that system fall apart, or if you've stood in a vet's exam room and realized you couldn't answer basic questions about your pet's history, the free tier is a good place to start.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://pawformance.app" rel="noopener noreferrer"&gt;pawformance.app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Happy to answer questions about any of the technical decisions in the comments. The Supabase RLS setup and the Stripe trial logic are the two things people usually want to dig into.&lt;/p&gt;

</description>
      <category>fullstack</category>
      <category>showdev</category>
      <category>sideprojects</category>
      <category>webdev</category>
    </item>
    <item>
      <title>The Vet Visit That Made My Side Project Real</title>
      <dc:creator>Chad Dyar</dc:creator>
      <pubDate>Tue, 07 Apr 2026 14:13:42 +0000</pubDate>
      <link>https://dev.to/chadtdyar/the-vet-visit-that-made-my-side-project-real-1gbp</link>
      <guid>https://dev.to/chadtdyar/the-vet-visit-that-made-my-side-project-real-1gbp</guid>
      <description>&lt;h1&gt;
  
  
  The Vet Visit That Made My Side Project Real
&lt;/h1&gt;

&lt;p&gt;I built PawFormance for three reasons: Wick, Maya Rudolph, and Benny Hartz. My corgi, my Australian Shepherd, and my other corgi, respectively.&lt;/p&gt;

&lt;p&gt;Like most side projects, it started with scratching my own itch. I had notebooks with scribbled dates, a Notes app full of "when did we last deworm?", scattered vet receipts, and that nagging feeling that I was forgetting something important about my dogs' health.&lt;/p&gt;

&lt;p&gt;So I did what developers do. I built something.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Technical Part (Spoiler: Not the Interesting Part)
&lt;/h2&gt;

&lt;p&gt;The stack was straightforward. Next.js for the frontend, Supabase for the backend, Vercel for hosting. Built a CRUD app for pet health records—vaccines, vet visits, medications, weight tracking. Added some charts because data visualization makes everything feel more legitimate.&lt;/p&gt;

&lt;p&gt;The build itself was unremarkable in the best way. Modern tooling is so good now that the actual construction of a pet health tracker is almost boring. Authentication? Solved. Database? Done. Responsive design? CSS Grid and Tailwind make it almost trivial.&lt;/p&gt;

&lt;p&gt;I finished the MVP in a few weekends. Deployed it. Used it myself for a couple months. Felt good about actually shipping something instead of letting it rot in a private repo like so many other projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Part I Didn't See Coming
&lt;/h2&gt;

&lt;p&gt;Three months after launch, Wick started limping.&lt;/p&gt;

&lt;p&gt;Not dramatically—just favoring his back left leg. At first I thought maybe he'd overdone it at the dog park. But it persisted. So I scheduled a vet appointment.&lt;/p&gt;

&lt;p&gt;This is where PawFormance stopped being a side project and became... something else.&lt;/p&gt;

&lt;p&gt;Sitting in the exam room, the vet asked when I first noticed the limp. I pulled up the app. I'd logged it four days ago, noting it was worse after walks. She asked about his weight trend. I had six months of weigh-ins charted. She asked when his last vaccination was and whether we'd had any recent medication changes. I had exact dates for everything.&lt;/p&gt;

&lt;p&gt;The appointment went from "let's figure out what's happening" to "let's treat what's happening" about fifteen minutes faster than usual.&lt;/p&gt;

&lt;p&gt;Wick's fine, by the way. Mild strain, some rest, good as new. But I sat in my car afterward and realized something I should have known but didn't really &lt;em&gt;feel&lt;/em&gt; until that moment:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The value of what you build reveals itself in the quiet moments, not at launch.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Learned Building for My Own Dogs
&lt;/h2&gt;

&lt;p&gt;When you're heads-down in code, you think about features. Edge cases. Performance optimization. Will the calendar component handle timezone differences? Should I add photo uploads? What about multi-pet households?&lt;/p&gt;

&lt;p&gt;What you don't think about is the relief of having your dog's entire health history in your pocket when you need it. You don't think about the subtle confidence boost of being able to answer your vet's questions with precision instead of "uh, maybe March? Or was it April?"&lt;/p&gt;

&lt;p&gt;You definitely don't think about how tracking your dog's weight over time will let you catch that gradual gain that indicates you've been a little too generous with the treats.&lt;/p&gt;

&lt;p&gt;The technical problems are solvable. The emotional impact is unpredictable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Still Just a CRUD App
&lt;/h2&gt;

&lt;p&gt;I haven't raised funding. I'm not scaling to millions of users. PawFormance is still fundamentally a database with a nice interface. But it's &lt;em&gt;useful&lt;/em&gt;. And it's used. Not just by me—other dog owners found it and started tracking their pets too.&lt;/p&gt;

&lt;p&gt;Some sent me emails about their own vet visits going smoother. One person thanked me because they finally had all their dog's information organized before an emergency trip to the animal hospital. That one made me tear up a little.&lt;/p&gt;

&lt;p&gt;This isn't a post about growth hacking or technical architecture. It's about the weird gap between shipping code and understanding what you actually built.&lt;/p&gt;

&lt;p&gt;The product worked the day I deployed it. But I didn't understand its value until Wick limped and the data was just... there.&lt;/p&gt;




&lt;p&gt;If you've got dogs (or cats, or both), and you've ever scrambled to remember dates during a vet visit: &lt;a href="https://pawformance.app" rel="noopener noreferrer"&gt;pawformance.app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Start Tracking Free&lt;/strong&gt; — because the data you'll need is always the data you forgot to write down.&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>showdev</category>
      <category>sideprojects</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Tags: saas, automation, indiehackers, productivity | I have a chronic illness that sometimes puts me on the couch for a full day</title>
      <dc:creator>Chad Dyar</dc:creator>
      <pubDate>Mon, 06 Apr 2026 14:01:53 +0000</pubDate>
      <link>https://dev.to/chadtdyar/tags-saas-automation-indiehackers-productivity-i-have-a-chronic-illness-that-sometimes-puts-4in9</link>
      <guid>https://dev.to/chadtdyar/tags-saas-automation-indiehackers-productivity-i-have-a-chronic-illness-that-sometimes-puts-4in9</guid>
      <description>&lt;p&gt;Tags: saas, automation, indiehackers, productivity | I have a chronic illness that sometimes puts me on the couch for a full day without warning. I also run a senior enablement role at a tech company, maintain six web apps, and have 17 published books. The math does not work unless some of the output runs without me. So in February, I spent two weeks building an autonomous content publishing system. The Problem: I was creating content for nine platforms every week: LinkedIn, Pinterest, Mastodon, Substack, Medium, Dev.to, IndieHackers, Quora, and my personal blog at chadtdyar.com. Each platform has different formatting, character limits, and audience expectations. I was spending 4-5 hours per week just reformatting the same ideas for different channels. The Architecture: Database is Supabase Postgres. A marketing_queue table stores every piece of content with fields for platform, day of week, body text, status, and source. Validation functions run on insert to catch formatting issues before they reach the publish queue. Content generation uses weekly batch sessions producing all nine platforms worth of content from a single story seed. I use Claude to help draft and adapt, but every story comes from real experience. Publishing pipeline: a scheduled task checks the queue daily and routes content to each platform. Short-form auto-approves. Long-form stays in review until I manually approve. Monitoring: PostHog tracks pageviews across all six apps and the blog. Sentry catches errors. What Worked: The Supabase validation layer is the unsung hero. Batching content from a single seed story keeps the week coherent across platforms. What I Would Do Differently: Start with fewer platforms. Build the review queue first. Invest in content validation earlier. The Result: The system published to 40 accounts on a day I could barely hold my phone. I am now building ContentForge at contentforgehq.com as a product version of this workflow. If you are building something similar, the key insight is: validate everything before it enters the queue, and never trust auto-publish without a safety layer.&lt;/p&gt;

</description>
      <category>automation</category>
      <category>productivity</category>
      <category>sideprojects</category>
      <category>socialmedia</category>
    </item>
    <item>
      <title>Life in a preacher's family taught me about living two lives. The Gospel Trilogy dives into the tension between faith and messy</title>
      <dc:creator>Chad Dyar</dc:creator>
      <pubDate>Sun, 05 Apr 2026 16:17:14 +0000</pubDate>
      <link>https://dev.to/chadtdyar/life-in-a-preachers-family-taught-me-about-living-two-lives-the-gospel-trilogy-dives-into-the-4jnm</link>
      <guid>https://dev.to/chadtdyar/life-in-a-preachers-family-taught-me-about-living-two-lives-the-gospel-trilogy-dives-into-the-4jnm</guid>
      <description>&lt;p&gt;Life in a preacher's family taught me about living two lives. The Gospel Trilogy dives into the tension between faith and messy reality. It's more than just a play; it's a conversation starter.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.chadtdyar.com/books/the-gospel-trilogy" rel="noopener noreferrer"&gt;https://www.chadtdyar.com/books/the-gospel-trilogy&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>I've managed engineering-adjacent teams for two decades. The pattern is always the same:</title>
      <dc:creator>Chad Dyar</dc:creator>
      <pubDate>Sun, 05 Apr 2026 16:17:13 +0000</pubDate>
      <link>https://dev.to/chadtdyar/ive-managed-engineering-adjacent-teams-for-two-decades-the-pattern-is-always-the-same-3j39</link>
      <guid>https://dev.to/chadtdyar/ive-managed-engineering-adjacent-teams-for-two-decades-the-pattern-is-always-the-same-3j39</guid>
      <description>&lt;p&gt;I've managed engineering-adjacent teams for two decades. The pattern is always the same:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;New hire is on fire. Shipping fast, volunteering for extra projects, staying late.&lt;/li&gt;
&lt;li&gt;Six months in, quality starts slipping. Not dramatically — just enough to notice.&lt;/li&gt;
&lt;li&gt;By month 12, they're either checked out or actively looking.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The problem isn't workload. It's that nobody taught them how to sustain.&lt;/p&gt;

&lt;p&gt;High performance isn't about doing more. It's about knowing what to protect. Your energy. Your focus. Your recovery time. The things that make the work good in the first place.&lt;/p&gt;

&lt;p&gt;I wrote a book about this called &lt;em&gt;Bring Your Best Self To Work&lt;/em&gt;. It's not a self-help book — it's a framework for people who are good at their jobs but keep running themselves into the ground.&lt;/p&gt;

&lt;p&gt;Chapters cover energy management, the myth of work-life balance (it's work-life integration), and how to have honest conversations with your manager about sustainability.&lt;/p&gt;

&lt;p&gt;If you've ever felt like you're performing well but paying too high a price for it, this might resonate.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>There's a weird overlap between sales conversations and code reviews. Both require you to:</title>
      <dc:creator>Chad Dyar</dc:creator>
      <pubDate>Sun, 05 Apr 2026 16:02:15 +0000</pubDate>
      <link>https://dev.to/chadtdyar/theres-a-weird-overlap-between-sales-conversations-and-code-reviews-both-require-you-to-123b</link>
      <guid>https://dev.to/chadtdyar/theres-a-weird-overlap-between-sales-conversations-and-code-reviews-both-require-you-to-123b</guid>
      <description>&lt;p&gt;There's a weird overlap between sales conversations and code reviews. Both require you to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Listen before you respond.&lt;/strong&gt; The worst code reviews are the ones where the reviewer skims and reacts. The best ones start with "help me understand why you went this direction."&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Separate the person from the problem.&lt;/strong&gt; "This code is wrong" vs. "I think there might be an edge case here" — same feedback, completely different outcome.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Ask questions that open doors.&lt;/strong&gt; "Have you considered X?" beats "You should do X" every time.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I wrote a book called &lt;em&gt;How to Talk to Humans&lt;/em&gt; aimed at salespeople, but developers keep telling me it changed how they run 1:1s and give feedback.&lt;/p&gt;

&lt;p&gt;The core idea: communication isn't a soft skill. It's the infrastructure everything else runs on.&lt;/p&gt;

&lt;p&gt;If you lead a team or work cross-functionally, the chapters on "strategic silence" and "the 3-second pause" might be worth your time.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>LinkedIn just announced they're deprioritizing "humblebrags" and promotional content in favor of authentic storytelling. The tim</title>
      <dc:creator>Chad Dyar</dc:creator>
      <pubDate>Sun, 05 Apr 2026 16:02:14 +0000</pubDate>
      <link>https://dev.to/chadtdyar/linkedin-just-announced-theyre-deprioritizing-humblebrags-and-promotional-content-in-favor-of-4h7e</link>
      <guid>https://dev.to/chadtdyar/linkedin-just-announced-theyre-deprioritizing-humblebrags-and-promotional-content-in-favor-of-4h7e</guid>
      <description>&lt;p&gt;LinkedIn just announced they're deprioritizing "humblebrags" and promotional content in favor of authentic storytelling. The timing is perfect, because sales leaders have been fighting this same battle internally for years.&lt;/p&gt;

&lt;p&gt;I've spent two decades in sales enablement, and the pattern is always the same. Someone creates a brilliant discovery call framework. It gets documented. Then it gets turned into a 47-slide deck with corporate messaging, compliance disclaimers, and exactly zero personality. By the time it reaches the sales floor, nobody uses it because it sounds like a robot wrote it for other robots.&lt;/p&gt;

&lt;p&gt;The best sales conversations I've ever heard sound nothing like the approved pitch deck. They sound like two people actually talking. One person asks a real question. The other person gives a real answer. Something unexpected happens. Both people learn something. That's the structure that converts.&lt;/p&gt;

&lt;p&gt;This is why I built the 4-Minute Yes And Call Brief. It's not another framework to memorize. It's a forcing function that makes you extract the actual story from a discovery call. What did the prospect say that surprised you? What did you learn about their world? What question would you ask differently next time?&lt;/p&gt;

&lt;p&gt;The "yes and" part comes from improv comedy. You can't plan the perfect call, but you can train yourself to notice what's actually happening and build on it. That's a skill. It requires practice. Most sales teams skip this step entirely and wonder why their onboarding takes six months.&lt;/p&gt;

&lt;p&gt;LinkedIn's algorithm change isn't really about algorithms. It's about what works when humans are deciding whether to keep reading or scroll past. Corporate humblebragging doesn't work because it's not interesting. Nobody cares that you're "thrilled to announce" something. They care if you learned something useful and can explain it without jargon.&lt;/p&gt;

&lt;p&gt;The same principle applies to discovery calls. Prospects don't want to hear your positioning statement. They want to know if you understand their actual problem and whether you've helped someone like them before. That requires you to have real conversations and remember what happened in them.&lt;/p&gt;

&lt;p&gt;The 4-Minute Yes And Call Brief trains that muscle. After every call, you take four minutes to write down what actually happened. Not what was supposed to happen. What did. Then your team has a library of real stories instead of theoretical ones.&lt;/p&gt;

&lt;p&gt;If you're building sales enablement tools or training programs right now, this is the shift worth paying attention to. The tools that win are the ones that help people sound like people.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>TITLE: Teaching Kids About Emotions with Dogs as Guides</title>
      <dc:creator>Chad Dyar</dc:creator>
      <pubDate>Sun, 05 Apr 2026 14:45:33 +0000</pubDate>
      <link>https://dev.to/chadtdyar/title-teaching-kids-about-emotions-with-dogs-as-guides-1ia9</link>
      <guid>https://dev.to/chadtdyar/title-teaching-kids-about-emotions-with-dogs-as-guides-1ia9</guid>
      <description>&lt;p&gt;TITLE: Teaching Kids About Emotions with Dogs as Guides&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Understanding Raw Emotions&lt;br&gt;
Kids experience emotions intensely and often can't articulate them. Recognizing this is the first step in helping them grow.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Role of "The Wiggles, the Woofs, and the Why"&lt;br&gt;
This book uses three dogs to teach kids about emotions. Wick, Maya, and Benny serve as guides, each embodying characteristics like calmness, joy, and persistence.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Building Emotional Awareness&lt;br&gt;
Through stories, kids can learn to ide&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>TITLE: How Dogs Teach Kids Self-Awareness: A Practical Insight</title>
      <dc:creator>Chad Dyar</dc:creator>
      <pubDate>Sat, 04 Apr 2026 16:12:26 +0000</pubDate>
      <link>https://dev.to/chadtdyar/title-how-dogs-teach-kids-self-awareness-a-practical-insight-59l7</link>
      <guid>https://dev.to/chadtdyar/title-how-dogs-teach-kids-self-awareness-a-practical-insight-59l7</guid>
      <description>&lt;p&gt;TITLE: How Dogs Teach Kids Self-Awareness: A Practical Insight&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;The Challenge of Self-Awareness: Kids struggle to understand their own actions. Dogs, with their simple, honest interactions, offer a unique way to teach this skill.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Role of Wick, Maya, and Benny: In "The Sparkle, the Snuggle, and the Song," these dogs aren't just characters. They're guides, showing kids the impact of their daily choices.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Practical Lessons from Play: The book uses playful scenarios to demonstrate how&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>My Stack for Building and Monitoring 6 Web Apps as a Solo Developer</title>
      <dc:creator>Chad Dyar</dc:creator>
      <pubDate>Sat, 28 Mar 2026 04:40:10 +0000</pubDate>
      <link>https://dev.to/chadtdyar/my-stack-for-building-and-monitoring-6-web-apps-as-a-solo-developer-2l22</link>
      <guid>https://dev.to/chadtdyar/my-stack-for-building-and-monitoring-6-web-apps-as-a-solo-developer-2l22</guid>
      <description>&lt;p&gt;I run six web apps as a solo developer with a day job. Here is the exact stack and how the pieces fit together.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hosting and deployment:&lt;/strong&gt; five apps are on Lovable (one-click deploy from their builder), one (ContentForge) is on Vercel. All use custom domains through Cloudflare for DNS and SSL.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Database:&lt;/strong&gt; Supabase (Postgres) for all six apps plus a central "command" project that holds cross-app analytics, book sales data, and the marketing engine.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Payments:&lt;/strong&gt; Stripe with tiered pricing on every app. Free tier, mid tier ($3.99-4.99/mo), premium tier ($7.99-9.99/mo). No paying customers yet, but the infrastructure is ready.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Analytics:&lt;/strong&gt; PostHog for product analytics across all six apps. One project, events tagged by app name. This lets me compare engagement across apps in a single dashboard.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Error tracking:&lt;/strong&gt; Sentry with one org and separate projects per app.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Uptime:&lt;/strong&gt; BetterStack monitors all six domains.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Email:&lt;/strong&gt; Resend for transactional email.&lt;/p&gt;

&lt;p&gt;The key architectural decision: one central Supabase project acts as the hub. It connects to each app's project through Supabase edge functions. This gives me a single place to query across all six apps, run marketing automation, and track portfolio-level metrics without logging into six different dashboards.&lt;/p&gt;

&lt;p&gt;Current numbers are small (364 total pageviews last month across all six apps), but the monitoring infrastructure scales. Every tool on this list either has a generous free tier or has a free tier that covers my current scale.&lt;/p&gt;

&lt;p&gt;The apps: contentforgehq.com, momentumfit.app, thehomegrown.app, getpillpal.app, pawformance.app, palettepro.design.&lt;/p&gt;

&lt;p&gt;Code and details at chadtdyar.com.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>supabase</category>
    </item>
    <item>
      <title>The Compounding Gap: What Happens When AI Stops Resetting Every Session</title>
      <dc:creator>Chad Dyar</dc:creator>
      <pubDate>Sat, 21 Mar 2026 17:22:07 +0000</pubDate>
      <link>https://dev.to/chadtdyar/the-compounding-gap-what-happens-when-ai-stops-resetting-every-session-3e9g</link>
      <guid>https://dev.to/chadtdyar/the-compounding-gap-what-happens-when-ai-stops-resetting-every-session-3e9g</guid>
      <description>&lt;p&gt;About a year ago I stopped treating AI as a tool I use and started treating it as infrastructure I build on.&lt;/p&gt;

&lt;p&gt;The difference sounds academic until you live inside it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the old model looked like
&lt;/h2&gt;

&lt;p&gt;Open a new chat. Explain who I am, what I'm working on, what my standards are. Get a draft. Close the tab. Next day, repeat. Every interaction was a cold start. The AI was a temp worker who showed up fresh every morning with no memory of yesterday.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the new model looks like
&lt;/h2&gt;

&lt;p&gt;Context persists. My AI systems know my writing voice, my active projects, my preferences for how I structure arguments and present data. When I sit down to work, I'm not onboarding a new assistant. I'm picking up where I left off.&lt;/p&gt;

&lt;p&gt;The shift didn't require exotic tooling. It required asking a different question. Instead of "can AI help with this task" I started asking "what would this workflow look like if AI were present at every layer?"&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the gap is now
&lt;/h2&gt;

&lt;p&gt;Most people I talk to are still in the old model. New chat, fresh context, isolated sessions. They're "using AI" the same way they were a year ago.&lt;/p&gt;

&lt;p&gt;The people who shifted to persistent systems six to twelve months ago are in a different category. Their outputs are compounding because every interaction builds on the last. The reset tax they used to pay every morning is gone.&lt;/p&gt;

&lt;p&gt;From the outside, both groups look the same. Both "use AI." But the outputs are diverging in ways that are increasingly hard to ignore.&lt;/p&gt;

&lt;h2&gt;
  
  
  The part nobody says out loud
&lt;/h2&gt;

&lt;p&gt;This gap will keep widening. The barrier to building persistent context is dropping every month. Memory systems, custom instructions, persistent agents, these are all getting more accessible. The people who start building now will catch up faster than early adopters did. The people who wait will be further behind than they expect.&lt;/p&gt;

&lt;p&gt;What I'd tell someone starting today: stop asking AI to help with tasks. Start asking what your entire workflow would look like if context never reset.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>buildinpublic</category>
      <category>career</category>
    </item>
    <item>
      <title>How a 15-Year Opera Career Became a Sales Training Framework (And How I'm Shipping It)</title>
      <dc:creator>Chad Dyar</dc:creator>
      <pubDate>Thu, 12 Mar 2026 12:53:45 +0000</pubDate>
      <link>https://dev.to/chadtdyar/how-a-15-year-opera-career-became-a-sales-training-framework-and-how-im-shipping-it-1097</link>
      <guid>https://dev.to/chadtdyar/how-a-15-year-opera-career-became-a-sales-training-framework-and-how-im-shipping-it-1097</guid>
      <description>&lt;p&gt;I did not expect my background in professional opera to become the core IP of a sales training book. But here we are.&lt;/p&gt;

&lt;p&gt;The through-line is ensemble performance. For fifteen years I sang with professional opera companies. The thing that separated great ensembles from competent ones had nothing to do with individual skill. It was whether the performers were building one shared story or several individual stories that happened to share a stage.&lt;/p&gt;

&lt;p&gt;When I moved into sales enablement, I kept watching the same pattern on account team calls. Skilled individual sellers showing up on the same Zoom window and telling different stories. The prospect could feel it. The deals slowed or died in ways that had nothing to do with the product or the price.&lt;/p&gt;

&lt;p&gt;The framework I built from this is in a book called Think on Your Feet, Land on Your Numbers. The core principle is "yes, and" from improv: you build on what your scene partner gives you instead of redirecting or correcting. Applied to sales, it means your team picks up the baton from each other on calls and tells one coherent story the prospect can follow.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I built the training module
&lt;/h2&gt;

&lt;p&gt;Three components, in the order teams should learn them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simulation first.&lt;/strong&gt; Before anyone reads anything, run call simulations where the only rule is that each person must acknowledge what the previous person said before adding their own content. "Building on what [teammate] just said..." is a legitimate bridge. Do this twice and the concept clicks faster than any written explanation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Call analysis second.&lt;/strong&gt; Pull recordings from real multi-person calls. Identify every moment where a team member failed to build on what the previous person offered. Call them "thread breaks." Count them per call. This creates a measurable baseline and surfaces specific moments to debrief.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pre-call brief third.&lt;/strong&gt; Four minutes, three questions, one shared destination before anyone dials in. This is the structural fix that makes the listening habit stick.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I'm distributing it
&lt;/h2&gt;

&lt;p&gt;ContentForge, which I also built and run. One core idea from the book goes in. Platform-specific content for eleven channels comes out. The blog post is the long-form anchor. Everything else adapts to format. I'm testing whether leading with the opera backstory outperforms leading with the sales principle. My bet is the personal story pulls harder. Early data this week will tell.&lt;/p&gt;

&lt;p&gt;The lesson I'd give builders creating training content: experiential first, conceptual second. Always. The teams that adopted the framework fastest did the simulations before they read a single page of the book.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>saas</category>
      <category>buildinpublic</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
