<?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: Puneet-Kumar2010</title>
    <description>The latest articles on DEV Community by Puneet-Kumar2010 (@puneetkumar2010).</description>
    <link>https://dev.to/puneetkumar2010</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%2F1064459%2F35766cba-ddfc-4ef6-aebb-39c79676bc62.png</url>
      <title>DEV Community: Puneet-Kumar2010</title>
      <link>https://dev.to/puneetkumar2010</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/puneetkumar2010"/>
    <language>en</language>
    <item>
      <title>Crowdwide Is Now Public for Testing 🚀</title>
      <dc:creator>Puneet-Kumar2010</dc:creator>
      <pubDate>Sun, 20 Sep 2026 04:34:27 +0000</pubDate>
      <link>https://dev.to/puneetkumar2010/crowdwide-is-now-public-for-testing-4nb5</link>
      <guid>https://dev.to/puneetkumar2010/crowdwide-is-now-public-for-testing-4nb5</guid>
      <description>&lt;p&gt;So yeah... &lt;strong&gt;Crowdwide is finally public.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I've been working on it for more than 15 days before the first deployment, and after a lot of debugging, fixing things, breaking things again, and dealing with some really annoying email errors, I finally got it to a point where I can let other people use it.&lt;/p&gt;

&lt;p&gt;The first public deployment was on &lt;strong&gt;September 9, 2026 at 11:13 AM (New Delhi time).&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;But it's still a &lt;strong&gt;test version&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Crowdwide?
&lt;/h2&gt;

&lt;p&gt;Crowdwide is a social platform where people can create their own communities.&lt;/p&gt;

&lt;p&gt;You can create a community and use it for things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Posts&lt;/li&gt;
&lt;li&gt;Articles&lt;/li&gt;
&lt;li&gt;Polls&lt;/li&gt;
&lt;li&gt;Comments and replies&lt;/li&gt;
&lt;li&gt;Media&lt;/li&gt;
&lt;li&gt;Moderation&lt;/li&gt;
&lt;li&gt;Community roles&lt;/li&gt;
&lt;li&gt;Guidelines&lt;/li&gt;
&lt;li&gt;And other community management stuff&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The main idea is that you don't just have a profile and post into one giant feed. You can actually create a place around a topic or interest and build a community there.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why am I building it?
&lt;/h2&gt;

&lt;p&gt;One thing I've been thinking about while building Crowdwide is &lt;strong&gt;how new users and communities get discovered&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;On many platforms, once a community or creator becomes big, they naturally get a lot more visibility.&lt;/p&gt;

&lt;p&gt;I wanted to experiment with something different.&lt;/p&gt;

&lt;p&gt;One of the ideas I'm working with is giving around &lt;strong&gt;35–40% of the feed's visibility to newer users and community content&lt;/strong&gt;, while the remaining part can contain established communities, other content, and things that are already getting attention.&lt;/p&gt;

&lt;p&gt;This isn't a fixed promise that every new user will get exactly 35–40% of impressions. It's more of a direction for how I want to experiment with the feed.&lt;/p&gt;

&lt;p&gt;And honestly, I don't know yet how well it'll work.&lt;/p&gt;

&lt;p&gt;That's one of the things I want to find out during testing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Now I need real people to use it
&lt;/h2&gt;

&lt;p&gt;Until now, most of the testing was basically me testing my own platform.&lt;/p&gt;

&lt;p&gt;And that's not enough.&lt;/p&gt;

&lt;p&gt;I can click through every feature and think everything works, but another person will use it completely differently and immediately find something I never noticed. 😭&lt;/p&gt;

&lt;p&gt;So during this test, I want people to actually:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create communities&lt;/li&gt;
&lt;li&gt;Join communities&lt;/li&gt;
&lt;li&gt;Make posts&lt;/li&gt;
&lt;li&gt;Write articles&lt;/li&gt;
&lt;li&gt;Create polls&lt;/li&gt;
&lt;li&gt;Comment&lt;/li&gt;
&lt;li&gt;Moderate communities&lt;/li&gt;
&lt;li&gt;Try different features&lt;/li&gt;
&lt;li&gt;And hopefully break something&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If something breaks, that's useful information for me.&lt;/p&gt;

&lt;h2&gt;
  
  
  What am I going to work on now?
&lt;/h2&gt;

&lt;p&gt;The public test is planned to continue until &lt;strong&gt;September 30, 2026&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;During this time, I'll mainly be working on things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🐛 Fixing bugs people find&lt;/li&gt;
&lt;li&gt;✉️ Improving the email system and its UI&lt;/li&gt;
&lt;li&gt;🎨 Improving the website UI&lt;/li&gt;
&lt;li&gt;📝 Improving the write-ups and information on the website&lt;/li&gt;
&lt;li&gt;📊 Showing proper real platform statistics&lt;/li&gt;
&lt;li&gt;⚡ Optimizing the site&lt;/li&gt;
&lt;li&gt;🎞️ Adding GIFs to comments and DMs&lt;/li&gt;
&lt;li&gt;💾 Extending the storage clusters&lt;/li&gt;
&lt;li&gt;📱 Making the site work even better on different devices&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The site is already responsive, but there's always something that can be improved.&lt;/p&gt;

&lt;h2&gt;
  
  
  The email problem...
&lt;/h2&gt;

&lt;p&gt;Probably one of the more annoying things I had to deal with recently was email.&lt;/p&gt;

&lt;p&gt;The website itself could be working, but then verification emails would fail.&lt;/p&gt;

&lt;p&gt;So I had to spend time figuring out what was actually wrong with the mail setup and getting it working properly.&lt;/p&gt;

&lt;p&gt;It's fixed now, thankfully. 😭&lt;/p&gt;

&lt;p&gt;And honestly, this is one of the reasons I want actual people testing the platform.&lt;/p&gt;

&lt;p&gt;There will always be things I haven't thought about.&lt;/p&gt;

&lt;h2&gt;
  
  
  What about monetization?
&lt;/h2&gt;

&lt;p&gt;Not yet.&lt;/p&gt;

&lt;p&gt;Monetization is something I want to work on later if Crowdwide gets enough users and communities.&lt;/p&gt;

&lt;p&gt;One of the things I'd like to eventually provide is monetization for communities/creators, especially people who are just starting out.&lt;/p&gt;

&lt;p&gt;But right now I'm not trying to rush into that.&lt;/p&gt;

&lt;p&gt;First I want to make the actual platform good.&lt;/p&gt;

&lt;h2&gt;
  
  
  What happens on September 30?
&lt;/h2&gt;

&lt;p&gt;This is important.&lt;/p&gt;

&lt;p&gt;The current version is a &lt;strong&gt;test version&lt;/strong&gt;, so the data created during the public test won't be kept forever.&lt;/p&gt;

&lt;p&gt;On &lt;strong&gt;September 30&lt;/strong&gt;, the plan is to delete the test data.&lt;/p&gt;

&lt;p&gt;After that, I'll start with a clean database and publish the &lt;strong&gt;stable version&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;So if you create an account or community during the test, just keep in mind that it's part of the testing phase.&lt;/p&gt;

&lt;h2&gt;
  
  
  So... want to test it?
&lt;/h2&gt;

&lt;p&gt;If you want to try it, it's here:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.crowdwide.run.place/" rel="noopener noreferrer"&gt;https://www.crowdwide.run.place/&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;&lt;a href="https://github.com/DeveloperPuneet/Crowdwide" rel="noopener noreferrer"&gt;https://github.com/DeveloperPuneet/Crowdwide&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Create a community.&lt;/p&gt;

&lt;p&gt;Make some posts.&lt;/p&gt;

&lt;p&gt;Try the features.&lt;/p&gt;

&lt;p&gt;And if you find something broken or something that just feels weird, let me know.&lt;/p&gt;

&lt;p&gt;Honestly, &lt;strong&gt;finding bugs is probably more useful to me right now than compliments.&lt;/strong&gt; 😂&lt;/p&gt;

&lt;p&gt;I've spent the last couple of weeks building Crowdwide.&lt;/p&gt;

&lt;p&gt;Now I want to see what happens when other people start using it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Public testing is officially on. 🚀&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Let's see how this goes.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>buildinpublic</category>
      <category>javascript</category>
      <category>discuss</category>
    </item>
    <item>
      <title>I’m Building Crowdwide — A Social Platform Where Smaller Communities Get a Chance</title>
      <dc:creator>Puneet-Kumar2010</dc:creator>
      <pubDate>Sun, 13 Sep 2026 15:50:51 +0000</pubDate>
      <link>https://dev.to/puneetkumar2010/im-building-crowdwide-a-social-platform-where-smaller-communities-get-a-chance-21i6</link>
      <guid>https://dev.to/puneetkumar2010/im-building-crowdwide-a-social-platform-where-smaller-communities-get-a-chance-21i6</guid>
      <description>&lt;h1&gt;
  
  
  So... What Actually Is Crowdwide? 🚀
&lt;/h1&gt;

&lt;p&gt;If you've been following my recent posts, you might have seen that &lt;strong&gt;Crowdwide just became the KODA ONLINE FEST Season 2 Champion&lt;/strong&gt;. 👑&lt;/p&gt;


&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/puneetkumar2010/crowdwide-just-became-a-koda-season-2-champion-4dem" class="crayons-story__hidden-navigation-link"&gt;🚀 Crowdwide Just Became a KODA Season 2 Champion 👑&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="/puneetkumar2010" 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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1064459%2F35766cba-ddfc-4ef6-aebb-39c79676bc62.png" alt="puneetkumar2010 profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/puneetkumar2010" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Puneet-Kumar2010
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Puneet-Kumar2010
                
                
              
              &lt;div id="story-author-preview-content-4644280" 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="/puneetkumar2010" 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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1064459%2F35766cba-ddfc-4ef6-aebb-39c79676bc62.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Puneet-Kumar2010&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/puneetkumar2010/crowdwide-just-became-a-koda-season-2-champion-4dem" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Sep 13&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/puneetkumar2010/crowdwide-just-became-a-koda-season-2-champion-4dem" id="article-link-4644280"&gt;
          🚀 Crowdwide Just Became a KODA Season 2 Champion 👑
        &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/hackathon"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;hackathon&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/buildinpublic"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;buildinpublic&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/puneetkumar2010/crowdwide-just-became-a-koda-season-2-champion-4dem" 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/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;20&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/puneetkumar2010/crowdwide-just-became-a-koda-season-2-champion-4dem#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              &lt;span class="hidden s:inline"&gt;Add&amp;nbsp;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;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


&lt;p&gt;But there's one thing I realized I never properly explained here:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What actually is Crowdwide?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I've mentioned it a lot.&lt;/p&gt;

&lt;p&gt;I've talked about winning KODA.&lt;/p&gt;

&lt;p&gt;I've talked about Harun being the first person to test it.&lt;/p&gt;

&lt;p&gt;I've talked about building it.&lt;/p&gt;

&lt;p&gt;But I've never really sat down and introduced the project itself.&lt;/p&gt;

&lt;p&gt;So... here we go.&lt;/p&gt;




&lt;h2&gt;
  
  
  🌐 Meet Crowdwide
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Crowdwide is a social media and community platform I'm building around one simple idea:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Smaller communities should have a chance to grow without needing to already be huge.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A lot of platforms naturally create a cycle where the communities that already have a massive audience get even more visibility.&lt;/p&gt;

&lt;p&gt;If a community already has thousands of members, it's easier for it to attract thousands more.&lt;/p&gt;

&lt;p&gt;But if you're starting with 10 people?&lt;/p&gt;

&lt;p&gt;You're fighting for attention against communities that already have thousands.&lt;/p&gt;

&lt;p&gt;I don't really like that.&lt;/p&gt;

&lt;p&gt;I don't want someone's reach or growth to come at the cost of everyone else being able to discover something new.&lt;/p&gt;

&lt;p&gt;That's one of the main reasons I'm building Crowdwide.&lt;/p&gt;




&lt;h2&gt;
  
  
  🎯 The Core Idea
&lt;/h2&gt;

&lt;p&gt;Crowdwide isn't supposed to be:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Build a community and hope someone discovers it."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I'm trying to build a platform where &lt;strong&gt;discovery itself is designed to give smaller communities a chance.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The goal is to create an ecosystem where a community doesn't need to already be massive to have an opportunity to reach new people.&lt;/p&gt;

&lt;p&gt;That doesn't mean every small community should automatically become popular.&lt;/p&gt;

&lt;p&gt;It means &lt;strong&gt;being small shouldn't automatically mean being invisible.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That's the distinction I'm trying to build around.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧩 It's More Than Just Communities
&lt;/h2&gt;

&lt;p&gt;Crowdwide isn't only a place to create a community.&lt;/p&gt;

&lt;p&gt;I'm trying to build a complete social platform around it.&lt;/p&gt;

&lt;p&gt;Some of the features I'm working on include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;👥 Communities&lt;/li&gt;
&lt;li&gt;🔒 Private communities&lt;/li&gt;
&lt;li&gt;📝 Posts&lt;/li&gt;
&lt;li&gt;📚 Articles&lt;/li&gt;
&lt;li&gt;💬 Group chats&lt;/li&gt;
&lt;li&gt;🛡️ Community moderation&lt;/li&gt;
&lt;li&gt;👤 User profiles&lt;/li&gt;
&lt;li&gt;🔍 Discovery&lt;/li&gt;
&lt;li&gt;📈 Community growth&lt;/li&gt;
&lt;li&gt;💰 Future monetization features&lt;/li&gt;
&lt;li&gt;🤖 Recommendation/algorithmic systems&lt;/li&gt;
&lt;li&gt;And a lot more that I'm still building&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The idea is that communities shouldn't have to leave the platform just because they want to do something different.&lt;/p&gt;

&lt;p&gt;You should be able to create a community, manage it, communicate with its members, publish content, and eventually grow it into something much bigger.&lt;/p&gt;




&lt;h2&gt;
  
  
  🏗️ It's Still Under Development
&lt;/h2&gt;

&lt;p&gt;And this is important.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Crowdwide is currently an alpha.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Very much an alpha. 😭&lt;/p&gt;

&lt;p&gt;I've built a huge amount of the UI and the platform structure, but there are still many things that aren't finished or properly connected.&lt;/p&gt;

&lt;p&gt;So if you visit the current version and think:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Wait... why can't I create an account?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's intentional.&lt;/p&gt;

&lt;h3&gt;
  
  
  ⚠️ Please don't try to create an account or expect your data to persist.
&lt;/h3&gt;

&lt;p&gt;The current deployment is primarily there for testing and development.&lt;/p&gt;

&lt;p&gt;The authentication/account system isn't ready for public use yet, and data may be cleared or not persist while I'm working on the application.&lt;/p&gt;

&lt;p&gt;I'd rather be transparent about that than pretend the platform is production-ready when it isn't.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔐 Security Is Something I'm Taking Seriously
&lt;/h2&gt;

&lt;p&gt;One thing I'm particularly interested in with Crowdwide is security.&lt;/p&gt;

&lt;p&gt;This isn't my first attempt at building a social platform.&lt;/p&gt;

&lt;p&gt;A previous social media project I built...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;didn't even survive a week.&lt;/strong&gt; 😂&lt;/p&gt;

&lt;p&gt;But honestly?&lt;/p&gt;

&lt;p&gt;That project taught me a lot.&lt;/p&gt;

&lt;p&gt;It showed me how many things you don't think about when you first start building a platform where users, accounts, communities, and content all interact with each other.&lt;/p&gt;

&lt;p&gt;That failure became a pretty useful lesson.&lt;/p&gt;

&lt;p&gt;So while building Crowdwide, I've been trying to take those lessons and apply them from the beginning.&lt;/p&gt;

&lt;p&gt;I've added a lot more security considerations and protections than I did in my earlier projects, and I'm continuing to learn and improve them as Crowdwide grows.&lt;/p&gt;

&lt;p&gt;I'm definitely not going to claim that I've somehow solved security forever.&lt;/p&gt;

&lt;p&gt;I haven't.&lt;/p&gt;

&lt;p&gt;But I'm much more conscious of it now.&lt;/p&gt;

&lt;p&gt;And that's probably one of the biggest differences between the projects I used to build and Crowdwide.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 Why I'm Building It
&lt;/h2&gt;

&lt;p&gt;The technical side is fun.&lt;/p&gt;

&lt;p&gt;Building the UI is fun.&lt;/p&gt;

&lt;p&gt;Writing the backend is fun.&lt;/p&gt;

&lt;p&gt;Figuring out how different systems connect is fun.&lt;/p&gt;

&lt;p&gt;But the main reason I'm building Crowdwide is the idea behind it.&lt;/p&gt;

&lt;p&gt;I want to experiment with what a community platform could look like if &lt;strong&gt;discovery wasn't completely dominated by existing size.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;What happens if a small community actually gets opportunities to be discovered?&lt;/p&gt;

&lt;p&gt;What happens if people can find interesting communities before they've already become huge?&lt;/p&gt;

