<?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: pratik kathiriya</title>
    <description>The latest articles on Forem by pratik kathiriya (@pratik_kathiriya_8e98eb2d).</description>
    <link>https://forem.com/pratik_kathiriya_8e98eb2d</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%2F3878430%2F29791c5c-fd48-41f9-bc1b-f52883300789.png</url>
      <title>Forem: pratik kathiriya</title>
      <link>https://forem.com/pratik_kathiriya_8e98eb2d</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/pratik_kathiriya_8e98eb2d"/>
    <language>en</language>
    <item>
      <title>7 Free Web Tools I Actually Use Every Day as a Developer (2026)</title>
      <dc:creator>pratik kathiriya</dc:creator>
      <pubDate>Fri, 17 Apr 2026 12:35:00 +0000</pubDate>
      <link>https://forem.com/pratik_kathiriya_8e98eb2d/7-free-web-tools-i-actually-use-every-day-as-a-developer-2026-1g4i</link>
      <guid>https://forem.com/pratik_kathiriya_8e98eb2d/7-free-web-tools-i-actually-use-every-day-as-a-developer-2026-1g4i</guid>
      <description>&lt;p&gt;Every developer has a list of bookmarked tools they reach for constantly. Not the fancy ones they tweet about — the boring, reliable ones they quietly use 10 times a week.&lt;/p&gt;

&lt;p&gt;Here is mine. All free, no signup required for core features, and fast enough to not interrupt your flow.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. CalcProTool — 263 calculators, one tab
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;calcprotool.com&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I built this one, so I am biased — but I also use it more than any other tool on this list.&lt;/p&gt;

&lt;p&gt;The use cases keep surprising me. Last week I needed a binary-to-hex converter for a debugging session, a mortgage amortization breakdown for a client project, and a quick calorie estimate before deciding whether lunch was worth it. All three were faster to find at CalcProTool than searching Google and landing on an ad-heavy result.&lt;/p&gt;

&lt;p&gt;What I actually find useful as a developer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Binary / Hex calculator&lt;/strong&gt; — converts in both directions, handles arithmetic&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Percentage calculator&lt;/strong&gt; — three modes: find X% of Y, what % is X of Y, percentage change&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Age calculator&lt;/strong&gt; — exact days/weeks/years, useful for date-diff sanity checks&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data storage converter&lt;/strong&gt; — bytes, KB, MB, GB, TB with no rounding weirdness&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No ads, no login, all calculations run client-side in the browser. Source is Next.js 15 with TypeScript.&lt;/p&gt;




&lt;h2&gt;
  
  
  2. Ray.so — beautiful code screenshots
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;ray.so&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When you need to share a code snippet in a PR comment, Slack message, or blog post and do not want to paste raw text. Supports syntax highlighting for most languages, multiple themes, and exports as PNG or SVG.&lt;/p&gt;

&lt;p&gt;Takes 20 seconds. Looks significantly better than a screenshot of your terminal.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. Squoosh — image compression in the browser
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;squoosh.app&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Google's image compression tool. Drag in a PNG or JPEG, choose your output format (WebP, AVIF, MozJPEG), adjust quality, and download. The before/after visual preview makes it easy to find the right quality-to-size tradeoff.&lt;/p&gt;

&lt;p&gt;I use this before deploying any project with images. A 400KB PNG often compresses to 40KB WebP with no visible quality loss. That is a meaningful LCP improvement for zero development effort.&lt;/p&gt;




&lt;h2&gt;
  
  
  4. regex101.com — regex debugger with explanation
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;regex101.com&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Everyone bookmarks this one. Write your regex, paste test strings, and see exactly which parts match and why. The "Explanation" panel on the right breaks down every token in plain English.&lt;/p&gt;

&lt;p&gt;The "Quiz" mode is also a genuinely good way to get better at regex. Less embarrassing than Googling "how to match optional whitespace" for the fifteenth time.&lt;/p&gt;




&lt;h2&gt;
  
  
  5. transform.tools — data format converter
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;transform.tools&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Converts between data formats: JSON to TypeScript interfaces, JSON to GraphQL, CSS to JS object, SVG to JSX, and about 40 other transformations.&lt;/p&gt;

&lt;p&gt;The one I use most is JSON → TypeScript interfaces. Paste in an API response, get a typed interface back in two seconds. Not always perfect, but 80% of the manual work done instantly.&lt;/p&gt;




&lt;h2&gt;
  
  
  6. OverAPI.com — cheat sheets for everything
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;overapi.com&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A massive collection of cheat sheets for languages and frameworks. Each cheat sheet is a visual list of methods/functions that links to the official documentation. Not for learning — for that moment when you know a method exists but cannot remember the exact name or signature.&lt;/p&gt;

&lt;p&gt;Covers JavaScript, Python, PHP, Ruby, CSS, Linux, Git, and more.&lt;/p&gt;




