<?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: BlinkNBuild</title>
    <description>The latest articles on DEV Community by BlinkNBuild (@blinknbuild).</description>
    <link>https://dev.to/blinknbuild</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%2F3790157%2F10cb3bd8-de59-48bd-b71c-e01ca00218c2.jpg</url>
      <title>DEV Community: BlinkNBuild</title>
      <link>https://dev.to/blinknbuild</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/blinknbuild"/>
    <language>en</language>
    <item>
      <title>I Built a Free OLED Pixel Editor for Arduino &amp; ESP32 🖊</title>
      <dc:creator>BlinkNBuild</dc:creator>
      <pubDate>Sun, 19 Apr 2026 05:15:17 +0000</pubDate>
      <link>https://dev.to/blinknbuild/i-built-a-free-oled-pixel-editor-for-arduino-esp32-31a5</link>
      <guid>https://dev.to/blinknbuild/i-built-a-free-oled-pixel-editor-for-arduino-esp32-31a5</guid>
      <description>&lt;p&gt;I kept converting OLED bitmaps manually for every Arduino project — drawing on graph paper, counting pixels, writing byte arrays by hand.&lt;/p&gt;

&lt;p&gt;So I built a tool that does all of it visually.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔴 Live → &lt;a href="https://oled-pixel-editor.netlify.app" rel="noopener noreferrer"&gt;oled-pixel-editor.netlify.app&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;⭐ GitHub → &lt;a href="https://github.com/S-SUJAN-S/oled-pixel-editor" rel="noopener noreferrer"&gt;S-SUJAN-S/oled-pixel-editor&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;📺 Watch the full tutorial on how to use this:&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/ldT89CIdkPI"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;




&lt;h2&gt;
  
  
  What it does
&lt;/h2&gt;

&lt;p&gt;Think MS Paint — but every pixel maps directly to a pixel on your SSD1306 OLED display.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;15 shape tools&lt;/strong&gt; — circle, ellipse, triangle, star, arrow and more&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Selection system&lt;/strong&gt; — move, resize, copy, paste, crop&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;16 resolution presets&lt;/strong&gt; — 128×64, 128×32, 96×16 and more + custom up to 1024×1024&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Export as PNG, CSV, C Array, or a complete Arduino sketch (.ino)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;80-step undo/redo&lt;/strong&gt;, touch + pinch-zoom support&lt;/li&gt;
&lt;li&gt;Single HTML file — no install, works offline&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The export that actually matters
&lt;/h2&gt;

&lt;p&gt;Click &lt;strong&gt;Arduino Sketch&lt;/strong&gt; → get a complete &lt;code&gt;.ino&lt;/code&gt; ready to flash:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="n"&gt;display&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;clearDisplay&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="n"&gt;display&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;drawBitmap&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;myBitmap&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;128&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;64&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;SSD1306_WHITE&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;display&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;display&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Open in Arduino IDE → Upload. Done.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;⚠️ Currently configured for &lt;strong&gt;ESP8266 NodeMCU&lt;/strong&gt;. Multi-board support (ESP32, Uno, Nano) is on the roadmap.&lt;/p&gt;
&lt;/blockquote&gt;




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

&lt;ul&gt;
&lt;li&gt;[ ] Image import — auto-dither PNG/JPG to monochrome&lt;/li&gt;
&lt;li&gt;[ ] Video import — frame-by-frame OLED animations&lt;/li&gt;
&lt;li&gt;[ ] Multi-board export — ESP32, Arduino Uno/Nano, STM32&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;It's free, open source, and I'm actively building on it.&lt;br&gt;
If you use OLED displays in your projects, give it a try and let me know what you think 👇&lt;/p&gt;

