<?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: Arshak Ahamed</title>
    <description>The latest articles on DEV Community by Arshak Ahamed (@iamarshrx).</description>
    <link>https://dev.to/iamarshrx</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%2F3071231%2F4b701305-ff5d-400d-a12e-55bd1b6eb757.jpg</url>
      <title>DEV Community: Arshak Ahamed</title>
      <link>https://dev.to/iamarshrx</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/iamarshrx"/>
    <language>en</language>
    <item>
      <title>Six days to launch, then zero users</title>
      <dc:creator>Arshak Ahamed</dc:creator>
      <pubDate>Wed, 11 Nov 2026 09:11:18 +0000</pubDate>
      <link>https://dev.to/iamarshrx/six-days-to-launch-then-zero-users-31k</link>
      <guid>https://dev.to/iamarshrx/six-days-to-launch-then-zero-users-31k</guid>
      <description>&lt;p&gt;Our first commit went in on September 29. Six days later the site was live. Four days after launch, it still had zero users.&lt;/p&gt;

&lt;p&gt;This series is the build log of that site. It starts at the first commit and runs up to whatever we're fighting with this week. Expect the architecture choices, the bugs, the growth experiments and the money, including how little of it there is so far.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Tintly is
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://tintly.art" rel="noopener noreferrer"&gt;Tintly&lt;/a&gt; is a free coloring site. You pick a picture, tap a shape, and it fills with color. There's nothing to install, and you don't need an account to start or to save your progress. Most people use it on a phone.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkvuiz71d5pxh46xwf6xj.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkvuiz71d5pxh46xwf6xj.png" alt="Rainy Day Tea by the Window coloring page, colored example" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What it does today:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;About 300 pictures, from &lt;a href="https://tintly.art/coloring-pages/easy" rel="noopener noreferrer"&gt;easy ones with big shapes&lt;/a&gt; to detailed ones with a lot of small areas.&lt;/li&gt;
&lt;li&gt;Tap to fill, or paint with a brush. Undo works, and your progress saves in the browser as you go.&lt;/li&gt;
&lt;li&gt;Every free picture can also be printed as a PDF, on US Letter or A4.&lt;/li&gt;
&lt;li&gt;There's a new picture to color &lt;a href="https://tintly.art/today" rel="noopener noreferrer"&gt;every day&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;No ads.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Under the hood it's a .NET backend with two APIs, a Next.js site, Postgres, and a coloring editor drawn on a canvas. Each of those gets its own post.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two kinds of posts
&lt;/h2&gt;

&lt;p&gt;The posts alternate between two kinds.&lt;/p&gt;

&lt;p&gt;The origin episodes go in order. They cover why we built a website when the first plan was a mobile app, how the backend is laid out, why we swapped our auth provider on the second day, how a flat picture becomes shapes you can tap, and the launch.&lt;/p&gt;

&lt;p&gt;The field notes come from the daily work. Usually it's a number that looked wrong and what we did about it, including the fixes that didn't work.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we promise
&lt;/h2&gt;

&lt;p&gt;The numbers are real and come from our own analytics, with our own visits filtered out. Some of them are small. A few are embarrassing. Over four days in October, 389 people started coloring a picture and 10 finished one. That number gets its own post.&lt;/p&gt;

&lt;p&gt;When something went wrong because of a choice we made, we'll say it was our choice. We won't make up anecdotes or quotes. If we don't know why something happened yet, we'll say that too and come back to it when we do.&lt;/p&gt;

&lt;p&gt;There will be code where it helps, mostly C# and TypeScript, kept short enough to read on a phone.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who it's for
&lt;/h2&gt;

&lt;p&gt;Mostly developers and small teams building their own products. If you work in .NET or Next.js you'll recognize a lot of it. If you're running something on a very small budget and wondering whether the boring choices hold up, this is our answer, one post at a time.&lt;/p&gt;

&lt;h2&gt;
  
  
  How often
&lt;/h2&gt;

&lt;p&gt;A new post every week for the first month, then every two weeks after that. Follow us here to get them as they come out.&lt;/p&gt;