&lt;p&gt;What happens if growth isn't simply:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;big → bigger → biggest&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;but instead there's actually room for:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;small → discovered → growing&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's the experiment.&lt;/p&gt;

&lt;p&gt;And Crowdwide is my attempt at building it.&lt;/p&gt;




&lt;h2&gt;
  
  
  🏆 Then Somehow... It Became a Champion
&lt;/h2&gt;

&lt;p&gt;The funny part is that I originally wasn't even planning to enter Crowdwide into a contest.&lt;/p&gt;

&lt;p&gt;I had only hosted it for testing.&lt;/p&gt;

&lt;p&gt;Then &lt;strong&gt;Harun&lt;/strong&gt; found it, became the first person to test it, reported bugs, and suggested that I submit it to the KODA Code Jam.&lt;/p&gt;

&lt;p&gt;I submitted the alpha.&lt;/p&gt;

&lt;p&gt;And later, I found Crowdwide sitting in the &lt;strong&gt;KODA Hall of Champions as the Season 2 Champion.&lt;/strong&gt; 👑&lt;/p&gt;

&lt;p&gt;You can read the full story here:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://dev.to/puneetkumar2010/crowdwide-just-became-a-koda-season-2-champion-4dem"&gt;Crowdwide Just Became a KODA Season 2 Champion 👑&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Harun also wrote about Crowdwide being the first submission to the KODA Code Jam, which was pretty crazy to see:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://dev.to/koda2026/the-first-legend-has-entered-the-arena-crowdwide-just-submitted-to-the-koda-code-jam-2o61"&gt;The First Legend Has Entered the Arena: CrowdWide Just Submitted to the KODA Code Jam&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And honestly, that whole sequence of events still feels a little unreal.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚧 What's Next?
&lt;/h2&gt;

&lt;p&gt;The championship was cool.&lt;/p&gt;

&lt;p&gt;Really cool.&lt;/p&gt;

&lt;p&gt;But Crowdwide is nowhere near finished.&lt;/p&gt;

&lt;p&gt;There's still a massive amount of development ahead.&lt;/p&gt;

&lt;p&gt;I want to finish the core systems, properly implement authentication, improve security, build out moderation, finish the community experience, develop the discovery algorithm, work on monetization, and eventually make the platform something people can actually use reliably.&lt;/p&gt;

&lt;p&gt;Right now, I'm still in the stage of:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Build → Break → Learn → Fix → Repeat.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And that's okay.&lt;/p&gt;

&lt;p&gt;I'd rather build it properly than rush it just because someone gave it a title.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 So That's Crowdwide
&lt;/h2&gt;

&lt;p&gt;It's not another finished social network claiming to have everything figured out.&lt;/p&gt;

&lt;p&gt;It's an experiment.&lt;/p&gt;

&lt;p&gt;It's a massive project I'm building because I think there's an interesting problem worth exploring:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Can a social platform give smaller communities a real opportunity to be discovered without requiring them to already have an audience?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I don't know exactly where Crowdwide will end up.&lt;/p&gt;

&lt;p&gt;But I'm going to find out.&lt;/p&gt;

&lt;p&gt;For now, it's still under development.&lt;/p&gt;

&lt;p&gt;And if you visit the alpha, &lt;strong&gt;please don't create an account yet.&lt;/strong&gt; 😭&lt;/p&gt;

&lt;p&gt;I'll let you know when it's actually ready for people to start using it properly.&lt;/p&gt;

&lt;p&gt;Until then...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I'm still cooking. 👨‍🍳🔥&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  👑 Crowdwide
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Community &amp;amp; Social Platform&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Build your community. Grow it. Manage it. Eventually monetize it.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;But don't let size decide who gets discovered.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>community</category>
      <category>showdev</category>
      <category>javascript</category>
    </item>
    <item>
      <title>🚀 Crowdwide Just Became a KODA Season 2 Champion 👑</title>
      <dc:creator>Puneet-Kumar2010</dc:creator>
      <pubDate>Sun, 13 Sep 2026 15:34:20 +0000</pubDate>
      <link>https://dev.to/puneetkumar2010/crowdwide-just-became-a-koda-season-2-champion-4dem</link>
      <guid>https://dev.to/puneetkumar2010/crowdwide-just-became-a-koda-season-2-champion-4dem</guid>
      <description>&lt;p&gt;Honestly, I didn't expect this at all.&lt;/p&gt;

&lt;p&gt;Around 4–5 days ago, I hosted &lt;strong&gt;Crowdwide&lt;/strong&gt; mainly for testing.&lt;br&gt;
It wasn't something I was actively promoting, and I definitely wasn't thinking about entering it into any contest.&lt;/p&gt;

&lt;p&gt;Then &lt;a class="mentioned-user" href="https://dev.to/koda2026"&gt;@koda2026&lt;/a&gt; found it on DEV.to.&lt;/p&gt;

&lt;p&gt;He became the first person to actually try out Crowdwide and even reported some bugs he found while testing it.&lt;/p&gt;

&lt;p&gt;And yes — some of those bugs were completely expected because the application wasn't actually ready for public account creation yet. 😭&lt;/p&gt;

&lt;p&gt;At that point, I still hadn't completed the proper authentication and credentials flow. I was using &lt;strong&gt;Postman&lt;/strong&gt; to test the backend requests while continuing to build the actual platform.&lt;/p&gt;

&lt;p&gt;Then Harun suggested something I honestly hadn't considered:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"You should submit Crowdwide to KODA ONLINE FEST."&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So... I did.&lt;/p&gt;

&lt;p&gt;I wasn't expecting much from it.&lt;/p&gt;




&lt;h2&gt;
  
  
  🏆 And Then This Happened...
&lt;/h2&gt;

&lt;p&gt;I checked the results and went to the &lt;strong&gt;Hall of Champions&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And there it was:&lt;/p&gt;

&lt;h2&gt;
  
  
  👑 Crowdwide — S2 Champion
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Season 2 ChampionCrowned&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Crowdwide — Community &amp;amp; Social Platform&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The description says:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Build your community, grow it, manage it, and monetize it—with an algorithm that doesn’t let only the biggest communities win. 🚀&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I genuinely just stared at the screen for a moment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I WON. 😭🔥&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A project that I had only recently put online for testing somehow ended up becoming the &lt;strong&gt;KODA ONLINE FEST Season 2 Champion&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🛠️ But Crowdwide Isn't Finished Yet
&lt;/h2&gt;

&lt;p&gt;This is probably what makes this achievement even more interesting to me.&lt;/p&gt;

&lt;p&gt;Crowdwide is a &lt;strong&gt;massive project&lt;/strong&gt;, and although I've already built a huge part of the UI and the overall platform structure, there is still a lot left to do.&lt;/p&gt;

&lt;p&gt;Authentication, backend systems, testing, moderation, community features, monetization, and many other parts still need to be completed and properly connected.&lt;/p&gt;

&lt;p&gt;So I don't see this award as the finish line.&lt;/p&gt;

&lt;p&gt;I see it as motivation to actually finish what I started.&lt;/p&gt;

&lt;p&gt;Right now, Crowdwide is still a work in progress.&lt;br&gt;
But knowing that the idea and the work I've already put into it were enough to earn a championship gives me even more reason to keep building.&lt;/p&gt;




&lt;h2&gt;
  
  
  👊 A Special Thanks to Harun
&lt;/h2&gt;

&lt;p&gt;I especially want to thank &lt;strong&gt;Harun&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;He was the first person to actually test Crowdwide, report bugs, and then suggest that I submit it to KODA.&lt;/p&gt;

&lt;p&gt;If he hadn't suggested it, I probably wouldn't have entered the contest in the first place.&lt;/p&gt;

&lt;p&gt;So seriously, &lt;strong&gt;thank you Harun. 👊&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I'll definitely remember this when Crowdwide is finally complete.&lt;/p&gt;




&lt;h2&gt;
  
  
  👑 Champion Status Forever
&lt;/h2&gt;

&lt;p&gt;And apparently, KODA gives me:&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%2Fjo7xge0mp0sy2pdwmyvd.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%2Fjo7xge0mp0sy2pdwmyvd.png" alt=" " width="800" height="311"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  👑 Champion Status Forever
&lt;/h2&gt;

&lt;p&gt;That's something I absolutely didn't expect when I first hosted Crowdwide just for testing.&lt;/p&gt;

&lt;p&gt;It's a pretty crazy feeling seeing a project that is still under development sitting in a &lt;strong&gt;Hall of Champions&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;But the work isn't over.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;There is still a lot to build.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This championship isn't the end of Crowdwide.&lt;/p&gt;

&lt;p&gt;It's the beginning of the next phase. 🚀&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Crowdwide — KODA ONLINE FEST Season 2 Champion 👑&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now back to cooking. 👨‍🍳🔥&lt;/p&gt;

&lt;p&gt;And Harun...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When the full version is ready, you're definitely going to be one of the first people testing it again. 😂👊&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>hackathon</category>
      <category>showdev</category>
      <category>buildinpublic</category>
    </item>
    <item>
      <title>From VibeConnect to CrowdWide: Building My Own Social Platform</title>
      <dc:creator>Puneet-Kumar2010</dc:creator>
      <pubDate>Sun, 13 Sep 2026 06:20:32 +0000</pubDate>
      <link>https://dev.to/puneetkumar2010/from-vibeconnect-to-crowdwide-building-my-own-social-platform-1kma</link>
      <guid>https://dev.to/puneetkumar2010/from-vibeconnect-to-crowdwide-building-my-own-social-platform-1kma</guid>
      <description>&lt;p&gt;A while ago, I started building a social media platform called &lt;strong&gt;VibeConnect&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It was mostly a learning project. I was experimenting with authentication, posts, communities, profiles, and other social-media features while learning how everything worked.&lt;/p&gt;

&lt;p&gt;But VibeConnect had a lot of problems.&lt;/p&gt;

&lt;p&gt;Security wasn't strong enough, several important features were missing, there was no proper 2FA, media handling was incomplete, and many parts of the platform were still unfinished.&lt;/p&gt;

&lt;p&gt;Instead of trying to keep patching the same project, I decided to start again — this time with a much bigger goal.&lt;/p&gt;

&lt;p&gt;That's how &lt;strong&gt;CrowdWide&lt;/strong&gt; started.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why I Started CrowdWide
&lt;/h2&gt;

&lt;p&gt;One thing I've noticed while building and sharing projects is that getting people to discover your work can be surprisingly difficult.&lt;/p&gt;

&lt;p&gt;When you post something on an existing social platform, larger accounts and established communities often already have a huge audience.&lt;/p&gt;

&lt;p&gt;That doesn't necessarily mean their content is better.&lt;/p&gt;

&lt;p&gt;It just means they already have momentum.&lt;/p&gt;

&lt;p&gt;As someone who builds projects while learning, I've experienced this myself. You can spend days or weeks working on something, share it online, and barely get any attention.&lt;/p&gt;

&lt;p&gt;Meanwhile, an established account can post something similar and immediately reach thousands of people.&lt;/p&gt;

&lt;p&gt;That made me think:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What if a social platform gave newer creators and smaller communities a better opportunity to be discovered?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That question eventually became CrowdWide.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Is CrowdWide?
&lt;/h2&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%2F3ucmkw8lk5yc415nzgdq.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%2F3ucmkw8lk5yc415nzgdq.png" alt=" " width="800" height="474"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;CrowdWide is a social platform I'm building around &lt;strong&gt;communities, creators, and discovery&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The idea isn't to guarantee that every post becomes popular.&lt;/p&gt;

&lt;p&gt;Instead, I want community size to be less of a barrier to getting that initial exposure.&lt;/p&gt;

&lt;p&gt;CrowdWide is intended to support different kinds of creators and communities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Developers&lt;/li&gt;
&lt;li&gt;YouTubers&lt;/li&gt;
&lt;li&gt;Bloggers&lt;/li&gt;
&lt;li&gt;Artists&lt;/li&gt;
&lt;li&gt;Writers&lt;/li&gt;
&lt;li&gt;Project builders&lt;/li&gt;
&lt;li&gt;Personal blogs&lt;/li&gt;
&lt;li&gt;Article creators&lt;/li&gt;
&lt;li&gt;Online communities&lt;/li&gt;
&lt;li&gt;People documenting their learning journey&lt;/li&gt;
&lt;/ul&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%2Fz2eb85xvg65stcvern6s.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%2Fz2eb85xvg65stcvern6s.png" alt=" " width="800" height="473"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The goal is to make discovery more accessible without removing the importance of good content.&lt;/p&gt;




&lt;h2&gt;
  
  
  Experimenting With the Feed Algorithm
&lt;/h2&gt;

&lt;p&gt;One of the ideas I've been experimenting with is how the initial feed distribution works.&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%2Fbig1zg83888tnw9oq80i.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%2Fbig1zg83888tnw9oq80i.png" alt=" " width="538" height="562"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My current experimental split is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;40%&lt;/strong&gt; — new users and smaller/new communities&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;55%&lt;/strong&gt; — established communities&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;5%&lt;/strong&gt; — viral or trending content&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This isn't meant to be a permanent rule.&lt;/p&gt;

&lt;p&gt;It's an experiment.&lt;/p&gt;

&lt;p&gt;The important idea behind it is that community size shouldn't completely determine whether something gets seen.&lt;/p&gt;

&lt;p&gt;A post from a small community should have an opportunity to prove itself.&lt;/p&gt;

&lt;p&gt;If people interact with it positively, it can gain momentum and receive more distribution.&lt;/p&gt;

&lt;p&gt;So instead of:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Big community → automatically gets more reach&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I'm trying to move toward:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Initial opportunity → people respond → content earns more reach&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I'm still working out the exact algorithm, and I expect this part to change significantly as I get real usage data.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I've Built So Far
&lt;/h2&gt;

&lt;p&gt;CrowdWide has grown quite a lot from the original idea.&lt;/p&gt;

&lt;p&gt;Some of the things I've implemented include:&lt;/p&gt;

&lt;h3&gt;
  
  
  Posts and Content
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Text posts&lt;/li&gt;
&lt;li&gt;Articles&lt;/li&gt;
&lt;li&gt;Polls&lt;/li&gt;
&lt;li&gt;Drafts&lt;/li&gt;
&lt;li&gt;Scheduled publishing&lt;/li&gt;
&lt;li&gt;Media uploads&lt;/li&gt;
&lt;li&gt;Alt text&lt;/li&gt;
&lt;li&gt;Hashtags&lt;/li&gt;
&lt;li&gt;Mentions&lt;/li&gt;
&lt;li&gt;Quote posts&lt;/li&gt;
&lt;li&gt;Linked post replies&lt;/li&gt;
&lt;li&gt;Content warnings&lt;/li&gt;
&lt;li&gt;Post editing and deletion&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Engagement
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Likes&lt;/li&gt;
&lt;li&gt;Comment likes&lt;/li&gt;
&lt;li&gt;Reactions&lt;/li&gt;
&lt;li&gt;Bookmarks&lt;/li&gt;
&lt;li&gt;Sharing&lt;/li&gt;
&lt;li&gt;Nested replies&lt;/li&gt;
&lt;li&gt;Threaded discussions&lt;/li&gt;
&lt;li&gt;AJAX interactions without full page reloads&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Communities
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Public and private communities&lt;/li&gt;
&lt;li&gt;Join requests&lt;/li&gt;
&lt;li&gt;Community roles&lt;/li&gt;
&lt;li&gt;Moderators&lt;/li&gt;
&lt;li&gt;Banned words&lt;/li&gt;
&lt;li&gt;Post approval&lt;/li&gt;
&lt;li&gt;Pinned posts&lt;/li&gt;
&lt;li&gt;Community guidelines&lt;/li&gt;
&lt;li&gt;Community feeds&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Profiles
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Profile banners&lt;/li&gt;
&lt;li&gt;Avatars&lt;/li&gt;
&lt;li&gt;Bios&lt;/li&gt;
&lt;li&gt;Links&lt;/li&gt;
&lt;li&gt;Followers and following&lt;/li&gt;
&lt;li&gt;Saved posts&lt;/li&gt;
&lt;li&gt;Activity&lt;/li&gt;
&lt;li&gt;Likes&lt;/li&gt;
&lt;li&gt;Comments&lt;/li&gt;
&lt;li&gt;Privacy controls&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Discovery
&lt;/h3&gt;

&lt;p&gt;I've also been working on the discovery side of the platform:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Personalized feeds&lt;/li&gt;
&lt;li&gt;New-content discovery&lt;/li&gt;
&lt;li&gt;Viral posts&lt;/li&gt;
&lt;li&gt;Trending hashtags&lt;/li&gt;
&lt;li&gt;Recommended users&lt;/li&gt;
&lt;li&gt;Recommended communities&lt;/li&gt;
&lt;li&gt;Search filters&lt;/li&gt;
&lt;li&gt;RSS support&lt;/li&gt;
&lt;li&gt;An API for posts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There is also an unanswered-post discovery filter so people can potentially find posts that haven't received a response yet.&lt;/p&gt;