&lt;p&gt;&lt;em&gt;— Sujan, &lt;a href="https://www.youtube.com/@BlinkNBuild" rel="noopener noreferrer"&gt;BlinkNBuild&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>webdev</category>
      <category>opensource</category>
      <category>beginners</category>
    </item>
    <item>
      <title>I Vibe Coded a Balloon Popping Game Using Claude AI 🎈</title>
      <dc:creator>BlinkNBuild</dc:creator>
      <pubDate>Tue, 17 Mar 2026 04:00:00 +0000</pubDate>
      <link>https://dev.to/blinknbuild/i-vibe-coded-a-balloon-popping-game-using-claude-ai-2l42</link>
      <guid>https://dev.to/blinknbuild/i-vibe-coded-a-balloon-popping-game-using-claude-ai-2l42</guid>
      <description>&lt;h2&gt;
  
  
  What I Built 🎮
&lt;/h2&gt;

&lt;p&gt;A fully playable &lt;strong&gt;balloon popping arcade game&lt;/strong&gt; that runs entirely in the browser — built using &lt;strong&gt;Claude AI&lt;/strong&gt; (vibe coding). No React, no libraries, no build tools. Just one &lt;code&gt;index.html&lt;/code&gt; file.&lt;/p&gt;

&lt;p&gt;🎈 &lt;strong&gt;Play it live → &lt;a href="https://balloon-blaster.netlify.app" rel="noopener noreferrer"&gt;balloon-blaster.netlify.app&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
💻 &lt;strong&gt;Code → &lt;a href="https://github.com/S-SUJAN-S/balloon-blaster" rel="noopener noreferrer"&gt;github.com/S-SUJAN-S/balloon-blaster&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;

  &lt;/p&gt;
&lt;div&gt;
    &lt;iframe src="https://www.youtube.com/embed/rIoVBDRBOpA"&gt;
    &lt;/iframe&gt;
  &lt;/div&gt;







&lt;h2&gt;
  
  
  What is Vibe Coding?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Vibe coding&lt;/strong&gt; = you describe what you want to an AI, it builds it, you iterate, you ship.&lt;/p&gt;

&lt;p&gt;No boilerplate. No setup. No framework debates. Just:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Describe the idea&lt;/li&gt;
&lt;li&gt;Let the AI build it&lt;/li&gt;
&lt;li&gt;Test, tweak, ship&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I used &lt;strong&gt;Claude AI&lt;/strong&gt; for the entire thing — and honestly it was a great experience.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's in the Game
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🎯 3 balloon sizes with different point values&lt;/li&gt;
&lt;li&gt;💥 Combo multiplier system&lt;/li&gt;
&lt;li&gt;⚡ 8 power-ups — Rapid Fire, Shield, Tri-Shot, Freeze, Extra Life, Bomb, Double Score, Laser&lt;/li&gt;
&lt;li&gt;🎆 Particle burst effects on every pop&lt;/li&gt;
&lt;li&gt;🌠 Animated star background with meteor streaks&lt;/li&gt;
&lt;li&gt;📱 Mobile touch support&lt;/li&gt;
&lt;li&gt;💾 High score saved locally&lt;/li&gt;
&lt;li&gt;🔊 Sound effects — all synthesized in-browser, zero audio files&lt;/li&gt;
&lt;li&gt;3 difficulty levels — Easy, Medium, Hard&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;Honestly? I just described what I wanted to Claude AI and iterated.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Make a balloon shooting game in a single HTML file, portrait canvas, with a shooter at the bottom, balloons falling from the top, combo system, and power-ups"&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;From there it was just:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Testing what worked&lt;/li&gt;
&lt;li&gt;Describing what to fix or add&lt;/li&gt;
&lt;li&gt;Deploying to Netlify with a drag and drop&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Total time from idea to live URL — a couple of hours.&lt;/p&gt;




&lt;h2&gt;
  
  
  Run It Locally
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/S-SUJAN-S/balloon-blaster.git
&lt;span class="nb"&gt;cd &lt;/span&gt;balloon-blaster
&lt;span class="c"&gt;# Just open index.html in your browser&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No &lt;code&gt;npm install&lt;/code&gt;. No config. Just open and play.&lt;/p&gt;