&lt;h2&gt;
  
  
  7. Wappalyzer — tech stack detector
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;wappalyzer.com&lt;/strong&gt; (browser extension)&lt;/p&gt;

&lt;p&gt;Visit any website and immediately see what it is built with: framework, CMS, analytics tools, CDN, payment processors. Useful when a client asks "can we build something like X?" — you can check in 2 seconds whether X is on WordPress or a custom React app.&lt;/p&gt;

&lt;p&gt;Also genuinely interesting for competitive research. Knowing a competitor's tech stack tells you a lot about their engineering capacity and deployment constraints.&lt;/p&gt;




&lt;h2&gt;
  
  
  The pattern I notice
&lt;/h2&gt;

&lt;p&gt;All seven of these tools share the same qualities:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;No forced signup&lt;/strong&gt; for core functionality&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Instant results&lt;/strong&gt; — no loading spinners, no "processing your request"&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Single clear purpose&lt;/strong&gt; — they do one thing well&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Work offline or near-offline&lt;/strong&gt; — most run calculations client-side&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The tools that frustrate me most are the ones that make you create an account to use a basic feature, or show you a loading screen for something that could run in 10ms in a browser tab.&lt;/p&gt;

&lt;p&gt;If you are building developer tools or utility sites, that is the bar worth aiming for.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;What free tools do you use daily?&lt;/strong&gt; Drop them in the comments — always looking to expand the list.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;I built &lt;a href="https://www.calcprotool.com" rel="noopener noreferrer"&gt;CalcProTool&lt;/a&gt; — a free online calculator with 263 tools for finance, health, math, and more. No signup, no ads, all calculations run in your browser.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>tools</category>
      <category>javascript</category>
    </item>
    <item>
      <title>I Built 263 Free Calculators — Here’s What I Learned About Next.js Performance</title>
      <dc:creator>pratik kathiriya</dc:creator>
      <pubDate>Tue, 14 Apr 2026 11:16:08 +0000</pubDate>
      <link>https://forem.com/pratik_kathiriya_8e98eb2d/i-built-263-free-calculators-heres-what-i-learned-about-nextjs-performance-8eo</link>
      <guid>https://forem.com/pratik_kathiriya_8e98eb2d/i-built-263-free-calculators-heres-what-i-learned-about-nextjs-performance-8eo</guid>
      <description>&lt;p&gt;When I started building small utility tools, I didn’t plan to create an entire ecosystem. It began with a single calculator—simple logic, basic UI, and a clear purpose. But one tool led to another, and before I knew it, I had built 263 free calculators, all hosted on one platform:&lt;br&gt;
👉 &lt;a href="https://www.calcprotool.com/" rel="noopener noreferrer"&gt;https://www.calcprotool.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What started as a side project quickly turned into a deep dive into performance, scalability, and user experience—especially while working with Next.js.&lt;/p&gt;

&lt;p&gt;If you're building a tool-heavy website or thinking about scaling a content-based utility platform, this article will give you practical, real-world insights—not theory.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why I Chose Next.js in the First Place&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Initially, I considered using plain React. But calculators are unique—they need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fast load times&lt;/li&gt;
&lt;li&gt;SEO visibility (users search “EMI calculator”, “BMI calculator”, etc.)&lt;/li&gt;
&lt;li&gt;Clean routing for hundreds of pages&lt;/li&gt;
&lt;li&gt;Scalability without slowing down&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It gave me:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Server-side rendering (SSR)&lt;/li&gt;
&lt;li&gt;Static site generation (SSG)&lt;/li&gt;
&lt;li&gt;Built-in routing&lt;/li&gt;
&lt;li&gt;Performance optimization out of the box&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At the beginning, everything felt smooth. But once I crossed 50, then 100, then 200 calculators, performance challenges started to show up.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The First Big Lesson: Static Generation is Your Best Friend&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When you’re building calculators, most of your pages don’t need dynamic data. They’re predictable.&lt;/p&gt;