&lt;h2&gt;
  
  
  Security Has Been a Major Focus
&lt;/h2&gt;

&lt;p&gt;After working on VibeConnect, I realized how important it is to think about security early rather than treating it as something to add at the end.&lt;/p&gt;

&lt;p&gt;CrowdWide currently includes things such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Email verification&lt;/li&gt;
&lt;li&gt;Password reset&lt;/li&gt;
&lt;li&gt;Login lockouts&lt;/li&gt;
&lt;li&gt;TOTP-based 2FA&lt;/li&gt;
&lt;li&gt;Recovery codes&lt;/li&gt;
&lt;li&gt;Session/device management&lt;/li&gt;
&lt;li&gt;CSRF protection&lt;/li&gt;
&lt;li&gt;Security headers&lt;/li&gt;
&lt;li&gt;Rate limiting&lt;/li&gt;
&lt;li&gt;Account suspension&lt;/li&gt;
&lt;li&gt;Reports and moderation queues&lt;/li&gt;
&lt;li&gt;Audit logs&lt;/li&gt;
&lt;li&gt;Data export and deletion&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'm also trying to make security-related actions visible and understandable to users rather than hiding everything behind the scenes.&lt;/p&gt;




&lt;h2&gt;
  
  
  Moderation Is Another Big Part
&lt;/h2&gt;

&lt;p&gt;A social platform isn't just about building features that let people post.&lt;/p&gt;

&lt;p&gt;You also need systems for dealing with abuse, spam, inappropriate content, and community-level moderation.&lt;/p&gt;

&lt;p&gt;CrowdWide already has reporting and moderation infrastructure, but there's still a lot I want to improve.&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%2Fwy7mp3znkg1pq5gm566z.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%2Fwy7mp3znkg1pq5gm566z.png" alt=" " width="800" height="350"&gt;&lt;/a&gt;&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%2Fhdtvrxmfebrc831f912t.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%2Fhdtvrxmfebrc831f912t.png" alt=" " width="799" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Some of the things I'm working toward include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Moderation appeals&lt;/li&gt;
&lt;li&gt;Evidence attachments&lt;/li&gt;
&lt;li&gt;Temporary mutes&lt;/li&gt;
&lt;li&gt;Better CAPTCHA and abuse controls&lt;/li&gt;
&lt;li&gt;Stronger spam detection&lt;/li&gt;
&lt;li&gt;Better moderation tooling&lt;/li&gt;
&lt;li&gt;More comprehensive automated testing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I want moderation to be useful without making communities feel overly controlled.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Still Needs to Be Done
&lt;/h2&gt;

&lt;p&gt;Despite having a large feature set already, CrowdWide isn't finished.&lt;/p&gt;

&lt;p&gt;Some of the major things still on my roadmap are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Browser push notifications&lt;/li&gt;
&lt;li&gt;Link previews&lt;/li&gt;
&lt;li&gt;Richer article editing&lt;/li&gt;
&lt;li&gt;Media captions and transcripts&lt;/li&gt;
&lt;li&gt;Moderation appeals&lt;/li&gt;
&lt;li&gt;Better spam detection&lt;/li&gt;
&lt;li&gt;More automated integration tests&lt;/li&gt;
&lt;li&gt;End-to-end signup and posting tests&lt;/li&gt;
&lt;li&gt;Structured logging&lt;/li&gt;
&lt;li&gt;Monitoring and alerts&lt;/li&gt;
&lt;li&gt;Backup and restore testing&lt;/li&gt;
&lt;li&gt;CI/CD&lt;/li&gt;
&lt;li&gt;Staging infrastructure&lt;/li&gt;
&lt;li&gt;Virus scanning for uploads&lt;/li&gt;
&lt;li&gt;API documentation&lt;/li&gt;
&lt;li&gt;More admin functionality&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And, of course, there are probably bugs I haven't discovered yet.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Testing Problem
&lt;/h2&gt;

&lt;p&gt;One of the hardest parts of building something like this isn't necessarily writing the code.&lt;/p&gt;

&lt;p&gt;It's testing it properly.&lt;/p&gt;

&lt;p&gt;There are a lot of interactions between different parts of a social platform.&lt;br&gt;
Also, I have created different roles like admin, moderator and user...&lt;br&gt;
by default you will have role user. To get role moderator just mail on the contact email &lt;a href="mailto:developerpuneet2010@gmail.com"&gt;developerpuneet2010@gmail.com&lt;/a&gt; and after verification you will get role moderator and you can access the panel but if you break the rules that role will be deleted&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Account → Community → Post → Comment → Notification → Moderation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A change in one area can unexpectedly affect another.&lt;/p&gt;

&lt;p&gt;Right now, I'm working toward having much stronger automated tests before opening the platform to more people.&lt;/p&gt;

&lt;p&gt;I'd rather discover problems during testing than after a public release.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;My current plan is roughly:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Finish the remaining core features&lt;/li&gt;
&lt;li&gt;Complete the admin and moderation systems&lt;/li&gt;
&lt;li&gt;Add more automated tests&lt;/li&gt;
&lt;li&gt;Perform manual testing&lt;/li&gt;
&lt;li&gt;Set up staging&lt;/li&gt;
&lt;li&gt;Get a few developers to test it&lt;/li&gt;
&lt;li&gt;Fix the issues they find&lt;/li&gt;
&lt;li&gt;Release a public beta&lt;/li&gt;
&lt;li&gt;Monitor the platform&lt;/li&gt;
&lt;li&gt;Continue improving it&lt;/li&gt;
&lt;li&gt;Eventually move toward a stable release&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I'm deliberately not trying to rush the public launch.&lt;/p&gt;

&lt;p&gt;A social platform needs to be reliable, secure, and reasonably polished before putting it in front of a larger audience.&lt;/p&gt;




&lt;h2&gt;
  
  
  From a Learning Project to Something Bigger
&lt;/h2&gt;

&lt;p&gt;The biggest difference between VibeConnect and CrowdWide isn't just the number of features.&lt;/p&gt;

&lt;p&gt;It's how I'm approaching the project.&lt;/p&gt;

&lt;p&gt;VibeConnect was primarily about learning how to build a social platform.&lt;/p&gt;

&lt;p&gt;CrowdWide is about trying to solve a problem that I've personally experienced while building and sharing projects.&lt;/p&gt;

&lt;p&gt;I'm still learning a lot while developing it.&lt;/p&gt;

&lt;p&gt;There are plenty of things I don't know yet, and I'm sure the architecture and algorithms will change as the project grows.&lt;/p&gt;

&lt;p&gt;But that's part of the process.&lt;/p&gt;

&lt;p&gt;I'm building it, breaking things, fixing them, and learning along the way.&lt;/p&gt;




&lt;h2&gt;
  
  
  Where CrowdWide Goes From Here
&lt;/h2&gt;

&lt;p&gt;I don't know exactly what CrowdWide will look like a year from now.&lt;/p&gt;

&lt;p&gt;The feed algorithm will probably change.&lt;/p&gt;

&lt;p&gt;Some features will probably be removed.&lt;/p&gt;

&lt;p&gt;New ones will probably appear.&lt;/p&gt;

&lt;p&gt;And I'm sure I'll rewrite parts of the code that I currently think are perfectly fine. 😅&lt;/p&gt;

&lt;p&gt;For now, my goal is simple:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Build the best version of the idea I can, test it properly, and see whether it actually helps smaller creators and communities get discovered.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That's where CrowdWide is today.&lt;/p&gt;

&lt;p&gt;And this is just the beginning.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>opensource</category>
      <category>showdev</category>
      <category>buildinpublic</category>
    </item>
    <item>
      <title>Someone Called Me the Founder of Rizzzler… So I Had to Do Something 😂</title>
      <dc:creator>Puneet-Kumar2010</dc:creator>
      <pubDate>Wed, 09 Sep 2026 13:56:38 +0000</pubDate>
      <link>https://dev.to/puneetkumar2010/someone-called-me-the-founder-of-rizzzler-so-i-had-to-do-something-9of</link>
      <guid>https://dev.to/puneetkumar2010/someone-called-me-the-founder-of-rizzzler-so-i-had-to-do-something-9of</guid>
      <description>&lt;p&gt;Okay! this is probably one of the funniest things that has happened with Rizzzler recently...&lt;/p&gt;

&lt;p&gt;A while ago... I wrote an article about my journey building Rizzzler.&lt;/p&gt;

&lt;p&gt;It was basically me talking about the whole thing... starting the project, getting the first users, building features, realizing that people liking something doesn't necessarily mean they'll come back, and all the other lessons I've learned while building it.&lt;/p&gt;

&lt;p&gt;Pretty normal builder stuff...&lt;/p&gt;

&lt;p&gt;Then one day, I found an article on another website that was &lt;strong&gt;based on my story.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And I started reading it!&lt;/p&gt;

&lt;p&gt;And then I realized...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I'm literally reading my own story.&lt;/strong&gt; 😭&lt;/p&gt;

&lt;p&gt;Not my article.&lt;/p&gt;

&lt;p&gt;Someone else's article!!&lt;/p&gt;

&lt;p&gt;About &lt;strong&gt;my journey.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And then I reached the part where they called me:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;“The founder of Rizzzler.”&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;BROOOOOOHH... 💀&lt;/p&gt;

&lt;p&gt;I don't know why, but that hit DIFFERENT!!!!&lt;/p&gt;

&lt;p&gt;My aura went:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;+1000++++&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;+100&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;+100&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;+100&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every. Single.. Second...&lt;/p&gt;

&lt;p&gt;For the entire duration of that article, I was basically sitting there like:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“The founder of Rizzzler…”&lt;/strong&gt; 😎&lt;/p&gt;

&lt;p&gt;I had never really used “Founder of Rizzzler” myself before.&lt;/p&gt;

&lt;p&gt;I was always just:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Yeah, I built Rizzzler.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But someone else wrote &lt;strong&gt;“founder”&lt;/strong&gt; so confidently that I was like:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Well... they're not wrong.&lt;/strong&gt; 😂&lt;/p&gt;

&lt;p&gt;I continued reading my own lore like I was discovering a character in a documentary.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“The founder started Rizzzler…”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Me:&lt;/strong&gt; 👁️👄👁️&lt;br&gt;
&lt;em&gt;Wait who's this guy?&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;Also me:&lt;/strong&gt; &lt;em&gt;Oh. That's me.&lt;/em&gt; 💀&lt;/p&gt;

&lt;p&gt;Then I closed the article.&lt;/p&gt;

&lt;p&gt;Aura immediately returned to normal.&lt;/p&gt;

&lt;p&gt;Back to reality. 😂&lt;/p&gt;




&lt;h2&gt;
  
  
  So I wanted to give that article a spotlight
&lt;/h2&gt;

&lt;p&gt;I genuinely liked seeing someone outside of my own posts write about the Rizzzler journey...&lt;/p&gt;

&lt;p&gt;I wanted to put the article somewhere on the website.&lt;/p&gt;

&lt;p&gt;But I didn't want to make some boring little page called &lt;strong&gt;Press&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So I thought:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why not make a place specifically for stories about Rizzzler?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And that's how &lt;strong&gt;Rizzzler Spotlight Stories&lt;/strong&gt; was born.&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://www.rizzzler.work.gd/spotlight-stories" rel="noopener noreferrer"&gt;https://www.rizzzler.work.gd/spotlight-stories&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I've added the articles and stories I've found so far, and I built it so I can add new ones directly from the admin panel.&lt;/p&gt;

&lt;p&gt;So if you've written about Rizzzler, mentioned Rizzzler somewhere, or come across an article about Rizzzler that I haven't found yet:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tag/mention me! 👀&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Or if it's published somewhere else, send it to:&lt;/p&gt;

&lt;p&gt;📩 &lt;strong&gt;&lt;a href="mailto:developerpuneet2010@gmail.com"&gt;developerpuneet2010@gmail.com&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I'll happily add it to the Spotlight Stories section...&lt;/p&gt;

&lt;p&gt;Basically, one person wrote about my project...&lt;/p&gt;

&lt;p&gt;and I responded by building an entire feature for articles about my project.&lt;/p&gt;

&lt;p&gt;Very normal behavior. 👍&lt;/p&gt;




&lt;h2&gt;
  
  
  And now… I'm looking for moderators 👀
&lt;/h2&gt;

&lt;p&gt;I'm also thinking about opening up a few &lt;strong&gt;volunteer moderator spots&lt;/strong&gt; for Rizzzler.&lt;/p&gt;

&lt;p&gt;Nothing insanely complicated.&lt;/p&gt;

&lt;p&gt;You wouldn't need to sit there moderating 24/7 like you're running the internet. 😂&lt;/p&gt;

&lt;p&gt;The idea is mainly to help with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;👀 Checking users and keeping an eye out for obvious bots/spam&lt;/li&gt;
&lt;li&gt;🧹 Helping keep the community clean and friendly&lt;/li&gt;
&lt;li&gt;💬 Interacting with users and leaving encouraging comments&lt;/li&gt;
&lt;li&gt;🚩 Flagging anything that needs my attention&lt;/li&gt;
&lt;li&gt;💡 Sharing feedback and ideas for improving Rizzzler&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And if you're interested in helping with the social side too, I can also give moderators access to Rizzzler's social media handles so they can help post updates, share interesting things happening on the platform, and help get more people involved.&lt;/p&gt;

&lt;p&gt;Basically:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Help the community → interact with people → spot problems → share ideas → help Rizzzler grow.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you're interested in volunteering as a Rizzzler moderator, &lt;strong&gt;drop a comment or message me.&lt;/strong&gt; 👀&lt;/p&gt;

&lt;p&gt;Rizzzler is still growing, and I'm still figuring things out as I go.&lt;/p&gt;

&lt;p&gt;Sometimes that means building a new feature.&lt;/p&gt;

&lt;p&gt;Sometimes that means looking for people to help.&lt;/p&gt;

&lt;p&gt;And sometimes...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;it means reading an article about your own life and discovering that apparently you're the founder.&lt;/strong&gt; 💀&lt;/p&gt;

&lt;p&gt;Just Puneet things.&lt;/p&gt;

&lt;p&gt;😂🚀&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>opensource</category>
      <category>buildinpublic</category>
      <category>community</category>
    </item>
    <item>
      <title>I Didn’t Have a Developer Website, So I Built One.</title>
      <dc:creator>Puneet-Kumar2010</dc:creator>
      <pubDate>Tue, 08 Sep 2026 04:50:51 +0000</pubDate>
      <link>https://dev.to/puneetkumar2010/i-didnt-have-a-developer-website-so-i-built-one-284k</link>
      <guid>https://dev.to/puneetkumar2010/i-didnt-have-a-developer-website-so-i-built-one-284k</guid>
      <description>&lt;p&gt;For a long time, I published most of my articles on DEV.to.&lt;/p&gt;

&lt;p&gt;Not because I had some big strategy behind it.&lt;/p&gt;

&lt;p&gt;I simply &lt;strong&gt;didn't have a website of my own.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;DEV.to was convenient. I could write something, publish it, and put it in front of other developers.&lt;/p&gt;

&lt;p&gt;But eventually I started thinking:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What if I had my own place for all of this?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;My projects.&lt;br&gt;
My articles.&lt;br&gt;
Things I've built.&lt;br&gt;
Things I've broken.&lt;br&gt;
Things I've learned.&lt;/p&gt;

&lt;p&gt;So I decided to build one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Meet Devlogr 🚀
&lt;/h2&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%2Fmam6h63uilnk83z3phqq.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%2Fmam6h63uilnk83z3phqq.png" alt=" " width="800" height="472"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Devlogr&lt;/strong&gt; is my personal developer portfolio and blog.&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://www.devlogr.run.place/" rel="noopener noreferrer"&gt;https://www.devlogr.run.place/&lt;/a&gt;&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%2F1yorf7559yniovdsck40.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%2F1yorf7559yniovdsck40.png" alt=" " width="800" height="438"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The idea is pretty simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A place where I can document what I'm building and learning, while also having a home for my projects and developer profile.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The name comes from &lt;strong&gt;Dev + Log&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Basically, a log of my journey as a developer.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does it have?
&lt;/h2&gt;

&lt;p&gt;I wanted it to be more than just a page saying:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Hi, I'm a developer. Here are my skills."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So I built it around the things I actually want to show.&lt;/p&gt;

&lt;h3&gt;
  
  
  📝 Articles
&lt;/h3&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%2Fhim94axzwd4x5lhr5zfx.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%2Fhim94axzwd4x5lhr5zfx.png" alt=" " width="800" height="472"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is where I'll be writing about things I build, problems I run into, experiments, lessons learned, and whatever else seems worth documenting.&lt;/p&gt;

&lt;p&gt;I'll also be moving some of my older articles here.&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Projects
&lt;/h3&gt;

