<?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: Dani Grant</title>
    <description>The latest articles on DEV Community by Dani Grant (@thedanigrant).</description>
    <link>https://dev.to/thedanigrant</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%2F2110255%2F35c02fc5-c86a-4fd9-bfe5-2f66916b7594.jpg</url>
      <title>DEV Community: Dani Grant</title>
      <link>https://dev.to/thedanigrant</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/thedanigrant"/>
    <language>en</language>
    <item>
      <title>Introducing The Valentines Day Debugger – AI debugging hints for your relationship problems</title>
      <dc:creator>Dani Grant</dc:creator>
      <pubDate>Fri, 14 Feb 2025 20:19:55 +0000</pubDate>
      <link>https://dev.to/jamdotdev/introducing-the-valentines-day-debugger-ai-debugging-hints-for-your-relationship-problems-32m4</link>
      <guid>https://dev.to/jamdotdev/introducing-the-valentines-day-debugger-ai-debugging-hints-for-your-relationship-problems-32m4</guid>
      <description>&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1890423272875196896-601" src="https://platform.twitter.com/embed/Tweet.html?id=1890423272875196896"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1890423272875196896-601');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1890423272875196896&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;Now you can capture all the debug details of your relationship problems. Diagnose &amp;amp; fix issues faster, complete with AI hints!&lt;/p&gt;

&lt;p&gt;Software engineers are telling us this is saving hours of their time.&lt;/p&gt;

&lt;p&gt;Let us give you a tour!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1-click send to friend chat&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg74fc0horx6w4pzd6q6q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg74fc0horx6w4pzd6q6q.png" width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Instant replay for critical moments&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzlk4d19uny8z2qqdn03q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzlk4d19uny8z2qqdn03q.png" width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI helpfully offers suggestions&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv8gb4r3fmhqeaq54kfej.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv8gb4r3fmhqeaq54kfej.png" width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We're just kidding, but we hope this made you smile! Happy Valentine's Day from your friends at Jam.dev 💜&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>jokes</category>
      <category>ai</category>
      <category>productivity</category>
    </item>
    <item>
      <title>We built an AI bug reporter with Gemini 2.0</title>
      <dc:creator>Dani Grant</dc:creator>
      <pubDate>Thu, 06 Feb 2025 16:04:49 +0000</pubDate>
      <link>https://dev.to/jamdotdev/we-built-an-ai-bug-reporter-with-gemini-20-1l4j</link>
      <guid>https://dev.to/jamdotdev/we-built-an-ai-bug-reporter-with-gemini-20-1l4j</guid>
      <description>&lt;p&gt;It’s insane that bug reporting is still done by hand. People are terrible at writing bug reports. That’s how you end up with hours of back-and-forth for a 5 min fix. "What browser?" “Is it still happening?”&lt;/p&gt;

&lt;p&gt;But this is a problem you can fix with tools. Humans are inherently error-prone when it comes to reporting bugs, but computers aren’t. Imagine a tool that plugs into devtools and grabs: session recording + network logs + error traces + AI that writes a summary and repro steps. &lt;/p&gt;

&lt;p&gt;A few years ago, we built a tool that captures all the information you’d get in a HAR file plus screen recording and packages it into a link for engineers. (Like a screen recorder plus DevTools). It’s called jam.dev and people use it to capture more than half a million bugs each month now (which we are really excited about!)&lt;/p&gt;

&lt;p&gt;Today we added an AI inside that analyzes all of the session data and errors/traces in the console and network logs and writes a concise description of the bug and lists out the exact repro steps, complete with timestamps mapped to the screen recording. It’s built with Gemini 2.0 which we used while in experimental mode. We chose Gemini because of Gemini’s native ability to process videos (which other LLMs don’t have).&lt;/p&gt;

&lt;p&gt;I’d love for you to try it out and let me know your thoughts. My email is &lt;a href="mailto:dani@jam.dev"&gt;dani@jam.dev&lt;/a&gt; and I hope to hear from you.&lt;/p&gt;

