<?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>Forem: Atul Verma</title>
    <description>The latest articles on Forem by Atul Verma (@atul_verma_9b425fa7292242).</description>
    <link>https://forem.com/atul_verma_9b425fa7292242</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3872169%2Fe4bcd297-c262-42b6-b2b6-75605f7f091d.png</url>
      <title>Forem: Atul Verma</title>
      <link>https://forem.com/atul_verma_9b425fa7292242</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/atul_verma_9b425fa7292242"/>
    <language>en</language>
    <item>
      <title>I built 2 free tools to learn Next.js 16 — here's the tech stack and what I learned</title>
      <dc:creator>Atul Verma</dc:creator>
      <pubDate>Tue, 14 Apr 2026 14:59:27 +0000</pubDate>
      <link>https://forem.com/atul_verma_9b425fa7292242/i-built-2-free-tools-to-learn-nextjs-16-heres-the-tech-stack-and-what-i-learned-52lg</link>
      <guid>https://forem.com/atul_verma_9b425fa7292242/i-built-2-free-tools-to-learn-nextjs-16-heres-the-tech-stack-and-what-i-learned-52lg</guid>
      <description>&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;Two free tools, production-ready, monetized through AdSense only (no paywalls):&lt;/p&gt;

&lt;p&gt;🧾 &lt;strong&gt;&lt;a href="https://freeinvoicegen.org" rel="noopener noreferrer"&gt;InvoiceGen&lt;/a&gt;&lt;/strong&gt; — Free invoice generator with 10 templates, 30+ currencies, 120+ countries with local tax compliance, live preview, instant PDF download.&lt;/p&gt;

&lt;p&gt;📊 &lt;strong&gt;&lt;a href="https://thecalchub.org" rel="noopener noreferrer"&gt;CalcHub&lt;/a&gt;&lt;/strong&gt; — 32 free calculators (EMI, SIP, tax, mortgage, calorie, BMI, scientific, and more) with dark mode, voice input, compare mode, and 37-currency auto-detect.&lt;/p&gt;

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

&lt;p&gt;Every "free invoice generator" I tried had a catch — signup wall, watermark on the PDF, or a paywall right at download. Zety and Resume.io pioneered the bait-and-switch: let users spend 30 minutes building, then paywall the export.&lt;/p&gt;

&lt;p&gt;I wanted to prove a genuinely free version could sustain itself through ads alone.&lt;/p&gt;

&lt;h2&gt;
  
  
  The tech stack (all free tier)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Next.js 16&lt;/strong&gt; with App Router — SSG for SEO&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TypeScript&lt;/strong&gt; — caught 50+ bugs before production&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tailwind CSS&lt;/strong&gt; — 10 invoice templates consistently styled&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vercel&lt;/strong&gt; — zero-config deployment, free hosting, global CDN&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;jsPDF&lt;/strong&gt; — client-side PDF generation (zero server cost)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Recharts&lt;/strong&gt; — interactive charts for financial calculators&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web Speech API&lt;/strong&gt; — voice input on CalcHub&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Features no competitor has
&lt;/h2&gt;

