<?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: Mirza Munawar</title>
    <description>The latest articles on DEV Community by Mirza Munawar (@mirza_munawar_63dac25b954).</description>
    <link>https://dev.to/mirza_munawar_63dac25b954</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%2F2566148%2Ff01509b5-8000-4994-be2a-acb4811a050a.png</url>
      <title>DEV Community: Mirza Munawar</title>
      <link>https://dev.to/mirza_munawar_63dac25b954</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mirza_munawar_63dac25b954"/>
    <language>en</language>
    <item>
      <title>How I Built a 100/100 Lighthouse React SPA for Trading Education from Scratch 🚀" published</title>
      <dc:creator>Mirza Munawar</dc:creator>
      <pubDate>Wed, 19 Aug 2026 10:49:09 +0000</pubDate>
      <link>https://dev.to/mirza_munawar_63dac25b954/how-i-built-a-100100-lighthouse-react-spa-for-trading-education-from-scratch-published-42c8</link>
      <guid>https://dev.to/mirza_munawar_63dac25b954/how-i-built-a-100100-lighthouse-react-spa-for-trading-education-from-scratch-published-42c8</guid>
      <description>&lt;p&gt;Building a modern web application is easy. Building one that scores a perfect 100/100 on Google Lighthouse across Performance, Accessibility, Best Practices, and SEO? That requires obsessing over the details.&lt;/p&gt;

&lt;p&gt;Recently, I launched &lt;br&gt;
&lt;a href="https://orderblocktrading.com" rel="noopener noreferrer"&gt;Order Block Trading&lt;/a&gt; &lt;br&gt;
, an educational platform designed to teach retail traders how to navigate the markets using institutional concepts (Smart Money Concepts). But this post isn't about finance—it's about the technical journey, the bottlenecks I hit, and the architectural decisions that made this platform blazing fast.&lt;/p&gt;

&lt;p&gt;Here’s a deep dive into how I built it, the performance traps I fell into, and how I fixed them.&lt;/p&gt;

&lt;p&gt;🛠️ The Tech Stack&lt;br&gt;
I wanted a stack that was lightweight, fast, and easy to deploy without massive cloud overhead.&lt;/p&gt;

&lt;p&gt;Frontend: React (bootstrapped with Vite)&lt;br&gt;
Backend: Node.js with Express&lt;br&gt;
Database: SQLite (using better-sqlite3)&lt;br&gt;
Styling: Vanilla CSS (No bloated UI frameworks)&lt;br&gt;
Why SQLite? Because for a content-heavy application where read operations vastly outnumber write operations, SQLite is incredibly fast. Using better-sqlite3 allowed me to write raw, synchronous SQL queries without the overhead of heavy ORMs.&lt;/p&gt;

&lt;p&gt;🏎️ The Quest for 100/100 Performance&lt;br&gt;
The trading education space is notorious for slow, ad-heavy WordPress blogs. I wanted Order Block Trading Academy to feel frictionless. However, getting there required solving several major performance bottlenecks.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The React.lazy() Code Splitting Epiphany
Initially, my entire React application was bundled into a single massive chunk. The public-facing site was fast enough, but I had built a robust Admin panel that included heavy dependencies like react-md-editor (for writing articles) and pdfjs-dist (for reading resources).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Because they were in the main bundle, a user visiting the homepage had to download megabytes of Markdown parser code just to view the hero section!&lt;/p&gt;

&lt;p&gt;The Fix: I wrapped all my routes in React.lazy and Suspense.&lt;/p&gt;

&lt;p&gt;javascript&lt;/p&gt;

&lt;p&gt;import { lazy, Suspense } from 'react';&lt;br&gt;
const Home = lazy(() =&amp;gt; import('./pages/Home'));&lt;br&gt;
const ManageArticles = lazy(() =&amp;gt; import('./pages/admin/ManageArticles'));&lt;br&gt;
// ... inside the router&lt;br&gt;
}&amp;gt;&lt;br&gt;
  &lt;br&gt;
    } /&amp;gt;&lt;br&gt;
    } /&amp;gt;&lt;br&gt;
  &lt;br&gt;