&lt;h2&gt;
  
  
  Coming up
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;We planned an app and built a website&lt;/li&gt;
&lt;li&gt;389 people started a picture. 10 finished.&lt;/li&gt;
&lt;li&gt;Free pages stay free&lt;/li&gt;
&lt;li&gt;Eight seconds on a phone&lt;/li&gt;
&lt;li&gt;Two front doors: a public API and an admin API&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The first one is about the day the plan changed.&lt;/p&gt;

</description>
      <category>buildinpublic</category>
      <category>webdev</category>
      <category>dotnet</category>
      <category>nextjs</category>
    </item>
    <item>
      <title>Auth0 vs Keycloak: What They Don’t Tell You (and When to Choose One Over the Other)</title>
      <dc:creator>Arshak Ahamed</dc:creator>
      <pubDate>Tue, 06 May 2025 07:28:30 +0000</pubDate>
      <link>https://dev.to/iamarshrx/auth0-vs-keycloak-what-they-dont-tell-you-and-when-to-choose-one-over-the-other-5en6</link>
      <guid>https://dev.to/iamarshrx/auth0-vs-keycloak-what-they-dont-tell-you-and-when-to-choose-one-over-the-other-5en6</guid>
      <description>&lt;h1&gt;
  
  
  Auth0 vs Keycloak: What They Don’t Tell You (and When to Choose One Over the Other)
&lt;/h1&gt;

&lt;p&gt;There’s no shortage of options when it comes to authentication — but let’s be honest: most of us end up Googling “auth for SaaS” and picking either &lt;strong&gt;Auth0&lt;/strong&gt; or &lt;strong&gt;Keycloak&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I’ve worked with both. And depending on where you're at in your product journey, &lt;em&gt;either one could be the right choice&lt;/em&gt; — or the wrong one.&lt;/p&gt;

&lt;p&gt;Let’s break it down, minus the fluff.&lt;/p&gt;




&lt;h2&gt;
  
  
  Auth0: Quick, Polished, Expensive
&lt;/h2&gt;

&lt;p&gt;Auth0 is perfect if:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You want &lt;strong&gt;zero setup&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;You need a &lt;strong&gt;hosted solution with docs and UI&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;You’re okay paying a premium for convenience&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Auth0 shines for early-stage teams who just want to move fast and not worry about token lifespans or identity providers.&lt;/p&gt;

&lt;p&gt;But here’s the catch:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You hit pricing walls fast
&lt;/li&gt;
&lt;li&gt;Social logins, RBAC, custom claims = $$$
&lt;/li&gt;
&lt;li&gt;Migrating away is painful
&lt;/li&gt;
&lt;li&gt;Limited flexibility (especially if you need something non-standard)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I’ve seen teams paying $800/month for Auth0 before hitting 10k users.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Keycloak: Free, Powerful, Intimidating
&lt;/h2&gt;

&lt;p&gt;Keycloak is great if:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You want &lt;strong&gt;full control and zero vendor lock-in&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;You’re building something that needs custom logic, SSO, or integrations&lt;/li&gt;
&lt;li&gt;You’re okay with getting your hands dirty&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Keycloak supports:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OIDC, SAML, LDAP&lt;/li&gt;
&lt;li&gt;Social logins&lt;/li&gt;
&lt;li&gt;Multi-tenant setups&lt;/li&gt;
&lt;li&gt;Role-based access&lt;/li&gt;
&lt;li&gt;User federation&lt;/li&gt;
&lt;li&gt;Custom login themes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But here’s the reality:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The UI is confusing if you’re new&lt;/li&gt;
&lt;li&gt;Docs are hit-or-miss&lt;/li&gt;
&lt;li&gt;Theming is ugly out of the box&lt;/li&gt;
&lt;li&gt;Upgrades can break things&lt;/li&gt;
&lt;li&gt;Kubernetes deployment takes effort&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  When to Choose Which
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Scenario&lt;/th&gt;
&lt;th&gt;Use Auth0&lt;/th&gt;
&lt;th&gt;Use Keycloak&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;MVP or early-stage SaaS&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Need it live in 1 day&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tight budget / no per-user billing&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SAML / LDAP / custom integrations&lt;/td&gt;
&lt;td&gt;⚠️&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Don’t want vendor lock-in&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Already using other open-source infra&lt;/td&gt;
&lt;td&gt;⚠️&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;:&lt;br&gt;&lt;br&gt;
Use Auth0 to move fast.&lt;br&gt;&lt;br&gt;
Use Keycloak if you want control, scale, and freedom — but are ready to invest a little time upfront (or get help).&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  If You’re Going With Keycloak…
&lt;/h2&gt;