&lt;p&gt;After researching calculator.net (49M visits/mo), omnicalculator (18M), bankrate, smartasset, and emicalculator.net, I noticed none of them have:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Dark mode&lt;/strong&gt; — not a single major calculator site offers it&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Voice input&lt;/strong&gt; — "say five thousand" to fill a number field&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compare mode&lt;/strong&gt; — side-by-side EMI 15yr vs 30yr&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Auto-detect currency&lt;/strong&gt; — 37 currencies from browser timezone&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Offline support (PWA)&lt;/strong&gt; — works without internet&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shareable URLs with pre-filled values&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Calculation history without signup&lt;/strong&gt; (localStorage)&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  SEO strategy
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Programmatic routes&lt;/strong&gt;: 32 calculators became 157 indexed pages via &lt;code&gt;/calculator/[slug]/[variant]&lt;/code&gt; dynamic routes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;JSON-LD schemas&lt;/strong&gt;: WebApplication, FAQPage, BreadcrumbList, HowTo on every page&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI discovery files&lt;/strong&gt;: llms.txt and llms-full.txt so ChatGPT/Claude/Perplexity recommend the tools&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sitemap&lt;/strong&gt;: auto-generated from calculator registry, submitted to Search Console&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Early results (2 weeks post-launch)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;InvoiceGen&lt;/strong&gt;: 55 users, 352 pageviews, organic search traffic starting&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CalcHub&lt;/strong&gt;: 58 users, 422 pageviews in 2 DAYS (calculators get 9 pageviews per user vs InvoiceGen's 6.4)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Lessons
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Calculators are stickier than single-purpose tools&lt;/strong&gt; — people explore 5-10 calculators per visit&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Programmatic SEO is the cheat code&lt;/strong&gt; — one dynamic route becomes 100+ indexed pages&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mobile matters more than desktop&lt;/strong&gt; — 60% of traffic&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Client-side everything&lt;/strong&gt; — zero server cost means infinite scalability on free tier&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;Building 5 more tools this month:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;QR Code Generator&lt;/li&gt;
&lt;li&gt;Text &amp;amp; Writing Tools&lt;/li&gt;
&lt;li&gt;File Tools (PDF/Image)&lt;/li&gt;
&lt;li&gt;Business Document Kit&lt;/li&gt;
&lt;li&gt;Certificate &amp;amp; Card Maker&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The thesis: every "free" tool online either paywalls the useful part or dies. If monetized correctly through ads, genuinely free tools can thrive.&lt;/p&gt;




&lt;p&gt;Try them:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://freeinvoicegen.org" rel="noopener noreferrer"&gt;freeinvoicegen.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://thecalchub.org" rel="noopener noreferrer"&gt;thecalchub.org&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Feedback welcome. Which feature surprises you most?&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>webdev</category>
      <category>showdev</category>
      <category>typescript</category>
    </item>
    <item>
      <title>I launched a free tool 3 days ago — users from 5 countries, zero marketing budget</title>
      <dc:creator>Atul Verma</dc:creator>
      <pubDate>Sun, 12 Apr 2026 06:58:18 +0000</pubDate>
      <link>https://forem.com/atul_verma_9b425fa7292242/i-launched-a-free-tool-3-days-ago-users-from-5-countries-zero-marketing-budget-2al8</link>
      <guid>https://forem.com/atul_verma_9b425fa7292242/i-launched-a-free-tool-3-days-ago-users-from-5-countries-zero-marketing-budget-2al8</guid>
      <description>&lt;p&gt;3 days ago I posted about building a free invoice generator with Next.js. &lt;br&gt;
Here's what happened since:&lt;/p&gt;

&lt;h2&gt;
  
  
  The numbers (3 days, $0 marketing)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;24 users from 5 countries (India, USA, Canada, Italy, Poland)&lt;/li&gt;
&lt;li&gt;Someone in Canada downloaded a real invoice for their business&lt;/li&gt;
&lt;li&gt;84 page views, 33 deep scrolls (people actually reading)&lt;/li&gt;
&lt;li&gt;4 sessions from social media (Reddit + Dev.to — thank you!)&lt;/li&gt;
&lt;li&gt;Google already indexed 43 out of 47 pages&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What worked
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;SEO from day 1&lt;/strong&gt; — I built 47 static pages targeting different &lt;br&gt;
keywords. Each industry template page (freelance, contractor, &lt;br&gt;
photography) is a separate Google entry point. This is how the &lt;br&gt;
Canada user found me.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;"See a Demo Invoice" button&lt;/strong&gt; — one click fills the entire &lt;br&gt;
form with sample data. Users instantly see the quality without &lt;br&gt;
typing anything. This converts visitors into users.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Auto-detecting country&lt;/strong&gt; — the site reads your browser timezone &lt;br&gt;
and sets your currency, tax label, and language automatically. &lt;br&gt;
The Canada user saw CAD currency without configuring anything.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What I'd do differently
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Should have added more currencies from day 1 (started with 5, 
now have 30+)&lt;/li&gt;
&lt;li&gt;Educational content below each tool helps SEO — Google ranks 
pages with substance, not just widgets&lt;/li&gt;
&lt;li&gt;Reddit removed most of my self-promotion posts — commenting 
on other people's posts works better&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Building a calculator hub next — 15 free calculators (EMI, SIP, &lt;br&gt;
mortgage, tax, BMI, currency converter). Same strategy: free &lt;br&gt;
forever, no signup, beautiful UI, programmatic SEO.&lt;/p&gt;