&lt;p&gt;Try it: &lt;a href="https://jam.dev/ai" rel="noopener noreferrer"&gt;jam.dev/ai&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Demo: &lt;a href="https://x.com/jamdotdev/status/1887523689518014891" rel="noopener noreferrer"&gt;https://x.com/jamdotdev/status/1887523689518014891&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I think people are going to have a large role in testing software for a long time (as long as humans are the users, humans need to be testers too), but what doesn’t need to be manually done is collecting debug information and writing it up into a ticket. Like Kasparov and Deep Blue, the strongest collab is human + computer paired together –– humans to their strengths, computers to theirs. &lt;/p&gt;

&lt;p&gt;By the way, we’re hiring engineers and working on building AI for debugging, de-duplication and auto-resolution and if these are problems that excite you, we’d love to chat: &lt;a href="https://jam.dev/careers" rel="noopener noreferrer"&gt;jam.dev/careers&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>startup</category>
    </item>
    <item>
      <title>9 lessons we learned building Jam in 2024</title>
      <dc:creator>Dani Grant</dc:creator>
      <pubDate>Thu, 02 Jan 2025 17:36:55 +0000</pubDate>
      <link>https://dev.to/jamdotdev/9-lessons-we-learned-building-jam-in-2024-1j0</link>
      <guid>https://dev.to/jamdotdev/9-lessons-we-learned-building-jam-in-2024-1j0</guid>
      <description>&lt;p&gt;Thank you for being a part of Jam this year! We crossed 6 million Jams, 170k users, shipped 31 new features and an entirely new Jam for your helpdesk, saved engineers 50+ years of debugging time (!) and got to meet 2,000 of you at a Jam meetup.&lt;/p&gt;

&lt;p&gt;Everyone who Jams is a builder trying to make some corner of the world better through software. Y'all are awesome.&lt;/p&gt;

&lt;p&gt;So, we wanted to end the year by sharing with you — builder to builder — 9 lessons we learned at Jam this year. And if you feel inspired, I'd love for you to let me know a lesson you learned building your product.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/KFOo0w2sk-M"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Small teams, high ownership&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This year we grew from 11 to 20 people, and split from one team into specialized pods. And… small teams with true ownership run faster and do more than I ever thought possible.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Quality requires engineering discipline&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It's a practice you have to keep. You don't just work on performance "this quarter". It's a mindset and a practice you stick to every day.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Getting over our process allergy&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When you're small, it's important to be allergic to process. But as you grow, a bit of process is needed so you can do more things than anyone can keep in their head. This year we added just a few templates, checklists and weekly reviews. At first I was resistant, but now can't imagine how else we could manage so many parallel projects going on at any given time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4 Treat everything as user experience&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Even if it's an email, it's still a user experience. It takes longer to craft everything when you think like that. But, you end up shipping things that you're excited for users to experience! And that's super fun.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Great dev teams do the boring things well&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Investing in the boring things unlocks you to move on to new problems. Docs, testing, deployment, infra. It's really boring to upgrade your servers, but all that investment means we get to go even faster now ("and sleep better" says the currently on-call engineer).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. 1 + 1 designers = 3 designers&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I used to worry that adding a second designer would slow us down, because instead of one person having all the context, they would need to coordinate. But actually, when we grew the design team, we were able to do even more because they had thought partners to think through our hardest design challenges. That was really cool to see.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. The simple version is better&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When in doubt, ship the simplest thing. The live Jam product today started as an internal project called "Simple Jam". The live Jam pricing started as an internal project called "Simple pricing". The simplest version is simply better.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8. Hire people who awe you&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Hire people who love what they do. Hire people who care so darn much, you can't help but smile when they share. The joy of building things happens in moments, day to day, week to week. The people you get to build with are everything.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9. Time moves really fast in a startup&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A lot of things change in a year. Things grow up quickly. Cherish the moments :)&lt;/p&gt;

&lt;p&gt;Now, onto 2025! Excited to continue the Jam journey with all of you. Thanks for being a part of it. Happy new year!&lt;/p&gt;

