<?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: Arafat</title>
    <description>The latest articles on DEV Community by Arafat (@arafat_835cfcb1c098341d03).</description>
    <link>https://dev.to/arafat_835cfcb1c098341d03</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%2F3817845%2F1190d78e-9ae7-47fb-8f03-c0acb6486dac.png</url>
      <title>DEV Community: Arafat</title>
      <link>https://dev.to/arafat_835cfcb1c098341d03</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/arafat_835cfcb1c098341d03"/>
    <language>en</language>
    <item>
      <title>I built 125+ free calculators with React + TanStack Router on Cloudflare Pages — here's what I learned</title>
      <dc:creator>Arafat</dc:creator>
      <pubDate>Mon, 06 Jul 2026 08:33:43 +0000</pubDate>
      <link>https://dev.to/arafat_835cfcb1c098341d03/i-built-125-free-calculators-with-react-tanstack-router-on-cloudflare-pages-heres-what-i-21lj</link>
      <guid>https://dev.to/arafat_835cfcb1c098341d03/i-built-125-free-calculators-with-react-tanstack-router-on-cloudflare-pages-heres-what-i-21lj</guid>
      <description>&lt;p&gt;A few months ago I set out to build something simple: a collection of free, useful calculators that anyone could use without signing up or dealing with ads.&lt;/p&gt;

&lt;p&gt;That turned into &lt;strong&gt;freefixo.com&lt;/strong&gt; — 125+ calculators covering finance, health, legal, and travel. Here's the stack I used and what surprised me along the way.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;React&lt;/strong&gt; (Vite) — component-per-calculator approach kept things modular&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TanStack Router&lt;/strong&gt; — file-based routing made adding new calculators trivially easy. Each new tool = one new file.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cloudflare Pages&lt;/strong&gt; — free tier, global CDN, deploys in ~30 seconds from a &lt;code&gt;git push&lt;/code&gt;. Zero config for a CSR SPA.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tailwind CSS&lt;/strong&gt; — rapid styling without a separate stylesheet per component&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No backend. No database. Everything runs client-side.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why TanStack Router over React Router?
&lt;/h2&gt;

&lt;p&gt;I wanted type-safe routes from day one. TanStack Router's file-based routing + full TypeScript inference meant I never had a mistyped route string again. The tradeoff: slightly steeper learning curve for the search param handling, but worth it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cloudflare Pages for a CSR SPA
&lt;/h2&gt;

&lt;p&gt;One gotcha: Cloudflare Pages serves a 404 for direct URL hits on client-side routes unless you add a &lt;code&gt;_redirects&lt;/code&gt; file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight apache"&gt;&lt;code&gt;&lt;span class="err"&gt;/*&lt;/span&gt; &lt;span class="err"&gt;/&lt;/span&gt;index.html 200
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That one line fixes SPA routing entirely. Took me embarrassingly long to figure out.&lt;/p&gt;

&lt;h2&gt;
  
  
  Scaling to 125+ calculators without losing my mind
&lt;/h2&gt;

&lt;p&gt;The key was a consistent pattern: every calculator is a self-contained React component that receives no props from outside — all state is local. This meant I could build, test, and ship each one independently without touching anything else.&lt;/p&gt;

&lt;p&gt;I also built a simple JSON config file that drives the homepage grid, search, and category filters. Adding a new calculator = add the component + one line in the config.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Add meta tags earlier.&lt;/strong&gt; I retrofitted per-page &lt;code&gt;&amp;lt;title&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;description&amp;gt;&lt;/code&gt; tags after launch. Should've done this from calculator #1.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Build the search first.&lt;/strong&gt; Users immediately want to search. I built it as an afterthought.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don't wait for perfection.&lt;/strong&gt; I had 40 calculators ready weeks before I launched. Ship earlier, iterate publicly.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The result
&lt;/h2&gt;

&lt;p&gt;Live at &lt;strong&gt;&lt;a href="https://freefixo.com" rel="noopener noreferrer"&gt;https://freefixo.com&lt;/a&gt;&lt;/strong&gt; — no signup, no ads, just tools.&lt;/p&gt;

&lt;p&gt;Would love feedback from the DEV community, especially on the tech choices. Anyone else using TanStack Router in production? How are you handling SEO for CSR apps on Cloudflare Pages?&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>showdev</category>
    </item>
    <item>
      <title>I Built a Free All-in-One Tool Website with 70+ Tools — Here's the Story</title>
      <dc:creator>Arafat</dc:creator>
      <pubDate>Wed, 11 Mar 2026 05:50:32 +0000</pubDate>
      <link>https://dev.to/arafat_835cfcb1c098341d03/i-built-a-free-all-in-one-tool-website-with-70-tools-heres-the-story-jej</link>
      <guid>https://dev.to/arafat_835cfcb1c098341d03/i-built-a-free-all-in-one-tool-website-with-70-tools-heres-the-story-jej</guid>
      <description>&lt;h2&gt;
  
  
  Why I Built FixFlowHub
&lt;/h2&gt;