&lt;p&gt;The goal is 10 free tools, all earning through Google AdSense. &lt;br&gt;
No paywalls, no premium tiers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;freeinvoicegen.org — would love feedback from the dev community. &lt;br&gt;
What features would you add?&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>startup</category>
      <category>javascript</category>
    </item>
    <item>
      <title>How I Built a Free Invoice Generator with Next.js — 47 Pages, Zero Database, $7.50 Total Cost</title>
      <dc:creator>Atul Verma</dc:creator>
      <pubDate>Fri, 10 Apr 2026 16:50:28 +0000</pubDate>
      <link>https://forem.com/atul_verma_9b425fa7292242/how-i-built-a-free-invoice-generator-with-nextjs-47-pages-zero-database-750-total-cost-2f32</link>
      <guid>https://forem.com/atul_verma_9b425fa7292242/how-i-built-a-free-invoice-generator-with-nextjs-47-pages-zero-database-750-total-cost-2f32</guid>
      <description>&lt;p&gt;I built a free invoice generator that has 47 static pages, zero database, and costs $7.50/year to run. Here's how.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Next.js 16 (App Router)&lt;/li&gt;
&lt;li&gt;TypeScript&lt;/li&gt;
&lt;li&gt;Tailwind CSS&lt;/li&gt;
&lt;li&gt;jsPDF (client-side PDF generation)&lt;/li&gt;
&lt;li&gt;Vercel (free tier hosting)&lt;/li&gt;
&lt;li&gt;Cloudflare ($7.50/year domain)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Architecture
&lt;/h2&gt;

&lt;h3&gt;
  
  
  47 Static Pages at Build Time
&lt;/h3&gt;

&lt;p&gt;I used &lt;code&gt;generateStaticParams&lt;/code&gt; to create pages for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;15 industry-specific templates&lt;/strong&gt; — freelance, contractor, photography, construction, plumbing, electrician, etc. Each page has sample line items, tips, and FAQs specific to that industry.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;10 country pages&lt;/strong&gt; — India (GST), UK (VAT), USA (Sales Tax), Australia (ABN/GST), UAE (TRN/VAT), etc. Each page shows local tax rules, required invoice fields, and popular payment methods.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;5 how-to guides&lt;/strong&gt; — "how to create an invoice", "how to invoice as a freelancer", "how to add tax to an invoice", etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All statically generated. Zero runtime cost. Every page is a separate SEO target.&lt;/p&gt;

&lt;h3&gt;
  
  
  Lazy Loading Heavy Libraries
&lt;/h3&gt;

&lt;p&gt;jsPDF is ~700KB. Users don't need it until they click "Download PDF". So I lazy load it:&lt;/p&gt;

&lt;h2&gt;
  
  
  Link
&lt;/h2&gt;

&lt;p&gt;Check it out: &lt;a href="https://freeinvoicegen.org" rel="noopener noreferrer"&gt;https://freeinvoicegen.org&lt;/a&gt;&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
javascript
// Only loads when user clicks download
const { generateInvoicePDF } = await import("@/lib/generatePDF");
const doc = generateInvoicePDF(data);
doc.save(`${data.invoiceNumber}.pdf`);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>nextjs</category>
      <category>typescript</category>
      <category>webdev</category>
      <category>tailwindcss</category>
    </item>
  </channel>
</rss>
