<?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: shrey vijayvargiya</title>
    <description>The latest articles on DEV Community by shrey vijayvargiya (@shreyvijayvargiya).</description>
    <link>https://dev.to/shreyvijayvargiya</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%2F584582%2F70be12eb-0227-48f0-b401-7a01e86cf0e2.jpeg</url>
      <title>DEV Community: shrey vijayvargiya</title>
      <link>https://dev.to/shreyvijayvargiya</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shreyvijayvargiya"/>
    <language>en</language>
    <item>
      <title>6 CRM templates you can demo today (and the full kit when you’re ready)</title>
      <dc:creator>shrey vijayvargiya</dc:creator>
      <pubDate>Wed, 29 Jul 2026 08:14:23 +0000</pubDate>
      <link>https://dev.to/shreyvijayvargiya/6-crm-templates-you-can-demo-today-and-the-full-kit-when-youre-ready-3a0j</link>
      <guid>https://dev.to/shreyvijayvargiya/6-crm-templates-you-can-demo-today-and-the-full-kit-when-youre-ready-3a0j</guid>
      <description>&lt;p&gt;Hello folks&lt;/p&gt;

&lt;p&gt;We just shipped a cleaner way to explore SaaSCRM: &lt;strong&gt;six focused CRM templates&lt;/strong&gt;, each tuned for a real business shape — not a generic “admin dump.”&lt;/p&gt;

&lt;p&gt;Browse them all on &lt;strong&gt;&lt;a href="https://saascrm.site/templates" rel="noopener noreferrer"&gt;saascrm.site/templates&lt;/a&gt;&lt;/strong&gt;. Live demos open in one click. When you outgrow a slim starter, the &lt;strong&gt;full kit&lt;/strong&gt; is waiting on pricing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why templates?
&lt;/h2&gt;

&lt;p&gt;Building a CRM from a blank Next.js app is slow in the boring ways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sidebar + routing + empty states for every module&lt;/li&gt;
&lt;li&gt;Tables, filters, detail pages, and seed data that actually look real&lt;/li&gt;
&lt;li&gt;Theme tokens so dark mode and rebrands don’t break mid-ship&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Templates skip that setup.&lt;/strong&gt; You pick a vertical that already matches your workflow, demo it, then customize instead of inventing the admin layer from scratch.&lt;/p&gt;

&lt;p&gt;That’s the whole idea behind SaaSCRM:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Small verticals&lt;/strong&gt; → prove the UI for your niche fast
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Full kit&lt;/strong&gt; → 60+ screens when you need sales, ops, finance, CMS, and system in one product
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The 6 templates (one line each)
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Template&lt;/th&gt;
&lt;th&gt;One-line detail&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;&lt;a href="https://saascrm.site/templates/indie-stripe" rel="noopener noreferrer"&gt;Indie Stripe Billing&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Stripe-shaped revenue OS — customers, charges, subscriptions, failed payments.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;&lt;a href="https://saascrm.site/templates/agency" rel="noopener noreferrer"&gt;Agency CRM&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Leads → pipeline → invoices → projects for client delivery shops.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;&lt;a href="https://saascrm.site/templates/freelancer" rel="noopener noreferrer"&gt;Freelancer CRM&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Clients, invoices, payments, and tasks in one slim hub.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;&lt;a href="https://saascrm.site/templates/content-creator" rel="noopener noreferrer"&gt;Creator CMS&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Blogs, newsletters, subscribers, and content analytics.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;&lt;a href="https://saascrm.site/templates/digital-store" rel="noopener noreferrer"&gt;Digital Store CRM&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Sell ebooks, PDFs, icons &amp;amp; assets — catalog, orders, payouts.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;&lt;a href="https://saascrm.site/templates/ecommerce-cms" rel="noopener noreferrer"&gt;Ecommerce CMS&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Products, inventory, shipping, raw materials, plus blogs &amp;amp; scheduler.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  How to use each one
&lt;/h2&gt;

&lt;p&gt;Same playbook for every template:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open the &lt;strong&gt;&lt;a href="https://saascrm.site/templates" rel="noopener noreferrer"&gt;templates gallery&lt;/a&gt;&lt;/strong&gt; and click a card
&lt;/li&gt;
&lt;li&gt;Hit &lt;strong&gt;View live demo&lt;/strong&gt; — it loads that vertical inside the SaaSCRM shell
&lt;/li&gt;
&lt;li&gt;Click around the sidebar (that &lt;em&gt;is&lt;/em&gt; the product shape)
&lt;/li&gt;
&lt;li&gt;When you’re ready to own the code, grab the starter / pack from the template page or upgrade to the full kit
&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Indie Stripe Billing
&lt;/h3&gt;

&lt;p&gt;Best if you live in Stripe Dashboard tabs. Demo → swap seed customers / plans → wire real Stripe later. Home lands on revenue; dig into failed charges and subscriptions.&lt;/p&gt;

&lt;h3&gt;
  
  
  Agency CRM
&lt;/h3&gt;

&lt;p&gt;Best for studios and boutique agencies. Walk &lt;strong&gt;Leads → Pipeline → Invoices → Projects&lt;/strong&gt;, then rename stages to match how you actually close and deliver.&lt;/p&gt;

&lt;h3&gt;
  
  
  Freelancer CRM
&lt;/h3&gt;

&lt;p&gt;Best for solo operators. Keep &lt;strong&gt;Clients / Invoices / Payments / Tasks&lt;/strong&gt; as the daily loop. Replace seed clients with your roster and ship.&lt;/p&gt;

&lt;h3&gt;
  
  
  Creator CMS
&lt;/h3&gt;

&lt;p&gt;Best for writers and content teams. Use &lt;strong&gt;CMS + Analytics + Users&lt;/strong&gt;, then point blog / newsletter rows at your real calendar or email tool.&lt;/p&gt;

&lt;h3&gt;
  
  
  Digital Store CRM
&lt;/h3&gt;

&lt;p&gt;Best for digital product sellers. Start on &lt;strong&gt;Products&lt;/strong&gt;, then Orders → Invoices → Payments. Badge SKUs as ebook / PDF / icon pack as you grow.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ecommerce CMS
&lt;/h3&gt;

&lt;p&gt;Best for DTC / ops-heavy stores. Run &lt;strong&gt;Products → Inventory → Orders → Shipping&lt;/strong&gt;, track raw materials, and keep marketing in CMS + Scheduler without leaving the admin.&lt;/p&gt;

&lt;h2&gt;
  
  
  When to buy the full kit
&lt;/h2&gt;