&lt;br&gt;
This instantly isolated the heavy Admin dependencies into separate chunks. The initial payload dropped drastically, and the homepage Time to Interactive (TTI) became virtually instantaneous.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The Promise.all Trap (A Lesson in FCP)
In my global DataContext.jsx, I needed to fetch categories, articles, and forum threads on mount. Being a "smart" developer, I decided to fetch them in parallel to save time:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;javascript&lt;/p&gt;

&lt;p&gt;// The Bad Approach&lt;br&gt;
const [resCats, resArts, resForums] = await Promise.all([&lt;br&gt;
  fetch('/api/categories'),&lt;br&gt;
  fetch('/api/articles'),&lt;br&gt;
  fetch('/api/forums') // This endpoint was heavy!&lt;br&gt;
]);&lt;br&gt;
setIsInitialized(true); // Unblocks the UI&lt;br&gt;
This looked great on my local machine. But when I throttled the network to "Slow 4G" to simulate mobile users, my First Contentful Paint (FCP) spiked to 4.9 seconds!&lt;/p&gt;

&lt;p&gt;By using Promise.all and blocking the UI (isInitialized), I forced the app to wait for the slowest API call (the heavy forums) before rendering anything. The Homepage didn't even need the forums data!&lt;/p&gt;

&lt;p&gt;The Fix: I split the data fetching into Critical and Non-Critical blocks.&lt;/p&gt;

&lt;p&gt;javascript&lt;/p&gt;

&lt;p&gt;// 1. Fetch critical data needed for first paint&lt;br&gt;
await Promise.all([fetch('/api/categories'), fetch('/api/articles')]);&lt;br&gt;
setIsInitialized(true); // UNBLOCK THE UI IMMEDIATELY!&lt;br&gt;
// 2. Fetch non-critical data in the background&lt;br&gt;
fetch('/api/forums').then(...);&lt;br&gt;
By letting the critical data unblock the UI, the FCP dropped to under 1 second on mobile.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Image Optimization &amp;amp; Layout Shifts (CLS)
Images are always the silent killers of performance. I had several raw, unoptimized JPEGs in my src/assets folder totaling over 3MB. To fix this, I created a strict workflow:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Offloading: I wrote a Node script to interact with the ImgBB API, moving all heavy assets off my local server and onto a CDN.&lt;br&gt;
Preventing CLS: I ensured every single &lt;a href="" class="article-body-image-wrapper"&gt;&lt;img&gt;&lt;/a&gt; tag had explicit width and height attributes to reserve space in the DOM before the image loaded, eliminating Cumulative Layout Shift (CLS).&lt;br&gt;
🧠 Programmatic SEO: Automating Internal Linking&lt;br&gt;
As the platform grew, I realized manually adding internal links to my 2000+ word Markdown articles was unsustainable. Internal linking is crucial for SEO, so I wrote a custom Node.js script to automate it.&lt;/p&gt;

&lt;p&gt;The challenge: How do you replace keywords (like "Order Block" or "Fair Value Gap") with markdown links, without accidentally corrupting existing links or image tags?&lt;/p&gt;

&lt;p&gt;I avoided complex regex negative lookaheads and used a simpler approach: splitting the string by Markdown links first.&lt;/p&gt;

&lt;p&gt;javascript&lt;/p&gt;

&lt;p&gt;// Extract all text, split by markdown links/images&lt;br&gt;
const parts = articleContent.split(/(!?[.&lt;em&gt;?](.&lt;/em&gt;?))/g);&lt;br&gt;
for (let i = 0; i &amp;lt; parts.length; i++) {&lt;br&gt;
  // Only apply keyword replacement to plain text (even indices)&lt;br&gt;
  if (i % 2 === 0) {&lt;br&gt;
    parts[i] = parts[i].replace(/\b(Order Blocks?)\b/gi, '&lt;a href="https://dev.to/article/order-block-guide"&gt;Order Block&lt;/a&gt;');&lt;br&gt;
  }&lt;br&gt;
}&lt;br&gt;
const newContent = parts.join('');&lt;br&gt;
This script ran through my entire SQLite database in milliseconds, flawlessly hyperlinking every technical term to its respective guide.&lt;/p&gt;