&lt;p&gt;My projects have their own place instead of being buried somewhere in a GitHub profile.&lt;/p&gt;

&lt;p&gt;The goal is to show not just &lt;em&gt;what&lt;/em&gt; I built, but eventually more about &lt;strong&gt;why I built it and what I learned from it.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🐙 GitHub integration
&lt;/h3&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%2F072245yd7pi2lckcmcwy.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%2F072245yd7pi2lckcmcwy.png" alt=" " width="800" height="476"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I also wanted my projects and GitHub activity to connect naturally with the site instead of manually updating everything every time.&lt;/p&gt;

&lt;p&gt;So parts of the site use GitHub data to keep things more dynamic.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔍 SEO
&lt;/h3&gt;

&lt;p&gt;Since this is my own website, I didn't want it to just exist at a URL that nobody can find.&lt;/p&gt;

&lt;p&gt;So I also spent time making it properly SEO-ready:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dynamic page metadata&lt;/li&gt;
&lt;li&gt;Canonical URLs&lt;/li&gt;
&lt;li&gt;Sitemap&lt;/li&gt;
&lt;li&gt;robots.txt&lt;/li&gt;
&lt;li&gt;Open Graph previews&lt;/li&gt;
&lt;li&gt;X/Twitter cards&lt;/li&gt;
&lt;li&gt;Structured data&lt;/li&gt;
&lt;li&gt;Article metadata&lt;/li&gt;
&lt;li&gt;Semantic HTML&lt;/li&gt;
&lt;li&gt;Image optimization&lt;/li&gt;
&lt;li&gt;Internal linking&lt;/li&gt;
&lt;li&gt;Mobile optimization&lt;/li&gt;
&lt;li&gt;Crawlability and indexability&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There is obviously still a lot to learn about SEO, but I wanted to start with a solid foundation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why not just keep using DEV.to?
&lt;/h2&gt;

&lt;p&gt;I'm not stopping.&lt;/p&gt;

&lt;p&gt;I actually think platforms like DEV.to are great for reaching other developers.&lt;/p&gt;

&lt;p&gt;But there's a difference between &lt;strong&gt;having an audience somewhere&lt;/strong&gt; and &lt;strong&gt;having a home of your own.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So I'm thinking about it like this:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Devlogr → my home&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DEV.to → distribution/community&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I'll continue sharing articles on DEV.to, but Devlogr will be the original home for my writing.&lt;/p&gt;

&lt;p&gt;That also means I can experiment with the website however I want.&lt;/p&gt;

&lt;p&gt;No waiting for someone else's feature.&lt;/p&gt;

&lt;p&gt;No worrying about how the platform changes.&lt;/p&gt;

&lt;p&gt;It's mine.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building it was also the point
&lt;/h2&gt;

&lt;p&gt;One of the reasons I wanted to build Devlogr was simply to learn.&lt;/p&gt;

&lt;p&gt;There are plenty of things I could have used an existing solution for.&lt;/p&gt;

&lt;p&gt;But building it myself meant I had to think about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Architecture&lt;/li&gt;
&lt;li&gt;Routing&lt;/li&gt;
&lt;li&gt;Content management&lt;/li&gt;
&lt;li&gt;UI/UX&lt;/li&gt;
&lt;li&gt;SEO&lt;/li&gt;
&lt;li&gt;Performance&lt;/li&gt;
&lt;li&gt;Deployment&lt;/li&gt;
&lt;li&gt;Security&lt;/li&gt;
&lt;li&gt;Integrations&lt;/li&gt;
&lt;li&gt;And all the weird little problems that appear once something is actually running.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And honestly, those problems are probably more valuable than the finished website.&lt;/p&gt;

&lt;p&gt;Because every time something breaks, there's something new to learn.&lt;/p&gt;

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

&lt;p&gt;Devlogr is definitely not "finished."&lt;/p&gt;

&lt;p&gt;I want to keep improving it as I use it.&lt;/p&gt;

&lt;p&gt;Some things I'd like to explore:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Better article discovery&lt;/li&gt;
&lt;li&gt;More project details&lt;/li&gt;
&lt;li&gt;Improved search&lt;/li&gt;
&lt;li&gt;More developer-focused features&lt;/li&gt;
&lt;li&gt;Better analytics&lt;/li&gt;
&lt;li&gt;More integrations&lt;/li&gt;
&lt;li&gt;And probably a bunch of ideas I'll come up with after using it for a while 😅&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For now, though, I'm happy to finally have a place of my own.&lt;/p&gt;

&lt;h2&gt;
  
  
  So... welcome to Devlogr 👋
&lt;/h2&gt;

&lt;p&gt;I started it because I didn't have a developer website.&lt;/p&gt;

&lt;p&gt;Now I do.&lt;/p&gt;

&lt;p&gt;And from here, I'll be documenting what I build, what I learn, and occasionally what I completely break.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Building. Breaking. Learning. Repeat.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;Devlogr:&lt;/strong&gt; &lt;a href="https://www.devlogr.run.place" rel="noopener noreferrer"&gt;https://www.devlogr.run.place&lt;/a&gt;&lt;br&gt;
👉 &lt;strong&gt;Github source code:&lt;/strong&gt; &lt;a href="https://github.com/DeveloperPuneet/Devlogr" rel="noopener noreferrer"&gt;https://github.com/DeveloperPuneet/Devlogr&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you're also building your own little corner of the internet, I'd love to hear about it.&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>sharepoint</category>
      <category>webdev</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Hello</title>
      <dc:creator>Puneet-Kumar2010</dc:creator>
      <pubDate>Sun, 06 Sep 2026 11:28:50 +0000</pubDate>
      <link>https://dev.to/puneetkumar2010/hello-259n</link>
      <guid>https://dev.to/puneetkumar2010/hello-259n</guid>
      <description>&lt;p&gt;I don't have a technical tutorial, project announcement, or big lesson to share today.&lt;/p&gt;

&lt;p&gt;I just wanted to say hello.&lt;/p&gt;

&lt;p&gt;Sometimes not every post needs to teach something. Sometimes it's just nice to start a conversation.&lt;/p&gt;

&lt;p&gt;So...&lt;br&gt;
😐&lt;br&gt;
How are you?&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>beginners</category>
      <category>community</category>
    </item>
    <item>
      <title>I Built a Link-in-Bio Platform… Then I Asked: “Why Would Anyone Come Back?”</title>
      <dc:creator>Puneet-Kumar2010</dc:creator>
      <pubDate>Wed, 02 Sep 2026 03:23:40 +0000</pubDate>
      <link>https://dev.to/puneetkumar2010/i-built-a-link-in-bio-platform-then-i-asked-why-would-anyone-come-back-82b</link>
      <guid>https://dev.to/puneetkumar2010/i-built-a-link-in-bio-platform-then-i-asked-why-would-anyone-come-back-82b</guid>
      <description>&lt;p&gt;On July 11, 2026, I started building a project inspired by link-in-bio platforms.&lt;/p&gt;

&lt;p&gt;The idea was pretty straightforward:&lt;/p&gt;

&lt;p&gt;Create a profile → customize it → add your links → share it.&lt;/p&gt;

&lt;p&gt;So I built Rizzzler.&lt;/p&gt;

&lt;p&gt;And right now, it has 11 users.&lt;/p&gt;

&lt;p&gt;Yep.&lt;/p&gt;

&lt;p&gt;11 😂&lt;/p&gt;

&lt;p&gt;Not exactly the kind of number you'd put on a startup pitch deck.&lt;/p&gt;

&lt;p&gt;But those 11 users actually made me think about the project in a completely different way.&lt;/p&gt;

&lt;p&gt;The problem I noticed 🤔&lt;/p&gt;

&lt;p&gt;I started looking at how people were using Rizzzler.&lt;/p&gt;

&lt;p&gt;And I noticed something:&lt;/p&gt;

&lt;p&gt;People would create their profile...&lt;/p&gt;

&lt;p&gt;Then disappear.&lt;/p&gt;

&lt;p&gt;Some wouldn't come back for a week.&lt;/p&gt;

&lt;p&gt;Some wouldn't even check the app for weeks.&lt;/p&gt;

&lt;p&gt;And eventually I realized something obvious.&lt;/p&gt;

&lt;p&gt;Why would they?&lt;/p&gt;

&lt;p&gt;Rizzzler was primarily a profile website.&lt;/p&gt;

&lt;p&gt;Once you've created your profile and shared your link, what reason do you have to open it again?&lt;/p&gt;

&lt;p&gt;You don't.&lt;/p&gt;

&lt;p&gt;That got me thinking:&lt;/p&gt;

&lt;p&gt;What else can we actually do with a profile?&lt;/p&gt;

&lt;p&gt;I didn't want Rizzzler to become something people set up once and completely forget about.&lt;/p&gt;

&lt;p&gt;I wanted the profile to actually do something.&lt;/p&gt;

&lt;p&gt;And that's where I got a pretty crazy idea.&lt;/p&gt;

&lt;p&gt;What if Rizzzler became more than a profile?&lt;/p&gt;

&lt;p&gt;I've used services that let you log into other applications using their account.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;Sign in with GitHub.&lt;/p&gt;

&lt;p&gt;That got me thinking:&lt;/p&gt;

&lt;p&gt;What if Rizzzler could do something similar?&lt;/p&gt;

&lt;p&gt;Instead of Rizzzler only being a place where you create a profile...&lt;/p&gt;

&lt;p&gt;What if developers could use Rizzzler as an identity provider?&lt;/p&gt;

&lt;p&gt;And suddenly I had a new idea:&lt;/p&gt;

&lt;p&gt;Sign in with Rizzzler&lt;/p&gt;

&lt;p&gt;That was probably the craziest idea I've had for this project so far.&lt;/p&gt;

&lt;p&gt;And I decided to build it.&lt;/p&gt;

&lt;p&gt;I built my own OAuth 2.0 system 🔐&lt;/p&gt;

&lt;p&gt;I started building the OAuth 2.0 mechanism, the developer-side integration, and the documentation.&lt;/p&gt;

&lt;p&gt;I also created a developer docs page so developers can understand how to integrate Sign in with Rizzzler into their applications.&lt;/p&gt;

&lt;p&gt;I've tested the mechanism locally, but there's an important distinction:&lt;/p&gt;

&lt;p&gt;It hasn't been properly tested by a real third-party application yet.&lt;/p&gt;

&lt;p&gt;So I'm definitely not going to call it some battle-tested authentication system.&lt;/p&gt;

&lt;p&gt;The core is built.&lt;/p&gt;

&lt;p&gt;The docs are there.&lt;/p&gt;

&lt;p&gt;Now I want people to actually try using it.&lt;/p&gt;

&lt;p&gt;If you're a developer and this sounds interesting, I'd genuinely love for you to integrate it into a small project and see how it goes.&lt;/p&gt;

&lt;p&gt;Try it.&lt;/p&gt;

&lt;p&gt;Break it.&lt;/p&gt;

&lt;p&gt;Tell me what's confusing.&lt;/p&gt;

&lt;p&gt;Report bugs.&lt;/p&gt;

&lt;p&gt;That's exactly what I need right now.&lt;/p&gt;

&lt;p&gt;Because there's a huge difference between:&lt;/p&gt;

&lt;p&gt;"It works on my local machine."&lt;/p&gt;

&lt;p&gt;and&lt;/p&gt;

&lt;p&gt;"Someone else actually integrated it and it works."&lt;/p&gt;

&lt;p&gt;😂&lt;/p&gt;

&lt;p&gt;And I built a security dashboard too&lt;/p&gt;

&lt;p&gt;If I'm going to let Rizzzler handle authentication, I don't want users to have zero visibility into where their account is being used.&lt;/p&gt;

&lt;p&gt;So I also started building a security dashboard.&lt;/p&gt;

&lt;p&gt;The idea is that users can see where they've used their Rizzzler account to sign in or register.&lt;/p&gt;

&lt;p&gt;They can manage those connections and remove them when they want.&lt;/p&gt;

&lt;p&gt;I want users to have actual visibility and control over their authentication activity.&lt;/p&gt;

&lt;p&gt;It's still something I'm improving, but I think this is an important part of making the whole idea useful.&lt;/p&gt;

&lt;p&gt;Then I had another completely stupid idea 😂&lt;/p&gt;

&lt;p&gt;While I was working on all of this, I was also experimenting with AI-generated emails.&lt;/p&gt;

&lt;p&gt;And instead of making another boring:&lt;/p&gt;

&lt;p&gt;"Here is your weekly Rizzzler activity."&lt;/p&gt;

&lt;p&gt;email...&lt;/p&gt;

&lt;p&gt;I thought:&lt;/p&gt;

&lt;p&gt;Why don't I let AI roast your profile?&lt;/p&gt;

&lt;p&gt;💀&lt;/p&gt;

&lt;p&gt;So I built a system that generates funny emails based on a sample representation of a Rizzzler profile.&lt;/p&gt;

&lt;p&gt;The AI basically looks at the profile information available for the roast and turns it into an absolutely unhinged little comedy session.&lt;/p&gt;

&lt;p&gt;You might get something like:&lt;/p&gt;

&lt;p&gt;"Bruh, your bio looks like a cry for help."&lt;/p&gt;

&lt;p&gt;And then it just keeps going.&lt;/p&gt;

&lt;p&gt;It can roast things like having an absurd number of links, an overly dramatic bio, questionable profile choices, or basically anything that can be turned into a harmless joke.&lt;/p&gt;

&lt;p&gt;The goal is simple:&lt;/p&gt;

&lt;p&gt;Make the email something you actually want to open.&lt;/p&gt;

&lt;p&gt;Instead of:&lt;/p&gt;

&lt;p&gt;"Your weekly report is ready."&lt;/p&gt;

&lt;p&gt;You get:&lt;/p&gt;

&lt;p&gt;"Your internet persona is currently held together by vibes."&lt;/p&gt;

&lt;p&gt;😭&lt;/p&gt;

&lt;p&gt;But what about privacy? 🔐&lt;/p&gt;

&lt;p&gt;This is important.&lt;/p&gt;

&lt;p&gt;NO — I'm not sending your private/user data to the AI just to roast you.&lt;/p&gt;

&lt;p&gt;The system uses a sample/anonymized profile representation for generating the roast rather than handing over someone's private account information.&lt;/p&gt;

&lt;p&gt;I wanted to make this clear because the moment you hear:&lt;/p&gt;

&lt;p&gt;"AI + your profile + email"&lt;/p&gt;

&lt;p&gt;it's completely reasonable to ask what data is being sent where.&lt;/p&gt;

&lt;p&gt;Privacy matters, especially when authentication and user accounts are involved.&lt;/p&gt;

&lt;p&gt;And now the AI emails are actually live&lt;/p&gt;

&lt;p&gt;After experimenting with it for a while...&lt;/p&gt;

&lt;p&gt;It's finally working. 😂&lt;/p&gt;

&lt;p&gt;There's roughly a 55% chance on any given day that you'll receive one of these AI roast emails.&lt;/p&gt;

&lt;p&gt;So you might randomly open your inbox and see:&lt;/p&gt;

&lt;p&gt;"Bruh your bio looks like a cry for help."&lt;/p&gt;

&lt;p&gt;And then spend the next minute getting roasted by an AI.&lt;/p&gt;

&lt;p&gt;I genuinely don't know whether users are going to love this or immediately unsubscribe.&lt;/p&gt;

&lt;p&gt;But that's part of the experiment.&lt;/p&gt;

&lt;p&gt;So what is Rizzzler becoming?&lt;/p&gt;

&lt;p&gt;This is the funny part.&lt;/p&gt;

&lt;p&gt;I started this project thinking:&lt;/p&gt;

&lt;p&gt;"I'm going to build a link-in-bio platform."&lt;/p&gt;

&lt;p&gt;Then I noticed:&lt;/p&gt;

&lt;p&gt;"People don't really have a reason to come back."&lt;/p&gt;

&lt;p&gt;Then I asked:&lt;/p&gt;

&lt;p&gt;"What else can a profile actually do?"&lt;/p&gt;

&lt;p&gt;And now I'm experimenting with:&lt;/p&gt;

&lt;p&gt;🔐 OAuth 2.0 / Sign in with Rizzzler&lt;br&gt;
👨‍💻 Developer authentication&lt;br&gt;
📚 Developer documentation&lt;br&gt;
🛡️ User security &amp;amp; connected-app management&lt;br&gt;
🤖 AI-generated emails&lt;br&gt;
😂 AI profile roasting&lt;br&gt;
👤 The original customizable profile system&lt;/p&gt;

&lt;p&gt;It's turning into something quite different from what I originally planned.&lt;/p&gt;

&lt;p&gt;And honestly...&lt;/p&gt;

&lt;p&gt;I like it.&lt;/p&gt;

&lt;p&gt;Am I overengineering an 11-user project?&lt;/p&gt;

&lt;p&gt;Probably. 😂&lt;/p&gt;