&lt;h2&gt;
  
  
  Deploy in 30 Seconds
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Go to &lt;strong&gt;&lt;a href="https://netlify.com" rel="noopener noreferrer"&gt;netlify.com&lt;/a&gt;&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Drag your &lt;code&gt;index.html&lt;/code&gt; onto the drop zone&lt;/li&gt;
&lt;li&gt;Done — live URL instantly&lt;/li&gt;
&lt;/ol&gt;




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

&lt;p&gt;Vibe coding is a real workflow. You don't need to understand every line to ship something fun and working. The key is knowing &lt;strong&gt;what&lt;/strong&gt; you want to build clearly enough to describe it — the AI handles the how.&lt;/p&gt;

&lt;p&gt;Drop a &lt;strong&gt;comment&lt;/strong&gt; if you want me to do a proper walkthrough of the vibe coding process — I'll make a full video on &lt;a href="https://www.youtube.com/@BlinkNBuild" rel="noopener noreferrer"&gt;BlinkNBuild&lt;/a&gt;!&lt;/p&gt;




&lt;p&gt;🎮 Play → &lt;a href="https://balloon-blaster.netlify.app" rel="noopener noreferrer"&gt;balloon-blaster.netlify.app&lt;/a&gt;&lt;br&gt;
💻 Code → &lt;a href="https://github.com/S-SUJAN-S/balloon-blaster" rel="noopener noreferrer"&gt;github.com/S-SUJAN-S/balloon-blaster&lt;/a&gt;&lt;br&gt;
📺 Watch → &lt;a href="https://www.youtube.com/@BlinkNBuild" rel="noopener noreferrer"&gt;youtube.com/@BlinkNBuild&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built with Claude AI ⚡ | BlinkNBuild&lt;/em&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>gamedev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>I Built a 3D Snake Game with Three.js — Runs in a Single HTML File</title>
      <dc:creator>BlinkNBuild</dc:creator>
      <pubDate>Mon, 02 Mar 2026 14:31:43 +0000</pubDate>
      <link>https://dev.to/blinknbuild/i-built-a-3d-snake-game-with-threejs-runs-in-a-single-html-file-1n7</link>
      <guid>https://dev.to/blinknbuild/i-built-a-3d-snake-game-with-threejs-runs-in-a-single-html-file-1n7</guid>
      <description>&lt;p&gt;I challenged myself to build a full 3D browser game with zero dependencies and no build step. Just one &lt;code&gt;index.html&lt;/code&gt; and a Three.js CDN link.&lt;/p&gt;

&lt;p&gt;The result is &lt;strong&gt;Serpentine&lt;/strong&gt; — a 3D snake game with WebGL graphics, particle effects, and mobile joystick support.&lt;/p&gt;




&lt;h2&gt;
  
  
  🎮 Gameplay Demo
&lt;/h2&gt;

&lt;p&gt;

  &lt;iframe src="https://www.youtube.com/embed/Slv0Bm1gimI"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;




&lt;h2&gt;
  
  
  ✨ Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;3 difficulty levels — Easy, Medium, Hard&lt;/li&gt;
&lt;li&gt;WebGL 3D graphics with particle effects on food pickup&lt;/li&gt;
&lt;li&gt;Mouse, Joystick &amp;amp; Swipe control modes&lt;/li&gt;
&lt;li&gt;Persistent high scores per difficulty&lt;/li&gt;
&lt;li&gt;Achievement toasts at score milestones&lt;/li&gt;
&lt;li&gt;Zero dependencies — pure HTML + JS&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🕹️ Controls
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Input&lt;/th&gt;
&lt;th&gt;Action&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Mouse&lt;/td&gt;
&lt;td&gt;Guide the snake&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WASD / Arrows&lt;/td&gt;
&lt;td&gt;Keyboard&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Space&lt;/td&gt;
&lt;td&gt;Pause / Resume&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;M&lt;/td&gt;
&lt;td&gt;Switch control mode&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  🔗 Links
&lt;/h2&gt;