&lt;p&gt;🎯 Conclusion&lt;br&gt;
Building Order Block Trading Academy reminded me that performance is a feature. You don't always need Next.js or a massive cloud architecture to build a fast application. A raw React SPA, powered by Vite and a clean Express/SQLite backend, can achieve perfect Lighthouse scores if you respect the fundamentals:&lt;/p&gt;

&lt;p&gt;Don't block the critical rendering path.&lt;br&gt;
Code-split aggressively.&lt;br&gt;
Automate your SEO and image optimizations.&lt;br&gt;
If you’re interested in checking out the speed (or learning a bit about institutional trading), check out the live platform here: [Link to Project]&lt;/p&gt;

&lt;p&gt;I'd love to hear your thoughts on these optimization strategies in the comments! 👇&lt;/p&gt;

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

</description>
      <category>webdev</category>
      <category>react</category>
      <category>node</category>
      <category>ai</category>
    </item>
    <item>
      <title>PDF Editor with Signature: Top 5 Free PDF Signature Tools in 2026</title>
      <dc:creator>Mirza Munawar</dc:creator>
      <pubDate>Tue, 11 Aug 2026 16:50:22 +0000</pubDate>
      <link>https://dev.to/mirza_munawar_63dac25b954/pdf-editor-with-signature-top-5-free-pdf-signature-tools-in-2026-26e3</link>
      <guid>https://dev.to/mirza_munawar_63dac25b954/pdf-editor-with-signature-top-5-free-pdf-signature-tools-in-2026-26e3</guid>
      <description>&lt;p&gt;Whether you are dealing with employment contracts, lease agreements, purchase orders, or school permission slips, you will regularly find yourself needing to do two things: edit a PDF's content or forms, and place a signature on it.&lt;/p&gt;

&lt;p&gt;Unfortunately, many of the tools that rank as a "pdf editor signature" utility are deceptively paid. They let you upload your file, spend 10 minutes typing in form fields, and then demand a credit card or add an ugly watermark over your signature before letting you download the signed document.&lt;/p&gt;

&lt;p&gt;In this guide, we review the top 5 completely free tools that let you edit and sign PDFs without forcing you into expensive subscriptions or violating your document privacy.&lt;/p&gt;

&lt;p&gt;How We Evaluated the Tools&lt;br&gt;
To find the best free PDF editors with signature support, we tested dozens of applications against four key criteria:&lt;/p&gt;

