<?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: Dhananjay kumar Seth</title>
    <description>The latest articles on DEV Community by Dhananjay kumar Seth (@dhananjaykuseth).</description>
    <link>https://dev.to/dhananjaykuseth</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%2F4029199%2Fa4a30e2a-200f-4020-83c1-30344249e089.jpg</url>
      <title>DEV Community: Dhananjay kumar Seth</title>
      <link>https://dev.to/dhananjaykuseth</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dhananjaykuseth"/>
    <language>en</language>
    <item>
      <title>LabBench grew to 9 tools, and I shipped a second product</title>
      <dc:creator>Dhananjay kumar Seth</dc:creator>
      <pubDate>Sat, 25 Jul 2026 21:29:49 +0000</pubDate>
      <link>https://dev.to/dhananjaykuseth/labbench-grew-to-9-tools-and-i-shipped-a-second-product-1j68</link>
      <guid>https://dev.to/dhananjaykuseth/labbench-grew-to-9-tools-and-i-shipped-a-second-product-1j68</guid>
      <description>&lt;p&gt;A few weeks ago I turned four free browser-based engineering demos into LabBench — a suite people could actually use, not just look at. This week it grew again, and I also launched something completely separate.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two new LabBench tools (7 → 9)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;EV Battery Management Simulator&lt;/strong&gt; — a 4-cell pack model with real coulomb-counted state of charge, an OCV + IR-drop voltage curve, a lumped thermal model that trips a simulated BMS above 70°C, and passive cell balancing you can actually watch converge over time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Smart Energy Meter Dashboard&lt;/strong&gt; — toggle household appliances and watch real vs. apparent power, power factor, a source-impedance voltage sag model, breaker-trip current logic, and live kWh billing, all computed from scratch.&lt;/p&gt;

&lt;p&gt;Both reuse the same Supabase-auth + Pro-gated save/load pattern as the rest of the suite.&lt;/p&gt;

&lt;p&gt;Try them: &lt;a href="https://labbench-hub.vercel.app/" rel="noopener noreferrer"&gt;https://labbench-hub.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  A second, separate product: PrepBench
&lt;/h2&gt;

&lt;p&gt;Not ECE this time — general aptitude-exam prep (Percentage, Profit &amp;amp; Loss, Time &amp;amp; Work, Speed-Distance-Time, Number System, Probability, Squares &amp;amp; Cubes, Geometry, Data Interpretation). Free interactive reference + practice drills with instant feedback and a live streak/accuracy tracker, no sign-up needed, plus a paid cheat-sheet PDF bundle.&lt;/p&gt;