&lt;p&gt;But I think that's one of the most fun parts of building things.&lt;/p&gt;

&lt;p&gt;I could have looked at 11 users and decided:&lt;/p&gt;

&lt;p&gt;"Nobody is using this. Forget it."&lt;/p&gt;

&lt;p&gt;Instead, I started asking why.&lt;/p&gt;

&lt;p&gt;Why don't they come back?&lt;/p&gt;

&lt;p&gt;What would make Rizzzler useful after creating a profile?&lt;/p&gt;

&lt;p&gt;What could a profile become?&lt;/p&gt;

&lt;p&gt;And that question led me to something I never expected to build:&lt;/p&gt;

&lt;p&gt;an identity/authentication system.&lt;/p&gt;

&lt;p&gt;I don't know if this direction will work.&lt;/p&gt;

&lt;p&gt;Maybe nobody will use Sign in with Rizzzler.&lt;/p&gt;

&lt;p&gt;Maybe developers will find the OAuth integration annoying.&lt;/p&gt;

&lt;p&gt;Maybe everyone will unsubscribe from my AI roast emails. 💀&lt;/p&gt;

&lt;p&gt;But I won't know until I actually put it out there.&lt;/p&gt;

&lt;p&gt;So... try it 👀&lt;/p&gt;

&lt;p&gt;If you're a developer, try integrating Sign in with Rizzzler.&lt;/p&gt;

&lt;p&gt;I'd genuinely love feedback from people who aren't me testing it on localhost.&lt;/p&gt;

&lt;p&gt;If something breaks, report it.&lt;/p&gt;

&lt;p&gt;If something is confusing, tell me.&lt;/p&gt;

&lt;p&gt;If the whole idea is stupid...&lt;/p&gt;

&lt;p&gt;Well...&lt;/p&gt;

&lt;p&gt;tell me that too. 😂&lt;/p&gt;

&lt;p&gt;And if you use it in an actual project, I'd absolutely love to hear about it.&lt;/p&gt;

&lt;p&gt;Because right now, Rizzzler isn't some massive platform.&lt;/p&gt;

&lt;p&gt;It's a small project with 11 users, a bunch of experiments, and a ridiculous amount of code.&lt;/p&gt;

&lt;p&gt;But that's exactly what makes it fun to build.&lt;/p&gt;

&lt;p&gt;Let's see what it becomes. 🚀&lt;/p&gt;

&lt;p&gt;What do you think?&lt;/p&gt;

&lt;p&gt;Is turning a link-in-bio platform into an OAuth/identity platform actually a good idea?&lt;/p&gt;

&lt;p&gt;Would you use Sign in with Rizzzler in your project?&lt;/p&gt;

&lt;p&gt;And most importantly...&lt;/p&gt;

&lt;p&gt;Would you voluntarily receive an email where an AI roasts your profile? 💀&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>productivity</category>
      <category>javascript</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Wow, We Gained 10+ Users 😂 — So I Kept Updating Rizzzler</title>
      <dc:creator>Puneet-Kumar2010</dc:creator>
      <pubDate>Mon, 31 Aug 2026 11:45:53 +0000</pubDate>
      <link>https://dev.to/puneetkumar2010/wow-we-gained-10-users-so-i-kept-updating-rizzzler-2d7o</link>
      <guid>https://dev.to/puneetkumar2010/wow-we-gained-10-users-so-i-kept-updating-rizzzler-2d7o</guid>
      <description>&lt;p&gt;A little while ago, I wrote about launching Rizzzler, my open-source project.&lt;/p&gt;

&lt;p&gt;At that point, 7 users had signed up in my another &lt;a href="https://dev.to/puneetkumar2010/i-built-the-product-made-it-open-source-deployed-it-cheaply-then-7-users-signed-up-51h8"&gt;post&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now?&lt;/p&gt;

&lt;p&gt;We're at 11 users. 🎉&lt;/p&gt;

&lt;p&gt;Okay, technically that's only 4 more users...&lt;/p&gt;

&lt;p&gt;But still — 10+ users! 😂&lt;/p&gt;

&lt;p&gt;For a small project built and deployed with basically no marketing budget, I'm honestly pretty happy about it.&lt;/p&gt;

&lt;p&gt;But the more interesting part isn't the number.&lt;/p&gt;

&lt;p&gt;It's what happened after people started giving feedback.&lt;/p&gt;

&lt;p&gt;Instead of just adding random features, I started using that feedback to actually change Rizzzler.&lt;/p&gt;

&lt;p&gt;And here's what has changed.&lt;/p&gt;




&lt;h2&gt;
  
  
  📚 I Added a Docs Page
&lt;/h2&gt;

&lt;p&gt;Rizzzler now has an actual documentation page.&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://www.rizzzler.work.gd/docs" rel="noopener noreferrer"&gt;Rizzzler Docs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This should make it easier for new users to understand how everything works instead of having to figure things out themselves.&lt;/p&gt;

&lt;p&gt;It's a small thing, but definitely something I should've had earlier.&lt;/p&gt;




&lt;h2&gt;
  
  
  🎨 4 New Themes
&lt;/h2&gt;

&lt;p&gt;One of the things I really enjoy working on in Rizzzler is the visual side.&lt;/p&gt;

&lt;p&gt;So I added four new themes:&lt;/p&gt;

&lt;p&gt;Bubble Pop&lt;/p&gt;

&lt;p&gt;Playful cartoon styling, candy colors, bouncy backgrounds and goofy kid-energy vibes.&lt;/p&gt;

&lt;p&gt;🌪️ Sticker Storm&lt;/p&gt;

&lt;p&gt;A sticker-packed chaos theme with floating emoji bursts, confetti motion, playful gradients, and animated bouncy energy.&lt;/p&gt;

&lt;p&gt;🤪 Sticker Chaos&lt;/p&gt;

&lt;p&gt;Basically Sticker Storm turned up to 11.&lt;/p&gt;

&lt;p&gt;Even more emoji, sticker clusters, zoom bursts and maximal playful motion.&lt;/p&gt;

&lt;p&gt;⚡ Neon Pulse&lt;/p&gt;

&lt;p&gt;A completely different vibe.&lt;/p&gt;

&lt;p&gt;Dark cyber glow, electric cyan-magenta gradients, dramatic contrast and nightlife energy.&lt;/p&gt;

&lt;p&gt;I wanted Rizzzler profiles to feel more customizable instead of everyone ending up with the same visual experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  ✍️ Your Bio Isn't Just Plain Text Anymore
&lt;/h2&gt;

&lt;p&gt;I've also added formatting options to bios.&lt;/p&gt;

&lt;p&gt;You can now use things like:&lt;/p&gt;

&lt;p&gt;highlighted text&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;bold&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;italic&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;So instead of having a boring block of text, you can actually give your profile some personality.&lt;/p&gt;

&lt;p&gt;Because apparently even bios need ✨drama✨.&lt;/p&gt;

&lt;h2&gt;
  
  
  📧 Phone Number → Public Email
&lt;/h2&gt;

&lt;p&gt;I changed the profile field from Phone Number to Public Email.&lt;/p&gt;

&lt;p&gt;The idea is pretty simple: a public profile shouldn't necessarily need to expose someone's phone number.&lt;/p&gt;

&lt;h2&gt;
  
  
  📏 Better Profile Field Limits
&lt;/h2&gt;

&lt;p&gt;I've also tightened the character limits across profile fields.&lt;/p&gt;

&lt;p&gt;The goal is to keep profiles clean, focused and readable.&lt;/p&gt;

&lt;p&gt;Field           Limit&lt;br&gt;
Bio         250 characters&lt;br&gt;
Public Email    120 characters&lt;br&gt;
Location    80 characters&lt;br&gt;
Profession  80 characters&lt;br&gt;
Hero Eyebrow    60 characters&lt;br&gt;
Moment Titles   60 characters&lt;br&gt;
Moment Blurbs   180 characters&lt;/p&gt;

&lt;p&gt;Small change, but it makes profiles much easier to keep visually consistent.&lt;/p&gt;

&lt;h2&gt;
  
  
  📝 Showcase Text Is Finally Editable
&lt;/h2&gt;

&lt;p&gt;Previously, some of the showcase text was basically fixed according to the theme.&lt;/p&gt;

&lt;p&gt;Now you can customize it.&lt;/p&gt;

&lt;p&gt;You can edit things like:&lt;/p&gt;

&lt;p&gt;Hero eyebrow&lt;br&gt;
Moment 1 title&lt;br&gt;
Moment 2 title&lt;br&gt;
Moment 1 blurb&lt;br&gt;
Moment 2 blurb&lt;/p&gt;

&lt;p&gt;So themes control the style rather than completely controlling what your profile says.&lt;/p&gt;

&lt;p&gt;That's a much better separation.&lt;/p&gt;

&lt;h2&gt;
  
  
  🎵 You Can Upload Audio
&lt;/h2&gt;

&lt;p&gt;Another addition:&lt;/p&gt;

&lt;p&gt;You can now upload audio for your showcase profile.&lt;/p&gt;

&lt;p&gt;I wanted profiles to feel more like an actual personal space rather than just another static profile page.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔐 Security Improvements
&lt;/h2&gt;

&lt;p&gt;I've also spent time improving Rizzzler's security.&lt;/p&gt;

&lt;p&gt;There are now better protections around suspicious activity and abusive/repeated requests.&lt;/p&gt;

&lt;p&gt;This is one of those things users probably won't notice when everything is working correctly...&lt;/p&gt;

&lt;p&gt;Which is kind of the point. 😅&lt;/p&gt;

&lt;h2&gt;
  
  
  🛠️ Improved Admin Panel
&lt;/h2&gt;

&lt;p&gt;The admin panel has also received some improvements.&lt;/p&gt;

&lt;p&gt;It's easier to monitor what's happening on the platform and manage things behind the scenes.&lt;/p&gt;

&lt;p&gt;As Rizzzler grows, having decent internal tools becomes increasingly important.&lt;/p&gt;

&lt;p&gt;Even if there are only 11 users right now. 😂&lt;/p&gt;

&lt;p&gt;7 → 11&lt;/p&gt;

&lt;p&gt;Going from 7 users to 11 users isn't some crazy startup growth story.&lt;/p&gt;

&lt;p&gt;I'm not going to pretend it is.&lt;/p&gt;

&lt;p&gt;But for me, it's meaningful.&lt;/p&gt;

&lt;p&gt;Because these aren't just numbers in an analytics dashboard.&lt;/p&gt;

&lt;p&gt;People actually found the project, signed up, tried it, and gave feedback.&lt;/p&gt;

&lt;p&gt;And that feedback turned into real changes.&lt;/p&gt;

&lt;p&gt;That's probably the biggest lesson I've learned from building Rizzzler so far:&lt;/p&gt;

&lt;p&gt;Don't just build more. Build what the users are telling you they need.&lt;/p&gt;

&lt;p&gt;The project is still tiny.&lt;/p&gt;

&lt;p&gt;The user count is still tiny.&lt;/p&gt;

&lt;p&gt;And there's still a lot I want to improve.&lt;/p&gt;

&lt;p&gt;But it's moving.&lt;/p&gt;

&lt;p&gt;7 → 11.&lt;/p&gt;

&lt;p&gt;Let's see where it goes next. 🚀&lt;/p&gt;

&lt;p&gt;Try Rizzzler&lt;/p&gt;

&lt;p&gt;🌐 Website: &lt;a href="https://www.rizzzler.work.gd" rel="noopener noreferrer"&gt;https://www.rizzzler.work.gd&lt;/a&gt;&lt;br&gt;
📚 Docs: &lt;a href="https://www.rizzzler.work.gd/docs" rel="noopener noreferrer"&gt;https://www.rizzzler.work.gd/docs&lt;/a&gt;&lt;br&gt;
💻 Source Code: &lt;a href="https://github.com/DeveloperPuneet/Rizzzler-Stable" rel="noopener noreferrer"&gt;https://github.com/DeveloperPuneet/Rizzzler-Stable&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And yes...&lt;/p&gt;

&lt;p&gt;I'm still building this thing. 😭&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>python</category>
      <category>opensource</category>
      <category>showdev</category>
    </item>
    <item>
      <title>I Was Tired of Configuring Every LLM Parameter, So I Built Tensorless 🤯</title>
      <dc:creator>Puneet-Kumar2010</dc:creator>
      <pubDate>Thu, 27 Aug 2026 10:39:12 +0000</pubDate>
      <link>https://dev.to/puneetkumar2010/i-was-tired-of-configuring-every-llm-parameter-so-i-built-tensorless-12oh</link>
      <guid>https://dev.to/puneetkumar2010/i-was-tired-of-configuring-every-llm-parameter-so-i-built-tensorless-12oh</guid>
      <description>&lt;p&gt;About a year ago, I was learning PyTorch.&lt;/p&gt;

&lt;p&gt;I was learning about model training, transformers, language models, tokenization, architectures, and all the other things that come with building models.&lt;/p&gt;

&lt;p&gt;And honestly?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;There were a LOT of parameters.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;d_model&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;hidden_size&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;layers&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;heads&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;max_seq_len&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;top_k&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;top_p&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;sampling parameters...&lt;/p&gt;

&lt;p&gt;And then there was tokenization.&lt;/p&gt;

&lt;p&gt;And then the dataset.&lt;/p&gt;

&lt;p&gt;And then training.&lt;/p&gt;

&lt;p&gt;And then the hardware.&lt;/p&gt;

&lt;p&gt;And then CUDA.&lt;/p&gt;

&lt;p&gt;And then multi-GPU.&lt;/p&gt;

&lt;p&gt;And then...&lt;/p&gt;

&lt;p&gt;You get the idea. 😭&lt;/p&gt;

&lt;p&gt;At some point I started thinking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What if I could just give the system my data and let it figure most of this stuff out?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That thought eventually became &lt;strong&gt;Tensorless&lt;/strong&gt;.&lt;/p&gt;




&lt;h1&gt;
  
  
  Before Tensorless
&lt;/h1&gt;

&lt;p&gt;I wasn't starting completely from zero.&lt;/p&gt;

&lt;p&gt;While learning PyTorch and experimenting with language models, I eventually built two models myself.&lt;/p&gt;

&lt;p&gt;One was around &lt;strong&gt;91M parameters&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Another was around &lt;strong&gt;35M parameters&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That experience was actually what pushed me toward Tensorless.&lt;/p&gt;

&lt;p&gt;Because once you build a model yourself, you start seeing just how many decisions are involved.&lt;/p&gt;

&lt;p&gt;And I started wondering:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What if someone just wants to experiment with a small or medium-sized language model without having to become an expert in every single configuration option first?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That was the problem I wanted to solve.&lt;/p&gt;




&lt;h1&gt;
  
  
  My first approach was probably too ambitious 💀
&lt;/h1&gt;

&lt;p&gt;The original Tensorless idea was much more extreme.&lt;/p&gt;

&lt;p&gt;I wanted Tensorless to have its own neural-network components, its own processing, its own structure, and its own training system.&lt;/p&gt;

&lt;p&gt;Basically, I was trying to build a lot of the stack myself.&lt;/p&gt;

&lt;p&gt;It sounded cool.&lt;/p&gt;

&lt;p&gt;It also caused &lt;strong&gt;a ridiculous number of problems.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GPU support had issues.&lt;/p&gt;

&lt;p&gt;Multi-GPU had issues.&lt;/p&gt;

&lt;p&gt;TPU setup had issues.&lt;/p&gt;

&lt;p&gt;There were bugs I had to chase because I was trying to control things that frameworks like PyTorch already handle extremely well.&lt;/p&gt;

&lt;p&gt;Eventually I realized:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;I don't need to reinvent PyTorch to simplify model training.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So I changed the direction.&lt;/p&gt;




&lt;h1&gt;
  
  
  Tensorless-PyTorch
&lt;/h1&gt;

&lt;p&gt;The current version uses &lt;strong&gt;PyTorch underneath&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Tensorless becomes the higher-level layer that tries to automate the annoying parts.&lt;/p&gt;

&lt;p&gt;The package is available on PyPI:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://pypi.org/project/tensorless-pytorch/?utm_source=chatgpt.com" rel="noopener noreferrer"&gt;Tensorless PyTorch on PyPI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Install it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;tensorless-pytorch
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;tensorless&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;tl&lt;/span&gt;

&lt;span class="n"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;train&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;./corpus.txt&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;task&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text-generation&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;generate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;The&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;max_new_tokens&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;40&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's an actual example from the package's current PyPI documentation.&lt;/p&gt;

&lt;p&gt;And that's basically the philosophy of Tensorless:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Give it data. Train. Generate.&lt;/strong&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  So what does Tensorless actually automate?
&lt;/h1&gt;

&lt;p&gt;When you train a text-generation model, Tensorless can derive a number of settings from the data instead of making you configure everything manually.&lt;/p&gt;

