<?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: Gajendra Paliwal</title>
    <description>The latest articles on DEV Community by Gajendra Paliwal (@gajendra_paliwal_278ab8aa).</description>
    <link>https://dev.to/gajendra_paliwal_278ab8aa</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%2F4030434%2Feaba6795-0c26-40d1-8466-ebbbc9ebac39.png</url>
      <title>DEV Community: Gajendra Paliwal</title>
      <link>https://dev.to/gajendra_paliwal_278ab8aa</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gajendra_paliwal_278ab8aa"/>
    <language>en</language>
    <item>
      <title>Why I’m Building FormatForge.org as a Browser-First Data Tools Platform</title>
      <dc:creator>Gajendra Paliwal</dc:creator>
      <pubDate>Fri, 14 Aug 2026 17:41:48 +0000</pubDate>
      <link>https://dev.to/gajendra_paliwal_278ab8aa/why-im-building-formatforgeorg-as-a-browser-first-data-tools-platform-3emo</link>
      <guid>https://dev.to/gajendra_paliwal_278ab8aa/why-im-building-formatforgeorg-as-a-browser-first-data-tools-platform-3emo</guid>
      <description>&lt;p&gt;As developers and data engineers, we regularly use online tools to convert, validate, compare, reconcile, and inspect data.&lt;/p&gt;

&lt;p&gt;JSON to Excel.&lt;br&gt;
CSV transformations.&lt;br&gt;
PDF utilities.&lt;br&gt;
Diff and comparison tools.&lt;br&gt;
Invoice reconciliation.&lt;br&gt;
Data validators.&lt;/p&gt;

&lt;p&gt;These tools are convenient.&lt;/p&gt;

&lt;p&gt;But there is a question I think we should ask more often:&lt;/p&gt;

&lt;p&gt;Where is the data actually being processed?&lt;/p&gt;

&lt;p&gt;The usual online-tool workflow&lt;/p&gt;

&lt;p&gt;A typical online utility can work like this:&lt;/p&gt;

&lt;p&gt;Your File → Upload → Remote Server → Processing → Download Result&lt;/p&gt;

&lt;p&gt;For many tasks, that architecture is unnecessary.&lt;/p&gt;

&lt;p&gt;Modern browsers are capable of doing a surprising amount of processing locally using JavaScript, Web APIs, Web Workers, and client-side libraries.&lt;/p&gt;

&lt;p&gt;That led to one of the principles I’m following while building FormatForge.org:&lt;/p&gt;

&lt;p&gt;If a task can reasonably be completed in the browser, process it in the browser.&lt;/p&gt;

&lt;p&gt;The workflow becomes:&lt;/p&gt;

&lt;p&gt;Your Data → Your Browser → Your Result&lt;/p&gt;

&lt;p&gt;Why does this matter?&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Privacy&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Consider the kinds of data we regularly work with:&lt;/p&gt;

&lt;p&gt;Excel and CSV exports&lt;br&gt;
JSON API responses&lt;br&gt;
invoices&lt;br&gt;
procurement data&lt;br&gt;
PDFs&lt;br&gt;
images&lt;br&gt;
API payloads&lt;br&gt;
reconciliation files&lt;br&gt;
business reports&lt;/p&gt;

&lt;p&gt;Even when a file doesn't contain passwords or obviously sensitive information, it may still contain internal business data.&lt;/p&gt;

&lt;p&gt;If the transformation can happen locally, there is no reason to unnecessarily send that data somewhere else.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Reduced data exposure&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Browser-side processing reduces the number of places through which the data has to travel.&lt;/p&gt;

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

&lt;p&gt;Browser → Network → Server → Storage/Memory → Network → Browser&lt;/p&gt;

&lt;p&gt;a local utility can often perform:&lt;/p&gt;

&lt;p&gt;Browser → Process → Result&lt;/p&gt;

&lt;p&gt;That's a much simpler data path.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Performance&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Local processing can also remove the upload/download cycle.&lt;/p&gt;

&lt;p&gt;For relatively small and medium-sized datasets, that can make tools feel almost instant.&lt;/p&gt;

&lt;p&gt;This is particularly useful for utilities such as:&lt;/p&gt;

&lt;p&gt;JSON ↔ CSV/Excel conversion&lt;br&gt;
text comparison&lt;br&gt;
format validation&lt;br&gt;
calculations&lt;br&gt;
data cleanup&lt;br&gt;
image transformations&lt;br&gt;
reconciliation and matching&lt;br&gt;
developer utilities&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Simpler infrastructure&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;There is another benefit from the developer's perspective.&lt;/p&gt;

&lt;p&gt;If processing happens client-side, I don't necessarily need to build:&lt;/p&gt;