&lt;p&gt;💜, the Jam team:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F364z1ukk1jp473lek2p7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F364z1ukk1jp473lek2p7.png" alt="Image description" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>startup</category>
      <category>productivity</category>
      <category>devops</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Our ex-cloudflare team built a tool that extracts debug data from screen recordings</title>
      <dc:creator>Dani Grant</dc:creator>
      <pubDate>Mon, 25 Nov 2024 18:07:26 +0000</pubDate>
      <link>https://dev.to/jamdotdev/our-ex-cloudflare-team-built-a-tool-that-extracts-debug-data-from-screen-recordings-44ld</link>
      <guid>https://dev.to/jamdotdev/our-ex-cloudflare-team-built-a-tool-that-extracts-debug-data-from-screen-recordings-44ld</guid>
      <description>&lt;p&gt;Hey DEV Community! 4 years ago, an ex-Cloudflare team and I started building a product — trying to make bug reporting a lot less painful.&lt;/p&gt;

&lt;p&gt;Our tool is called &lt;a href="https://jam.dev" rel="noopener noreferrer"&gt;Jam&lt;/a&gt; and it makes it pretty much impossible to create vague bug reports (like I used to when I was a PM). It's really hard as a non-engineer to send useful debug info!&lt;/p&gt;

&lt;p&gt;If you care a lot, you'll take the time to include a screenshot or a screen recording of the bug. But, sometimes the important info is what's right outside the boundaries of the screenshot – or the developer needs to know what happened right before the video? Or needs to know some info like what account you're logged in with, and if there are any errors in the console, and you can't tell that from a screenshot or video.&lt;/p&gt;

&lt;p&gt;Debugging is the worst part of engineering - but it's not actually because of the fixing, it's all the back and forth required to reproduce &amp;amp; get to the debugging! This context gap should be filled by tools.&lt;/p&gt;

&lt;p&gt;Our goal was to make it really easy for people to log bugs in a format that gives developers all the context they need, right there in the bug report. &lt;/p&gt;

&lt;p&gt;We tried 7 different versions of Jam to solve this problem, until we landed on what it is today - a browser extension you click when you want to catch a bug.&lt;/p&gt;

&lt;p&gt;It's basically a screen recorder, except Jam auto-captures: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;console logs&lt;/li&gt;
&lt;li&gt;network requests&lt;/li&gt;
&lt;li&gt;repro steps&lt;/li&gt;
&lt;li&gt;session &amp;amp; user details&lt;/li&gt;
&lt;li&gt;device &amp;amp; OS&lt;/li&gt;
&lt;li&gt;backend logs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There's some extra debug tooling in there for websockets and graphql too (we love/hate graphql, but that's besides the point.)&lt;/p&gt;

&lt;p&gt;You can see an example of what the captured data looks like here: &lt;a href="https://jam.dev/c/96149346-3cb1-439a-b4d0-fed8181ea036" rel="noopener noreferrer"&gt;https://jam.dev/c/96149346-3cb1-439a-b4d0-fed8181ea036&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2 years into this version of Jam, our tool is used by over 150,000 people to fix more than 5 million bugs! That's really awesome, but there's so much more to do.&lt;/p&gt;

&lt;p&gt;We really want to build something that makes this part of the job suck less. So, I wanted to open up for discussion here and get your feedback.&lt;/p&gt;

&lt;p&gt;Jam is free to use forever (we've got a paid plan for companies who need it, but we will always keep a large free plan - after all, we learned to build products at Cloudflare).  &lt;/p&gt;

&lt;p&gt;I hope you'll check it out and let us know what you think: &lt;a href="https://jam.dev" rel="noopener noreferrer"&gt;https://jam.dev&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My email is &lt;a href="mailto:dani@jam.dev"&gt;dani@jam.dev&lt;/a&gt;, feel free to reach out anytime.&lt;/p&gt;

&lt;p&gt;By the way, we're hiring engineers and if making debugging a lot more efficient is a problem that excites you, we'd love to chat: &lt;a href="https://jam.dev/careers" rel="noopener noreferrer"&gt;jam.dev/careers&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>testing</category>
      <category>frontend</category>
      <category>startup</category>
    </item>
  </channel>
</rss>
