<?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: ShipNano Dev</title>
    <description>The latest articles on DEV Community by ShipNano Dev (@shipnano_dev_a10911a28c21).</description>
    <link>https://dev.to/shipnano_dev_a10911a28c21</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%2F3976563%2Fb732aeaa-5b51-4dd2-b118-adda8a504989.png</url>
      <title>DEV Community: ShipNano Dev</title>
      <link>https://dev.to/shipnano_dev_a10911a28c21</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shipnano_dev_a10911a28c21"/>
    <language>en</language>
    <item>
      <title>I built 3 Chrome extensions for my developer workflow - here's what I learned shipping on weekends</title>
      <dc:creator>ShipNano Dev</dc:creator>
      <pubDate>Sat, 25 Jul 2026 10:28:39 +0000</pubDate>
      <link>https://dev.to/shipnano_dev_a10911a28c21/i-built-3-chrome-extensions-for-my-developer-workflow-heres-what-i-learned-shipping-on-weekends-45l8</link>
      <guid>https://dev.to/shipnano_dev_a10911a28c21/i-built-3-chrome-extensions-for-my-developer-workflow-heres-what-i-learned-shipping-on-weekends-45l8</guid>
      <description>&lt;p&gt;I've been a software engineer for a while and I kept noticing &lt;br&gt;
the same friction points in my daily workflow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pasting JSON into a random website to format it&lt;/li&gt;
&lt;li&gt;Copying JWT tokens into jwt.io every time I needed to debug auth&lt;/li&gt;
&lt;li&gt;Switching to charactercountonline.com to check if my LinkedIn 
post was too long&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are small problems. But small problems repeated 10 times &lt;br&gt;
a day add up. So I spent a few weekends building Chrome &lt;br&gt;
extensions to fix them.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;h3&gt;
  
  
  PayloadPeek
&lt;/h3&gt;

&lt;p&gt;A JSON formatter that actually does more than format. Paste any &lt;br&gt;
API response and you get:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A collapsible syntax-highlighted tree&lt;/li&gt;
&lt;li&gt;One-click TypeScript interface generation&lt;/li&gt;
&lt;li&gt;SQL schema inference (CREATE TABLE from your JSON structure)&lt;/li&gt;
&lt;li&gt;Ctrl+F search within the JSON&lt;/li&gt;
&lt;li&gt;Click any value to copy it&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The TypeScript generator was the feature I personally needed &lt;br&gt;
most. When you're working with unfamiliar APIs, writing &lt;br&gt;
interfaces by hand is tedious.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://chromewebstore.google.com/detail/payloadpeek/odmmffidacgmkpnhelbfnhgbeimjmnlf?authuser=3&amp;amp;hl=en" rel="noopener noreferrer"&gt;PayloadPeek on Chrome Web Store&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  BearerPeek
&lt;/h3&gt;

&lt;p&gt;A JWT decoder with a security analysis panel. Most JWT tools &lt;br&gt;
just decode - BearerPeek also flags:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Missing exp claim (token never expires)&lt;/li&gt;
&lt;li&gt;Missing aud claim (any service can accept the token)&lt;/li&gt;
&lt;li&gt;Algorithm set to "none"&lt;/li&gt;
&lt;li&gt;Expired tokens with exact time since expiry&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It also scans the current page for JWT-shaped strings &lt;br&gt;
automatically, so if you're in DevTools looking at a request, &lt;br&gt;
it pre-fills the token for you.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://chromewebstore.google.com/detail/bearerpeek/kbpdbaeagkcccfogjepmkfeldmhkjndj?authuser=3&amp;amp;hl=en" rel="noopener noreferrer"&gt;BearerPeek on Chrome Web Store&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  TextPeek
&lt;/h3&gt;

&lt;p&gt;Character and word counter with platform-aware limits. Select &lt;br&gt;
text on any webpage, right-click, and see instant counts &lt;br&gt;
without opening anything. Or paste into the popup and track &lt;br&gt;
against Twitter (280), LinkedIn Post (3000), Meta Description &lt;br&gt;
(160), YouTube Title (100), and more.&lt;/p&gt;

&lt;p&gt;The right-click selection feature is the one I use most - &lt;br&gt;
it's much faster than switching tabs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://chromewebstore.google.com/detail/textpeek-by-shipnano/jllgkfdaklepmkdjpojiibmgfgaoneee?authuser=3&amp;amp;hl=en" rel="noopener noreferrer"&gt;TextPeek on Chrome Web Store&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I learned shipping these
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;MV3 is strict about permissions.&lt;/strong&gt; Got rejected twice for &lt;br&gt;
requesting permissions I wasn't using (&lt;code&gt;tabs&lt;/code&gt;, &lt;code&gt;scripting&lt;/code&gt;) &lt;br&gt;
and once for loading highlight.js from a CDN. All JS must be &lt;br&gt;
bundled locally in MV3 - no external scripts allowed at all.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The first submission always gets rejected.&lt;/strong&gt; Don't be &lt;br&gt;
discouraged. The rejection emails are specific and actionable. &lt;br&gt;
Read them carefully and fix exactly what they say.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Building three small things is better than one big thing.&lt;/strong&gt; &lt;br&gt;
Each extension does one job well. This makes the Chrome Store &lt;br&gt;
listing clearer, the permission justifications simpler, and &lt;br&gt;
the user trust higher.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Local-only is a genuine differentiator.&lt;/strong&gt; "No data leaves &lt;br&gt;
your browser" is something developers actually care about, &lt;br&gt;
especially for JWT tokens and API responses that might contain &lt;br&gt;
sensitive data.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;p&gt;I'm building these under a brand called ShipNano - the idea &lt;br&gt;
is to keep shipping small focused tools.&lt;/p&gt;

&lt;p&gt;All feedback welcome - especially bugs and missing features.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built with Claude Code as a pair programmer, shipped on &lt;br&gt;
weekends alongside a full-time engineering job.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>sideprojects</category>
      <category>softwaredevelopment</category>
      <category>tools</category>
    </item>
  </channel>
</rss>