&lt;p&gt;upload endpoints&lt;br&gt;
temporary file storage&lt;br&gt;
file cleanup jobs&lt;br&gt;
processing queues&lt;br&gt;
additional database storage&lt;br&gt;
scaling infrastructure for every transformation&lt;/p&gt;

&lt;p&gt;That can significantly reduce both infrastructure complexity and operating cost.&lt;/p&gt;

&lt;p&gt;Browser-first doesn't mean building thin tools&lt;/p&gt;

&lt;p&gt;This has been another important lesson while building FormatForge.org.&lt;/p&gt;

&lt;p&gt;Running something in the browser isn't enough.&lt;/p&gt;

&lt;p&gt;A tool still needs to solve the complete user problem.&lt;/p&gt;

&lt;p&gt;For example, a reconciliation tool shouldn't simply tell me that two files are different.&lt;/p&gt;

&lt;p&gt;A useful workflow should help answer:&lt;/p&gt;

&lt;p&gt;What matched?&lt;/p&gt;

&lt;p&gt;What's missing?&lt;/p&gt;

&lt;p&gt;What's extra?&lt;/p&gt;

&lt;p&gt;What quantity is remaining?&lt;/p&gt;

&lt;p&gt;Can I export the reconciliation result?&lt;/p&gt;

&lt;p&gt;Similarly, a JSON-to-Excel tool should do more than dump JSON into a spreadsheet if the real-world data contains nested ERP or ePOS structures.&lt;/p&gt;

&lt;p&gt;This is why I've recently been spending more time improving existing tools instead of simply adding new ones.&lt;/p&gt;

&lt;p&gt;A principle I'm trying to follow&lt;/p&gt;

&lt;p&gt;The architecture is becoming quite simple conceptually:&lt;/p&gt;

&lt;p&gt;Input&lt;br&gt;
  ↓&lt;br&gt;
Validate&lt;br&gt;
  ↓&lt;br&gt;
Process locally&lt;br&gt;
  ↓&lt;br&gt;
Show transparent results&lt;br&gt;
  ↓&lt;br&gt;
Allow export/download&lt;/p&gt;

&lt;p&gt;And the product philosophy behind it is even simpler:&lt;/p&gt;

&lt;p&gt;Don't move user data when the job can be done where the data already is.&lt;/p&gt;

&lt;p&gt;For a utility platform, I think this is a useful default.&lt;/p&gt;

&lt;p&gt;Building FormatForge.org&lt;/p&gt;

&lt;p&gt;I'm building FormatForge.org around practical browser-based utilities for developers, data engineers, business users, procurement teams, and everyday users.&lt;/p&gt;

&lt;p&gt;The focus is increasingly on:&lt;/p&gt;

&lt;p&gt;real problem → complete workflow → local processing → useful result&lt;/p&gt;

&lt;p&gt;rather than:&lt;/p&gt;

&lt;p&gt;keyword → page → another thin tool&lt;/p&gt;

&lt;p&gt;My current approach to growing the project is:&lt;/p&gt;

&lt;p&gt;Quality → Indexing → Traffic → Revenue&lt;/p&gt;

&lt;p&gt;There is still a lot to improve, but browser-first processing is becoming an important part of how I think about the platform.&lt;/p&gt;

&lt;p&gt;Useful tools. Browser-based processing. Privacy by design.&lt;/p&gt;

&lt;p&gt;FormatForge.org&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>dataengineering</category>
      <category>privacy</category>
      <category>javascript</category>
    </item>
    <item>
      <title>How I Built a Privacy-First Image to PDF Converter in Next.js (Without Uploading Files on server)</title>
      <dc:creator>Gajendra Paliwal</dc:creator>
      <pubDate>Mon, 27 Jul 2026 06:11:44 +0000</pubDate>
      <link>https://dev.to/gajendra_paliwal_278ab8aa/how-i-built-a-privacy-first-image-to-pdf-converter-in-nextjs-without-uploading-files-on-server-4ge9</link>
      <guid>https://dev.to/gajendra_paliwal_278ab8aa/how-i-built-a-privacy-first-image-to-pdf-converter-in-nextjs-without-uploading-files-on-server-4ge9</guid>
      <description>&lt;p&gt;When I started building document utilities, I noticed something that bothered me.&lt;/p&gt;

&lt;p&gt;Most online Image to PDF converters require users to upload their personal images to a server before generating a PDF.&lt;/p&gt;

&lt;p&gt;For resumes, passports, certificates, invoices, and other sensitive documents, that isn't always ideal.&lt;/p&gt;

&lt;p&gt;So I decided to build an Image to PDF converter that works entirely in the browser.&lt;/p&gt;

&lt;p&gt;No server-side file processing.&lt;br&gt;
No file uploads.&lt;br&gt;
Just your browser.&lt;/p&gt;

&lt;p&gt;Why Browser-Side Processing?&lt;/p&gt;