&lt;p&gt;I help teams avoid the painful parts.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Migrations from Auth0/Okta&lt;/li&gt;
&lt;li&gt;Clean Keycloak installs (with branding, staging, docs)&lt;/li&gt;
&lt;li&gt;Setup for social logins, RBAC, SSO, and more&lt;/li&gt;
&lt;li&gt;Support &amp;amp; handover — no mystery config&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check out 👉 &lt;a href="https://pro.keycloakkit.com" rel="noopener noreferrer"&gt;https://pro.keycloakkit.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Or just DM me if you want to chat about your setup — no pressure at all.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>keycloak</category>
      <category>auth0</category>
      <category>sso</category>
    </item>
    <item>
      <title>OAuth is hard. So I built a playground that isn’t.</title>
      <dc:creator>Arshak Ahamed</dc:creator>
      <pubDate>Wed, 23 Apr 2025 09:03:32 +0000</pubDate>
      <link>https://dev.to/iamarshrx/oauth-is-hard-so-i-built-a-playground-that-isnt-5m0</link>
      <guid>https://dev.to/iamarshrx/oauth-is-hard-so-i-built-a-playground-that-isnt-5m0</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Ever spent 30 minutes setting up Keycloak…&lt;br&gt;&lt;br&gt;
Just to test a login button that takes 3 seconds?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Yeah, same.&lt;/p&gt;

&lt;p&gt;I got tired of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Spinning up Docker&lt;/li&gt;
&lt;li&gt;Configuring realms, users, roles, and clients&lt;/li&gt;
&lt;li&gt;Forgetting a redirect URI (again)&lt;/li&gt;
&lt;li&gt;Doing it all over tomorrow&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So I built &lt;strong&gt;&lt;a href="https://keycloakkit.com" rel="noopener noreferrer"&gt;KeycloakKit&lt;/a&gt;&lt;/strong&gt; — a one-click, disposable playground for testing auth flows &lt;strong&gt;without touching infrastructure&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  👨‍💻 Why I Built It
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;I wanted to test a login — not manage an identity platform
&lt;/li&gt;
&lt;li&gt;I wanted a realm in 5 seconds, not 5 terminals
&lt;/li&gt;
&lt;li&gt;I wanted to focus on shipping, not spinning up&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧪 What KeycloakKit Does
&lt;/h2&gt;

&lt;p&gt;✅ Spins up a ready-to-test Keycloak realm&lt;br&gt;&lt;br&gt;
✅ Comes preloaded with users, roles, clients&lt;br&gt;&lt;br&gt;
✅ JWT token viewer + copy support&lt;br&gt;&lt;br&gt;
✅ Export &lt;code&gt;realm.json&lt;/code&gt; or Docker config&lt;br&gt;&lt;br&gt;
✅ Resets every 24 hours&lt;br&gt;&lt;br&gt;
✅ No login required&lt;br&gt;&lt;br&gt;
✅ Free to use → &lt;a href="https://keycloakkit.com" rel="noopener noreferrer"&gt;https://keycloakkit.com&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🔥 Who It’s For
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Frontend devs building login screens
&lt;/li&gt;
&lt;li&gt;QA teams testing user access &amp;amp; tokens
&lt;/li&gt;
&lt;li&gt;Backend devs prototyping OAuth flows
&lt;/li&gt;
&lt;li&gt;Solo builders &amp;amp; SaaS founders validating MVPs
&lt;/li&gt;
&lt;li&gt;Anyone learning how real-world auth works — &lt;em&gt;without Docker&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🤯 What I Learned After Launch
&lt;/h2&gt;