&lt;p&gt;The current package automatically derives things such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;model size&lt;/li&gt;
&lt;li&gt;batch size&lt;/li&gt;
&lt;li&gt;epochs&lt;/li&gt;
&lt;li&gt;validation setup&lt;/li&gt;
&lt;li&gt;device&lt;/li&gt;
&lt;li&gt;BPE vocabulary size&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The model size is automatically scaled according to corpus size across several tiers.&lt;/p&gt;

&lt;p&gt;And if you &lt;em&gt;do&lt;/em&gt; want control, you can override the automatically selected settings.&lt;/p&gt;

&lt;p&gt;So you can start simple:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;train&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;./corpus.txt&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;task&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text-generation&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or start taking control of the configuration:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;train&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;./corpus.txt&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;task&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text-generation&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;epochs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;max_seq_len&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;128&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The idea isn't:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"You are never allowed to configure anything."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It's:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"You shouldn't have to configure everything just to get started."&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h1&gt;
  
  
  Tokenization is handled too
&lt;/h1&gt;

&lt;p&gt;For text training, Tensorless currently uses &lt;strong&gt;BPE as the default tokenizer&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;You can also explicitly choose character-level tokenization:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;train&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;./corpus.txt&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;task&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text-generation&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;tokenizer&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;char&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The text is tokenized once up front and then streamed through PyTorch in fixed-size batches.&lt;/p&gt;

&lt;p&gt;That means the user doesn't have to manually build an entire tokenization → batching → training pipeline before experimenting.&lt;/p&gt;




&lt;h1&gt;
  
  
  What about pretraining?
&lt;/h1&gt;

&lt;p&gt;There is also a starter English pretraining workflow.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;tensorless&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;tl&lt;/span&gt;

&lt;span class="n"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;pretrain&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;out&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;english.tl&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;epochs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;max_seq_len&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;128&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;generate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;A complete sentence&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;max_new_tokens&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Tensorless includes an offline starter corpus for demonstrations and smoke tests.&lt;/p&gt;

&lt;p&gt;But it's important to say this clearly:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;That starter corpus isn't supposed to magically produce a powerful LLM.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It's there to demonstrate the pipeline.&lt;/p&gt;

&lt;p&gt;For actual pretraining, you should provide your own substantially larger corpus.&lt;/p&gt;




&lt;h1&gt;
  
  
  And you can fine-tune
&lt;/h1&gt;

&lt;p&gt;This is one of the things I wanted to support beyond just:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Here's a dataset, train from scratch."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You can train a base model:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;base&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;train&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;./big_corpus.txt&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;task&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text-generation&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;out&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;base.tl&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;epochs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then fine-tune it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;tuned&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;train&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;./my_conversations.json&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;task&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text-generation&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;out&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;tuned.tl&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;pretrained&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;base.tl&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;epochs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The current implementation keeps the architecture and tokenizer aligned with the pretrained model when using &lt;code&gt;pretrained=&lt;/code&gt;, rather than silently accepting incompatible overrides.&lt;/p&gt;

&lt;p&gt;That's useful because the whole point of fine-tuning is to build on what the base model already learned.&lt;/p&gt;




&lt;h1&gt;
  
  
  It isn't only text generation
&lt;/h1&gt;

&lt;p&gt;Tensorless isn't limited to language models.&lt;/p&gt;

&lt;p&gt;The current package also exposes other training tasks.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;tl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;train&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;reviews/&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;task&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text-classification&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And tabular regression:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;tl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;train&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;housing.csv&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;task&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;regression&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The package also supports tabular classification, with preprocessing for things such as numeric values, ISO dates, and high-cardinality categories.&lt;/p&gt;

&lt;p&gt;So the broader idea became:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Don't make every experiment start with a giant configuration file.&lt;/strong&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  What about GPUs?
&lt;/h1&gt;

&lt;p&gt;This was one of the reasons the original from-scratch version became difficult.&lt;/p&gt;

&lt;p&gt;In the current PyTorch-based implementation, CUDA training can automatically use mixed precision where supported.&lt;/p&gt;

&lt;p&gt;The current version also supports TPU training through:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;device&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;tpu&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And larger automatically sized models can enable gradient checkpointing to reduce memory usage.&lt;/p&gt;

&lt;p&gt;That's one of the big lessons I learned from the original Tensorless:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sometimes the best engineering decision is not to rebuild something that already works.&lt;/strong&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  Then I built a cat. 🐈
&lt;/h1&gt;

&lt;p&gt;After building a framework for training models, I needed an actual project to play with it.&lt;/p&gt;

&lt;p&gt;So obviously...&lt;/p&gt;

&lt;p&gt;I made a chatbot that talks like a dramatic cat.&lt;/p&gt;

&lt;p&gt;Introducing:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/DeveloperPuneet/CatTongue?utm_source=chatgpt.com" rel="noopener noreferrer"&gt;CatTongue on GitHub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;CatTongue is a tiny Tensorless-powered chatbot trained on human messages and cat responses.&lt;/p&gt;

&lt;p&gt;The repository is intentionally simple.&lt;/p&gt;

&lt;p&gt;Its structure looks roughly like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CatTongue/
├── data/
│   └── conversations.json
├── train.py
├── chat.py
├── README.md
└── .gitignore
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The actual repository also contains trained &lt;code&gt;.tl&lt;/code&gt; model files and the training/chat scripts.&lt;/p&gt;




&lt;h1&gt;
  
  
  Running CatTongue
&lt;/h1&gt;

&lt;p&gt;First install Tensorless:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;tensorless-pytorch
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then train:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python train.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That produces:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cat.tl
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python chat.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And you can talk to the cat.&lt;/p&gt;

&lt;p&gt;That's the actual workflow documented in the CatTongue repository.&lt;/p&gt;




&lt;h1&gt;
  
  
  The dataset is ridiculously simple
&lt;/h1&gt;

&lt;p&gt;The training data lives in:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;data/conversations.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;An individual example looks like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"user"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"what are you doing?"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"cat"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"mrrp... watching the wall. the wall is suspicious."&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So if you want to experiment with the personality, you can literally add more conversations.&lt;/p&gt;

&lt;p&gt;More data.&lt;/p&gt;

&lt;p&gt;Different responses.&lt;/p&gt;

&lt;p&gt;Different personality.&lt;/p&gt;

&lt;p&gt;Then train again.&lt;/p&gt;

&lt;p&gt;That's one of the things I like most about this experiment: &lt;strong&gt;the entire pipeline is accessible enough to mess with.&lt;/strong&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  And yes, the model is imperfect 😂
&lt;/h1&gt;

&lt;p&gt;Some of the CatTongue outputs are genuinely funny.&lt;/p&gt;

&lt;p&gt;Others are completely broken.&lt;/p&gt;

&lt;p&gt;And that's expected.&lt;/p&gt;

&lt;p&gt;This isn't a massive pretrained language model.&lt;/p&gt;

&lt;p&gt;It's a small experiment trained on a small dataset.&lt;/p&gt;

&lt;p&gt;The repository even has examples where the model produces grammatically broken or nonsensical responses.&lt;/p&gt;

&lt;p&gt;But that's actually useful.&lt;/p&gt;

&lt;p&gt;Because you can see the relationship between:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;data → training → model behavior.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Change the dataset and train again.&lt;/p&gt;

&lt;p&gt;The behavior changes.&lt;/p&gt;

&lt;p&gt;That's exactly the kind of experimentation I wanted Tensorless to make easier.&lt;/p&gt;




&lt;h1&gt;
  
  
  Why "Tensorless"?
&lt;/h1&gt;

&lt;p&gt;The name came from the original idea.&lt;/p&gt;

&lt;p&gt;I wanted the user to think less about the underlying tensor/model configuration and more about:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What data do I want to train on?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It's not literally "tensor-free."&lt;/p&gt;

&lt;p&gt;PyTorch is underneath it.&lt;/p&gt;

&lt;p&gt;The name is more about the abstraction.&lt;/p&gt;

&lt;p&gt;You don't need to manually deal with every underlying detail before you can start experimenting.&lt;/p&gt;




&lt;h1&gt;
  
  
  A year later...
&lt;/h1&gt;

&lt;p&gt;It's kind of funny looking back.&lt;/p&gt;

&lt;p&gt;I started this because I was learning PyTorch and getting confused by all the configuration.&lt;/p&gt;

&lt;p&gt;Then I tried building basically everything myself.&lt;/p&gt;

&lt;p&gt;That caused problems.&lt;/p&gt;

&lt;p&gt;Then I realized I could use PyTorch instead of fighting it.&lt;/p&gt;

&lt;p&gt;And now Tensorless is an actual Python package.&lt;/p&gt;

&lt;p&gt;The current PyPI release is &lt;strong&gt;0.8.0&lt;/strong&gt;, published on &lt;strong&gt;August 27, 2026&lt;/strong&gt;, and the package is MIT licensed.&lt;/p&gt;

&lt;p&gt;The project is still evolving.&lt;/p&gt;

&lt;p&gt;There are things I want to improve.&lt;/p&gt;

&lt;p&gt;There will definitely be bugs.&lt;/p&gt;

&lt;p&gt;And there are probably design decisions I'll change later.&lt;/p&gt;

&lt;p&gt;But that's what makes open source interesting.&lt;/p&gt;




&lt;h1&gt;
  
  
  So, what can you do with it?
&lt;/h1&gt;

&lt;p&gt;You can start ridiculously simply:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;tensorless&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;tl&lt;/span&gt;

&lt;span class="n"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;train&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;./my_data.txt&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;task&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text-generation&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or you can go deeper and configure the training yourself.&lt;/p&gt;

&lt;p&gt;You can pretrain.&lt;/p&gt;

&lt;p&gt;You can fine-tune.&lt;/p&gt;

&lt;p&gt;You can do text classification.&lt;/p&gt;

&lt;p&gt;You can work with tabular data.&lt;/p&gt;

&lt;p&gt;You can save models as &lt;code&gt;.tl&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;You can load them later:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;load&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;model.tl&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;info&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;All of these are part of the current package API.&lt;/p&gt;




&lt;h1&gt;
  
  
  It's not trying to replace serious ML frameworks
&lt;/h1&gt;

&lt;p&gt;Tensorless isn't meant to replace PyTorch.&lt;/p&gt;

&lt;p&gt;Actually, &lt;strong&gt;it uses PyTorch.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That's intentional.&lt;/p&gt;

&lt;p&gt;PyTorch already gives us an enormous amount of mature infrastructure.&lt;/p&gt;

&lt;p&gt;Tensorless sits above it and tries to make certain workflows more automated.&lt;/p&gt;

&lt;p&gt;Think of it as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Your data
   ↓
Tensorless
   ↓
automatic configuration
   ↓
tokenization / preprocessing
   ↓
model + training setup
   ↓
PyTorch
   ↓
trained model
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The goal is to reduce the amount of boilerplate between:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I have some data"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;and&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I have a model I can experiment with."&lt;/strong&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  Where it goes from here
&lt;/h1&gt;

&lt;p&gt;I don't know exactly.&lt;/p&gt;

&lt;p&gt;That's part of the fun.&lt;/p&gt;

&lt;p&gt;I want to keep improving the automation, hardware support, training behavior, documentation, and model capabilities.&lt;/p&gt;

&lt;p&gt;And I want people to actually use it.&lt;/p&gt;

&lt;p&gt;Break it.&lt;/p&gt;

&lt;p&gt;Experiment with it.&lt;/p&gt;

&lt;p&gt;Build weird projects with it.&lt;/p&gt;

&lt;p&gt;Find bugs I didn't find.&lt;/p&gt;

&lt;p&gt;Send pull requests.&lt;/p&gt;

&lt;p&gt;Maybe someone will build something genuinely useful with it.&lt;/p&gt;

&lt;p&gt;Maybe someone will build another ridiculous chatbot.&lt;/p&gt;

&lt;p&gt;Both are fine. 😂&lt;/p&gt;




&lt;h1&gt;
  
  
  Try it yourself 🚀
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;PyPI:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://pypi.org/project/tensorless-pytorch/?utm_source=chatgpt.com" rel="noopener noreferrer"&gt;tensorless-pytorch&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CatTongue:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://github.com/DeveloperPuneet/CatTongue?utm_source=chatgpt.com" rel="noopener noreferrer"&gt;DeveloperPuneet/CatTongue&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Install:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;tensorless-pytorch
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then try:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;tensorless&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;tl&lt;/span&gt;

&lt;span class="n"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;train&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;./corpus.txt&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;task&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text-generation&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;generate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;The&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;max_new_tokens&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;40&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And if you want something more entertaining, clone CatTongue and train the dramatic cat. 🐈&lt;/p&gt;




&lt;h2&gt;
  
  
  One last thing
&lt;/h2&gt;

&lt;p&gt;Tensorless started because I thought:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Why are there so many things I have to configure just to train a model?"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A year later, I ended up publishing the answer I came up with.&lt;/p&gt;

&lt;p&gt;It's not perfect.&lt;/p&gt;

&lt;p&gt;It's not some revolutionary new architecture.&lt;/p&gt;

&lt;p&gt;It's not going to train a frontier model on your laptop.&lt;/p&gt;

&lt;p&gt;It's simply an attempt to make model training &lt;strong&gt;less annoying to start with&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And honestly?&lt;/p&gt;

&lt;p&gt;I'm pretty happy that the idea that started with me being confused about PyTorch eventually became a package people can actually &lt;code&gt;pip install&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Now I want to see what other people do with it.&lt;/strong&gt; 🚀&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>ai</category>
      <category>programming</category>
      <category>python</category>
    </item>
    <item>
      <title>I Was Learning PyTorch, Then I Accidentally Started Building My Own AI Training Framework</title>
      <dc:creator>Puneet-Kumar2010</dc:creator>
      <pubDate>Sun, 23 Aug 2026 10:48:35 +0000</pubDate>
      <link>https://dev.to/puneetkumar2010/i-was-learning-pytorch-then-i-accidentally-started-building-my-own-ai-training-framework-55a9</link>
      <guid>https://dev.to/puneetkumar2010/i-was-learning-pytorch-then-i-accidentally-started-building-my-own-ai-training-framework-55a9</guid>
      <description>&lt;p&gt;Honestly, &lt;strong&gt;Tensorless was not supposed to become this big.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I was learning PyTorch.&lt;/p&gt;

&lt;p&gt;I wanted to understand how neural networks and model training actually worked, so before starting Tensorless, I built &lt;strong&gt;two AI models with PyTorch&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Those two projects were mainly for learning. I wanted to understand the basics by actually building things instead of only reading tutorials.&lt;/p&gt;

&lt;p&gt;And after doing that, I started thinking about something pretty simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Why does training a model have to involve so much setup every time?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If I already have the training data, why can't I just give it to a framework and let it figure out most of the boring stuff?&lt;/p&gt;

&lt;p&gt;That was the beginning of Tensorless.&lt;/p&gt;




&lt;h2&gt;
  
  
  First, I Built Two Models With PyTorch
&lt;/h2&gt;

&lt;p&gt;Before Tensorless existed, I spent time learning PyTorch by actually building &lt;strong&gt;two AI models&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That gave me a basic understanding of how the whole process worked:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Preparing data&lt;/li&gt;
&lt;li&gt;Creating a model&lt;/li&gt;
&lt;li&gt;Training&lt;/li&gt;
&lt;li&gt;Loss&lt;/li&gt;
&lt;li&gt;Optimizers&lt;/li&gt;
&lt;li&gt;Batching&lt;/li&gt;
&lt;li&gt;Saving models&lt;/li&gt;
&lt;li&gt;Loading models&lt;/li&gt;
&lt;li&gt;Inference&lt;/li&gt;
&lt;li&gt;And all the configuration around training&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Building those two models was important because I wasn't starting Tensorless completely blind.&lt;/p&gt;

&lt;p&gt;I had already experienced the process myself.&lt;/p&gt;

&lt;p&gt;And after doing it twice, I started noticing how much of the setup was repetitive.&lt;/p&gt;

&lt;p&gt;Sometimes I don't want to spend a huge amount of time configuring everything.&lt;/p&gt;

&lt;p&gt;Sometimes I just want to get a result quickly.&lt;/p&gt;

&lt;p&gt;So I started thinking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What if most of this could just happen automatically?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h1&gt;
  
  
  The Original Idea Was Actually Pretty Simple
&lt;/h1&gt;

&lt;p&gt;My initial goal wasn't to create another huge machine-learning framework.&lt;/p&gt;

&lt;p&gt;I wanted something more like:&lt;/p&gt;

&lt;p&gt;Give Tensorless your training data&lt;br&gt;
            ↓&lt;br&gt;
Tensorless figures out the setup&lt;br&gt;
            ↓&lt;br&gt;
Train&lt;br&gt;
            ↓&lt;br&gt;
Get your model&lt;/p&gt;

&lt;p&gt;The idea was basically:&lt;/p&gt;

&lt;p&gt;Put data in → go.&lt;/p&gt;