&lt;p&gt;Modern browsers are much more powerful than they were a few years ago.&lt;/p&gt;

&lt;p&gt;Instead of sending images to a backend, everything can be processed locally.&lt;/p&gt;

&lt;p&gt;That provides several advantages:&lt;/p&gt;

&lt;p&gt;🔒 Better privacy (files stay on your device)&lt;br&gt;
⚡ Faster processing&lt;br&gt;
💰 Lower hosting costs&lt;br&gt;
🌍 Better scalability&lt;br&gt;
📱 Works well on desktop and mobile&lt;/p&gt;

&lt;p&gt;For utility websites, this approach is often a better user experience.&lt;/p&gt;

&lt;p&gt;Tech Stack&lt;/p&gt;

&lt;p&gt;I built the tool using:&lt;/p&gt;

&lt;p&gt;Next.js&lt;br&gt;
React&lt;br&gt;
TypeScript&lt;br&gt;
Tailwind CSS&lt;br&gt;
Browser File API&lt;br&gt;
Canvas API&lt;br&gt;
pdf-lib&lt;/p&gt;

&lt;p&gt;Everything happens inside the browser.&lt;/p&gt;

&lt;p&gt;Features&lt;/p&gt;

&lt;p&gt;The latest version includes:&lt;/p&gt;

&lt;p&gt;Multiple image upload&lt;br&gt;
Drag &amp;amp; Drop support&lt;br&gt;
Drag-to-reorder pages&lt;br&gt;
Image rotation&lt;br&gt;
A4 &amp;amp; Letter page sizes&lt;br&gt;
Margin settings&lt;br&gt;
Image quality selection&lt;br&gt;
Browser-based PDF generation&lt;br&gt;
Download&lt;br&gt;
Native Share API support (where available)&lt;br&gt;
Biggest Challenges&lt;/p&gt;

&lt;p&gt;Generating the PDF wasn't actually the hardest part.&lt;/p&gt;

&lt;p&gt;The real challenge was creating a smooth experience that works across different browsers and devices.&lt;/p&gt;

&lt;p&gt;Some areas required extra attention:&lt;/p&gt;

&lt;p&gt;Handling large, high-resolution images efficiently&lt;br&gt;
Keeping memory usage under control&lt;br&gt;
Maintaining image quality&lt;br&gt;
Supporting mobile browsers&lt;br&gt;
Creating reusable UI components instead of duplicating logic&lt;/p&gt;

&lt;p&gt;Those improvements made a much bigger difference than simply adding more features.&lt;/p&gt;

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

&lt;p&gt;One lesson became very clear:&lt;/p&gt;

&lt;p&gt;Users value a polished workflow more than a long feature list.&lt;/p&gt;

&lt;p&gt;Simple improvements like:&lt;/p&gt;

&lt;p&gt;consistent buttons&lt;br&gt;
drag-and-drop uploads&lt;br&gt;
progress indicators&lt;br&gt;
printable layouts&lt;br&gt;
native sharing&lt;/p&gt;

&lt;p&gt;can significantly improve the overall experience.&lt;/p&gt;

&lt;p&gt;Live Demo&lt;/p&gt;

&lt;p&gt;If you'd like to try it yourself:&lt;/p&gt;

&lt;p&gt;👉 Image to PDF Tool&lt;br&gt;
&lt;a href="https://formatforge.in/tools/image-to-pdf" rel="noopener noreferrer"&gt;https://formatforge.in/tools/image-to-pdf&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can also explore the full collection of browser-based utilities here:&lt;/p&gt;

&lt;p&gt;🌐 FormatForge&lt;br&gt;
&lt;a href="https://formatforge.in" rel="noopener noreferrer"&gt;https://formatforge.in&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The platform focuses on browser-based tools for:&lt;/p&gt;

&lt;p&gt;PDF&lt;br&gt;
Images&lt;br&gt;
JSON&lt;br&gt;
YAML&lt;br&gt;
Developer Utilities&lt;br&gt;
Business &amp;amp; Productivity&lt;br&gt;
I'd Love Your Feedback&lt;/p&gt;

&lt;p&gt;I'm continuing to improve FormatForge with a focus on:&lt;/p&gt;

&lt;p&gt;Performance&lt;br&gt;
Privacy&lt;br&gt;
Browser-first processing&lt;br&gt;
Better developer and user experience&lt;/p&gt;

&lt;p&gt;I'm curious:&lt;/p&gt;

&lt;p&gt;Do you prefer browser-side or server-side document processing?&lt;br&gt;
Which PDF library has worked best for your projects?&lt;br&gt;
What's one feature you think every PDF tool should include?&lt;/p&gt;

&lt;p&gt;I'd love to hear your thoughts and suggestions in the comments.&lt;/p&gt;