&lt;p&gt;Try it: &lt;a href="https://prepbench.vercel.app/" rel="noopener noreferrer"&gt;https://prepbench.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Both are open source under a source-available license — code's on GitHub if you want to see how any of it works: &lt;a href="https://github.com/Dhananjay-ku-seth" rel="noopener noreferrer"&gt;https://github.com/Dhananjay-ku-seth&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feedback welcome, especially on the battery thermal model — first time modeling BMS behavior client-side.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>react</category>
      <category>typescript</category>
      <category>opensource</category>
    </item>
    <item>
      <title>I Turned My Free Browser Tools Into a Paid Product (Here's Exactly How)</title>
      <dc:creator>Dhananjay kumar Seth</dc:creator>
      <pubDate>Thu, 16 Jul 2026 17:26:57 +0000</pubDate>
      <link>https://dev.to/dhananjaykuseth/i-turned-my-free-browser-tools-into-a-paid-product-heres-exactly-how-53l0</link>
      <guid>https://dev.to/dhananjaykuseth/i-turned-my-free-browser-tools-into-a-paid-product-heres-exactly-how-53l0</guid>
      <description>&lt;p&gt;A few weeks ago I wrote about four interactive engineering tools I built — a real-time FFT lab, a PID control simulator, a logic circuit sandbox, and a comms simulator. They were free, and they still are. This post is about what happened after: turning that into LabBench, a real (small, but real) product with paying customers.&lt;/p&gt;

&lt;p&gt;The tools stayed free. The brand didn't exist yet.&lt;br&gt;
Four separate demo names don't add up to anything memorable. So I built one landing page — labbench-hub.vercel.app — presenting all five tools (added a fifth: a Verilog-style timing-diagram viewer) as one suite, with a shared visual identity layered on top of each tool's own accent color.&lt;/p&gt;

&lt;p&gt;The licensing mistake everyone makes (including me, at first)&lt;br&gt;
None of the repos had a LICENSE file. That sounds harmless — it's actually the opposite of open. Under the Berne Convention, no license means "all rights reserved" by default. The fix wasn't slapping on MIT, though — that would let anyone fork the free tools, build the exact paid features I'm planning, and ship them first. I wrote a short custom source-available license: free to use the deployed demos, free to read the code, not free to resell or rehost. Every LabBench repo carries it now.&lt;/p&gt;

&lt;p&gt;The payments problem nobody warns you about (if you're not in the US/EU)&lt;br&gt;
This was the real surprise. Every "add a tip jar" tutorial assumes Stripe works for you. I tried Ko-fi first — its bank-transfer country search returned zero results for India. Buy Me a Coffee's own FAQ confirmed payouts route through a personal Stripe account, and Stripe Connect payouts to individual Indian creators are heavily restricted without a registered business entity.&lt;/p&gt;

&lt;p&gt;The fix: stop chasing Western platforms, go regionally native. Razorpay — an Indian payment processor — supports individual/freelancer accounts directly, with UPI, cards, and netbanking working once KYC clears. If you're building for a specific country's audience, check that country's creator payout path before you build anything around a platform everyone recommends by default.&lt;/p&gt;

&lt;p&gt;Shipping actual paid products&lt;br&gt;
Two PDFs, sold through Razorpay Payment Pages:&lt;/p&gt;

&lt;p&gt;LabBench Study Companion — a hands-on guide to DSP, PID control, digital logic, and comms theory, each chapter pointing back to the matching interactive tool.&lt;br&gt;
The Making of LabBench — the build-log version of this post, with real code snippets and the productization story in more depth.&lt;br&gt;
Automating delivery without a real backend&lt;br&gt;
None of the five tools have a server — they're static Vite apps on Vercel. Rather than stand up a whole backend just to email a PDF after payment, I added one file: /api/fulfill.js, a Vercel serverless function that:&lt;/p&gt;

&lt;p&gt;Verifies the Razorpay webhook's HMAC-SHA256 signature (constant-time comparison, using Node's getRawBody since the signature is computed over the raw request body, not the re-parsed JSON)&lt;br&gt;
Matches the payment description against a small product list&lt;br&gt;
Emails the matching PDF via Gmail SMTP (an App Password, not OAuth — zero new accounts, since Resend/SendGrid both wanted a verified custom domain I don't have yet)&lt;br&gt;
Vercel deploys anything under /api as a serverless function automatically, regardless of the frontend framework — no Next.js required. One file, no database, and it works.&lt;/p&gt;

&lt;p&gt;What's next&lt;br&gt;
A real Pro tier (saved sessions, exports, classroom mode) gated behind actual accounts — and the highest-ceiling option that needs zero new code: reaching out to colleges and coaching institutes directly for classroom licensing, since they have budgets individual students don't.&lt;/p&gt;

&lt;p&gt;Try the tools free: &lt;a href="https://labbench-hub.vercel.app/" rel="noopener noreferrer"&gt;https://labbench-hub.vercel.app/&lt;/a&gt; More of my work: &lt;a href="https://dhananjay-kumar-seth.vercel.app/" rel="noopener noreferrer"&gt;https://dhananjay-kumar-seth.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you're building something similar from outside the US/EU, I'd genuinely like to hear what payment path worked for you.&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>indiehackers</category>
      <category>career</category>
      <category>webdev</category>
    </item>
    <item>
      <title>I Built 4 Interactive Engineering Tools You Can Run in Your Browser</title>
      <dc:creator>Dhananjay kumar Seth</dc:creator>
      <pubDate>Tue, 14 Jul 2026 20:06:01 +0000</pubDate>
      <link>https://dev.to/dhananjaykuseth/i-built-4-interactive-engineering-tools-you-can-run-in-your-browser-24nn</link>
      <guid>https://dev.to/dhananjaykuseth/i-built-4-interactive-engineering-tools-you-can-run-in-your-browser-24nn</guid>
      <description>&lt;p&gt;Most engineering concepts live in textbooks and MATLAB scripts — you read about a Fourier transform, a PID loop, or a constellation diagram, but you rarely get to touch one. I'm a game developer by day and an Electronics &amp;amp; Communication Engineer by training, and I kept thinking: why can't these be things you just open in a browser and play with?&lt;/p&gt;

&lt;p&gt;So I built four of them. No installs, no accounts — click a link and start turning knobs. Each one is written from scratch in React + TypeScript with the actual math implemented by hand (no DSP or simulation libraries). Here's what I made and the interesting problem behind each.&lt;/p&gt;

&lt;p&gt;🌊 DSP Signal Lab — real-time FFT in the browser&lt;br&gt;
▶ Live demo: &lt;a href="https://dsp-signal-lab.vercel.app/" rel="noopener noreferrer"&gt;https://dsp-signal-lab.vercel.app/&lt;/a&gt; · Code: &lt;a href="https://github.com/Dhananjay-ku-seth/dsp-signal-lab" rel="noopener noreferrer"&gt;https://github.com/Dhananjay-ku-seth/dsp-signal-lab&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A signal generator (sine / square / sawtooth / triangle) feeding a live 2048-point FFT spectrum analyzer, with injectable white noise and switchable digital filters (lowpass / highpass / bandpass / notch).&lt;/p&gt;

&lt;p&gt;The fun part: the FFT is real, not a fake animation. It uses the Web Audio API's AnalyserNode, so when you pick a square wave you can watch the odd harmonics appear in the spectrum, then sweep a lowpass cutoff down and see them get attenuated in real time. Switch to microphone mode and whistle — the peak tracker finds your pitch.&lt;/p&gt;

&lt;p&gt;🤖 PID Control Playground — tune a line-follower robot live&lt;br&gt;
▶ Live demo: &lt;a href="https://pid-control-playground.vercel.app/" rel="noopener noreferrer"&gt;https://pid-control-playground.vercel.app/&lt;/a&gt; · Code: &lt;a href="https://github.com/Dhananjay-ku-seth/pid-control-playground" rel="noopener noreferrer"&gt;https://github.com/Dhananjay-ku-seth/pid-control-playground&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A top-down robot follows a winding track using a real PID loop on its cross-track error. You drag the Kp / Ki / Kd sliders and watch the effect immediately.&lt;/p&gt;

&lt;p&gt;Under the hood it's a double-integrator plant with sub-stepped Euler integration and integral anti-windup — so it behaves like a real control system. Set the derivative gain to zero and the robot oscillates around the line forever; add it back and the wobble damps out. There's a ⚡ disturbance button to kick it off course and watch the loop recover, plus a live error-vs-time strip chart.&lt;/p&gt;

&lt;p&gt;🔌 Logic Circuit Simulator — drag, wire, and watch signals flow&lt;br&gt;
▶ Live demo: &lt;a href="https://logic-circuit-sim.vercel.app/" rel="noopener noreferrer"&gt;https://logic-circuit-sim.vercel.app/&lt;/a&gt; · Code: &lt;a href="https://github.com/Dhananjay-ku-seth/logic-circuit-sim" rel="noopener noreferrer"&gt;https://github.com/Dhananjay-ku-seth/logic-circuit-sim&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Place gates (AND / OR / NOT / NAND / NOR / XOR / XNOR), wire them port-to-port, toggle the inputs, and see the signals propagate live — with an auto-generated truth table.&lt;/p&gt;

&lt;p&gt;The tricky bit was supporting sequential circuits, not just combinational ones. A naive left-to-right evaluator deadlocks on a feedback loop like an SR latch. I used an iterative relaxation solver (40 passes) that evaluates combinational logic instantly and converges feedback loops, so latches and flip-flops actually settle. Load the SR-latch example and toggle Set / Reset to see it work.&lt;/p&gt;

&lt;p&gt;📡 Comms Simulator — modulation, constellations, and BER&lt;br&gt;
▶ Live demo: &lt;a href="https://comms-simulator-pi.vercel.app/" rel="noopener noreferrer"&gt;https://comms-simulator-pi.vercel.app/&lt;/a&gt; · Code: &lt;a href="https://github.com/Dhananjay-ku-seth/comms-simulator" rel="noopener noreferrer"&gt;https://github.com/Dhananjay-ku-seth/comms-simulator&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Three tabs covering a communication systems course:&lt;/p&gt;

&lt;p&gt;Analog: AM/FM modulation in the time domain, with the AM envelope and over-modulation shown live.&lt;br&gt;
Constellation: BPSK / QPSK / 16-QAM ideal points plus the received cloud over an AWGN channel, with a live symbol-error rate.&lt;br&gt;
BER curve: a Monte-Carlo bit-error-rate simulation (60,000 bits per SNR point) plotted against the theoretical Q-function on a semilog axis.&lt;br&gt;
Everything uses unit-energy symbols, Gray-coded PAM-4 mapping, Box–Muller AWGN, and Q(x) = ½·erfc(x/√2). The satisfying moment is watching the simulated BER curve hug the theoretical one — and seeing it floor out at ~10⁻⁵ because 60k bits can't resolve errors any rarer than that.&lt;/p&gt;

&lt;p&gt;How they're built&lt;br&gt;
Stack: React + TypeScript + Vite, deployed on Vercel.&lt;br&gt;
No black boxes: every FFT, filter, control loop, logic solver, and modulation/demodulation routine is hand-written. The goal was to understand the math, not import it.&lt;br&gt;
Rendering: plain  and SVG — no charting libraries.&lt;br&gt;
Design: a shared dark "lab" aesthetic so they feel like one toolkit.&lt;br&gt;
Why bother?&lt;br&gt;
Because interactive beats static every time. You can read that a PID controller overshoots without derivative gain — or you can drag a slider and watch it happen. I wanted tools a student (or a curious recruiter) could open and immediately get an intuition from.&lt;/p&gt;

&lt;p&gt;If you find these useful or spot something to improve, I'd love to hear it — the repos are open.&lt;/p&gt;

&lt;p&gt;More of my work: &lt;a href="https://dhananjay-kumar-seth.vercel.app/" rel="noopener noreferrer"&gt;https://dhananjay-kumar-seth.vercel.app/&lt;/a&gt; GitHub: &lt;a href="https://github.com/Dhananjay-ku-seth" rel="noopener noreferrer"&gt;https://github.com/Dhananjay-ku-seth&lt;/a&gt; · LinkedIn: &lt;a href="https://www.linkedin.com/in/dhananjay-kumar-seth-4a5b31283/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/dhananjay-kumar-seth-4a5b31283/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks for reading — go break one of the demos. 🔧&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>react</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