&lt;p&gt;The six templates are &lt;strong&gt;focused starters&lt;/strong&gt;. The &lt;strong&gt;Full CRM kit&lt;/strong&gt; is the whole house:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;60+ production screens (sales, ops, finance, CMS, system)&lt;/li&gt;
&lt;li&gt;Agentic AI chatbot, theme customizer, marketing site patterns&lt;/li&gt;
&lt;li&gt;Lifetime updates — one-time purchase from &lt;strong&gt;$49&lt;/strong&gt; (Template + Figma from &lt;strong&gt;$79&lt;/strong&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’re building a real product admin — not just a niche slice — start here:&lt;/p&gt;

&lt;h1&gt;
  
  
  Boom — grab the full kit
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://saascrm.site/pricing" rel="noopener noreferrer"&gt;Buy SaaSCRM on Pricing →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Or preview everything in the app first: &lt;strong&gt;&lt;a href="https://saascrm.site/demo" rel="noopener noreferrer"&gt;Open the full demo&lt;/a&gt;&lt;/strong&gt; · &lt;strong&gt;&lt;a href="https://saascrm.site/templates" rel="noopener noreferrer"&gt;Browse all 6 templates&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ship the admin layer. Build the business on top.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>react</category>
    </item>
    <item>
      <title>Cursor, Codex, Claude Code prompts collection</title>
      <dc:creator>shrey vijayvargiya</dc:creator>
      <pubDate>Tue, 28 Jul 2026 14:42:32 +0000</pubDate>
      <link>https://dev.to/shreyvijayvargiya/cursor-codex-claude-code-prompts-collection-5cej</link>
      <guid>https://dev.to/shreyvijayvargiya/cursor-codex-claude-code-prompts-collection-5cej</guid>
      <description>&lt;p&gt;(&lt;a href="https://ihatereading.in/cursor-rules" rel="noopener noreferrer"&gt;https://ihatereading.in/cursor-rules&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Hello and welcome to the new blog&lt;/p&gt;

&lt;p&gt;This blog is originally published on and for &lt;a href="http://ihatereading.in" rel="noopener noreferrer"&gt;ihatereading.in&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Last month, I wrote a new stunning aggregator or collection-based blog, 300+ SAAS Directories to submit your website, project and tool, making it easy for solo-developers and indie-hackers to promote their product.&lt;/p&gt;

&lt;p&gt;The post/blog/article works well on the internet, which gives me another idea of providing more such content on iHateReading, the exact reason I built iHateReading.&lt;/p&gt;

&lt;p&gt;Imagine we are all using AI agents in 2027 and in future; one thing that is sure in that case is prompt engineering, or prompts or rules for your AI tool. Chatgpt, Claude and Codex or Cursor all work as AI agents similarly, but the only thing that matters to differentiate the results is the prompts/rules/skills.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;200+ AI Cursor Agent Rules, Why and&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I have been using Cursor for the past year, and I work very well for our team, but one thing was missing: the same prompts every time, the same theme and design system for every prompt to make better websites, write better test cases, make a responsive website or integrate dark/light themes using Tailwind variables.&lt;/p&gt;

&lt;p&gt;All those tasks need the same prompt, and rewriting them is time consuming tasks, instead, we can have a list or collection to solve this problem.&lt;/p&gt;

&lt;p&gt;Extensive list of Cursor rules for each of the tech stack, SDK, APIs, such as&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Nextjs, React, Vite and Tanstack Cursor rules&lt;/li&gt;
&lt;li&gt;Firebase, Supabase, Appwrite, NeonDB, CockroachDB, Prisma, Drizzle ORM database rules&lt;/li&gt;
&lt;li&gt;Stripe, Polar, Lemon Squeezy, Dodo and Paystack, PayPal-based payments rules for AI agents&lt;/li&gt;
&lt;li&gt;Best practices for React, Tailwind and Javascript/Typescript, Rust/Python/Go rules for AI agents&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All the above tasks are repeated ones by nature, and we need a collection to simply copy-paste them.&lt;/p&gt;

&lt;p&gt;We ended up building one and took a few inspirations from online Github repositories, &lt;a href="https://github.com/PatrickJS/awesome-cursorrules" rel="noopener noreferrer"&gt;https://github.com/PatrickJS/awesome-cursorrules&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ihatereading.in/cursor-rules" rel="noopener noreferrer"&gt;200+ Cursor AI Rules Agent&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&amp;gt; It's FREE to use&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;How to use them?&lt;/strong&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Go to the &lt;a href="https://ihatereading.in/cursor-rules" rel="noopener noreferrer"&gt;cursor rules page&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Check the rules you are working on, Firebase or React or Tailwind&lt;/li&gt;
&lt;li&gt;Click the rule and copy-paste the prompt&lt;/li&gt;
&lt;li&gt;Add that prompt inside Claude Code, Codex, Lovable, Bolt or Cursor and make your code better&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Simple 4 step process to make better product&lt;/p&gt;

&lt;p&gt;That would be enough for today, do give it a check, I am adding more rules and if you find anything missing or more to add, feel free to DM me or email, I reply to all emails&lt;/p&gt;

&lt;p&gt;See you in the next one\&lt;br&gt;
Shrey\&lt;br&gt;
&lt;a href="http://ihatereading.in/" rel="noopener noreferrer"&gt;iHateReading&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cursor</category>
      <category>ai</category>
      <category>webdev</category>
      <category>productivity</category>
    </item>
    <item>
      <title>AI CRM Blueprint: Building a CRM in 2 minutes</title>
      <dc:creator>shrey vijayvargiya</dc:creator>
      <pubDate>Sun, 26 Jul 2026 09:11:40 +0000</pubDate>
      <link>https://dev.to/shreyvijayvargiya/ai-crm-blueprint-building-a-crm-in-2-minutes-1hfi</link>
      <guid>https://dev.to/shreyvijayvargiya/ai-crm-blueprint-building-a-crm-in-2-minutes-1hfi</guid>
      <description>&lt;p&gt;Hello folks&lt;/p&gt;

&lt;p&gt;Today’s post is about something we’ve been shipping quietly on &lt;a href="https://saascrm.site" rel="noopener noreferrer"&gt;SAASCRM.site&lt;/a&gt;: the &lt;strong&gt;AI Builder&lt;/strong&gt; — a free planner that helps you design your CRM in about two minutes.&lt;/p&gt;

&lt;p&gt;No signup. No sales call. Just describe what you’re building, and get a clear plan matched to the SaaSCRM template.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is the AI Builder?
&lt;/h2&gt;

&lt;p&gt;The AI Builder lives at &lt;a href="https://saascrm.site/blueprint" rel="noopener noreferrer"&gt;/blueprint&lt;/a&gt;. Think of it as a CRM architect in your browser.&lt;/p&gt;

&lt;p&gt;You tell it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Business type (SaaS, agency, recruiting, real estate, and more)&lt;/li&gt;
&lt;li&gt;Team size&lt;/li&gt;
&lt;li&gt;Backend plan (prototype, Supabase, Firebase, existing API…)&lt;/li&gt;
&lt;li&gt;Launch target (prototype, MVP, or production)&lt;/li&gt;
&lt;li&gt;Features you need — Leads, Pipeline, Invoices, CMS, Analytics, and so on&lt;/li&gt;
&lt;li&gt;A short note on what you’re building&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It returns a blueprint you can actually use — not a vague “AI summary.”&lt;/p&gt;

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

&lt;p&gt;After you generate a plan, you get:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Overview&lt;/strong&gt; — what’s already covered by the template vs what needs custom work
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Page map&lt;/strong&gt; — the CRM screens you should ship first
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Recommended stack&lt;/strong&gt; — frontend and backend direction that fits your answers
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Timeline&lt;/strong&gt; — realistic estimates for prototype, frontend, backend, and production
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cursor prompts&lt;/strong&gt; — copy-paste prompts tailored to the SaaSCRM project rules
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Build CRM&lt;/strong&gt; — a path to start from the template (or generate a small free starter)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In short: less guessing, more shipping.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to use it (simple)
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open &lt;strong&gt;&lt;a href="https://saascrm.site/blueprint" rel="noopener noreferrer"&gt;Plan your CRM&lt;/a&gt;&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Pick your business type, team size, backend, and target
&lt;/li&gt;
&lt;li&gt;Tap the modules you need
&lt;/li&gt;
&lt;li&gt;Write one sentence about what you’re building
&lt;/li&gt;
&lt;li&gt;Hit &lt;strong&gt;Generate free CRM blueprint&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Review the tabs — especially &lt;strong&gt;Pages&lt;/strong&gt;, &lt;strong&gt;Timeline&lt;/strong&gt;, and &lt;strong&gt;Cursor prompts&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That’s it. You can run a few plans per hour for free and refine as you go.&lt;/p&gt;

&lt;h2&gt;
  
  
  Build CRM with our template
&lt;/h2&gt;

&lt;p&gt;The blueprint is the map. The template is the foundation.&lt;/p&gt;

&lt;p&gt;Once you like your plan:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Buy the source template and open it in Cursor
&lt;/li&gt;
&lt;li&gt;Paste the generated prompts to customize modules, branding, and workflows
&lt;/li&gt;
&lt;li&gt;Explore matching screens in the &lt;a href="https://saascrm.site/demo" rel="noopener noreferrer"&gt;live demo&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://shreyvijayvargiya.gumroad.com/l/saas-crm-react-template" rel="noopener noreferrer"&gt;Build CRM with our template&lt;/a&gt;&lt;/strong&gt; — one-time purchase, lifetime updates.&lt;/p&gt;

&lt;p&gt;Or start free first: &lt;strong&gt;&lt;a href="https://saascrm.site/blueprint" rel="noopener noreferrer"&gt;Open the AI Builder&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Plan first. Customize next. Ship faster.&lt;/p&gt;

&lt;p&gt;Cheers,&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Shrey&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>crm</category>
      <category>frontend</category>
      <category>nextjs</category>
      <category>react</category>
    </item>
    <item>
      <title>Cool shadcn libraries</title>
      <dc:creator>shrey vijayvargiya</dc:creator>
      <pubDate>Thu, 23 Jul 2026 08:50:44 +0000</pubDate>
      <link>https://dev.to/shreyvijayvargiya/cool-shadcn-libraries-b36</link>
      <guid>https://dev.to/shreyvijayvargiya/cool-shadcn-libraries-b36</guid>
      <description>&lt;p&gt;You can't miss&lt;/p&gt;

&lt;p&gt;Hello and welcome to the new blog&lt;/p&gt;

&lt;p&gt;It's 2026, and AI can certainly make our website, and the only problem the AI agents have is building creative websites.&lt;/p&gt;

&lt;p&gt;Creative websites need storytelling, state management, and almost perfect eye-pleasing theme and colour coordination.&lt;/p&gt;

&lt;p&gt;I almost found myself itchy when building a creative website with full of animations, highly performant, less use of useEffect hooks, more of CSS than JavaScript, better colour themes and palletes with proper depth and hierarchy to manage among the DOM elements in design theory.&lt;/p&gt;

&lt;p&gt;Shadcn is the most used UI library with 100k+ Github stars, if you haven't tried shadcn them, you are missing something on the table.&lt;/p&gt;

&lt;p&gt;I love how shadcn easily handles customisation. We provide a context provider for theme customisation to toggle and switch the themes, extending to deeply nested children. &lt;/p&gt;

&lt;p&gt;The demo video has been added below, showing the CSS customisation example using shadcn as the UI library.&lt;/p&gt;

&lt;p&gt;Go to this &lt;a href="https://saascrm.site/demo" rel="external noopener noreferrer"&gt;link&lt;/a&gt; and click on the top right colour palette icon, it will open a drawer to edit the CSS of the entire website UI elements.&lt;/p&gt;

&lt;h1&gt;
  
  
  Shadcn UI Library
&lt;/h1&gt;

&lt;p&gt;Shadcn is a headless UI library that brings one CLI command to add the source code instead of adding the entire UI library inside node_modules.&lt;/p&gt;

&lt;p&gt;This concept makes it interesting; one CLI can update my UI element within the entire repository and can add more UI elements using one CLI command.&lt;/p&gt;

&lt;p&gt;This also brings an opportunity for everyone to create shadow-based repositories and &lt;a href="https://ui.shadcn.com/docs/directory?ref=ihatereading.in" rel="external noopener noreferrer"&gt;submit to directories&lt;/a&gt; to let other developers install your code or UI element with just one CLI command.&lt;/p&gt;

&lt;p&gt;Most of the time, I don't even use the CLI; I prefer adding the shadcn UI code directory by copy-pasting inside the lib/ui folder in my repository. &lt;/p&gt;

&lt;h1&gt;
  
  
  Why Shadcn?
&lt;/h1&gt;

&lt;p&gt;Every time we developers build UI elements, we add the same animation source code, add the same pattern of colour palletes and CSS. Shadcn eased the pain of redoing it; it's like a bootstrap of early 2010.&lt;/p&gt;

&lt;p&gt;We have a bunch of React UI elements ready as fundamental elements and can build more complex states and animated UI components on top of it. &lt;/p&gt;

&lt;h1&gt;
  
  
  Cool and Top Shadcn Libraries
&lt;/h1&gt;

&lt;p&gt;Sharing some cool latest top-shadcn libraries or UI components, I've witnessed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.rareui.com/components/foldercomponent?ref=ihatereading.in" rel="external noopener noreferrer"&gt;Rare UI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://shaders.paper.design/?ref=ihatereading.in" rel="external noopener noreferrer"&gt;Shadcn paper shaders for backgrounds&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tweakcn.com/editor/theme?ref=ihatereading.in" rel="external noopener noreferrer"&gt;TweakCN&lt;/a&gt;: I love the idea of customisation that comes from it&lt;/p&gt;

&lt;p&gt;&lt;a href="https://smoothui.dev/?ref=ihatereading.in" rel="external noopener noreferrer"&gt;Smoothui&lt;/a&gt;: Smooth animated UI elements&lt;/p&gt;

&lt;p&gt;&lt;a href="https://threecn.dev/?ref=ihatereading.in" rel="external noopener noreferrer"&gt;Threecn&lt;/a&gt;: 3D-based WebGL elements using Shadcn&lt;/p&gt;

&lt;p&gt;&lt;a href="https://componentry.dev/?ref=ihatereading.in" rel="noopener noreferrer"&gt;componentry.dev&lt;/a&gt;: Components from Shadcn&lt;/p&gt;

&lt;p&gt;&lt;a href="https://shoogle.dev/?ref=ihatereading.in" rel="external noopener noreferrer"&gt;Shoogle.dev&lt;/a&gt;: Explore and search all Shadcn-based libraries&lt;/p&gt;

&lt;p&gt;&lt;a href="https://morphin.dev/?ref=ihatereading.in" rel="external noopener noreferrer"&gt;Morphin.dev&lt;/a&gt;: Premium UI elements&lt;/p&gt;

&lt;p&gt;&lt;a href="http://shadcnstudio.com/?ref=ihatereading.in" rel="external noopener noreferrer"&gt;ShadcnStudio&lt;/a&gt;: Studio for shadcn builders&lt;/p&gt;

&lt;p&gt;&lt;a href="https://shadcnuikit.com/?ref=ihatereading.in" rel="external noopener noreferrer"&gt;Shadcnuikit&lt;/a&gt;: UI kits for solo developers&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ruixen.com/?ref=ihatereading.in" rel="external noopener noreferrer"&gt;Ruixen&lt;/a&gt;: UI components and premium templates&lt;/p&gt;

&lt;p&gt;&lt;a href="https://shadcnspace.com/?ref=ihatereading.in" rel="external noopener noreferrer"&gt;Shadcnspace&lt;/a&gt;: Shadcn-based UI components&lt;/p&gt;

&lt;p&gt;&lt;a href="https://bklit.com/?ref=ihatereading.in" rel="external noopener noreferrer"&gt;Bklit UI&lt;/a&gt;: Shadcn charts and data components&lt;/p&gt;

&lt;p&gt;&lt;a href="https://reui.io/?ref=ihatereading.in" rel="external noopener noreferrer"&gt;ReUI&lt;/a&gt;: Shadcn blocks with the MCP server&lt;/p&gt;

&lt;p&gt;&lt;a href="https://cuelume-site.pages.dev/" rel="external noopener noreferrer"&gt;Cuelume:&lt;/a&gt; Interaction sound for web components&lt;/p&gt;

&lt;p&gt;I think that would be enough for today&lt;/p&gt;

&lt;p&gt;See you at the next one&lt;/p&gt;

&lt;p&gt;Cheers&lt;/p&gt;

&lt;p&gt;Shrey&lt;/p&gt;

</description>
      <category>shadcn</category>
      <category>frontend</category>
      <category>react</category>
      <category>webdev</category>
    </item>
    <item>
      <title>RepCN Repository builder open-source tool</title>
      <dc:creator>shrey vijayvargiya</dc:creator>
      <pubDate>Tue, 14 Jul 2026 16:17:26 +0000</pubDate>
      <link>https://dev.to/shreyvijayvargiya/repcn-repository-builder-open-source-tool-5edj</link>
      <guid>https://dev.to/shreyvijayvargiya/repcn-repository-builder-open-source-tool-5edj</guid>
      <description>&lt;p&gt;Convert React code into a deployed project with a shareable URL&lt;/p&gt;

&lt;p&gt;Hello and welcome to the new blog&lt;/p&gt;

&lt;p&gt;Our last blog was about building iHateReading and earning from a content platform. While running iHateReading, I've personally needed so many tools, and luckily, in the age of AI, I can quickly build tools for internal work.&lt;/p&gt;

&lt;p&gt;First, let me explain with an example: running any platform needs tools for different types of work, tools for writing, tools for content management, tools for user management, tools for assets creation, tools for research, etc.&lt;/p&gt;

&lt;p&gt;Each tool has a purpose to serve and mainly reduce the execution time if done manually; one good example is creating banner images for each blog. I write almost every day, and I need to put a cool, catchy title on almost every blog. Each blog banner image creation is a process with tasks; if you are an engineer, you can understand the pain!!&lt;/p&gt;

&lt;p&gt;But I found that I've had to stumble upon Canvas or other tools mainly for creating banners. I've figured out that making assets is not important; having examples of assets, just like canvas templates, is a more accurate solution to my problem. The first month was building the basic tool, and then later on, adding the templates for various categories was my decided plan, and I ended up making a simple canva alternative tool, &lt;a href="http://kixi.app" rel="noopener noreferrer"&gt;kixi.app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Building an internal tool will take time, but if that tool is reducing your development debt and saving time to give better output, then it always works. Another example is our FREE open-source internal writing app, which works offline, is simple, easy to use, has a dark/light theme, is open-source and shows a graph network connection between all the created notes, &lt;/p&gt;

&lt;p&gt;Check Github: &lt;a href="https://github.com/shreyvijayvargiya/opennote?ref=ihatereading.in" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;a href="https://github.com/shreyvijayvargiya/opennote" rel="noopener noreferrer"&gt;https://github.com/shreyvijayvargiya/opennote&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Why do we need these tools in times of Notion and Apple Notes? The concept is simple for internal use, no payment issues, no authentication issues, no data transfer issues.&lt;/p&gt;

&lt;p&gt;The choice is yours if needed and can reduce costs and save time by building that internal tool for yourself and maybe that tool helps others, for example, React CRM SAAS template I made for my small SAAS businesses and ended up adding more pages 60 pages in total with classic theme editor and luckily it has helped 10+ businesses worldwide and my current client need CRM based on our React CRM template.&lt;/p&gt;

&lt;p&gt;I often rely on the concept of easing my own work, making it a more fun job to do and then figuring out how to monetise it. &lt;/p&gt;

&lt;h1&gt;
  
  
  Problem Statement
&lt;/h1&gt;

&lt;p&gt;In today's blog, we will be discussing another open-source tool, the idea of sharing a single React code by deploying it on a custom domain or a demo pseudo domain.&lt;/p&gt;

&lt;p&gt;But first, I want to explain the problem statement: Every time I went to Claude and asked for a code, it gave me either HTML or React code. Claude can render HTML easily inside a browser, and React too, but not NextJS or Vite, and TanStack apps; those framework codebases cannot be rendered and previewed inside Claude, and Claude needs React rendering and a building engine under the hood to make it possible. &lt;/p&gt;

&lt;p&gt;Another problem I've faced is that all the React code written by Claude can only be shared via Artefacts, not as a URL or domain, or even a subdomain. &lt;/p&gt;

&lt;p&gt;For example, paste the below prompt in Claude code&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="nx"&gt;Give&lt;/span&gt; &lt;span class="nx"&gt;me&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="nx"&gt;classic&lt;/span&gt; &lt;span class="nx"&gt;animated&lt;/span&gt; &lt;span class="nx"&gt;hero&lt;/span&gt; &lt;span class="nx"&gt;section&lt;/span&gt; &lt;span class="kd"&gt;with&lt;/span&gt; &lt;span class="nx"&gt;an&lt;/span&gt; &lt;span class="nx"&gt;animated&lt;/span&gt; &lt;span class="nx"&gt;background&lt;/span&gt; &lt;span class="nx"&gt;using&lt;/span&gt; &lt;span class="nx"&gt;Tailwind&lt;/span&gt; &lt;span class="nx"&gt;CSS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt;
&lt;span class="nx"&gt;lucide&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;react&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nx"&gt;icons&lt;/span&gt; &lt;span class="nx"&gt;and&lt;/span&gt; &lt;span class="nx"&gt;use&lt;/span&gt; &lt;span class="nx"&gt;Framer&lt;/span&gt; &lt;span class="nx"&gt;Motion&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nx"&gt;animation&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;give&lt;/span&gt; &lt;span class="nx"&gt;me&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="nx"&gt;single&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;file&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt;
&lt;span class="nx"&gt;code&lt;/span&gt; &lt;span class="nx"&gt;component&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The Claude will return the single-file React code component. Why only a single file? I'll explain it later on.&lt;/p&gt;

&lt;p&gt;Once we got the code, I couldn't share this code with others to view inside the browser, nor could I share the code output preview to view; all they needed was a Claude for the same.&lt;/p&gt;

&lt;h1&gt;
  
  
  RepCN to the Rescue
&lt;/h1&gt;

&lt;p&gt;Here comes RepCN to the rescue, which sits nicely between Claude and shareable React code for designers and developers.&lt;/p&gt;

&lt;p&gt;Imagine you can create Nextjs or Vite, or Tanstack repository using that single React code. Push the repository to Github creating a new repository on Github and finally deploy that repository onto Vercel to get your own URL of {project-name}.&lt;a href="http://vercel.app" rel="noopener noreferrer"&gt;vercel.app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;How RepCN can help&lt;/b&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create Nextjs or your choice of code repository from a single React code component&lt;/li&gt;
&lt;li&gt;Install already existing defaults such as Shadcn, and choose a language TS/JS&lt;/li&gt;
&lt;li&gt;Push to Github and deploy to Vercel for better URL sharing with a preview of your source code&lt;/li&gt;
&lt;li&gt;Automating the process of generating a new repository, installing all packages and building the architecture&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;One of the most important reasons I need RepCN is to create a new repository based on a single React code with all packages installed. The default packages it includes are as follows&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Nextjs as a framework&lt;/li&gt;
&lt;li&gt;React as a language&lt;/li&gt;
&lt;li&gt;Tailwind CSS for styling&lt;/li&gt;
&lt;li&gt;Lucide React for icons&lt;/li&gt;
&lt;li&gt;Framer motion for animation&lt;/li&gt;
&lt;li&gt;Sonner as toast&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;But the above packages can be changed, and you can choose Vite or Tanstack as a framework, shadcn as a UI library with JS or TS supporting both.&lt;/p&gt;

&lt;h1&gt;
  
  
  RepCN is Open-Source
&lt;/h1&gt;

&lt;p&gt;RepCN is open-source and built using Nextjs and React&lt;/p&gt;

&lt;p&gt;No authentication needed&lt;/p&gt;

&lt;p&gt;No server-side API is required &lt;/p&gt;

&lt;p&gt;No databases are used in making it&lt;/p&gt;

&lt;p&gt;Completely FREE and Open-Source&lt;/p&gt;

&lt;p&gt;Give it a try on a website: &lt;a href="https://repcn.buildsaas.dev/" rel="external noopener noreferrer"&gt;&lt;/a&gt;&lt;a href="https://repcn.buildsaas.dev/" rel="noopener noreferrer"&gt;https://repcn.buildsaas.dev/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Fetch Github repository: &lt;a href="https://github.com/shreyvijayvargiya/repcn" rel="external noopener noreferrer"&gt;&lt;/a&gt;&lt;a href="https://github.com/shreyvijayvargiya/repcn" rel="noopener noreferrer"&gt;https://github.com/shreyvijayvargiya/repcn&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That would be enough for today, see you in the next one&lt;/p&gt;

&lt;p&gt;Cheers&lt;/p&gt;

&lt;p&gt;Shrey&lt;/p&gt;




&lt;p&gt;One last thing, my last release template was Tooldir: Directory creating starterkit with complete payment and authentication integrated, check &lt;a href="https://www.tooldir.buildsaas.dev" rel="external noopener noreferrer"&gt;tooldir.buildsaas.dev&lt;/a&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>react</category>
      <category>showdev</category>
      <category>tooling</category>
    </item>
    <item>
      <title>Building and Running the Content Platform</title>
      <dc:creator>shrey vijayvargiya</dc:creator>
      <pubDate>Mon, 13 Jul 2026 16:21:18 +0000</pubDate>
      <link>https://dev.to/shreyvijayvargiya/building-and-running-the-content-platform-3i6a</link>
      <guid>https://dev.to/shreyvijayvargiya/building-and-running-the-content-platform-3i6a</guid>
      <description>&lt;p&gt;Welcome to the new blog&lt;/p&gt;

&lt;p&gt;If you are new here, I am shrey, a software developer and creator of multiple products online. &lt;br&gt;
I have been running iHateReading for the past 4 years, and we have crossed 10k users signed up and are operating at 1k monthly active users.&lt;/p&gt;

&lt;p&gt;I am glad that readers are revisiting the website; the churn rate has been low for the past few months, and people are subscribing to our newsletter more than ever.&lt;/p&gt;

&lt;p&gt;This year, in 2026, in the first 6 months, I've improved the landing page and added other ƒeatures on the website as explained below&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Explore github trending repositories directly on the web home page&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://ihatereading.in/saas-directories" rel="noopener noreferrer"&gt;New 300+ SaaS directories page&lt;/a&gt; (our 2026 most visited page)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Nothing new has been done apart from consistent writing on the platform.&lt;/p&gt;

&lt;p&gt;iHateReading is FREE to read, not forced to log in, and no compulsory subscription to read.&lt;/p&gt;

&lt;p&gt;Each blog is handcrafted with zero AI involvement. I've been doing this for the past 5 years, which makes it easy for me to craft a 500-word article in 10-20 minutes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building iHateReading
&lt;/h2&gt;

&lt;p&gt;I've never covered details about how I am running this platform, how I am earning, etc&lt;/p&gt;

&lt;p&gt;iHateReading is built entirely using Nextjs and Firebase, and the  detailed tech-stack is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Nextjs&lt;/li&gt;
&lt;li&gt;React&lt;/li&gt;
&lt;li&gt;Tailwind&lt;/li&gt;
&lt;li&gt;Lucide &lt;/li&gt;
&lt;li&gt;Firebase&lt;/li&gt;
&lt;li&gt;Redux&lt;/li&gt;
&lt;li&gt;Tiptap editor&lt;/li&gt;
&lt;li&gt;Vercel&lt;/li&gt;
&lt;li&gt;Server functions &lt;/li&gt;
&lt;li&gt;Resend&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The deployment is on Vercel, and the database is Firebase. We do use the paid version of Firebase with the Pay-as-you-go feature, and the reason is that I've made iHateReading 5 years ago and migrating to a new database is not easy when you have 10k total users.&lt;/p&gt;

&lt;h2&gt;
  
  
  Promoting the website
&lt;/h2&gt;

&lt;p&gt;Most of the time, I've got the same question to address: How to market my website, how to get visitors and users or traffic?&lt;/p&gt;

&lt;p&gt;First and foremost, it's not easy, and it won't happen on day-1&lt;br&gt;
You need 3-6 months in total to grab a good user base.&lt;/p&gt;

&lt;p&gt;Marketing on multiple other platforms, such as X, LinkedIn, TikTok, IG, Youtube, Medium, Devto, Hashnode, Dailydev, Cold Emailing, Reddit, all these platforms are needed to promote the website.&lt;/p&gt;

&lt;p&gt;One can say pay attention to one. Yes, if YouTube, then prefer YouTube, if good on LinkedIn, then prefer LinkedIn and so on. Choice is yours, but choose one platform and become very good at it to gain an audience.&lt;/p&gt;

&lt;p&gt;My mistake 4 years ago was choosing multiple platforms at the same time and promoting my content on multiple platforms. The strategy was good, but too much promotion was creating chaos in my work schedule and making it difficult to manage. I prefer choosing one platform and becoming good at it.&lt;/p&gt;

&lt;p&gt;But you might have to prompt or distribute the backlinks, hyperlink of your blog to the other trusted high-ranking domains, such as X, YouTube, LinkedIn, Hackerrank, or Devto, this increase the trust, and an AI agent like Chatgpt can recommend your website very well.&lt;/p&gt;

&lt;p&gt;I was contacted by one of the people whose SAAS business is to bring your blog content platform or website on chatgpt recommendations, his SAAS idea was to help people promote their website on chatgpt and AI agent suggestions/recommendations, increasing the trust, domain rating and traffic.&lt;/p&gt;

&lt;p&gt;Another good solution is to submit the website to Google Search Console with sitemaps and have the page indexed, preferably by buying the .com domain or other trusted domains; do not go beyond fancy, untrusted domains, otherwise your emails will be spammed in the inbox.&lt;/p&gt;

&lt;p&gt;Make a list of distribution channels for your website content, for me it's Medium, Hackernoon, Hashnode, Devto and LinkedIn. Do not spam similar content across platforms; leverage each platform's audience, understand what they want, and only promote that type of content.&lt;/p&gt;

&lt;h2&gt;
  
  
  Admin Panel
&lt;/h2&gt;

&lt;p&gt;I've been writing for years and have used multiple writing tools and CMS, but it was never easy to write content and push to the database and then render on the website with all SEO tags and an updated sitemap.&lt;/p&gt;

&lt;p&gt;I've learned this admin panel and its benefits in my previous company, and using a similar technique, I have an admin panel for our iHateReading to write blogs, edit blogs, manage users, create email newsletters on a Tiptap notion-like editor, send emails to our subscribers directly from the admin panel, store blogs directly into the database, etc &lt;/p&gt;

&lt;p&gt;All these features are handled within the admin panel; it's more like iHateReading CMS.&lt;/p&gt;

&lt;p&gt;I am a big fan of the Admin panel, and we have built the most advanced Admin Panel, which we reuse across all of our existing products and future SAAS products.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://demo-app.buildsaas.dev/admin" rel="noopener noreferrer"&gt;Check Admin Panel&lt;/a&gt;, just to provide an overview of the admin panel&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%2Fx9bosuuqpqke9hx7cikc.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%2Fx9bosuuqpqke9hx7cikc.png" alt=" " width="799" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Earning sources
&lt;/h2&gt;

&lt;p&gt;Initially, iHateReading's target was to reach to the exact audiences and then increase the subscriber base. As a platform, iHateReading wasn't a pain killer its a vitamin so we can't depend on users to come and subscribe. &lt;/p&gt;

&lt;p&gt;The first target was to bring more subscribers, and for that, in 2023, I started crafting bi-weekly email updates on programming, tech and AI. &lt;/p&gt;

&lt;p&gt;Within the first 8 months, we have crossed 1k subscribers because of the traffic, but nobody told you how to reach to that point. &lt;/p&gt;

&lt;p&gt;It took me almost 1 to 2 years, with consistent writing of almost 500 blogs, to promote the website to 1k active monthly visitors. &lt;/p&gt;

&lt;p&gt;Promoting the website has a compounding effect, and it works slowly, but certainly it does work.&lt;/p&gt;

&lt;p&gt;Once the subscriber base was increasing, I was confident enough to show something to our early sponsor. Cold emailing for sponsors is easy-peasy money, but it's not easy to get those sponsors.&lt;/p&gt;

&lt;p&gt;We got our first sponsor for iHateReading in January 2025, Anima AI. The company reached out to me to create blog content and promote the content on iHateReading via newsletter, cold emailing and through the blog on the website. &lt;/p&gt;

&lt;p&gt;iHateReading has provided 300+ monthly visitors with 0.6% of conversion ratio for Anima, and these were their words, not mine. 300 users were not bad for any small startup, and so many solo indie developers needed that many visitors.&lt;/p&gt;

&lt;p&gt;Other ways to provide sponsorship are the website banner position, navbar sponsors, footer and other placements on the website, job posting, email marketing via cold emailing to all subscribers, all these are the ways to earn.&lt;/p&gt;

&lt;p&gt;One easy way is to contact the companies or SAAS founders, asking them to provide a banner, blog and one/2/3 cold email package promoting their website/tool/product. &lt;/p&gt;

&lt;p&gt;The package works every time. &lt;br&gt;
Instead of selling one sponsored blog, I prefer providing one blog for one month, 2/3 cold emailing marketing to our subscribers, and one banner or footer placement for advertisement and promoting a number at the end of the month, such as 1k visitors in total for the next 30-40 days.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ihatereading.in/advertise-with-us" rel="noopener noreferrer"&gt;Check our Advertisement page for a better understanding&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you can't find the client for sponsorship, here as few ways to do so&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Find manually on LinkedIn and contact each of them, DM &lt;/li&gt;
&lt;li&gt;Find each on X or Reddit and DM them promoting your website&lt;/li&gt;
&lt;li&gt;Use third-party client finding solutions, such as Apollo for lead generation and other AI LinkedIn or X lead generation tools&lt;/li&gt;
&lt;li&gt;Social media tweets, posts asking for sponsors and replying to all comments sections&lt;/li&gt;
&lt;li&gt;Posting a small YouTube short for the same&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Manually reaching out to them works well, since you only need 2-3 sponsors each month, and manually doing it will save time and increase the conversion or success rate.&lt;/p&gt;

&lt;p&gt;That would be enough for today, see you in the next one&lt;br&gt;
Cheers&lt;br&gt;
Shrey&lt;br&gt;
&lt;a href="//ihatereading.in"&gt;iHateReading&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Build a directory listing website that earns online</title>
      <dc:creator>shrey vijayvargiya</dc:creator>
      <pubDate>Fri, 10 Jul 2026 05:44:29 +0000</pubDate>
      <link>https://dev.to/shreyvijayvargiya/build-a-directory-listing-website-that-earns-online-4o78</link>
      <guid>https://dev.to/shreyvijayvargiya/build-a-directory-listing-website-that-earns-online-4o78</guid>
      <description>&lt;p&gt;A starter kit to quickly make your own directory listing website using Nextjs, Supabase and Stripe&lt;/p&gt;

&lt;p&gt;This blog tells the story about &lt;a href="https://tooldir.buildsaas.dev/" rel="noopener ugc nofollow noreferrer"&gt;ToolDir&lt;/a&gt;, the directory listing website template built using Nextjs, Supabase and Stripe, a full-stack template to quickly build your directory listing website platform that can earn online.&lt;/p&gt;

&lt;p&gt;Directory listing websites are boring, but in 2026, we got tonnes of SaaS submission websites, AI tool listing websites, prompt directories, Design md directories, and even React frontend UI directories.&lt;/p&gt;

&lt;p&gt;Each directory has almost the same pattern of building, and every time we do the same process as defined&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a frontend landing page&lt;/li&gt;
&lt;li&gt;Each product page and all product listings pages with filters and search&lt;/li&gt;
&lt;li&gt;Login page for authentication&lt;/li&gt;
&lt;li&gt;Submit page for submitting tools/prompts/designs based on the directory website&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Below is our ToolDir LLM.txt for the directory template. Copy the text and paste it into Claude to get more details about our listing directory template, its features, and how to create one on your own.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# ToolDir — LLM context file&lt;/span&gt;
&lt;span class="gh"&gt;# Purpose: help coding agents understand this repo quickly without exploratory scanning.&lt;/span&gt;
&lt;span class="gh"&gt;# Last cleaned for launch template readiness.&lt;/span&gt;

&lt;span class="gu"&gt;## Product&lt;/span&gt;

ToolDir is a Next.js 15 (Pages Router) AI tool directory boilerplate.
Buyers launch a public directory site, accept tool submissions, sell launch slots,
publish a blog, and manage everything from &lt;span class="sb"&gt;`/admin`&lt;/span&gt;.

This is NOT a generic multi-tenant SaaS CMS. Older SaaS modules (email campaigns,
waitlist, kanban, products catalog, forms builder, cron, codegen) were removed.

&lt;span class="gu"&gt;## Tech stack&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; Next.js 15 Pages Router (&lt;span class="sb"&gt;`pages/`&lt;/span&gt;), React 18, Tailwind, shadcn/ui
&lt;span class="p"&gt;-&lt;/span&gt; Supabase (Auth + Postgres + Storage)
&lt;span class="p"&gt;-&lt;/span&gt; TanStack React Query for server state
&lt;span class="p"&gt;-&lt;/span&gt; Redux Toolkit only for subscription/customer client state
&lt;span class="p"&gt;-&lt;/span&gt; TipTap for blog CMS
&lt;span class="p"&gt;-&lt;/span&gt; Stripe &lt;span class="gs"&gt;**one-time**&lt;/span&gt; Checkout for launch slots (server builds &lt;span class="sb"&gt;`price_data`&lt;/span&gt;; no Price ID catalog required)
&lt;span class="p"&gt;-&lt;/span&gt; Set &lt;span class="sb"&gt;`STRIPE_TEST_ZERO=true`&lt;/span&gt; (+ &lt;span class="sb"&gt;`NEXT_PUBLIC_STRIPE_TEST_ZERO`&lt;/span&gt;) to force $0 checkout while wiring webhooks/admin
&lt;span class="p"&gt;-&lt;/span&gt; Resend for optional slot-payment receipt (&lt;span class="sb"&gt;`sendSlotPaymentEmail`&lt;/span&gt;)
&lt;span class="p"&gt;-&lt;/span&gt; Framer Motion for marketing motion

&lt;span class="gu"&gt;## Critical architecture note&lt;/span&gt;

&lt;span class="sb"&gt;`app/`&lt;/span&gt; is NOT the App Router.
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`pages/`&lt;/span&gt; = real Next.js routes and API handlers
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`app/admin/`&lt;/span&gt; = admin UI components
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`app/frontend/`&lt;/span&gt; = marketing site components (Navbar, Footer, directory UI)
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`components/ui/`&lt;/span&gt; = shadcn primitives
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`lib/`&lt;/span&gt; = APIs, hooks, config, data seeds, store, utils

&lt;span class="gu"&gt;## Public routes (keep)&lt;/span&gt;

| Route | File | Role |
|-------|------|------|
| &lt;span class="sb"&gt;`/`&lt;/span&gt; | &lt;span class="sb"&gt;`pages/index.js`&lt;/span&gt; | Directory home |
| &lt;span class="sb"&gt;`/tool/[slug]`&lt;/span&gt; | &lt;span class="sb"&gt;`pages/tool/[slug].js`&lt;/span&gt; | Tool detail |
| &lt;span class="sb"&gt;`/categories/[slug]`&lt;/span&gt; | &lt;span class="sb"&gt;`pages/categories/[slug].js`&lt;/span&gt; | Category filter |
| &lt;span class="sb"&gt;`/submit`&lt;/span&gt; | &lt;span class="sb"&gt;`pages/submit.js`&lt;/span&gt; | Multi-step submission |
| &lt;span class="sb"&gt;`/pricing`&lt;/span&gt; | &lt;span class="sb"&gt;`pages/pricing.js`&lt;/span&gt; | Launch slot calendar |
| &lt;span class="sb"&gt;`/dashboard`&lt;/span&gt; | &lt;span class="sb"&gt;`pages/dashboard.js`&lt;/span&gt; | User submissions |
| &lt;span class="sb"&gt;`/blog`&lt;/span&gt;, &lt;span class="sb"&gt;`/blog/[slug]`&lt;/span&gt; | &lt;span class="sb"&gt;`pages/blog*.js`&lt;/span&gt; | Public blog |
| &lt;span class="sb"&gt;`/contact`&lt;/span&gt;, &lt;span class="sb"&gt;`/privacy`&lt;/span&gt;, &lt;span class="sb"&gt;`/terms-and-conditions`&lt;/span&gt; | legal |
| &lt;span class="sb"&gt;`/auth/callback`&lt;/span&gt; | Supabase OAuth |
| &lt;span class="sb"&gt;`/robots.txt`&lt;/span&gt;, &lt;span class="sb"&gt;`/sitemap.xml`&lt;/span&gt; | SEO |

&lt;span class="gu"&gt;## Admin routes (keep)&lt;/span&gt;

| Route | Role |
|-------|------|
| &lt;span class="sb"&gt;`/admin`&lt;/span&gt; | Shell + tabs |
| &lt;span class="sb"&gt;`/admin/blogs/new`&lt;/span&gt;, &lt;span class="sb"&gt;`/admin/blogs/[id]`&lt;/span&gt; | Nested blog editor |
| &lt;span class="sb"&gt;`/admin/editor/blog`&lt;/span&gt; | Legacy redirect into nested editor |

Admin tabs (sidebar): analytics, users, submissions, payments, invoices, pricing-slots, blogs.
Tab id &lt;span class="sb"&gt;`forms`&lt;/span&gt; was renamed to &lt;span class="sb"&gt;`submissions`&lt;/span&gt; (legacy &lt;span class="sb"&gt;`forms`&lt;/span&gt; still opens SubmissionsTab).

&lt;span class="gu"&gt;## API routes (keep)&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; &lt;span class="sb"&gt;`/api/directory-tools/publish`&lt;/span&gt; — approve submission → listing
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`/api/directory-tools/seed`&lt;/span&gt; — seed from &lt;span class="sb"&gt;`lib/data/tools.js`&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`/api/tool-submissions/create`&lt;/span&gt; — public submit
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`/api/pricing-slots/upsert`&lt;/span&gt; — admin slot CRUD
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`/api/storage/upload-image`&lt;/span&gt; — Supabase Storage uploads
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`/api/messages/create`&lt;/span&gt; — contact form
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`/api/stripe/checkout`&lt;/span&gt; — one-time Checkout for launch slot (&lt;span class="sb"&gt;`price_data`&lt;/span&gt;, optional &lt;span class="sb"&gt;`$0`&lt;/span&gt; via &lt;span class="sb"&gt;`STRIPE_TEST_ZERO`&lt;/span&gt;)
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`/api/stripe/webhook`&lt;/span&gt; — marks submission paid, upserts &lt;span class="sb"&gt;`payments`&lt;/span&gt; / &lt;span class="sb"&gt;`customers`&lt;/span&gt; / &lt;span class="sb"&gt;`users`&lt;/span&gt;, sends Resend receipt

Removed: &lt;span class="sb"&gt;`/api/stripe/cancel-subscription`&lt;/span&gt; (no SaaS subscriptions).

&lt;span class="gu"&gt;## Core modules (do not delete)&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;lib/api/directoryTools.js&lt;br&gt;
lib/api/toolSubmissions.js&lt;br&gt;
lib/api/pricingSlots.js&lt;br&gt;
lib/api/blog.js&lt;br&gt;
lib/api/storage.js&lt;br&gt;
lib/api/auth.js&lt;br&gt;
lib/hooks/useDirectoryTools.js&lt;br&gt;
lib/hooks/useBlogs.js&lt;br&gt;
lib/hooks/usePricingSlots.js&lt;br&gt;
lib/data/tools.js&lt;br&gt;
lib/data/pricing-slots.js&lt;br&gt;
lib/data/testimonials.js&lt;br&gt;
app/frontend/marketing/*&lt;br&gt;
app/admin/components/SubmissionsTab.jsx&lt;br&gt;
app/admin/components/PricingSlotsTab.jsx&lt;br&gt;
app/admin/components/BlogTab.jsx&lt;br&gt;
app/admin/components/BlogTiptapEditor.jsx&lt;br&gt;
app/admin/views/BlogEditorView.jsx&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;
&lt;span class="gu"&gt;## Data model (Supabase)&lt;/span&gt;

Primary tables: &lt;span class="sb"&gt;`directory_tools`&lt;/span&gt;, &lt;span class="sb"&gt;`tool_submissions`&lt;/span&gt;, &lt;span class="sb"&gt;`pricing_slots`&lt;/span&gt;, &lt;span class="sb"&gt;`blogs`&lt;/span&gt;
Billing/admin: &lt;span class="sb"&gt;`users`&lt;/span&gt;, &lt;span class="sb"&gt;`customers`&lt;/span&gt;, &lt;span class="sb"&gt;`payments`&lt;/span&gt;, &lt;span class="sb"&gt;`checkouts`&lt;/span&gt;, &lt;span class="sb"&gt;`invoices`&lt;/span&gt;, &lt;span class="sb"&gt;`messages`&lt;/span&gt;, &lt;span class="sb"&gt;`app_analytics`&lt;/span&gt;
Storage bucket: &lt;span class="sb"&gt;`saas-starter-storage`&lt;/span&gt; (name kept for compatibility)

See &lt;span class="sb"&gt;`supabase-migrations.sql`&lt;/span&gt; (single file: tables + payment columns + Storage bucket).

When Supabase is empty / unset, directory listing can fall back to mock data in &lt;span class="sb"&gt;`lib/data/tools.js`&lt;/span&gt;.

&lt;span class="gu"&gt;## Supabase Storage&lt;/span&gt;

Bucket name: &lt;span class="gs"&gt;**`saas-starter-storage`**&lt;/span&gt; (constant &lt;span class="sb"&gt;`STORAGE_BUCKET`&lt;/span&gt; in &lt;span class="sb"&gt;`lib/api/storage.js`&lt;/span&gt;).
TipTap editors call &lt;span class="sb"&gt;`uploadBlogEditorImage`&lt;/span&gt; → direct Storage upload, fallback &lt;span class="sb"&gt;`POST /api/storage/upload-image`&lt;/span&gt;.
Paths: &lt;span class="sb"&gt;`blogs/content/`&lt;/span&gt;, &lt;span class="sb"&gt;`blogs/{id}/content/`&lt;/span&gt;, &lt;span class="sb"&gt;`blogs/banners/`&lt;/span&gt;, &lt;span class="sb"&gt;`blogs/{id}/banner-*`&lt;/span&gt;.
SQL: run &lt;span class="sb"&gt;`supabase-migrations.sql`&lt;/span&gt; once (includes Storage bucket &lt;span class="sb"&gt;`saas-starter-storage`&lt;/span&gt;).

&lt;span class="gu"&gt;## Environment variables&lt;/span&gt;

Required for core:
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`NEXT_PUBLIC_SITE_URL`&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`NEXT_PUBLIC_SUPABASE_URL`&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`NEXT_PUBLIC_SUPABASE_KEY`&lt;/span&gt;

Payments:
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`STRIPE_SECRET_KEY`&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`STRIPE_WEBHOOK_SECRET`&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY`&lt;/span&gt; (optional if you only start checkout server-side)
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`STRIPE_TEST_ZERO=true`&lt;/span&gt; — charge $0 in Checkout for local testing
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`NEXT_PUBLIC_STRIPE_TEST_ZERO=true`&lt;/span&gt; — show $0 copy on submit UI

Optional:
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`RESEND_API_KEY`&lt;/span&gt;, &lt;span class="sb"&gt;`RESEND_FROM_EMAIL`&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`NEXT_PUBLIC_POSTHOG_KEY`&lt;/span&gt;, &lt;span class="sb"&gt;`NEXT_PUBLIC_POSTHOG_HOST`&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`NEXT_PUBLIC_APP_URL`&lt;/span&gt; (legacy Stripe fallback; prefer SITE_URL)

Use &lt;span class="sb"&gt;`.env.local`&lt;/span&gt; locally. &lt;span class="sb"&gt;`.env*`&lt;/span&gt; is gitignored.

&lt;span class="gu"&gt;## Intentional dual editors&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; &lt;span class="sb"&gt;`BlogTiptapEditor.jsx`&lt;/span&gt; — canonical nested route editor (&lt;span class="sb"&gt;`/admin/blogs/*`&lt;/span&gt;)
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`TiptapEditor.jsx`&lt;/span&gt; — still used by BlogTab modal list workflow

Do not delete either without consolidating BlogTab first.

&lt;span class="gu"&gt;## What was removed for launch&lt;/span&gt;

Do not reintroduce these without a product need:
&lt;span class="p"&gt;-&lt;/span&gt; Forms builder (&lt;span class="sb"&gt;`FormsTab`&lt;/span&gt;, &lt;span class="sb"&gt;`/api/forms/*`&lt;/span&gt;, &lt;span class="sb"&gt;`forms`&lt;/span&gt; / &lt;span class="sb"&gt;`form_submissions`&lt;/span&gt; tables)
&lt;span class="p"&gt;-&lt;/span&gt; Email campaigns, subscribers, waitlist, kanban/tasks, idea DB, changelog, cron, assets CMS
&lt;span class="p"&gt;-&lt;/span&gt; Builder zip/AST APIs, roles-config codegen (&lt;span class="sb"&gt;`modules-config`&lt;/span&gt;, generate-&lt;span class="err"&gt;*&lt;/span&gt;)
&lt;span class="p"&gt;-&lt;/span&gt; Unused deps: octokit, archiver, simple-git, nginx, react-toastify, @vercel/analytics, @stripe/stripe-js, unused Radix accordion/checkbox/avatar/tabs/tooltip/switch/scroll-area

&lt;span class="gu"&gt;## Conventions for agents&lt;/span&gt;
&lt;span class="p"&gt;
1.&lt;/span&gt; Prefer Pages Router for new pages under &lt;span class="sb"&gt;`pages/`&lt;/span&gt;.
&lt;span class="p"&gt;2.&lt;/span&gt; Put reusable marketing UI in &lt;span class="sb"&gt;`app/frontend/marketing/`&lt;/span&gt;.
&lt;span class="p"&gt;3.&lt;/span&gt; Put Supabase access in &lt;span class="sb"&gt;`lib/api/*`&lt;/span&gt;; use React Query hooks in &lt;span class="sb"&gt;`lib/hooks/*`&lt;/span&gt;.
&lt;span class="p"&gt;4.&lt;/span&gt; Do not change visual theme / CSS / layout unless the task is design work.
&lt;span class="p"&gt;5.&lt;/span&gt; Do not commit &lt;span class="sb"&gt;`.env`&lt;/span&gt; files.
&lt;span class="p"&gt;6.&lt;/span&gt; Keep packaging lean — delete orphan modules instead of leaving stubs.
&lt;span class="p"&gt;7.&lt;/span&gt; Brand copy is ToolDir, not "SAAS Starter".

&lt;span class="gu"&gt;## Local commands&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
bash&lt;br&gt;
npm install&lt;br&gt;
npm run dev     # &lt;a href="http://localhost:3002" rel="noopener noreferrer"&gt;http://localhost:3002&lt;/a&gt;&lt;br&gt;
npm run build&lt;br&gt;
npm run lint&lt;br&gt;
npm run pack    # clean buyer zip → dist/tooldir.zip&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When I was building this boilerplate, I wrote the LLM text to help everyone ask questions related to the boilerplate on Claude or chatgpt.&lt;/p&gt;

&lt;p&gt;Once done, &lt;a href="https://tooldir.buildsaas.dev/" rel="noopener ugc nofollow noreferrer"&gt;check the demo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once checked, &lt;a href="https://shreyvijayvargiya.gumroad.com/l/nextjs-supabase-directory-boilerplate?layout=profile" rel="noopener ugc nofollow noreferrer"&gt;buy the template 😃&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let me explain what this template contains&lt;/p&gt;

&lt;h2&gt;
  
  
  How to build your Directory website in seconds?
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;You will get the zip file&lt;/li&gt;
&lt;li&gt;Unzip it and run some commands (All details are in the Readme.md file in the zip)&lt;/li&gt;
&lt;li&gt;Once run, add the supabase migration SQL in supabase SQL editor to create the database tables&lt;/li&gt;
&lt;li&gt;For authentication, simply enable supabase Google and Email as a sign-in provider and add Google Cloud Console credentials, such as Client ID and Client secret, along with the OAuth callback URL (Details are in the readme file)&lt;/li&gt;
&lt;li&gt;Add the Stripe secret key from the Stripe dashboard to enable payment for the early submission booking slot&lt;/li&gt;
&lt;li&gt;Change and customise the pricing, landing page and blogs as per your project needs&lt;/li&gt;
&lt;li&gt;Deploy the app and put the env keys containing supabase key and the Stripe key on the deployment server&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;7 steps and your directory website is ready with database, authentication and payment integrated.&lt;/p&gt;

&lt;h2&gt;
  
  
  Admin Panel to Manage Directory Website Business
&lt;/h2&gt;

&lt;p&gt;That is not enough&lt;/p&gt;

&lt;p&gt;Inside the zip folder, you can find app/admin folder, this contains the admin panel to write blog, review submissions, check payments and website analytics and update pricing for each slot, all reflects directly on the website within the admin panel.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tooldir.buildsaas.dev/admin" rel="noopener ugc nofollow noreferrer"&gt;&lt;/a&gt;&lt;a href="https://tooldir.buildsaas.dev/admin" rel="noopener noreferrer"&gt;https://tooldir.buildsaas.dev/admin&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This makes it easy for you to run the entire directory website content, manage users and view analytics without touching code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tech Stack
&lt;/h2&gt;

&lt;p&gt;The template is built using the latest technology stack&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Nextjs&lt;/li&gt;
&lt;li&gt;Shadcn for UI components&lt;/li&gt;
&lt;li&gt;Tailwind for styling&lt;/li&gt;
&lt;li&gt;framer motion for animation&lt;/li&gt;
&lt;li&gt;Lucide React for icons&lt;/li&gt;
&lt;li&gt;Supabase for the database&lt;/li&gt;
&lt;li&gt;Supabase storage for images&lt;/li&gt;
&lt;li&gt;Stripe for payment&lt;/li&gt;
&lt;li&gt;Resend for emailing&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;All tech stacks are universally accepted and open-source, making it robust by nature. &lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;Directory listing websites are in trend, and making one is a good way for you to earn money online. ToolDir ease the pain in making the entire website and saved almost $2k as a developer's costs; it works well with AI agents like Cursor, v0 or Lovable or Bolt.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tooldir.buildsaas.dev/" rel="noopener ugc nofollow noreferrer"&gt;Check the demo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tooldir.buildsaas.dev/" rel="noopener ugc nofollow noreferrer"&gt;&lt;/a&gt;&lt;a href="https://shreyvijayvargiya.gumroad.com/l/nextjs-supabase-directory-boilerplate?layout=profile" rel="noopener ugc nofollow noreferrer"&gt;Get the template&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cheers&lt;/p&gt;

&lt;p&gt;Shrey&lt;/p&gt;

&lt;p&gt;If needed, custom template, shoot me an email at &lt;a href="http://shreyvijayvargiya26@gmail.com/" rel="noopener ugc nofollow noreferrer"&gt;&lt;/a&gt;&lt;a href="mailto:shreyvijayvargiya26@gmail.com"&gt;shreyvijayvargiya26@gmail.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Making of Aantraa</title>
      <dc:creator>shrey vijayvargiya</dc:creator>
      <pubDate>Fri, 26 Jun 2026 15:20:30 +0000</pubDate>
      <link>https://dev.to/shreyvijayvargiya/making-of-aantraa-3475</link>
      <guid>https://dev.to/shreyvijayvargiya/making-of-aantraa-3475</guid>
      <description>&lt;h1&gt;
  
  
  Making of Aantraa
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;aantraa.site&lt;/strong&gt; — AI audio &amp;amp; video translation, caption generator, and viral shorts cutter.&lt;/p&gt;




&lt;h2&gt;
  
  
  Under the Hood
&lt;/h2&gt;

&lt;p&gt;I run a small YouTube channel. I'm not a full-time content creator, but YouTube is a solid platform to gain traffic for your online work, business, project, or idea.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Aantraa&lt;/strong&gt; is what I built in a week. The main concept is simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Video translation&lt;/strong&gt; into multiple languages&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Audio translation&lt;/strong&gt; — including text-to-audio, with MP3 output for Premiere Pro&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Long-form to shorts&lt;/strong&gt; — convert YouTube long-form video into short clips&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At that time, only three features were needed, so website development wasn't the heavy lift. The real work was building APIs, backend infrastructure to integrate AI into video, and dealing with heavy storage.&lt;/p&gt;




&lt;h2&gt;
  
  
  Breaking the execution into steps: How I made Aantraa
&lt;/h2&gt;

&lt;h3&gt;
  
  
  AI LLM layering and provider
&lt;/h3&gt;

&lt;p&gt;Aantraa is heavily dependent on AI APIs — we need reliable infrastructure for LLM providers.&lt;/p&gt;

&lt;p&gt;OpenRouter, Portkey, Vercel AI SDK labs, and individual APIs for Anthropic, Deepseek, and OpenAI are solid options.&lt;/p&gt;

&lt;p&gt;I prefer &lt;strong&gt;OpenRouter&lt;/strong&gt; for Aantraa for one reason: &lt;strong&gt;multiple model support&lt;/strong&gt; — it's easy to pick the cheapest capable model for each job. Easy to integrate, strong community support, free model access, and more.&lt;/p&gt;

&lt;p&gt;AI LLM APIs are needed at almost every stage in the backend:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understanding video context and creating a script&lt;/li&gt;
&lt;li&gt;Translating the script into target languages&lt;/li&gt;
&lt;li&gt;Recording the script into MP3 or WAV format&lt;/li&gt;
&lt;li&gt;Summarising the video&lt;/li&gt;
&lt;li&gt;Generating captions&lt;/li&gt;
&lt;li&gt;Cutting videos into shorts&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Building APIs and servers
&lt;/h3&gt;

&lt;p&gt;Each layer needs heavy AI context and prompt engineering. &lt;strong&gt;Loop engineering&lt;/strong&gt; is the trend here — and it's required for aantraa.&lt;/p&gt;

&lt;p&gt;For example, &lt;strong&gt;video translation&lt;/strong&gt; works in multiple connected steps:&lt;/p&gt;

&lt;h4&gt;
  
  
  Video translation API breakdown
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;AI understands the video, fed into the LLM via the &lt;strong&gt;ffmpeg&lt;/strong&gt; module&lt;/li&gt;
&lt;li&gt;AI generates a script/caption from the video&lt;/li&gt;
&lt;li&gt;AI translates the script into the desired language&lt;/li&gt;
&lt;li&gt;AI generates audio (MP3 or WAV) of the new translation&lt;/li&gt;
&lt;li&gt;AI glues audio and video together using ffmpeg&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Each step depends on the previous one, which makes production debugging hard when something breaks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt; Track each process — usage tokens, estimated time, errors, and response metadata.&lt;/p&gt;

&lt;p&gt;The same pattern applies to audio translation, viral clip cutter, and caption generator.&lt;/p&gt;

&lt;h3&gt;
  
  
  Infrastructure and servers
&lt;/h3&gt;

&lt;p&gt;Local API development is manageable until you ship to production.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;Choice&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Framework&lt;/td&gt;
&lt;td&gt;Hono.js&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backend hosting&lt;/td&gt;
&lt;td&gt;Vercel Edge or Fly.io&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DevOps&lt;/td&gt;
&lt;td&gt;Docker, simple Git CI/CD&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Database&lt;/td&gt;
&lt;td&gt;Firebase / Supabase&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Storage&lt;/td&gt;
&lt;td&gt;UploadThing&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;I found &lt;strong&gt;UploadThing&lt;/strong&gt; as a practical alternative to AWS S3 and Firebase/Supabase storage for file uploads. It provides client and server SDKs to upload files quickly (5 MB per chunk on the free plan).&lt;/p&gt;

&lt;p&gt;We need storage heavily because every AI layer doesn't keep its own memory — every generated audio/video file must land in storage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FFmpeg&lt;/strong&gt; is essential for video and audio work, but it has limitations on serverless functions and Vercel Edge. That pushed us toward &lt;strong&gt;Fly.io&lt;/strong&gt;, Railway, or Render for heavier media workloads.&lt;/p&gt;




&lt;h2&gt;
  
  
  Video translation into 90+ languages
&lt;/h2&gt;

&lt;p&gt;Aantraa supports &lt;strong&gt;90+ languages&lt;/strong&gt; for video and audio translation.&lt;/p&gt;

&lt;p&gt;AI translates scripts, text, on-screen text, and video context well — it needs to understand the video through the script and each frame. &lt;strong&gt;FFmpeg&lt;/strong&gt; helps with that pipeline.&lt;/p&gt;

&lt;p&gt;The flow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;AI generates a script from the source&lt;/li&gt;
&lt;li&gt;AI translates into the target language&lt;/li&gt;
&lt;li&gt;AI creates dubbed audio in that language&lt;/li&gt;
&lt;li&gt;FFmpeg merges audio and video into a new translated file&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Each step needs debugging, prompt engineering, and FFmpeg integration.&lt;/p&gt;

&lt;p&gt;Finally, the output uploads to storage and returns a URL to the client for download and playback.&lt;/p&gt;




&lt;h2&gt;
  
  
  Audio to MP3 in multiple languages
&lt;/h2&gt;

&lt;p&gt;Aantraa isn't only video translation. As a creator, I also wanted to turn blog posts or text into audio — podcast-style listening.&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;audio translation&lt;/strong&gt; tool covers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Text to audio&lt;/strong&gt; — download MP3 or WAV&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;90+ languages&lt;/strong&gt; for text and video sources&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Video to audio&lt;/strong&gt; extraction and translation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multiple target languages&lt;/strong&gt; in parallel&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That makes aantraa a supporting platform: one recording → 90+ language MP3s, ready for one-click sharing.&lt;/p&gt;




&lt;h2&gt;
  
  
  YouTube videos to shorts
&lt;/h2&gt;

&lt;p&gt;The viral shorts feature converts long-form YouTube video into short clips you can upload directly to your channel.&lt;/p&gt;

&lt;h4&gt;
  
  
  API breakdown
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;AI understands the full video context — summary and script&lt;/li&gt;
&lt;li&gt;AI breaks the script by timestamp into the desired number of shorts&lt;/li&gt;
&lt;li&gt;FFmpeg cuts each clip; APIs upload to storage&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It sounds simple, but production needs FFmpeg tuning, AI context limits, and file-size guardrails — videos over ~10 MB cost more time and money to process.&lt;/p&gt;




&lt;h2&gt;
  
  
  Video translation examples
&lt;/h2&gt;

&lt;p&gt;See &lt;strong&gt;10+ translated videos&lt;/strong&gt; in Spanish, Hindi, Bengali, Gujarati, Marathi, Tamil, French, English, Japanese, Chinese, and more on our &lt;a href="https://aantraa.site/examples" rel="noopener noreferrer"&gt;examples page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;90+ languages make aantraa a universal, global platform.&lt;/p&gt;




&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;first version is live&lt;/strong&gt;. We also offer &lt;strong&gt;APIs for business agencies and startup teams&lt;/strong&gt; — reach out via &lt;a href="https://aantraa.site/contact" rel="noopener noreferrer"&gt;contact&lt;/a&gt; if you're interested.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Links&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Website: &lt;a href="https://aantraa.site" rel="noopener noreferrer"&gt;aantraa.site&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Blog: &lt;a href="https://aantraa.site/blog" rel="noopener noreferrer"&gt;aantraa.site/blog&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Examples: &lt;a href="https://aantraa.site/examples" rel="noopener noreferrer"&gt;aantraa.site/examples&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Pricing: &lt;a href="https://aantraa.site/#pricing" rel="noopener noreferrer"&gt;aantraa.site/#pricing&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Try the product and share your feedback — early signups get &lt;strong&gt;1 free minute&lt;/strong&gt; of AI translation credit.&lt;/p&gt;

&lt;p&gt;Cheers,&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Shrey&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Aantraa · &lt;a href="https://aantraa.site" rel="noopener noreferrer"&gt;aantraa.site&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>I built a CRM Template Nobody Asked For Until 10+ Businesses Bought It</title>
      <dc:creator>shrey vijayvargiya</dc:creator>
      <pubDate>Wed, 17 Jun 2026 13:58:27 +0000</pubDate>
      <link>https://dev.to/shreyvijayvargiya/i-built-a-crm-template-nobody-asked-for-until-10-businesses-bought-it-33p8</link>
      <guid>https://dev.to/shreyvijayvargiya/i-built-a-crm-template-nobody-asked-for-until-10-businesses-bought-it-33p8</guid>
      <description>&lt;h1&gt;
  
  
  I Built a CRM Template Nobody Asked For — Then 10+ Businesses Bought It
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;How shipping something "boring" taught me more about product-market fit than any hot SaaS idea ever did.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;I almost didn't build this.&lt;/p&gt;

&lt;p&gt;CRMs are not sexy. Nobody tweets about their CRM. No one posts "just shipped a killer role-based access control system" and goes viral. It's the kind of product you build because you have to, not because you want to.&lt;/p&gt;

&lt;p&gt;But that's exactly why I built it — and why it worked.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Problem Nobody Talks About
&lt;/h2&gt;

&lt;p&gt;When I started working on a CRM project, I quickly realised something: &lt;strong&gt;businesses don't just need a CRM, they need a CRM that fits their workflow.&lt;/strong&gt; Off-the-shelf tools are either too generic or too expensive to customise. And building one from scratch? That's a rabbit hole most teams don't have the time or budget to fall into.&lt;/p&gt;

&lt;p&gt;CRMs are quite complex:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;20+ pages of UI that all need to communicate with each other&lt;/li&gt;
&lt;li&gt;Role-based access control for different team members&lt;/li&gt;
&lt;li&gt;API integrations with third-party tools&lt;/li&gt;
&lt;li&gt;Version control for data schemas&lt;/li&gt;
&lt;li&gt;Authentication, permissions, audit trails&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  It's not just a CRUD app. It's a whole product surface.
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Version 1: Ship Ugly, Ship Fast
&lt;/h2&gt;

&lt;p&gt;The first version was not impressive. Here's what I launched:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;10+ pages&lt;/strong&gt; of core CRM UI (contacts, deals, pipeline, tasks, settings)&lt;/li&gt;
&lt;li&gt;Basic &lt;strong&gt;authentication flow&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;API database schemas&lt;/strong&gt; for the most common use cases&lt;/li&gt;
&lt;li&gt;Frontend UI components built with React and Tailwind&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's it. No documentation. No Figma files. No localization.&lt;/p&gt;

&lt;p&gt;I put it on Gumroad, shared it with a small developer community I'd been building, and waited.&lt;/p&gt;




&lt;h2&gt;
  
  
  The First Sale
&lt;/h2&gt;

&lt;p&gt;One month later, someone bought it.&lt;/p&gt;

&lt;p&gt;Not a big company. Not a VC-backed startup. Just a small team that needed a CRM and didn't want to spend six months building one from scratch. They paid, they used it, and then — this is the part that changes everything — &lt;strong&gt;they gave me feedback.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That feedback was worth more than the sale price.&lt;/p&gt;

&lt;p&gt;They told me what was missing. What didn't work the way they expected. What they wished was there. And I built it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Three Months of Compounding Improvements
&lt;/h2&gt;

&lt;p&gt;Here's what the template looked like three months after the first sale:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;More pages, production-grade quality&lt;/strong&gt;&lt;br&gt;
From 10 to &lt;strong&gt;22 fully functional pages&lt;/strong&gt; — including analytics dashboards, activity logs, user management, reporting views, and more. Not just wireframes. Actual working pages with real data flow.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Proper schema support&lt;/strong&gt;&lt;br&gt;
Developers have different preferences and constraints. I added schema definitions for &lt;strong&gt;Zod, Supabase, Firebase, and Postgres&lt;/strong&gt; so the template could slot into almost any backend stack without a full rewrite.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Documentation and multi-language support&lt;/strong&gt;&lt;br&gt;
The first version had zero documentation. That's fine for an MVP, but not for a product you're selling to businesses. I wrote proper docs, added setup guides, and built in multi-language support for international teams.&lt;/p&gt;


&lt;h2&gt;
  
  
  What 10+ Businesses Taught Me
&lt;/h2&gt;

&lt;p&gt;By month four, the template had helped &lt;strong&gt;10+ businesses worldwide&lt;/strong&gt; — from solo founders to small agencies to companies building internal tools.&lt;/p&gt;

&lt;p&gt;Each sale brought a new perspective. The feedback loop looked like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Sale → Feedback → Improvement → Better product → Next sale
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A few things surprised me:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The "boring" parts mattered most.&lt;/strong&gt; Nobody cared about the UI animations. They cared about whether the schema worked with their database, whether the auth was secure, whether their developers could understand the codebase in an afternoon.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Customization was the real ask.&lt;/strong&gt; Several clients didn't just want the template — they wanted us to customize it for their existing business. The template became a starting point for consulting work. One product, two revenue streams.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Figma files were a latent need.&lt;/strong&gt; One client specifically requested Figma files. This wasn't something I'd planned for. But it made sense — designers need to adapt the UI before developers touch the code. Now it's part of the offering.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's in the Template Today
&lt;/h2&gt;

&lt;p&gt;For developers and teams evaluating this, here's the current state:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Details&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Pages&lt;/td&gt;
&lt;td&gt;22 production-grade pages&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Auth&lt;/td&gt;
&lt;td&gt;Full authentication with role-based access&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Schemas&lt;/td&gt;
&lt;td&gt;Zod, Supabase, Firebase, Postgres&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Frontend&lt;/td&gt;
&lt;td&gt;React + Tailwind CSS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Documentation&lt;/td&gt;
&lt;td&gt;Full setup guide included&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Language support&lt;/td&gt;
&lt;td&gt;Multi-language ready&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Figma files&lt;/td&gt;
&lt;td&gt;Available on request&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The goal was always to give teams a &lt;strong&gt;90% head start&lt;/strong&gt; so they could spend their engineering time on what makes their business unique — not reinventing contact management for the hundredth time.&lt;/p&gt;




&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Boring products solve real problems.&lt;/p&gt;

&lt;p&gt;If you're a developer thinking about what to build next, consider: &lt;strong&gt;what problem is so unsexy that nobody is building a great solution for it?&lt;/strong&gt; That gap is usually where the money is.&lt;/p&gt;




&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;

&lt;p&gt;If you're building a CRM, need a CRM for your business, or want a starting point for a custom internal tool:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Live demo:&lt;/strong&gt; &lt;a href="http://crm-saas.buildsaas.dev" rel="noopener noreferrer"&gt;crm-saas.buildsaas.dev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Documentation:&lt;/strong&gt; &lt;a href="http://crm-saas.buildsaas.dev/about" rel="noopener noreferrer"&gt;crm-saas.buildsaas.dev/about&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Buy (USD):&lt;/strong&gt; &lt;a href="https://shreyvijayvargiya.gumroad.com/l/saas-crm-react-template" rel="noopener noreferrer"&gt;Gumroad&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Buy (INR):&lt;/strong&gt; &lt;a href="https://checkout.dodopayments.com/buy/pdt_0NdFsoIah9Nc7oQ5SZScQ" rel="noopener noreferrer"&gt;Dodo Payments&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;DM me on &lt;a href="https://x.com/treyvijay" rel="noopener noreferrer"&gt;@treyvijay&lt;/a&gt; or mention in the comment section.&lt;/p&gt;

&lt;p&gt;Cheers&lt;br&gt;
Shrey&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>learning</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Aantraa: AI Audio Video Translation Tool</title>
      <dc:creator>shrey vijayvargiya</dc:creator>
      <pubDate>Wed, 10 Jun 2026 17:10:16 +0000</pubDate>
      <link>https://dev.to/shreyvijayvargiya/aantraa-ai-audio-video-translation-tool-4mgl</link>
      <guid>https://dev.to/shreyvijayvargiya/aantraa-ai-audio-video-translation-tool-4mgl</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo0hkjimqj2amrwflehy2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo0hkjimqj2amrwflehy2.png" width="700" height="350"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Under the Hood&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Global internet consumers will reach 8 billion users by 2030.&lt;/p&gt;

&lt;p&gt;The Internet is flooded with videos and texts from people all over the world.&lt;/p&gt;

&lt;p&gt;In future, every 4 in one person will be an internet creator in some or the other ways. Not every creator is a YouTuber; some are on X, IG, TikTok, Pinterest, Reddit, Substack and LinkedIn.&lt;/p&gt;

&lt;p&gt;In India, we have billions of consumers, in total 1.5, each one in his/her naqtive language consumes the internet.&lt;/p&gt;

&lt;p&gt;Distributing the content needs a start of creating content in the native language. AI models are certainly a good choice to create content in native languages or, more precisely, to translate content.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Introducing Aantraa&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Aantraa is an AI audio-video translation platform.&lt;/p&gt;

&lt;p&gt;Aantraa provides 190+ language translations for your next video or audio.&lt;/p&gt;

&lt;p&gt;Dub one video into 90+ languages with cloned voices.&lt;/p&gt;

&lt;p&gt;Aantraa turns video, audio, or text into localised versions in minutes.&lt;/p&gt;

&lt;p&gt;No studio. No back-and-forth. No one-language-at-a-time workflow.&lt;/p&gt;

&lt;p&gt;If your content travels, your voice should too.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fymdd1bf66ylfnd4gnb0y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fymdd1bf66ylfnd4gnb0y.png" width="700" height="349"&gt;&lt;/a&gt;&lt;a href="http://aantraa.site/" rel="noopener noreferrer"&gt;Aantraa video/audio translation form website screenshot&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I built aantraa to curb the need and demand of content creators across the globe to translate the content from Russian, German, Chinese, and English to Hindi for 1.5 billion people and vice versa.&lt;/p&gt;

&lt;p&gt;It's the simplest tool that takes a URL or uploads the video and selects the language of translation, and within minutes, aantraa translates the video.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Aantraa by Examples&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Video posted in English on &lt;a href="http://x.com" rel="noopener noreferrer"&gt;x.com&lt;/a&gt;, and below is the translated video URL in Hindi.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://x.com/elonmusk/status/2053230433299771580?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E2053230433299771580%7Ctwgr%5E%7Ctwcon%5Es1_&amp;amp;ref_url=" rel="noopener noreferrer"&gt;https://x.com/elonmusk/status/2053230433299771580?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E2053230433299771580%7Ctwgr%5E%7Ctwcon%5Es1_&amp;amp;ref_url=&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://b4fcijccdw.ufs.sh/f/mVUSE925dTRYdk7jrjutB0mAHE68ivjy7GN4WZpIoQk2Ydcg" rel="noopener noreferrer"&gt;https://b4fcijccdw.ufs.sh/f/mVUSE925dTRYdk7jrjutB0mAHE68ivjy7GN4WZpIoQk2Ydcg&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Aantraa works with 190+ languages for translation, as shown below on the website.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://aantraa.site/" rel="noopener noreferrer"&gt;Check more examples on the website&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;How it Works&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;This is what 3 minutes buys you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Upload a video.&lt;/li&gt;
&lt;li&gt;Pick 5 languages.&lt;/li&gt;
&lt;li&gt;Get voice-cloned dubbed exports in one queue.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most teams still localise like it’s 2014.&lt;/p&gt;

&lt;p&gt;We built aantraa so one file can become a whole market.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Dubbing voice-over with 20+ male/female voices&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Aantraa provides 190+ languages and over 20 male/female voice-overs to select the dubbed voice.&lt;/p&gt;

&lt;p&gt;Press enter or click to view image in full size&lt;/p&gt;

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

&lt;h2&gt;
  
  
  &lt;strong&gt;Why Aantraa&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;We kept hearing the same complaint from creators and teams:&lt;/p&gt;

&lt;p&gt;“We don’t need a studio. We need multilingual output by Friday.”&lt;/p&gt;

&lt;p&gt;So we built aantraa around speed, parallel jobs, and private uploads.&lt;/p&gt;

&lt;p&gt;Less process. More published content.&lt;/p&gt;

&lt;p&gt;Stop dubbing one language at a time.&lt;/p&gt;

&lt;p&gt;aantraa lets you run parallel jobs for Spanish, Hindi, French, and more from the same source file.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Who can use Aantraa&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Built for creators, agencies, and teams that need localised content without the production overhead.&lt;/p&gt;

&lt;p&gt;Cheaper than a full dubbing workflow.&lt;/p&gt;

&lt;p&gt;That’s the best.&lt;/p&gt;

&lt;p&gt;If you’re a creator, agency, or content team, paying per minute for fast self-serve dubbing is easier than coordinating translators, voice talent, and editors.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;There are already strong tools in the dubbing space.&lt;/p&gt;

&lt;p&gt;That’s exactly why we built &lt;a href="http://aantraa.site/" rel="noopener noreferrer"&gt;aantraa&lt;/a&gt; with a different angle.&lt;/p&gt;

&lt;p&gt;Not a bloated media suite.\&lt;br&gt;
Not a consulting-heavy service.\&lt;br&gt;
Not a workflow that assumes you have a production team.&lt;/p&gt;

&lt;p&gt;Just a fast, self-serve way to turn one video, audio file, or script into localised voice output in 90+ languages.&lt;/p&gt;

&lt;p&gt;The core idea is boring in the best way: Make the first translation easy, then make the next four translations basically free.&lt;/p&gt;

&lt;p&gt;That matters for creators, agencies, and content teams that need to ship fast and keep margins sane.&lt;/p&gt;

&lt;p&gt;We’ll keep improving quality, timing, and export workflow.\&lt;br&gt;
But the north star stays the same: help one recording do the work of many.&lt;/p&gt;

&lt;p&gt;More in the next blog!!&lt;/p&gt;

&lt;p&gt;Go ahead, try the product, early users get the FREE one-minute credit!!&lt;/p&gt;

&lt;p&gt;Cheers\&lt;br&gt;
Shrey\&lt;br&gt;
&lt;a href="http://aantraa.site/" rel="noopener noreferrer"&gt;Aantraa&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>saas</category>
    </item>
    <item>
      <title>Scrapefast: Smallest and fastest FREE web scraping API</title>
      <dc:creator>shrey vijayvargiya</dc:creator>
      <pubDate>Mon, 11 May 2026 14:26:15 +0000</pubDate>
      <link>https://dev.to/shreyvijayvargiya/scrapefast-smallest-and-fastest-free-web-scraping-api-57le</link>
      <guid>https://dev.to/shreyvijayvargiya/scrapefast-smallest-and-fastest-free-web-scraping-api-57le</guid>
      <description>&lt;p&gt;Hello folks!!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/shreyvijayvargiya/scrapefast/" rel="noopener noreferrer"&gt;https://github.com/shreyvijayvargiya/scrapefast/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’ve built the smallest and fastest web scraping free open-source Node. js-based endpoint.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Handles concurrent multiple URL scraping&lt;/li&gt;
&lt;li&gt;Manage memory allocation, cache cleaning&lt;/li&gt;
&lt;li&gt;API endpoints for scraping, screenshot for a single URL and multiple URL
Most of the AI LLMs need internet access and web scraping for reading content from a website/URL, and a web scraping endpoint will help in the same way&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Wrote a detailed blog about it, read blog: &lt;a href="https://ihatereading.in/t/One-honojs-file-for-entire-web-scraping-API" rel="noopener noreferrer"&gt;https://ihatereading.in/t/One-honojs-file-for-entire-web-scraping-API&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feel free to contribute&lt;br&gt;
Cheers&lt;br&gt;
Shrey&lt;/p&gt;

</description>
      <category>github</category>
      <category>opensource</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Build any SAAS website in just 299Rs/$49</title>
      <dc:creator>shrey vijayvargiya</dc:creator>
      <pubDate>Thu, 30 Apr 2026 16:16:12 +0000</pubDate>
      <link>https://dev.to/shreyvijayvargiya/build-any-saas-website-in-just-299rs49-117a</link>
      <guid>https://dev.to/shreyvijayvargiya/build-any-saas-website-in-just-299rs49-117a</guid>
      <description>&lt;p&gt;Hello folks!!&lt;/p&gt;

&lt;p&gt;I am glad to announce that buildsaas.dev now supports INR pricing and UPI&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Buildsaas?
&lt;/h2&gt;

&lt;p&gt;Most of the vibe coders and indie hackers build SaaS products, add payments, authentication, and databases, and finally launch in months, only to realise that the idea is not working.&lt;/p&gt;

&lt;p&gt;Instead, save some time by using boilerplate or an already existing code repository or template.&lt;/p&gt;

&lt;p&gt;But we often get confused about which template to use, and most of the templates are too costly stating from $99.&lt;/p&gt;

&lt;p&gt;Buildsaas solves this problem. We have already used buildsaas for existing products in the market, such as ihatereading.in, gettemplate. website, inkgest.com, kixi.app and more&lt;/p&gt;

&lt;p&gt;All of our existing products or new upcoming ones are and will be built using buildsaas&lt;/p&gt;

&lt;p&gt;It's a starter kit that has payments, authentication, an admin dashboard to write blogs, manage users, visitors, customers, create invoices and record payments and a lot more. In fact, everything can be done on one admin dashboard, and this all-in-one starter kit is for just 299Rs (Offer is valid only for the next 10 users)&lt;/p&gt;

&lt;p&gt;Buildsaas will save 150+ development or vibe-coding hours, almost $100 in total for those AI coding tools and building such applications will cost around $1k and more&lt;/p&gt;

&lt;h2&gt;
  
  
  Get the Buildsaas
&lt;/h2&gt;

&lt;p&gt;Do check the demo: &lt;a href="https://demo-app.buildsaas.dev/" rel="noopener noreferrer"&gt;https://demo-app.buildsaas.dev/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Visit the admin panel you will get once you buy the buildsaas: &lt;a href="https://demo-app.buildsaas.dev/admin" rel="noopener noreferrer"&gt;https://demo-app.buildsaas.dev/admin&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Purchase link: &lt;a href="https://checkout.dodopayments.com/buy/pdt_0NV5cXHH4abz83r7XX5dv?session=sess_NrwOKiVN6y" rel="noopener noreferrer"&gt;https://checkout.dodopayments.com/buy/pdt_0NV5cXHH4abz83r7XX5dv?session=sess_NrwOKiVN6y&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Buy in USD: &lt;a href="https://shreyvijayvargiya.gumroad.com/l/build-saas-starter-boilerplate?layout=profile" rel="noopener noreferrer"&gt;https://shreyvijayvargiya.gumroad.com/l/build-saas-starter-boilerplate?layout=profile&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once the payment is made, you get all types of zip files of the starter kit as explained below&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Nextjs, Firebase, Stripe&lt;/li&gt;
&lt;li&gt;Nextjs, Firebase, Polar&lt;/li&gt;
&lt;li&gt;Nextjs Supabase, Stripe&lt;/li&gt;
&lt;li&gt;Nextjs Supabase Polar&lt;/li&gt;
&lt;li&gt;Blog starter kit template&lt;/li&gt;
&lt;li&gt;Newsletter starterkit template&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Cheers&lt;br&gt;
DM for anything you need&lt;br&gt;
Shrey&lt;/p&gt;

&lt;p&gt;Buildsaas.dev&lt;/p&gt;

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