</description>
      <category>frontend</category>
      <category>javascript</category>
      <category>nextjs</category>
      <category>privacy</category>
    </item>
    <item>
      <title>From Enterprise Procurement Systems to Building Browser-Based Developer Tools</title>
      <dc:creator>Gajendra Paliwal</dc:creator>
      <pubDate>Wed, 22 Jul 2026 06:46:54 +0000</pubDate>
      <link>https://dev.to/gajendra_paliwal_278ab8aa/from-enterprise-procurement-systems-to-building-browser-based-developer-tools-4ke</link>
      <guid>https://dev.to/gajendra_paliwal_278ab8aa/from-enterprise-procurement-systems-to-building-browser-based-developer-tools-4ke</guid>
      <description>&lt;p&gt;Over the last 14+ years, I've been working with the Microsoft technology stack, designing and delivering enterprise applications for procurement, inventory management, warehouse operations, and EPOS systems.&lt;/p&gt;

&lt;p&gt;As a Tech Lead, I've worked on projects involving:&lt;/p&gt;

&lt;p&gt;Procurement &amp;amp; Purchase Order Management&lt;br&gt;
Inventory &amp;amp; Warehouse Management&lt;br&gt;
EPOS integrations&lt;br&gt;
Accounting integrations&lt;br&gt;
REST APIs &amp;amp; Microservices&lt;br&gt;
Azure cloud solutions&lt;br&gt;
Performance optimization and secure application design&lt;/p&gt;

&lt;p&gt;While enterprise software has always been my primary focus, I've recently been expanding my work with Next.js, React, and TypeScript by building browser-based productivity tools.&lt;/p&gt;

&lt;p&gt;One of my goals is to build applications that are fast, privacy-friendly, and solve real business problems directly in the browser whenever possible.&lt;/p&gt;

&lt;p&gt;Some of the tools I've been building include:&lt;/p&gt;

&lt;p&gt;YAML Studio for Kubernetes, Docker Compose, GitHub Actions, Azure DevOps, Helm, Prometheus, and Grafana configuration generation.&lt;br&gt;
JSON ↔ Excel Converter with support for nested JSON, multi-sheet exports, and parent-child relationships.&lt;br&gt;
Multilingual OCR for business documents.&lt;br&gt;
PDF to Excel with structured table extraction.&lt;br&gt;
JSON Formatter &amp;amp; Validator.&lt;br&gt;
CSV, Excel, and other data conversion tools.&lt;/p&gt;

&lt;p&gt;One thing I've learned while building document-processing tools is that file conversion is the easy part.&lt;/p&gt;

&lt;p&gt;The real challenge is preserving document structure—detecting tables, handling multi-line descriptions, reconstructing wrapped product codes, and generating output that users can actually work with instead of spending time cleaning it up.&lt;/p&gt;

&lt;p&gt;My experience in procurement has made this especially interesting because Purchase Orders, Delivery Notes, Goods Receipts, and Invoices all have different layouts and business rules. Building reliable tools requires understanding both the technology and the business process behind the documents.&lt;/p&gt;

&lt;p&gt;Alongside application development, I'm also continuing to strengthen my DevOps knowledge with Docker, Azure DevOps, Azure Container Registry (ACR), YAML Pipelines, and Kubernetes (AKS).&lt;/p&gt;

&lt;p&gt;It's been a rewarding journey moving from enterprise business applications to browser-based developer tools. Although the technologies are different, the objective remains the same:&lt;/p&gt;

&lt;p&gt;Build software that solves real problems in a simple, reliable, and user-friendly way.&lt;/p&gt;

&lt;p&gt;I'm always interested in connecting with developers working on enterprise software, document processing, cloud-native applications, or developer productivity tools.&lt;/p&gt;

&lt;p&gt;What engineering challenge are you currently working on? I'd love to hear about it.&lt;/p&gt;

&lt;p&gt;Technologies&lt;/p&gt;

&lt;p&gt;Instead of hashtags in the body, use a simple section like this:&lt;/p&gt;

&lt;p&gt;Backend: C#, .NET, ASP.NET Core, Web API, SQL Server&lt;/p&gt;

&lt;p&gt;Frontend: Next.js, React, TypeScript, Tailwind CSS&lt;/p&gt;

&lt;p&gt;Cloud &amp;amp; DevOps: Azure, Azure DevOps, Docker, Kubernetes (AKS), Azure Container Registry (ACR), YAML Pipelines&lt;/p&gt;

&lt;p&gt;Document Processing: OCR, PDF Processing, JSON, YAML, Excel, CSV&lt;/p&gt;

&lt;p&gt;Domain Experience: Procurement, Inventory Management, Warehouse Management, EPOS&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>devops</category>
      <category>dotnet</category>
      <category>nextjs</category>
    </item>
  </channel>
</rss>