&lt;p&gt;🎮 &lt;a href="https://serpentine-game.netlify.app" rel="noopener noreferrer"&gt;Play Live → serpentine-game.netlify.app&lt;/a&gt;&lt;br&gt;
⭐ &lt;a href="https://github.com/S-SUJAN-S/serpentine-game" rel="noopener noreferrer"&gt;GitHub → github.com/S-SUJAN-S/serpentine-game&lt;/a&gt;&lt;br&gt;
🎲 &lt;a href="https://s-sujan-s.itch.io/serpentine-3d-snake" rel="noopener noreferrer"&gt;itch.io → s-sujan-s.itch.io/serpentine-3d-snake&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feel free to fork it and build on top — the source is clean and readable!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webgl</category>
      <category>threejs</category>
      <category>gamedev</category>
    </item>
    <item>
      <title>Building a Free Markdown to PDF Converter (No Sign-ups, 100% Browser-Based)</title>
      <dc:creator>BlinkNBuild</dc:creator>
      <pubDate>Tue, 24 Feb 2026 18:58:07 +0000</pubDate>
      <link>https://dev.to/blinknbuild/building-a-free-markdown-to-pdf-converter-no-sign-ups-100-browser-based-4fek</link>
      <guid>https://dev.to/blinknbuild/building-a-free-markdown-to-pdf-converter-no-sign-ups-100-browser-based-4fek</guid>
      <description>&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;I was constantly frustrated with existing markdown to PDF converters. Most of them:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Required sign-ups and accounts&lt;/li&gt;
&lt;li&gt;Had paywalls or subscription fees&lt;/li&gt;
&lt;li&gt;Uploaded your files to their servers (privacy concerns)&lt;/li&gt;
&lt;li&gt;Had clunky interfaces&lt;/li&gt;
&lt;li&gt;Broke formatting on code blocks or math equations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I just wanted something simple that worked in my browser without jumping through hoops. So I decided to build my own.&lt;/p&gt;

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

&lt;p&gt;A completely free, browser-based markdown to PDF converter that runs 100% client-side. No servers, no data collection, no sign-ups required.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Try it here:&lt;/strong&gt; &lt;a href="https://free-markdown-to-pdf.netlify.app/" rel="noopener noreferrer"&gt;https://free-markdown-to-pdf.netlify.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/S-SUJAN-S/free-markdown-to-pdf" rel="noopener noreferrer"&gt;https://github.com/S-SUJAN-S/free-markdown-to-pdf&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Live Preview&lt;/strong&gt; - See your formatted content as you type&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Syntax Highlighting&lt;/strong&gt; - Code blocks look professional with Highlight.js&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Math Equations&lt;/strong&gt; - LaTeX math rendering using KaTeX&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multiple Themes&lt;/strong&gt; - Dark mode, light mode, and high contrast&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Customization&lt;/strong&gt; - Adjust fonts, spacing, margins to your liking&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Privacy First&lt;/strong&gt; - Everything runs in your browser, zero data collection&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No Installation&lt;/strong&gt; - Just open the URL and start using it&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;I kept it simple and used:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;React&lt;/strong&gt; (loaded via CDN)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Babel Standalone&lt;/strong&gt; (for in-browser JSX compilation)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Marked.js&lt;/strong&gt; (markdown parsing)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Highlight.js&lt;/strong&gt; (syntax highlighting for code)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;KaTeX&lt;/strong&gt; (LaTeX math rendering)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Google Fonts&lt;/strong&gt; (Fraunces, DM Sans, JetBrains Mono)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The entire thing is a &lt;strong&gt;single HTML file&lt;/strong&gt; - no complex build process, no npm dependencies to install locally. Just clone and open!&lt;/p&gt;

&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;

