<?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: Karthick Ajan G S</title>
    <description>The latest articles on DEV Community by Karthick Ajan G S (@karthick_ajan).</description>
    <link>https://dev.to/karthick_ajan</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%2F3864137%2F6f5cec43-a822-4939-908c-2c758730f023.png</url>
      <title>DEV Community: Karthick Ajan G S</title>
      <link>https://dev.to/karthick_ajan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/karthick_ajan"/>
    <language>en</language>
    <item>
      <title>Stop using external npm packages just to generate a UUID v4</title>
      <dc:creator>Karthick Ajan G S</dc:creator>
      <pubDate>Mon, 25 May 2026 06:25:00 +0000</pubDate>
      <link>https://dev.to/karthick_ajan/stop-using-external-npm-packages-just-to-generate-a-uuid-v4-493g</link>
      <guid>https://dev.to/karthick_ajan/stop-using-external-npm-packages-just-to-generate-a-uuid-v4-493g</guid>
      <description>&lt;p&gt;For years, the go-to move for generating a UUID in Node.js or the browser was installing the &lt;code&gt;uuid&lt;/code&gt; package. &lt;/p&gt;

&lt;p&gt;But if you are targeting modern environments, you can ditch the extra dependency entirely. Modern browsers and Node.js (19+) have native cryptographic support built right into the &lt;code&gt;crypto&lt;/code&gt; global module.&lt;/p&gt;

&lt;p&gt;Here is how you generate a cryptographically secure UUID v4 natively:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Native Web Crypto API (Runs in browser and modern Node.js)&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;uuid&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;crypto&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;randomUUID&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;uuid&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// e.g., "f81d4fae-7dec-11d0-a765-00a0c91e6bf6"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Why this matters for security&lt;br&gt;
Unlike old-school math-based pseudo-random generators (⁠Math.random()⁠), ⁠crypto.randomUUID()⁠ uses the underlying operating system's hardware-backed entropy. It's fast, secure, and doesn't bloat your production bundle.&lt;br&gt;
Need to generate UUIDs on the fly?&lt;br&gt;
If you just need a batch of secure keys for configuration files, database testing, or environment variables, stop pasting your requirements into third-party online generators that process data on backend servers.&lt;br&gt;
I built a completely offline, zero-server utility to generate these instantly in your browser:&lt;br&gt;
👉 &lt;a href="https://cipherkit.app/tools/uuid-generator/" rel="noopener noreferrer"&gt;Secure Browser UUID Generator&lt;/a&gt;&lt;br&gt;
It runs 100% client-side via the Web Crypto API, meaning your generated IDs never touch a network loop. Part of a larger privacy-first suite of tools at &lt;a href="https://cipherkit.app/" rel="noopener noreferrer"&gt;cipherkit.app&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>security</category>
      <category>privacy</category>
    </item>
    <item>
      <title>Anyone willing to join me ?</title>
      <dc:creator>Karthick Ajan G S</dc:creator>
      <pubDate>Sun, 12 Apr 2026 22:22:06 +0000</pubDate>
      <link>https://dev.to/karthick_ajan/anyone-willing-to-join-me--3ndl</link>
      <guid>https://dev.to/karthick_ajan/anyone-willing-to-join-me--3ndl</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/karthick_ajan/cipherkit-5h2i" class="crayons-story__hidden-navigation-link"&gt;CipherKit&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/karthick_ajan" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F3864137%2F6f5cec43-a822-4939-908c-2c758730f023.png" alt="karthick_ajan profile" class="crayons-avatar__image" width="96" height="96"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/karthick_ajan" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Karthick Ajan G S
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Karthick Ajan G S
                
              
              &lt;div id="story-author-preview-content-3461381" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/karthick_ajan" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F3864137%2F6f5cec43-a822-4939-908c-2c758730f023.png" class="crayons-avatar__image" alt="" width="96" height="96"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Karthick Ajan G S&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/karthick_ajan/cipherkit-5h2i" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Apr 6&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/karthick_ajan/cipherkit-5h2i" id="article-link-3461381"&gt;
          CipherKit
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag crayons-tag--filled  " href="/t/showdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;showdev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/webdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;webdev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/opensource"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;opensource&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/security"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;security&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/karthick_ajan/cipherkit-5h2i" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt; reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/karthick_ajan/cipherkit-5h2i#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              &lt;span class="hidden s:inline"&gt;Add Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            2 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>CipherKit</title>
      <dc:creator>Karthick Ajan G S</dc:creator>
      <pubDate>Mon, 06 Apr 2026 15:27:23 +0000</pubDate>
      <link>https://dev.to/karthick_ajan/cipherkit-5h2i</link>
      <guid>https://dev.to/karthick_ajan/cipherkit-5h2i</guid>
      <description>&lt;h1&gt;
  
  
  I built 77 free developer tools that run 100% in your browser (No tracking, no backend)