&lt;p&gt;If you're a beginner, you shouldn't need to understand every training parameter before you can train a model.&lt;/p&gt;

&lt;p&gt;But if you're an advanced programmer, you should still be able to configure everything yourself.&lt;/p&gt;

&lt;p&gt;So the philosophy became:&lt;/p&gt;

&lt;p&gt;Simple by default. Configurable when you need it.&lt;/p&gt;

&lt;p&gt;The First Tensorless Version Used PyTorch&lt;/p&gt;

&lt;p&gt;The first version of Tensorless actually used PyTorch underneath.&lt;/p&gt;

&lt;p&gt;I wasn't trying to reinvent neural networks at that point.&lt;/p&gt;

&lt;p&gt;I was trying to automate the training process.&lt;/p&gt;

&lt;p&gt;The configuration was mostly determined automatically using fixed conditions in the code.&lt;/p&gt;

&lt;p&gt;So instead of manually deciding every parameter, Tensorless would make those decisions for you.&lt;/p&gt;

&lt;p&gt;That was the first version.&lt;/p&gt;

&lt;p&gt;And honestly, it worked surprisingly well for what I wanted.&lt;/p&gt;

&lt;p&gt;But then I ran into another problem.&lt;/p&gt;

&lt;p&gt;I Wanted It To Be Small&lt;/p&gt;

&lt;p&gt;One of the reasons I started thinking differently about the architecture was the amount of stuff involved in a PyTorch-based workflow.&lt;/p&gt;

&lt;p&gt;When I was experimenting with the project, the dependencies and modules could become 500+ MB.&lt;/p&gt;

&lt;p&gt;And I started thinking:&lt;/p&gt;

&lt;p&gt;"I'm trying to make training simpler and lightweight, but I'm bringing in a huge stack just to do it."&lt;/p&gt;

&lt;p&gt;I didn't want Tensorless to become a massive package full of components that users might never need.&lt;/p&gt;

&lt;p&gt;I wanted the package to contain the things actually required for its own workflow.&lt;/p&gt;

&lt;p&gt;So I decided to go much further.&lt;/p&gt;

&lt;p&gt;Then I Made A Slightly Insane Decision&lt;/p&gt;

&lt;p&gt;I started building more of the system myself.&lt;/p&gt;

&lt;p&gt;Instead of keeping Tensorless as a PyTorch wrapper forever, I started working toward my own neural/training system.&lt;/p&gt;

&lt;p&gt;That meant getting into things I originally hadn't planned to touch.&lt;/p&gt;

&lt;p&gt;I started working on:&lt;/p&gt;

&lt;p&gt;Neural network components&lt;br&gt;
Training&lt;br&gt;
CUDA optimization&lt;br&gt;
Data optimization&lt;br&gt;
Data pipelines&lt;br&gt;
TPU support&lt;br&gt;
Automatic configuration&lt;br&gt;
Tokenization&lt;br&gt;
BPE&lt;br&gt;
Model saving/loading&lt;br&gt;
And other training infrastructure&lt;/p&gt;

&lt;p&gt;At this point, Tensorless had changed completely.&lt;/p&gt;

&lt;p&gt;It wasn't just:&lt;/p&gt;

&lt;p&gt;"PyTorch, but with easier configuration."&lt;/p&gt;

&lt;p&gt;It was becoming an attempt to build a lightweight training system around the workflow I wanted.&lt;/p&gt;

&lt;p&gt;Then I Needed Something Real To Test It On&lt;/p&gt;

&lt;p&gt;So I built a small chatbot.&lt;/p&gt;

&lt;p&gt;A cat chatbot.&lt;/p&gt;

&lt;p&gt;I called it CatTongue. 🐈&lt;/p&gt;

&lt;p&gt;The model was trained on CPU, and with the PyTorch-based version of my training system, I was getting results that were honestly pretty fun.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;You: "Do you trust me?"&lt;br&gt;
Cat: "only if you walk toward the kitchen. 😼🐾"&lt;/p&gt;

&lt;p&gt;You: "Who is your enemy?"&lt;br&gt;
Cat: "empty boxes. 📦😾 they are useful for exactly zero seconds."&lt;/p&gt;

&lt;p&gt;You: "Who is your favorite human?"&lt;br&gt;
Cat: "are you holding food? 🤨🍗"&lt;/p&gt;

&lt;p&gt;You: "Do you have a best friend?"&lt;br&gt;
Cat: "the vacuum cleaner. 😾🧹 we have unfinished business."&lt;/p&gt;

&lt;p&gt;It wasn't perfect.&lt;/p&gt;

&lt;p&gt;But it was understandable.&lt;/p&gt;

&lt;p&gt;The model was actually producing responses that made sense.&lt;/p&gt;

&lt;p&gt;And I thought:&lt;/p&gt;

&lt;p&gt;Okay. This is working.&lt;/p&gt;

&lt;p&gt;Then I Changed The Training System Again&lt;/p&gt;

&lt;p&gt;I continued developing my own training implementation.&lt;/p&gt;

&lt;p&gt;And then I trained again.&lt;/p&gt;

&lt;p&gt;This time...&lt;/p&gt;

&lt;p&gt;OH MY GOD.&lt;/p&gt;

&lt;p&gt;The results were terrible. 😭&lt;/p&gt;

&lt;p&gt;I started getting things like:&lt;/p&gt;

&lt;p&gt;You: Hello&lt;br&gt;
Cat: yes. � I understand the ancient languagnacke.&lt;/p&gt;

&lt;p&gt;You: do you want food?&lt;br&gt;
Cat: food. �� � I have interrupt the sound forctinking.&lt;/p&gt;

&lt;p&gt;You: fish?&lt;br&gt;
Cat: food. � � � suspicious.&lt;/p&gt;

&lt;p&gt;You: who is your enemy?&lt;br&gt;
Cat: yes. � I amain but jobs.&lt;/p&gt;

&lt;p&gt;You: meow&lt;br&gt;
Cat: okay. � I superiore your fish.&lt;/p&gt;

&lt;p&gt;You: kitchen&lt;br&gt;
Cat: fish. � They are you mrrp.&lt;/p&gt;

&lt;p&gt;And my reaction was basically:&lt;/p&gt;

&lt;p&gt;FAAAAAAAAAAAAAAAAAAAAH.&lt;/p&gt;

&lt;p&gt;😂&lt;/p&gt;

&lt;p&gt;There were recognizable words.&lt;/p&gt;

&lt;p&gt;There were sometimes recognizable meanings.&lt;/p&gt;

&lt;p&gt;But the language wasn't behaving properly.&lt;/p&gt;

&lt;p&gt;And this was actually one of the most important moments in the project.&lt;/p&gt;

&lt;p&gt;Running a Neural Network Isn't The Same As Making It Learn Properly&lt;/p&gt;

&lt;p&gt;I had already learned how to make the system train.&lt;/p&gt;

&lt;p&gt;I had a model.&lt;/p&gt;

&lt;p&gt;I had data.&lt;/p&gt;

&lt;p&gt;I had a training loop.&lt;/p&gt;

&lt;p&gt;I had the infrastructure.&lt;/p&gt;

&lt;p&gt;But getting something to actually learn useful language representations is a completely different problem.&lt;/p&gt;

&lt;p&gt;That experiment showed me that my implementation still had a lot to improve.&lt;/p&gt;

&lt;p&gt;And that's where I started understanding the difference between:&lt;/p&gt;

&lt;p&gt;"The code runs."&lt;/p&gt;

&lt;p&gt;and&lt;/p&gt;

&lt;p&gt;"The model works well."&lt;/p&gt;

&lt;p&gt;Those are VERY different things.&lt;/p&gt;

&lt;p&gt;But The API Was Becoming What I Wanted&lt;/p&gt;

&lt;p&gt;Even while the underlying system still needed work, the interface was becoming extremely simple.&lt;/p&gt;

&lt;p&gt;For example, pretraining and fine-tuning can look like:&lt;/p&gt;

&lt;p&gt;import tensorless as tl&lt;/p&gt;

&lt;p&gt;print("Pretraining base model...")&lt;/p&gt;

&lt;p&gt;base_model = tl.pretrain(&lt;br&gt;
    out="pretrained_base.tl",&lt;br&gt;
    max_seq_len=30&lt;br&gt;
)&lt;/p&gt;

&lt;p&gt;print("Base model pretrained -&amp;gt; pretrained_base.tl")&lt;/p&gt;

&lt;p&gt;print("Fine-tuning on cat conversations...")&lt;/p&gt;

&lt;p&gt;model = tl.train(&lt;br&gt;
    "data/conversations.json",&lt;br&gt;
    pretrained="pretrained_base.tl",&lt;br&gt;
    out="cat.tl",&lt;br&gt;
)&lt;/p&gt;

&lt;p&gt;print("CatTongue trained successfully!")&lt;/p&gt;

&lt;p&gt;That's basically the experience I'm trying to create.&lt;/p&gt;

&lt;p&gt;You don't need to write a massive training script.&lt;/p&gt;

&lt;p&gt;You don't need thousands of lines just to get started.&lt;/p&gt;

&lt;p&gt;You provide your data.&lt;/p&gt;

&lt;p&gt;Tensorless handles the setup.&lt;/p&gt;

&lt;p&gt;And if you want to customize things, you can.&lt;/p&gt;

&lt;p&gt;Beginner vs Advanced User&lt;/p&gt;

&lt;p&gt;This is something I really want Tensorless to get right.&lt;/p&gt;

&lt;p&gt;If you're a beginner&lt;/p&gt;

&lt;p&gt;You shouldn't have to understand every parameter.&lt;/p&gt;

&lt;p&gt;You should be able to do something like:&lt;/p&gt;

&lt;p&gt;model = tl.train("data/")&lt;/p&gt;

&lt;p&gt;and get started.&lt;/p&gt;

&lt;p&gt;If you're an advanced programmer&lt;/p&gt;

&lt;p&gt;You should be able to configure the training yourself.&lt;/p&gt;

&lt;p&gt;I want all the important configuration to be accessible in one place rather than making someone jump through a huge project just to change one setting.&lt;/p&gt;

&lt;p&gt;So the idea is:&lt;/p&gt;

&lt;p&gt;One simple function for beginners. Deep configuration for advanced users.&lt;/p&gt;

&lt;p&gt;I Also Wanted It To Stay Lightweight&lt;/p&gt;

&lt;p&gt;Another thing I'm trying to maintain is the overall package size.&lt;/p&gt;

&lt;p&gt;Tensorless is currently under roughly 30–40 MB overall, rather than pulling in a huge collection of unnecessary components.&lt;/p&gt;

&lt;p&gt;That's important to me because the original reason for this project was partly:&lt;/p&gt;

&lt;p&gt;I want to experiment without needing a giant stack just to get started.&lt;/p&gt;

&lt;p&gt;I don't want someone to install Tensorless for a small experiment and feel like they installed an entire operating system. 😭&lt;/p&gt;

&lt;p&gt;Tensorless Is Now Actually Open Source&lt;/p&gt;

&lt;p&gt;The project is available on GitHub and PyPI.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/DeveloperPuneet/Tensorless" rel="noopener noreferrer"&gt;https://github.com/DeveloperPuneet/Tensorless&lt;/a&gt;&lt;br&gt;
PyPI: &lt;a href="https://pypi.org/project/tensorless/" rel="noopener noreferrer"&gt;https://pypi.org/project/tensorless/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And CatTongue is also open source:&lt;/p&gt;

&lt;p&gt;CatTongue: &lt;a href="https://github.com/DeveloperPuneet/CatTongue" rel="noopener noreferrer"&gt;https://github.com/DeveloperPuneet/CatTongue&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The CatTongue experiment is one of the things I'm using to test whether the training system is actually improving.&lt;/p&gt;

&lt;p&gt;And Now I'm Stuck On The Hard Stuff&lt;/p&gt;

&lt;p&gt;This is where the project is today.&lt;/p&gt;

&lt;p&gt;The basic system works.&lt;/p&gt;

&lt;p&gt;The API works.&lt;/p&gt;

&lt;p&gt;Training works to a certain extent.&lt;/p&gt;

&lt;p&gt;The automatic setup works.&lt;/p&gt;

&lt;p&gt;But now I'm running into problems that aren't as easy as writing another Python function.&lt;/p&gt;

&lt;p&gt;CUDA&lt;/p&gt;

&lt;p&gt;I've been working on CUDA support and optimization.&lt;/p&gt;

&lt;p&gt;The system can detect the GPU and show GPU-related activity, but I'm having problems getting the actual training workload to behave properly on the GPU.&lt;/p&gt;

&lt;p&gt;Basically:&lt;/p&gt;

&lt;p&gt;The GPU is detected, but it doesn't always mean the training is actually being accelerated the way it should be.&lt;/p&gt;

&lt;p&gt;That's something I really want to fix.&lt;/p&gt;

&lt;p&gt;TPU&lt;/p&gt;

&lt;p&gt;I've also started working toward TPU support.&lt;/p&gt;

&lt;p&gt;Again, detection is one thing.&lt;/p&gt;

&lt;p&gt;Actually getting the training workload to execute correctly on the TPU is another.&lt;/p&gt;

&lt;p&gt;So TPU support is currently something I want to improve substantially.&lt;/p&gt;

&lt;p&gt;Multi-GPU&lt;/p&gt;

&lt;p&gt;I've also been working on multi-GPU support.&lt;/p&gt;

&lt;p&gt;The problem is that detecting multiple GPUs doesn't automatically mean the training workload is correctly distributed across them.&lt;/p&gt;

&lt;p&gt;I want multi-GPU training to actually make use of the available devices rather than simply detecting them.&lt;/p&gt;

&lt;p&gt;Training Results&lt;/p&gt;

&lt;p&gt;This is probably the biggest issue.&lt;/p&gt;

&lt;p&gt;The same training data can behave differently depending on the implementation.&lt;/p&gt;

&lt;p&gt;My current training implementation doesn't always produce results comparable to established training frameworks.&lt;/p&gt;

&lt;p&gt;The CatTongue experiment made that very obvious.&lt;/p&gt;

&lt;p&gt;The model can learn words.&lt;/p&gt;

&lt;p&gt;It can sometimes learn relationships between words.&lt;/p&gt;

&lt;p&gt;But getting consistently good results is another level.&lt;/p&gt;

&lt;p&gt;Automatic Configuration&lt;/p&gt;

&lt;p&gt;The automatic configuration is also something I want to improve.&lt;/p&gt;

&lt;p&gt;Right now, some decisions are based on predefined logic.&lt;/p&gt;

&lt;p&gt;That's useful, but it isn't flexible enough for every dataset or model.&lt;/p&gt;

&lt;p&gt;I want the system to become smarter about determining what configuration makes sense.&lt;/p&gt;

&lt;p&gt;This Is Where I Need Help&lt;/p&gt;

&lt;p&gt;And honestly, this is the main reason I'm writing this article.&lt;/p&gt;

&lt;p&gt;I'm still learning.&lt;/p&gt;

&lt;p&gt;I started this entire project because I was learning PyTorch.&lt;/p&gt;

&lt;p&gt;I built two models with PyTorch.&lt;/p&gt;

&lt;p&gt;Then I started automating the process.&lt;/p&gt;

&lt;p&gt;Then I started building my own system.&lt;/p&gt;

&lt;p&gt;And now I've reached areas where there are people who know way more than I do.&lt;/p&gt;

&lt;p&gt;If you have experience with:&lt;/p&gt;

&lt;p&gt;CUDA&lt;br&gt;
GPU optimization&lt;br&gt;
TPU/XLA&lt;br&gt;
multi-GPU training&lt;br&gt;
neural network implementation&lt;br&gt;
training stability&lt;br&gt;
data pipelines&lt;br&gt;
model optimization&lt;br&gt;
BPE/tokenization&lt;br&gt;
machine-learning infrastructure&lt;/p&gt;

&lt;p&gt;I'd genuinely love feedback.&lt;/p&gt;

&lt;p&gt;You don't have to write code.&lt;/p&gt;

&lt;p&gt;Even finding a problem and explaining why something is wrong would help.&lt;/p&gt;

&lt;p&gt;And if you want to contribute code, even better.&lt;/p&gt;

&lt;p&gt;The project is open source and the issues are there for exactly this reason.&lt;/p&gt;

&lt;p&gt;What I Want To Build Next&lt;/p&gt;

&lt;p&gt;I have a pretty ambitious list of things I'd like to experiment with.&lt;/p&gt;

&lt;p&gt;Some of the ideas currently on my roadmap are:&lt;/p&gt;

&lt;p&gt;Better CUDA optimization&lt;br&gt;
Proper TPU training&lt;br&gt;
Reliable multi-GPU training&lt;br&gt;
Smarter automatic configuration&lt;br&gt;
Improved data pipelines&lt;br&gt;
More training/data formats&lt;br&gt;
Additional model architectures&lt;br&gt;
Game integration&lt;br&gt;
CLI-based AI interaction&lt;br&gt;
UI-based AI interaction&lt;br&gt;
User-vs-AI experiences&lt;br&gt;
Reinforcement learning&lt;br&gt;
Q-learning&lt;br&gt;
Deep Q-learning&lt;br&gt;
And more&lt;/p&gt;