&lt;p&gt;The workflow is super simple:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Paste your markdown content&lt;/li&gt;
&lt;li&gt;See it formatted in real-time&lt;/li&gt;
&lt;li&gt;Customize if needed (fonts, themes, spacing)&lt;/li&gt;
&lt;li&gt;Use your browser's print function to save as PDF&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Since everything runs client-side, your content never leaves your browser. I literally cannot see what you're converting even if I wanted to.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why a Single HTML File?
&lt;/h2&gt;

&lt;p&gt;I wanted this to be as accessible as possible. Anyone should be able to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clone the repo and open &lt;code&gt;index.html&lt;/code&gt; &lt;/li&gt;
&lt;li&gt;Host it anywhere (GitHub Pages, Netlify, their own server)&lt;/li&gt;
&lt;li&gt;Modify it without needing to understand webpack or build tools&lt;/li&gt;
&lt;li&gt;Use it offline once the page loads&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Plus, it makes the code easy to read and understand for beginners.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use Cases
&lt;/h2&gt;

&lt;p&gt;I built this originally to save formatted conversations and notes, but people can use it for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Converting documentation&lt;/li&gt;
&lt;li&gt;Creating PDFs from markdown notes&lt;/li&gt;
&lt;li&gt;Formatting research papers&lt;/li&gt;
&lt;li&gt;Saving formatted conversations from AI tools&lt;/li&gt;
&lt;li&gt;Quick markdown previewing&lt;/li&gt;
&lt;li&gt;Any markdown → PDF needs&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Challenges I Faced
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Math Rendering
&lt;/h3&gt;

&lt;p&gt;Getting KaTeX to work properly with various LaTeX syntax was tricky. I had to handle both inline math (&lt;code&gt;$...$&lt;/code&gt;) and display math (&lt;code&gt;$$...$$&lt;/code&gt;) correctly.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Print Styling
&lt;/h3&gt;

&lt;p&gt;Making sure the PDF output looked exactly like the preview required a lot of CSS tweaking with &lt;code&gt;@media print&lt;/code&gt; queries.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Theme Switching
&lt;/h3&gt;

&lt;p&gt;Implementing multiple themes while maintaining consistency across all UI elements took more work than expected.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Code Block Formatting
&lt;/h3&gt;

&lt;p&gt;Ensuring code blocks looked good in both the preview and the final PDF required careful styling.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;I'm thinking about adding:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Export to Word/HTML formats&lt;/li&gt;
&lt;li&gt;Preset templates for different document types&lt;/li&gt;
&lt;li&gt;Batch conversion (multiple files at once)&lt;/li&gt;
&lt;li&gt;More theme options&lt;/li&gt;
&lt;li&gt;Table of contents generation&lt;/li&gt;
&lt;li&gt;Custom CSS injection&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What features would you find useful?&lt;/strong&gt; Let me know in the comments!&lt;/p&gt;

&lt;h2&gt;
  
  
  Open Source
&lt;/h2&gt;

&lt;p&gt;The project is fully open source with an MIT license. Feel free to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use it for any purpose&lt;/li&gt;
&lt;li&gt;Fork it and make your own version&lt;/li&gt;
&lt;li&gt;Submit PRs for improvements&lt;/li&gt;
&lt;li&gt;Report bugs or request features&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;🌐 Live Demo: &lt;a href="https://free-markdown-to-pdf.netlify.app/" rel="noopener noreferrer"&gt;https://free-markdown-to-pdf.netlify.app/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;💻 GitHub Repo: &lt;a href="https://github.com/S-SUJAN-S/free-markdown-to-pdf" rel="noopener noreferrer"&gt;https://github.com/S-SUJAN-S/free-markdown-to-pdf&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;I'd love to hear your feedback. If you find it useful, give it a star on GitHub! And if you find bugs or have feature suggestions, open an issue.&lt;/p&gt;

&lt;p&gt;Happy converting! 🚀&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Have you built any side projects to solve your own problems? Share them in the comments!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>javascript</category>
      <category>react</category>
    </item>
  </channel>
</rss>