&lt;/h1&gt;

&lt;p&gt;Hey DEV community 👋&lt;/p&gt;

&lt;p&gt;If you are anything like me, you've probably had that moment of hesitation right before pasting a JWT, an AES key, or a proprietary JSON payload into a random online formatter. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Is this site logging my input? Is there a backend saving this?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I got tired of the paranoia, so I spent the last few months building &lt;strong&gt;CipherKit&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;[Live Site: &lt;a href="https://cipherkit.app/" rel="noopener noreferrer"&gt;https://cipherkit.app/&lt;/a&gt;)&lt;/strong&gt;&lt;br&gt;
👉 &lt;strong&gt;&lt;a href="https://github.com/karthickajan/cipherkit" rel="noopener noreferrer"&gt;GitHub Repo&lt;/a&gt;&lt;/strong&gt; &lt;em&gt;(I'd love a star if you find it useful!)&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  What is CipherKit?
&lt;/h3&gt;

&lt;p&gt;It is a unified suite of 77 developer utility tools. But the core rule of the project is simple: &lt;strong&gt;Everything must be 100% client-side.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There is no backend. There is no database. No login is required. The calculations, encryptions, and formatting happen entirely within your browser's memory using vanilla JS and the Web Crypto API. Your data never leaves your device.&lt;/p&gt;

&lt;h3&gt;
  
  
  What's inside the toolkit?
&lt;/h3&gt;

&lt;p&gt;I split the tools into 5 main hubs to keep things organized:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;🗝️ Crypto Hub:&lt;/strong&gt; AES Encryption/Decryption, SHA-256/512 Hashing, RSA Key Pairs, Bcrypt, JWT Builder, and TOTP generation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🔗 Encoding Hub:&lt;/strong&gt; Base64 (Standard &amp;amp; URL-safe), URL, HTML Entity, Hex, and Binary encoders/decoders.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🔄 Converter Hub:&lt;/strong&gt; Instant XML↔JSON, YAML↔JSON, CSV↔Excel, and Markdown↔PDF transformation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;💻 Dev Hub:&lt;/strong&gt; UUID Generator, interactive Regex Tester, Cron Expression Builder, SQL Formatter, and a professional-grade Text Diff &amp;amp; Merge workspace.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🖼️ Image Hub:&lt;/strong&gt; QR Code generation, SVG↔PNG conversion, multi-format Image Resizers, and color code utilities.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The Tech Stack
&lt;/h3&gt;

&lt;p&gt;To keep it fast and secure, it's built with pure HTML, CSS, and JS, and hosted for free on GitHub Pages. No heavy frameworks, just instant load times. &lt;/p&gt;

&lt;h3&gt;
  
  
  Feedback Welcome!
&lt;/h3&gt;

&lt;p&gt;Since this is built for developers, I would love to hear your thoughts. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What tools are missing from your daily workflow? &lt;/li&gt;
&lt;li&gt;Do you catch any edge cases in the crypto implementations? &lt;/li&gt;
&lt;li&gt;What would make you bookmark this?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Drop a comment below or open an issue on the repo!&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>webdev</category>
      <category>opensource</category>
      <category>security</category>
    </item>
  </channel>
</rss>