&lt;p&gt;The goal isn't necessarily to implement everything immediately.&lt;/p&gt;

&lt;p&gt;I want to keep expanding the system as I learn.&lt;/p&gt;

&lt;p&gt;From Two PyTorch Models To Tensorless&lt;/p&gt;

&lt;p&gt;Looking back, the progression is kind of funny.&lt;/p&gt;

&lt;p&gt;I started with:&lt;/p&gt;

&lt;p&gt;"I want to learn PyTorch."&lt;/p&gt;

&lt;p&gt;Then I built two models with PyTorch.&lt;/p&gt;

&lt;p&gt;Then:&lt;/p&gt;

&lt;p&gt;"Why do I have to configure all this stuff every time?"&lt;/p&gt;

&lt;p&gt;So I started automating it.&lt;/p&gt;

&lt;p&gt;Then:&lt;/p&gt;

&lt;p&gt;"Why is this getting so heavy?"&lt;/p&gt;

&lt;p&gt;So I started trying to make it lightweight.&lt;/p&gt;

&lt;p&gt;Then:&lt;/p&gt;

&lt;p&gt;"What if I build more of the system myself?"&lt;/p&gt;

&lt;p&gt;Then came:&lt;/p&gt;

&lt;p&gt;CUDA.&lt;/p&gt;

&lt;p&gt;TPUs.&lt;/p&gt;

&lt;p&gt;Data pipelines.&lt;/p&gt;

&lt;p&gt;BPE.&lt;/p&gt;

&lt;p&gt;Multi-GPU.&lt;/p&gt;

&lt;p&gt;And then eventually:&lt;/p&gt;

&lt;p&gt;"Why does my cat suddenly speak ancient alien language?" 💀&lt;/p&gt;

&lt;p&gt;That's basically how Tensorless happened.&lt;/p&gt;

&lt;p&gt;I didn't start this project because I thought I could build something better than PyTorch.&lt;/p&gt;

&lt;p&gt;I started it because I wanted to make one specific thing easier:&lt;/p&gt;

&lt;p&gt;Take training data → configure as little as possible → train a model.&lt;/p&gt;

&lt;p&gt;I wanted something where beginners could just give it their data and go, while advanced users could still control the system when they needed to.&lt;/p&gt;

&lt;p&gt;And now I'm trying to figure out how far I can actually take that idea.&lt;/p&gt;

&lt;p&gt;If You Want To Check It Out&lt;br&gt;
Tensorless&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/DeveloperPuneet/Tensorless" rel="noopener noreferrer"&gt;https://github.com/DeveloperPuneet/Tensorless&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://pypi.org/project/tensorless/" rel="noopener noreferrer"&gt;https://pypi.org/project/tensorless/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;CatTongue&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/DeveloperPuneet/CatTongue" rel="noopener noreferrer"&gt;https://github.com/DeveloperPuneet/CatTongue&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you're interested in the project, try it, break it, report something, suggest something, or contribute.&lt;/p&gt;

&lt;p&gt;Especially if you understand the parts I'm currently struggling with.&lt;/p&gt;

&lt;p&gt;I'm still learning.&lt;/p&gt;

&lt;p&gt;That's kind of the whole reason this project exists.&lt;/p&gt;

&lt;p&gt;I started by learning PyTorch.&lt;/p&gt;

&lt;p&gt;Now I'm learning what it actually takes to build the stuff underneath it.&lt;/p&gt;

&lt;p&gt;And honestly?&lt;/p&gt;

&lt;p&gt;I'm curious to see where this goes. 🚀&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>opensource</category>
      <category>ai</category>
      <category>python</category>
    </item>
    <item>
      <title>People Liked My Product. They Just Didn't Need It.</title>
      <dc:creator>Puneet-Kumar2010</dc:creator>
      <pubDate>Mon, 17 Aug 2026 03:37:39 +0000</pubDate>
      <link>https://dev.to/puneetkumar2010/people-liked-my-product-they-just-didnt-need-it-3oic</link>
      <guid>https://dev.to/puneetkumar2010/people-liked-my-product-they-just-didnt-need-it-3oic</guid>
      <description>&lt;p&gt;I recently learned something about building products that I probably should have understood much earlier:&lt;/p&gt;

&lt;p&gt;People liking your product doesn't necessarily mean they need it.&lt;/p&gt;

&lt;p&gt;I built a platform called Rizzzler, an open-source profile/link-in-bio platform.&lt;/p&gt;

&lt;p&gt;The idea was pretty simple.&lt;/p&gt;

&lt;p&gt;I'd seen people using platforms where they could put a link in their social media bio and create a small personal page. I thought I could build my own version — something simple, fast, customizable, and a little more fun.&lt;/p&gt;

&lt;p&gt;So I built it.&lt;/p&gt;

&lt;p&gt;And because I wanted people to be able to trust what they were using, I made the project open source too.&lt;/p&gt;

&lt;p&gt;I spent a lot of time building the actual product.&lt;/p&gt;

&lt;p&gt;There are profiles, customization, coins, notifications, milestones, community chat, and other small systems intended to make the platform feel less like a static link page and more like something people could actually interact with.&lt;/p&gt;

&lt;p&gt;At that point, I thought:&lt;/p&gt;

&lt;p&gt;"Okay, now I just need people to find it."&lt;/p&gt;

&lt;p&gt;That turned out to be the easy part.&lt;/p&gt;

&lt;p&gt;Then I started promoting it.&lt;/p&gt;

&lt;p&gt;I submitted Rizzzler to places like Product Hunt, SaaSFrame, and other platforms where people discover new products.&lt;/p&gt;

&lt;p&gt;And for a few days, things actually looked pretty good.&lt;/p&gt;

&lt;p&gt;I started getting visitors.&lt;/p&gt;

&lt;p&gt;At one point, the traffic was above the 25th percentile for the category I was looking at in GA4.&lt;/p&gt;

&lt;p&gt;People were visiting.&lt;/p&gt;

&lt;p&gt;Some people signed up.&lt;/p&gt;

&lt;p&gt;And I started getting feedback like:&lt;/p&gt;

&lt;p&gt;"Good UI."&lt;/p&gt;

&lt;p&gt;"This is good."&lt;/p&gt;

&lt;p&gt;"Someone finally made link-in-bio profiles look cool."&lt;/p&gt;

&lt;p&gt;Those comments felt great.&lt;/p&gt;

&lt;p&gt;They also gave me a slightly dangerous impression:&lt;/p&gt;

&lt;p&gt;Maybe I've built something people actually want.&lt;/p&gt;

&lt;p&gt;Then the traffic stopped.&lt;/p&gt;

&lt;p&gt;Not gradually.&lt;/p&gt;

&lt;p&gt;It just became cold again.&lt;/p&gt;

&lt;p&gt;The initial spike from launching and posting about the product disappeared, and there wasn't enough organic interest to keep bringing people back.&lt;/p&gt;

&lt;p&gt;That was the part I didn't expect.&lt;/p&gt;

&lt;p&gt;The product wasn't necessarily bad.&lt;/p&gt;

&lt;p&gt;This is something I've been thinking about a lot.&lt;/p&gt;

&lt;p&gt;I don't think the main problem was that Rizzzler was completely useless.&lt;/p&gt;

&lt;p&gt;People could understand what it did.&lt;/p&gt;

&lt;p&gt;People could use it.&lt;/p&gt;

&lt;p&gt;Some people even liked the design.&lt;/p&gt;

&lt;p&gt;But when I actually talked to people about creating an account, I started hearing a different kind of feedback.&lt;/p&gt;

&lt;p&gt;Something along the lines of:&lt;/p&gt;

&lt;p&gt;"The product is good, but I don't really need this."&lt;/p&gt;

&lt;p&gt;And honestly, that sentence taught me more than the positive reviews did.&lt;/p&gt;

&lt;p&gt;Because a positive review tells you:&lt;/p&gt;

&lt;p&gt;"This is nice."&lt;/p&gt;

&lt;p&gt;But a person refusing to use your product tells you:&lt;/p&gt;

&lt;p&gt;"This doesn't solve a problem important enough for me to change my behavior."&lt;/p&gt;

&lt;p&gt;Those are very different things.&lt;/p&gt;

&lt;p&gt;I underestimated marketing.&lt;/p&gt;

&lt;p&gt;When I started building, I mostly thought about the product itself.&lt;/p&gt;

&lt;p&gt;How should the UI look?&lt;/p&gt;

&lt;p&gt;What features should I add?&lt;/p&gt;

&lt;p&gt;How can I make it faster?&lt;/p&gt;

&lt;p&gt;How can I make people interact with it?&lt;/p&gt;

&lt;p&gt;So I kept adding things.&lt;/p&gt;

&lt;p&gt;Coins.&lt;/p&gt;

&lt;p&gt;Community chat.&lt;/p&gt;

&lt;p&gt;Milestones.&lt;/p&gt;

&lt;p&gt;Notifications.&lt;/p&gt;

&lt;p&gt;Small features intended to encourage people to return.&lt;/p&gt;

&lt;p&gt;But there was a problem underneath all of that:&lt;/p&gt;

&lt;p&gt;I was trying to improve retention before I had really proven that people wanted to return.&lt;/p&gt;

&lt;p&gt;That's a mistake I understand much better now.&lt;/p&gt;

&lt;p&gt;You can't solve a demand problem by endlessly adding features.&lt;/p&gt;

&lt;p&gt;And you can't necessarily advertise your way out of a demand problem either.&lt;/p&gt;

&lt;p&gt;The interesting part about advertising&lt;/p&gt;

&lt;p&gt;This made me question something I've been thinking about:&lt;/p&gt;

&lt;p&gt;Is advertising a product actually worth it if people don't already have a reason to use it?&lt;/p&gt;

&lt;p&gt;You can put your product in front of people.&lt;/p&gt;

&lt;p&gt;You can post it on Product Hunt.&lt;/p&gt;

&lt;p&gt;You can submit it to directories.&lt;/p&gt;

&lt;p&gt;You can write posts.&lt;/p&gt;

&lt;p&gt;You can share it on social media.&lt;/p&gt;

&lt;p&gt;You can get hundreds or thousands of impressions.&lt;/p&gt;

&lt;p&gt;But if someone sees it and thinks:&lt;/p&gt;

&lt;p&gt;"That's cool, but I don't need it."&lt;/p&gt;

&lt;p&gt;then the traffic doesn't really mean much.&lt;/p&gt;

&lt;p&gt;You may get visitors.&lt;/p&gt;

&lt;p&gt;You may get likes.&lt;/p&gt;

&lt;p&gt;You may even get compliments.&lt;/p&gt;

&lt;p&gt;But once the promotion stops, everything goes quiet again.&lt;/p&gt;

&lt;p&gt;That's basically what happened to me.&lt;/p&gt;

&lt;p&gt;The traffic came when I told people about Rizzzler.&lt;/p&gt;

&lt;p&gt;Then the traffic went away when I stopped telling people.&lt;/p&gt;

&lt;p&gt;That was a pretty useful reality check.&lt;/p&gt;

&lt;p&gt;And some users did join.&lt;/p&gt;

&lt;p&gt;This is another part I don't want to ignore.&lt;/p&gt;

&lt;p&gt;Rizzzler wasn't completely empty.&lt;/p&gt;

&lt;p&gt;Some people signed up.&lt;/p&gt;

&lt;p&gt;Some visited more than once.&lt;/p&gt;

&lt;p&gt;But most weren't coming back regularly.&lt;/p&gt;

&lt;p&gt;And that made me look at another assumption I'd made.&lt;/p&gt;

&lt;p&gt;I had built things like newsletters, milestones, coins, community chat, and other mechanisms to encourage interaction.&lt;/p&gt;

&lt;p&gt;But those things don't automatically create a reason for someone to return.&lt;/p&gt;

&lt;p&gt;If the underlying product isn't something they genuinely need, a notification or reward system isn't going to magically turn it into a habit.&lt;/p&gt;

&lt;p&gt;Retention starts with value.&lt;/p&gt;

&lt;p&gt;Not with notifications.&lt;/p&gt;

&lt;p&gt;So what did I actually learn?&lt;/p&gt;

&lt;p&gt;Probably more than I expected from one small project.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Building isn't the same as validating.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I spent a lot of time making the product better before fully understanding whether the problem was important enough to solve.&lt;/p&gt;

&lt;p&gt;Next time, I want to validate the need much earlier.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;"People like it" isn't enough.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A person saying your product is cool is nice.&lt;/p&gt;

&lt;p&gt;A person changing their behavior because they need your product is much more meaningful.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Marketing isn't just posting links.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I used to think of marketing mostly as getting the product in front of people.&lt;/p&gt;

&lt;p&gt;Now I think it's much more about understanding:&lt;/p&gt;

&lt;p&gt;Who actually needs this? Why do they need it? And why would they choose this instead of doing nothing?&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Traffic can be misleading.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A launch can create a nice graph.&lt;/p&gt;

&lt;p&gt;But a spike isn't the same thing as sustainable growth.&lt;/p&gt;

&lt;p&gt;The more interesting number is what happens after everyone stops talking about you.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Features can't manufacture demand.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can build a coin system.&lt;/p&gt;

&lt;p&gt;You can build a community.&lt;/p&gt;

&lt;p&gt;You can build notifications.&lt;/p&gt;

&lt;p&gt;You can build a beautiful dashboard.&lt;/p&gt;

&lt;p&gt;But none of those things matter much if the user doesn't have a strong reason to come back.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open source doesn't automatically create users either.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I made Rizzzler open source partly because I wanted people to be able to inspect and trust the project.&lt;/p&gt;

&lt;p&gt;I'm still happy that I did it.&lt;/p&gt;

&lt;p&gt;But open source is not a substitute for distribution, product-market fit, or understanding your audience.&lt;/p&gt;

&lt;p&gt;It's one part of the product story — not the whole story.&lt;/p&gt;

&lt;p&gt;But I'm not calling Rizzzler a failure.&lt;/p&gt;

&lt;p&gt;Actually, I don't think of it that way.&lt;/p&gt;

&lt;p&gt;If anything, it gave me something I couldn't have learned by just watching videos about startups.&lt;/p&gt;

&lt;p&gt;I experienced the entire cycle myself:&lt;/p&gt;

&lt;p&gt;Build → Launch → Get attention → Get feedback → Watch the attention disappear → Figure out why.&lt;/p&gt;

&lt;p&gt;And that experience is valuable.&lt;/p&gt;

&lt;p&gt;I also learned that I genuinely enjoy building things.&lt;/p&gt;

&lt;p&gt;Even after seeing the traffic disappear, my first thought wasn't:&lt;/p&gt;

&lt;p&gt;"I'm never building again."&lt;/p&gt;

&lt;p&gt;It was:&lt;/p&gt;

&lt;p&gt;"Okay... what should I build next?"&lt;/p&gt;

&lt;p&gt;That's probably the most important thing I got from this.&lt;/p&gt;

&lt;p&gt;So, what's next?&lt;/p&gt;

&lt;p&gt;I'm thinking about building something else.&lt;/p&gt;

&lt;p&gt;Maybe it will make money.&lt;/p&gt;

&lt;p&gt;Maybe it won't.&lt;/p&gt;

&lt;p&gt;Most of the things I've built so far have been free anyway.&lt;/p&gt;

&lt;p&gt;But this time, I want to start with the problem before the product.&lt;/p&gt;

&lt;p&gt;I want to talk to people first.&lt;/p&gt;

&lt;p&gt;I want to understand what annoys them, what they already use, what they refuse to use, and what problem is actually painful enough for them to care about.&lt;/p&gt;

&lt;p&gt;Then I'll build.&lt;/p&gt;

&lt;p&gt;Maybe the next thing will work.&lt;/p&gt;

&lt;p&gt;Maybe I'll make another mistake.&lt;/p&gt;

&lt;p&gt;Either way, I think that's part of the process.&lt;/p&gt;

&lt;p&gt;I don't necessarily want to build something just because it can make money.&lt;/p&gt;

&lt;p&gt;I'd like to build something that I created, that other people genuinely find useful, and that contributes something to the world — even if it's small.&lt;/p&gt;

&lt;p&gt;And I'll try to keep improving it, keeping it useful, and updating it as quickly as I can.&lt;/p&gt;

&lt;p&gt;That's probably a better goal than simply watching a traffic graph go up.&lt;/p&gt;

&lt;p&gt;If you're building something too: what was the biggest lesson you learned from your first product?&lt;/p&gt;

&lt;p&gt;And if you have an idea for something worth building, I'd genuinely love to hear it. Maybe we could even build something together.&lt;/p&gt;

</description>
      <category>buildinpublic</category>
      <category>discuss</category>
      <category>marketing</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