&lt;p&gt;Posted it.&lt;br&gt;&lt;br&gt;
Got &lt;strong&gt;17K views&lt;/strong&gt;, &lt;strong&gt;0 comments&lt;/strong&gt;. Thought I flopped.&lt;/p&gt;

&lt;p&gt;Then came &lt;strong&gt;8 signups&lt;/strong&gt;. Silent.&lt;br&gt;&lt;br&gt;
Then a DM:  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“This is exactly what I needed. I’d pay for this.”&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now I know —  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🧠 &lt;strong&gt;Devs don’t always talk. But they test.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🧠 Your Turn
&lt;/h2&gt;

&lt;p&gt;If you’ve ever said:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“I just want to test this and move on.”&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This was made for you.&lt;/p&gt;

&lt;p&gt;Would love your thoughts:&lt;br&gt;&lt;br&gt;
What would make this a tool you’d use in every sprint?&lt;/p&gt;

&lt;p&gt;Let’s make &lt;strong&gt;auth testing suck less&lt;/strong&gt; — together.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>keycloak</category>
      <category>jwt</category>
    </item>
    <item>
      <title>🚀 Instantly Spin Up Keycloak Realms with KeycloakKit — No More Setup Hell</title>
      <dc:creator>Arshak Ahamed</dc:creator>
      <pubDate>Mon, 21 Apr 2025 11:16:44 +0000</pubDate>
      <link>https://dev.to/iamarshrx/instantly-spin-up-keycloak-realms-with-keycloakkit-no-more-setup-hell-2hhl</link>
      <guid>https://dev.to/iamarshrx/instantly-spin-up-keycloak-realms-with-keycloakkit-no-more-setup-hell-2hhl</guid>
      <description>&lt;p&gt;If you've ever worked with Keycloak, you know the pain:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Setting up a realm&lt;/li&gt;
&lt;li&gt;Adding clients&lt;/li&gt;
&lt;li&gt;Creating roles and users&lt;/li&gt;
&lt;li&gt;Exporting configs manually&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All just to &lt;strong&gt;test a simple OAuth flow&lt;/strong&gt;? 😩&lt;/p&gt;




&lt;h2&gt;
  
  
  I got tired of repeating the same setup...
&lt;/h2&gt;

&lt;p&gt;So I built &lt;a href="https://keycloakkit.com" rel="noopener noreferrer"&gt;&lt;strong&gt;KeycloakKit&lt;/strong&gt;&lt;/a&gt; — a playground that lets you:&lt;/p&gt;

&lt;p&gt;✅ Spin up a pre-configured Keycloak realm in seconds&lt;br&gt;&lt;br&gt;
✅ Includes users, roles, and clients&lt;br&gt;&lt;br&gt;
✅ Export &lt;code&gt;realm.json&lt;/code&gt; or Docker Compose&lt;br&gt;&lt;br&gt;
✅ Auto-resets every 24 hours&lt;br&gt;&lt;br&gt;
✅ No login required&lt;/p&gt;

&lt;p&gt;It's completely free, clean, and fast.&lt;/p&gt;




&lt;h3&gt;
  
  
  🛠 Built For Devs Who Just Want to Test Fast
&lt;/h3&gt;

&lt;p&gt;Whether you're:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Testing login flows
&lt;/li&gt;
&lt;li&gt;Prototyping integrations
&lt;/li&gt;
&lt;li&gt;Teaching OAuth to your team
&lt;/li&gt;
&lt;li&gt;Showing off in a demo&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;KeycloakKit saves you 30+ minutes — every time.&lt;/p&gt;




&lt;p&gt;🔗 Try it out here: &lt;a href="https://keycloakkit.com" rel="noopener noreferrer"&gt;https://keycloakkit.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And if you have feedback, I'd love to hear it in the comments 👇&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