&lt;p&gt;Free Tier Usability: Are there hidden costs, daily task limits, or watermarks applied to the output PDF?&lt;br&gt;
Data Privacy: Does the tool upload your sensitive legal contracts to a remote cloud server, or does it process files locally?&lt;br&gt;
Editing Features: Can you fill out forms, insert text blocks, and draw or type clean signatures?&lt;br&gt;
Cross-Platform Compatibility: Does it work seamlessly on Windows, macOS, Android, and iOS?&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;a href="https://mydigitsign.com" rel="noopener noreferrer"&gt;MyDigitSign&lt;/a&gt; — Best for Browser-Based Privacy &amp;amp; Signing (100% Free)
&lt;a href="https://mydigitsign.com/tools/sign-pdf-online" rel="noopener noreferrer"&gt;MyDigitSign&lt;/a&gt; was built specifically to solve the data privacy issues inherent in traditional online PDF signing tools. Most websites force you to upload your confidential files to their servers. &lt;a href="https://mydigitsign.com/tools/sign-pdf-online" rel="noopener noreferrer"&gt;MyDigitSign&lt;/a&gt; operates on a local-first client-side architecture: all &lt;strong&gt;PDF parsing&lt;/strong&gt;, editing, and signature placement happen inside your browser using WebAssembly. Your documents never cross the internet.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Why We Recommend It:&lt;br&gt;
100% Free: No daily limits, no account registrations, and no credit cards.&lt;br&gt;
Absolute Privacy: Since files are processed locally, it is ideal for corporate agreements, NDAs, tax forms, and medical records.&lt;br&gt;
Rich Signature Options:&lt;a href="https://mydigitsign.com/tools/sign-image-online" rel="noopener noreferrer"&gt; Draw your signature&lt;/a&gt; freehand, type your name in cursive, or upload a scanned PNG image of your &lt;strong&gt;physical signature&lt;/strong&gt;.&lt;br&gt;
Form Filling: Easily add text blocks, checkmarks, and custom dates to fill out any form before signing.&lt;br&gt;
Limitations:&lt;br&gt;
Focuses on form filling, signature, merging, and compression. It does not support modifying existing PDF text (e.g. deleting a paragraph in the original document layout).&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Sejda PDF&lt;/strong&gt; — Best for Direct Text Editing (With Limits)
Sejda is one of the few web-based editors that actually lets you click on existing text in a PDF and modify it. It also includes an excellent signature tool that lets you draw, type, or upload signatures.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Why We Recommend It:&lt;br&gt;
Allows full editing of original PDF text, not just adding new text overlays.&lt;br&gt;
Clean, modern interface that is easy to navigate on desktop and mobile.&lt;br&gt;
Integration with cloud drives like Google Drive and Dropbox.&lt;br&gt;
Limitations:&lt;br&gt;
The free tier is heavily restricted: you are limited to 3 tasks per day, documents up to 50MB, and files under 200 pages.&lt;br&gt;
Your files are uploaded to Sejda's servers (though they claim to delete them after 2 hours).&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;PDF24 Creator — Best Free Offline Toolkit (No Limits)
PDF24 is a German-developed suite of PDF utilities that is completely free with zero limitations. It is available as both a web version and a downloadable offline desktop application for Windows.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Why We Recommend It:&lt;br&gt;
100% free with no file size, page, or daily limits.&lt;br&gt;
The desktop version operates completely offline, providing excellent privacy.&lt;br&gt;
Includes dozens of additional tools: OCR, page extraction, conversion, and compression.&lt;br&gt;
Limitations:&lt;br&gt;
The user interface is dated and can feel clunky compared to modern web apps.&lt;br&gt;
The offline desktop installer is only available for Windows (Mac users must use the web version).&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;iLovePDF&lt;/strong&gt; — Best User Experience &amp;amp; Speed
iLovePDF is one of the most popular PDF platforms in the world. It provides a beautiful interface and extremely fast processing for everyday tasks like merging, splitting, and signing PDFs.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Why We Recommend It:&lt;br&gt;
Beautiful, polished interface that makes signing documents a breeze.&lt;br&gt;
Allows you to request signatures from others (though this is limited on the free tier).&lt;br&gt;
Excellent mobile apps for iOS and Android.&lt;br&gt;
Limitations:&lt;br&gt;
Free tier imposes limits on file sizes and the number of signatures.&lt;br&gt;
Requires uploading your document to their servers for processing.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Okular — Best Open-Source Offline Editor
Okular is a universal document viewer developed by the KDE open-source community. It is free, open-source, and runs on Linux, Windows, and macOS. It supports digital signatures using cryptographic certificates.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Why We Recommend It:&lt;br&gt;
Completely free and open-source with no tracking or advertising.&lt;br&gt;
Supports advanced cryptographic digital signatures (using PKCS#12 certificates).&lt;br&gt;
Runs offline on your machine for complete security.&lt;br&gt;
Limitations:&lt;br&gt;
Steep learning curve; the interface is designed like a traditional desktop document editor.&lt;br&gt;
No web-based version; must be installed locally.&lt;br&gt;
How to Edit &amp;amp; Sign PDF Online Free (Using &lt;a href="https://mydigitsign.com/tools/sign-pdf-online" rel="noopener noreferrer"&gt;MyDigitSign&lt;/a&gt;)&lt;br&gt;
If you have a form that you need to fill out and sign right now, here is the easiest way to do it for free without uploading your document:&lt;/p&gt;

&lt;p&gt;Go to Free &lt;a href="https://mydigitsign.com/tools/edit-pdf-online" rel="noopener noreferrer"&gt;PDF Editor&lt;/a&gt;.&lt;br&gt;
Select your PDF file from your device.&lt;br&gt;
Use the &lt;strong&gt;Text&lt;/strong&gt; tool to click anywhere on the document and type in your name, date, address, or other form details.&lt;br&gt;
Click the &lt;strong&gt;Sign&lt;/strong&gt; button. &lt;a href="https://mydigitsign.com/tools/sign-pdf-online" rel="noopener noreferrer"&gt;Draw your signature&lt;/a&gt; or type it in cursive.&lt;br&gt;
Position the signature onto the signing line, adjust the size, and click &lt;strong&gt;Download&lt;/strong&gt;. Your browser instantly generates the completed PDF locally.&lt;br&gt;
Summary: Which Tool is Best For Your Needs?&lt;br&gt;
To choose the right tool, match it to your specific situation:&lt;/p&gt;

&lt;p&gt;For maximum privacy and everyday signing: Use &lt;strong&gt;MyDigitSign&lt;/strong&gt;. It is free, fast, and does not upload your document to any servers.&lt;br&gt;
If you need to change original text in the PDF: Use &lt;strong&gt;Sejda PDF&lt;/strong&gt; (keeping in mind the 3-tasks-per-day limit).&lt;br&gt;
If you need an offline toolkit for Windows: Download PDF24 Creator.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>free web tools
massimage.com</title>
      <dc:creator>Mirza Munawar</dc:creator>
      <pubDate>Wed, 29 Jul 2026 19:32:53 +0000</pubDate>
      <link>https://dev.to/mirza_munawar_63dac25b954/free-web-toolsmassimagecom-2m12</link>
      <guid>https://dev.to/mirza_munawar_63dac25b954/free-web-toolsmassimagecom-2m12</guid>
      <description></description>
    </item>
    <item>
      <title>check it out- 100% free web tools
https://mydigitsign.com/blog/how-to-ask-someone-to-sign-nda</title>
      <dc:creator>Mirza Munawar</dc:creator>
      <pubDate>Wed, 29 Jul 2026 19:31:19 +0000</pubDate>
      <link>https://dev.to/mirza_munawar_63dac25b954/check-it-out-100-free-web-toolshttpsmydigitsigncombloghow-to-ask-someone-to-sign-nda-5cd3</link>
      <guid>https://dev.to/mirza_munawar_63dac25b954/check-it-out-100-free-web-toolshttpsmydigitsigncombloghow-to-ask-someone-to-sign-nda-5cd3</guid>
      <description>&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://mydigitsign.com/blog/how-to-ask-someone-to-sign-nda" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmydigitsign.com%2Fog-image.png" height="800" class="m-0" width="800"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://mydigitsign.com/blog/how-to-ask-someone-to-sign-nda" rel="noopener noreferrer" class="c-link"&gt;
            How to Ask Someone to Sign an NDA (3 Email Templates + Tips) | MyDigitSign
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Asking someone to sign a Non-Disclosure Agreement (NDA) can feel awkward. Whether you are hiring a freelancer, discussing a joint venture, or interviewing ...
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmydigitsign.com%2Ffavicon.ico%3Ffavicon.2vob68tjqpejf.ico" width="256" height="256"&gt;
          mydigitsign.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>What is the best free tool to sign a PDF online without creating an account?</title>
      <dc:creator>Mirza Munawar</dc:creator>
      <pubDate>Mon, 27 Jul 2026 05:43:53 +0000</pubDate>
      <link>https://dev.to/mirza_munawar_63dac25b954/what-is-the-best-free-tool-to-sign-a-pdf-online-without-creating-an-account-374k</link>
      <guid>https://dev.to/mirza_munawar_63dac25b954/what-is-the-best-free-tool-to-sign-a-pdf-online-without-creating-an-account-374k</guid>
      <description>&lt;p&gt;If you need a fast and secure way to &lt;a href="https://mydigitsign.com" rel="noopener noreferrer"&gt;sign on document online&lt;/a&gt; without dealing with paywalls or forced account registrations.&lt;/p&gt;

&lt;p&gt;Most online PDF signers (like &lt;a href="https://mydigitsign.com" rel="noopener noreferrer"&gt;DocuSign&lt;/a&gt; or Adobe) offer a "free trial" but eventually lock you out or force you to upload your sensitive documents to their cloud servers. &lt;a href="https://mydigitsign.com" rel="noopener noreferrer"&gt;MyDigitSign&lt;/a&gt; is different because it is a 100% client-side tool. This means your browser does all the work locally, and your files never actually leave your computer.&lt;/p&gt;

&lt;p&gt;If you are looking for where to get digital signature certificate services quickly, here is why &lt;a href="https://mydigitsign.com" rel="noopener noreferrer"&gt;MyDigitSign&lt;/a&gt; is the best option right now:&lt;/p&gt;

&lt;p&gt;No Account Required: You literally just open the website and start signing. No email signup, no credit cards.&lt;br&gt;
It's Actually Free: You can generate a free signing certificate and download your finalized PDF without hitting a hidden paywall.&lt;br&gt;
Total Privacy: Because your files aren't uploaded to external servers, your sensitive data (like NDAs or tax forms) stays private.&lt;br&gt;
Customizable: You can type your name to generate a cursive digit sign, use your mouse/touchscreen to draw it, or just upload a picture of your physical signature.&lt;br&gt;
You can try it out directly at &lt;a href="https://mydigitsign.com" rel="noopener noreferrer"&gt;MyDigitSign&lt;/a&gt; It is by far the fastest and safest tool available for handling quick digital paperwork.&lt;/p&gt;

</description>
      <category>web</category>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Why I Built a 100% Private PDF Signer (No Server Uploads)</title>
      <dc:creator>Mirza Munawar</dc:creator>
      <pubDate>Sun, 19 Jul 2026 11:35:49 +0000</pubDate>
      <link>https://dev.to/mirza_munawar_63dac25b954/why-i-built-a-100-private-serverless-pdf-signer-with-nextjs-no-server-uploads-ha0</link>
      <guid>https://dev.to/mirza_munawar_63dac25b954/why-i-built-a-100-private-serverless-pdf-signer-with-nextjs-no-server-uploads-ha0</guid>
      <description>&lt;p&gt;I recently had to sign a rental agreement. Like most people, I looked for an online tool to get it done quickly. But as soon as I dragged my PDF into the browser, a warning light went off in my head.&lt;/p&gt;

&lt;p&gt;Why am I uploading my lease, complete with my address, ID details, and signature, to some random company's server? &lt;/p&gt;

&lt;p&gt;Even worse, after uploading, the site blocked me with a paywall. It wanted me to create an account and subscribe just to place one signature. &lt;/p&gt;

&lt;p&gt;I got frustrated. So, I decided to build my own solution: &lt;strong&gt;&lt;a href="https://mydigitsign.com" rel="noopener noreferrer"&gt;MyDigitSign&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Here is why I made it entirely client-side, how it works under the hood, and how you can build something similar.&lt;/p&gt;




&lt;h3&gt;
  
  
  The Privacy Problem with Online Signing
&lt;/h3&gt;

&lt;p&gt;Most PDF signature websites work like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;You upload your document to their backend server.&lt;/li&gt;
&lt;li&gt;The server processes the document.&lt;/li&gt;
&lt;li&gt;The frontend lets you position your signature.&lt;/li&gt;
&lt;li&gt;The server merges the file and lets you download it.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This setup is a security nightmare. If that company gets breached, your private legal documents are exposed. &lt;/p&gt;

&lt;p&gt;With &lt;strong&gt;&lt;a href="https://mydigitsign.com" rel="noopener noreferrer"&gt;MyDigitSign&lt;/a&gt;&lt;/strong&gt;, I wanted a strict rule: &lt;strong&gt;Zero server uploads&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;The app runs on Next.js, but the backend server never touches your files. The moment you load the page, the entire signature engine runs locally inside your browser. Your documents stay on your computer.&lt;/p&gt;




&lt;h3&gt;
  
  
  How it Works (Under the Hood)
&lt;/h3&gt;

&lt;p&gt;The application uses standard browser APIs and Next.js to handle the heavy lifting.&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Creating the Signature
&lt;/h4&gt;

&lt;p&gt;I built a clean signature pad that gives users three options to &lt;a href="https://mydigitsign.com" rel="noopener noreferrer"&gt;create a digital signature certificate&lt;/a&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Draw:&lt;/strong&gt; Use your mouse or touchscreen to draw a signature on an HTML5 canvas.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Type:&lt;/strong&gt; Type your name and map it to elegant cursive web fonts.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Upload:&lt;/strong&gt; Import an existing image of your signature.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The signature is then exported as a transparent PNG.&lt;/p&gt;

&lt;h4&gt;
  
  
  2. Local Rendering
&lt;/h4&gt;

&lt;p&gt;When you select a document, the app renders it directly in your browser. We load the signature image as a draggable, resizable layer on top of the document. You can place the &lt;a href="https://mydigitsign.com" rel="noopener noreferrer"&gt;pdf editor signature&lt;/a&gt; exactly where you want it.&lt;/p&gt;

&lt;h4&gt;
  
  
  3. Client-Side Export
&lt;/h4&gt;

&lt;p&gt;When you click download, the app modifies the document data structure locally inside the browser. It injects the signature image at the exact coordinates you chose and triggers a native file download. &lt;/p&gt;




&lt;h3&gt;
  
  
  Is it Legally Binding?
&lt;/h3&gt;

&lt;p&gt;This was my biggest concern. &lt;em&gt;&lt;a href="https://mydigitsign.com/blog/are-electronic-signatures-legally-binding" rel="noopener noreferrer"&gt;Are electronic signatures acceptable&lt;/a&gt; for real contracts?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;After researching the legal frameworks, the answer is a clear &lt;strong&gt;yes&lt;/strong&gt;. Under major laws like the ESIGN Act in the US and eIDAS in the European Union, self-generated electronic signatures are legally valid for the vast majority of business, freelance, and personal agreements. &lt;/p&gt;

&lt;p&gt;You do not need a paid service to &lt;a href="https://mydigitsign.com" rel="noopener noreferrer"&gt;sign document for free&lt;/a&gt; online.&lt;/p&gt;




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

&lt;p&gt;MyDigitSign is completely free, does not require any registration, and is open-source.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Live Web App:&lt;/strong&gt; &lt;a href="https://mydigitsign.com" rel="noopener noreferrer"&gt;https://mydigitsign.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Source Code:&lt;/strong&gt; &lt;a href="https://github.com/sidAli1993/signflow" rel="noopener noreferrer"&gt;GitHub Repository&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you need to &lt;a href="https://mydigitsign.com" rel="noopener noreferrer"&gt;edit and sign PDF&lt;/a&gt; files privately, give it a try. I would love to hear your feedback in the comments!&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>webdev</category>
      <category>privacy</category>
      <category>showdev</category>
    </item>
    <item>
      <title>MyDigitSign — Free Online PDF Signer &amp; Digital Signature Tool (No Uploads)

Sign PDFs online free. 100% client-side digital signature tool. Draw, type, or upload signatures. Your confidential files never leave your device.
https://mydigitsign.com/</title>
      <dc:creator>Mirza Munawar</dc:creator>
      <pubDate>Mon, 06 Jul 2026 07:42:49 +0000</pubDate>
      <link>https://dev.to/mirza_munawar_63dac25b954/mydigitsign-free-online-pdf-signer-digital-signature-tool-no-uploads-sign-pdfs-online-1nfk</link>
      <guid>https://dev.to/mirza_munawar_63dac25b954/mydigitsign-free-online-pdf-signer-digital-signature-tool-no-uploads-sign-pdfs-online-1nfk</guid>
      <description>&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://mydigitsign.com/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmydigitsign.com%2Fog-image.png" height="800" class="m-0" width="800"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://mydigitsign.com/" rel="noopener noreferrer" class="c-link"&gt;
            MyDigitSign — Free Online PDF Signer &amp;amp; Digital Signature Tool
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Sign PDFs and documents online for free. Draw, type, or upload your signature. 100% browser-based — your files never leave your device. No account required.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmydigitsign.com%2Ffavicon.ico%3Ffavicon.2vob68tjqpejf.ico" width="256" height="256"&gt;
          mydigitsign.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>Simple, secure digital document signing and management.</title>
      <dc:creator>Mirza Munawar</dc:creator>
      <pubDate>Sat, 04 Jul 2026 07:05:43 +0000</pubDate>
      <link>https://dev.to/mirza_munawar_63dac25b954/simple-secure-digital-document-signing-and-management-1a1j</link>
      <guid>https://dev.to/mirza_munawar_63dac25b954/simple-secure-digital-document-signing-and-management-1a1j</guid>
      <description>&lt;p&gt;Enterprise e-signature software is often bloated, expensive, and hard to use. SignFlow is a lightweight alternative that lets you upload, sign, and manage certificates securely without the steep learning curve.&lt;br&gt;
&lt;a href="https://mydigitsign.com/" rel="noopener noreferrer"&gt;https://mydigitsign.com/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>signature</category>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Why Client-Side Signing is the Future of PDF Security</title>
      <dc:creator>Mirza Munawar</dc:creator>
      <pubDate>Wed, 01 Jul 2026 07:20:43 +0000</pubDate>
      <link>https://dev.to/mirza_munawar_63dac25b954/why-client-side-signing-is-the-future-of-pdf-security-3db</link>
      <guid>https://dev.to/mirza_munawar_63dac25b954/why-client-side-signing-is-the-future-of-pdf-security-3db</guid>
      <description>&lt;p&gt;Hi ,&lt;/p&gt;

&lt;p&gt;I hope this email finds you well. &lt;/p&gt;

&lt;p&gt;I’ve been reading your articles on [Blog Name] about digital security and modern workspace utilities, and I really enjoyed your recent post on [mention a recent article title].&lt;/p&gt;

&lt;p&gt;I’m a developer and security enthusiast, and I wanted to pitch an article that I think would highly benefit your audience: &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Title:&lt;/strong&gt; Why Client-Side Signing is the Future of Document Security (And How it Protects Your Data)&lt;/p&gt;

&lt;p&gt;In this article, I will cover:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The hidden risks of standard cloud-based PDF signing platforms (data exposure in transit).&lt;/li&gt;
&lt;li&gt;How HTML5 Canvas and libraries like pdfjs/pdf-lib compile signatures 100% locally in-browser.&lt;/li&gt;
&lt;li&gt;Easy best practices for businesses to verify document integrity.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It's a highly actionable, technical-yet-accessible read (~600 words) with zero sales pitches. I've already drafted a clean version of the post.&lt;/p&gt;

&lt;p&gt;Would you be open to reviewing the draft for a guest post placement on [Blog Name]?&lt;/p&gt;

&lt;p&gt;Best regards,&lt;/p&gt;

&lt;p&gt;[Mirza Ali]&lt;br&gt;&lt;br&gt;
Developer, MyDigitSign&lt;br&gt;&lt;br&gt;
&lt;a href="https://mydigitsign.com" rel="noopener noreferrer"&gt;https://mydigitsign.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