&lt;p&gt;I was constantly frustrated switching between different websites &lt;br&gt;
for simple tasks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Compress an image → TinyPNG&lt;/li&gt;
&lt;li&gt;Merge a PDF → SmallPDF (with watermark 😤)&lt;/li&gt;
&lt;li&gt;Check grammar → Grammarly (paid)&lt;/li&gt;
&lt;li&gt;Generate a QR code → some random sketchy site&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most tools either require sign-up, add watermarks, or lock &lt;br&gt;
basic features behind a paywall.&lt;/p&gt;

&lt;p&gt;So I decided to build &lt;strong&gt;one place where everything is actually free&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://fixflowhub.com" rel="noopener noreferrer"&gt;FixFlowHub&lt;/a&gt;&lt;/strong&gt; — a free all-in-one &lt;br&gt;
online toolbox with 70+ tools across 5 categories.&lt;/p&gt;

&lt;h3&gt;
  
  
  🖼️ Image Tools (23 tools)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Compress images without quality loss&lt;/li&gt;
&lt;li&gt;Convert between JPG, PNG, WebP, HEIC, AVIF, SVG, BMP, TIFF, ICO&lt;/li&gt;
&lt;li&gt;Resize, crop, rotate, flip, watermark&lt;/li&gt;
&lt;li&gt;Grayscale converter, image editor&lt;/li&gt;
&lt;li&gt;Image to Base64 encoder&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  📄 PDF Tools (8 tools)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Merge multiple PDFs into one&lt;/li&gt;
&lt;li&gt;Split PDF into pages&lt;/li&gt;
&lt;li&gt;Compress PDF size&lt;/li&gt;
&lt;li&gt;Convert PDF to image &amp;amp; image to PDF&lt;/li&gt;
&lt;li&gt;Lock/unlock PDF with password&lt;/li&gt;
&lt;li&gt;Reorder PDF pages&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🤖 AI Text Tools (11 tools)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Resume builder&lt;/li&gt;
&lt;li&gt;Cover letter generator&lt;/li&gt;
&lt;li&gt;Grammar checker&lt;/li&gt;
&lt;li&gt;Text rewriter &amp;amp; paraphraser&lt;/li&gt;
&lt;li&gt;Email writer&lt;/li&gt;
&lt;li&gt;LinkedIn profile generator&lt;/li&gt;
&lt;li&gt;YouTube SEO generator&lt;/li&gt;
&lt;li&gt;SEO tag generator&lt;/li&gt;
&lt;li&gt;AI text summarizer&lt;/li&gt;
&lt;li&gt;Business slogan generator&lt;/li&gt;
&lt;li&gt;Product description generator&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🧮 Calculator Tools (15 tools)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Loan EMI calculator&lt;/li&gt;
&lt;li&gt;BMI calculator&lt;/li&gt;
&lt;li&gt;Age calculator&lt;/li&gt;
&lt;li&gt;Compound interest calculator&lt;/li&gt;
&lt;li&gt;GPA calculator&lt;/li&gt;
&lt;li&gt;Calorie calculator&lt;/li&gt;
&lt;li&gt;Pregnancy due date calculator&lt;/li&gt;
&lt;li&gt;Currency converter&lt;/li&gt;
&lt;li&gt;Salary calculator&lt;/li&gt;
&lt;li&gt;And more...&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🛠️ Utility Tools (10 tools)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;QR code generator&lt;/li&gt;
&lt;li&gt;Password generator&lt;/li&gt;
&lt;li&gt;JSON formatter &amp;amp; validator&lt;/li&gt;
&lt;li&gt;Lorem ipsum generator&lt;/li&gt;
&lt;li&gt;Color picker (HEX, RGB, HSL)&lt;/li&gt;
&lt;li&gt;Time zone converter&lt;/li&gt;
&lt;li&gt;Case converter&lt;/li&gt;
&lt;li&gt;Text cleaner&lt;/li&gt;
&lt;li&gt;HTML entities encoder&lt;/li&gt;
&lt;li&gt;YouTube thumbnail downloader&lt;/li&gt;
&lt;/ul&gt;




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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; React + Vite&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Styling:&lt;/strong&gt; Tailwind CSS&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Image Processing:&lt;/strong&gt; HTML5 Canvas API (client-side)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PDF Processing:&lt;/strong&gt; PDF.js&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Tools:&lt;/strong&gt; Anthropic Claude API&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hosting:&lt;/strong&gt; Lovable + Custom domain&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Key Design Decisions
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Privacy First:&lt;/strong&gt; All image and PDF processing happens &lt;br&gt;
in the browser. Files are never uploaded to any server.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No Sign-Up:&lt;/strong&gt; I wanted zero friction. Open the tool, &lt;br&gt;
use it, done.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No Watermarks:&lt;/strong&gt; Every tool is fully functional for free.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Building is the easy part&lt;/strong&gt; — getting traffic is hard 😅&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SEO takes time&lt;/strong&gt; — don't expect results overnight&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;People appreciate simplicity&lt;/strong&gt; — no popups, no forced 
sign-ups, just working tools&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Free tools attract users&lt;/strong&gt; — but monetization needs thought&lt;/li&gt;
&lt;/ol&gt;




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

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://fixflowhub.com" rel="noopener noreferrer"&gt;fixflowhub.com&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Would love your feedback! What tools should I add next? &lt;br&gt;
Drop a comment below 👇&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>opensource</category>
      <category>productivity</category>
      <category>tools</category>
    </item>
  </channel>
</rss>