&lt;p&gt;At first, I used SSR for many pages. Big mistake.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Slower response times&lt;/li&gt;
&lt;li&gt;Increased server load&lt;/li&gt;
&lt;li&gt;Unnecessary computation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt;&lt;br&gt;
I switched to SSG (Static Site Generation) for almost all calculators.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pages became instant to load&lt;/li&gt;
&lt;li&gt;SEO improved dramatically&lt;/li&gt;
&lt;li&gt;Server costs dropped&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Key takeaway:&lt;br&gt;
If your page doesn’t change frequently, always prefer static generation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scaling to 263 Pages: The Routing Challenge&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Next.js makes routing easy—but managing hundreds of routes is a different game.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I faced:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Messy folder structure&lt;/li&gt;
&lt;li&gt;Difficult maintainability&lt;/li&gt;
&lt;li&gt;Duplicate logic across pages&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What worked:&lt;/strong&gt;&lt;br&gt;
I created a dynamic route system:&lt;br&gt;
&lt;code&gt;/calculator/[slug].js&lt;/code&gt;&lt;br&gt;
Then mapped all calculators via a JSON or config file.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Benefits:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clean architecture&lt;/li&gt;
&lt;li&gt;Easy to add new calculators&lt;/li&gt;
&lt;li&gt;Centralized logic&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Tip:&lt;br&gt;
Don’t create separate files for each calculator unless necessary. Use dynamic rendering with reusable components.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Component Reusability Saved Me&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;At first, I was writing custom UI for every calculator.&lt;br&gt;
That didn’t scale.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Problems:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Code duplication&lt;/li&gt;
&lt;li&gt;Hard to maintain&lt;/li&gt;
&lt;li&gt;Inconsistent UI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;br&gt;
I broke everything into reusable components:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Input fields&lt;/li&gt;
&lt;li&gt;Result display cards&lt;/li&gt;
&lt;li&gt;Formula sections&lt;/li&gt;
&lt;li&gt;SEO content blocks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Faster development&lt;/li&gt;
&lt;li&gt;Consistent design&lt;/li&gt;
&lt;li&gt;Easier debugging&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Lesson:&lt;br&gt;
If you’re repeating code more than twice, turn it into a component.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;performance Bottleneck #1: JavaScript Bundle Size&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Once I added dozens of calculators, I noticed something:&lt;/p&gt;

&lt;p&gt;👉 The site felt heavier.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why?&lt;/strong&gt;&lt;br&gt;
Because all pages were sharing large JS bundles.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Issues:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Slow initial load&lt;/li&gt;
&lt;li&gt;Poor mobile performance&lt;/li&gt;
&lt;li&gt;Lower Lighthouse scores&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt;&lt;br&gt;
I implemented:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Code splitting&lt;/li&gt;
&lt;li&gt;Dynamic imports&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example idea:&lt;br&gt;
Load calculator logic only when needed&lt;br&gt;
Avoid bundling all calculators together&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reduced bundle size&lt;/li&gt;
&lt;li&gt;Faster page load&lt;/li&gt;
&lt;li&gt;Better performance on low-end devices&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Tip:&lt;br&gt;
Always analyze your bundle. Don’t assume it’s optimized.&lt;/p&gt;

&lt;p&gt;**Performance Bottleneck #2: Too Many Dependencies&lt;br&gt;
**This one hit hard.&lt;/p&gt;

&lt;p&gt;At one point, I had added multiple UI libraries, helper packages, and utilities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Larger bundle size&lt;/li&gt;
&lt;li&gt;Slower builds&lt;/li&gt;
&lt;li&gt;Increased complexity&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Removed unnecessary libraries&lt;/li&gt;
&lt;li&gt;Replaced packages with custom lightweight functions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Faster builds&lt;/li&gt;
&lt;li&gt;Smaller bundle&lt;/li&gt;
&lt;li&gt;Better control&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;**👉 Lesson:&lt;br&gt;
**Every dependency has a cost. Be extremely selective.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SEO Became a Bigger Game Than Performance&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Building calculators is not just about functionality—it’s about visibility.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Each calculator targets a keyword:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;EMI calculator&lt;/li&gt;
&lt;li&gt;Percentage calculator&lt;/li&gt;
&lt;li&gt;Age calculator&lt;/li&gt;
&lt;li&gt;GST calculator&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What I learned:&lt;/strong&gt;&lt;br&gt;
Performance alone isn’t enough. You need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Optimized titles&lt;/li&gt;
&lt;li&gt;Meta descriptions&lt;/li&gt;
&lt;li&gt;Structured content&lt;/li&gt;
&lt;li&gt;Internal linking&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What worked:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Adding detailed explanations below calculators&lt;/li&gt;
&lt;li&gt;Including formulas and examples&lt;/li&gt;
&lt;li&gt;Creating SEO-friendly URLs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Organic traffic growth&lt;/li&gt;
&lt;li&gt;Better indexing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Reality:&lt;br&gt;
A fast site with no SEO = no traffic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final Thoughts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Building 263 calculators wasn’t just a development project—it was a performance experiment at scale.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Using Next.js taught me that:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Performance is not automatic—you have to design for it&lt;/li&gt;
&lt;li&gt;Simplicity is your biggest advantage&lt;/li&gt;
&lt;li&gt;Scaling reveals problems you won’t see early&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’re planning something similar, focus on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Speed&lt;/li&gt;
&lt;li&gt;Structure&lt;/li&gt;
&lt;li&gt;Simplicity&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything else comes later.&lt;/p&gt;

&lt;p&gt;If you want to explore the result of all these learnings, you can check it here:&lt;br&gt;
👉 &lt;a href="https://www.calcprotool.com/" rel="noopener noreferrer"&gt;allinonecalculators&lt;/a&gt;&lt;/p&gt;

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