<?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: Manoj Gowda</title>
    <description>The latest articles on DEV Community by Manoj Gowda (@manoj_gowda_3429b5941161e).</description>
    <link>https://dev.to/manoj_gowda_3429b5941161e</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%2F2577685%2F36f47577-0e61-4888-a584-3c3059a5a725.jpg</url>
      <title>DEV Community: Manoj Gowda</title>
      <link>https://dev.to/manoj_gowda_3429b5941161e</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/manoj_gowda_3429b5941161e"/>
    <language>en</language>
    <item>
      <title>Why I Built TOON: A Better Data Format for APIs</title>
      <dc:creator>Manoj Gowda</dc:creator>
      <pubDate>Thu, 26 Feb 2026 16:39:40 +0000</pubDate>
      <link>https://dev.to/manoj_gowda_3429b5941161e/why-i-built-toon-a-better-data-format-for-apis-54d6</link>
      <guid>https://dev.to/manoj_gowda_3429b5941161e/why-i-built-toon-a-better-data-format-for-apis-54d6</guid>
      <description>&lt;p&gt;Introducing TOON — Typed Object Oriented Notation&lt;/p&gt;

&lt;p&gt;JSON is everywhere.&lt;/p&gt;

&lt;p&gt;It powers APIs, microservices, automation tools, and frontend apps.&lt;/p&gt;

&lt;p&gt;But as applications scale, JSON becomes:&lt;/p&gt;

&lt;p&gt;verbose&lt;/p&gt;

&lt;p&gt;repetitive&lt;/p&gt;

&lt;p&gt;bandwidth heavy&lt;/p&gt;

&lt;p&gt;lacking type structure&lt;/p&gt;

&lt;p&gt;That’s why I built TOON (Typed Object Oriented Notation) — a compact, typed, and developer-friendly alternative.&lt;/p&gt;

&lt;p&gt;👉 npm: &lt;a href="https://www.npmjs.com/package/toonkit" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/toonkit&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🧠 What is TOON?&lt;/p&gt;

&lt;p&gt;TOON = Typed Object Oriented Notation&lt;/p&gt;

&lt;p&gt;It combines:&lt;/p&gt;

&lt;p&gt;✔ schema&lt;br&gt;
✔ data&lt;br&gt;
✔ types&lt;br&gt;
✔ compact structure&lt;/p&gt;

&lt;p&gt;Think of it as JSON + schema + compression + readability.&lt;/p&gt;

&lt;p&gt;❌ The Problem with JSON&lt;/p&gt;

&lt;p&gt;A typical API response:&lt;/p&gt;

&lt;p&gt;{&lt;br&gt;
  "employees": [&lt;br&gt;
    { "id": 1, "name": "Riya", "salary": 90000, "active": true },&lt;br&gt;
    { "id": 2, "name": "John", "salary": 80000, "active": false }&lt;br&gt;
  ]&lt;br&gt;
}&lt;/p&gt;

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

&lt;p&gt;repeated keys increase payload size&lt;/p&gt;

&lt;p&gt;no built-in typing&lt;/p&gt;

&lt;p&gt;inefficient for large responses&lt;/p&gt;

&lt;p&gt;✅ The TOON Solution&lt;br&gt;
employees[2]{id:n,name:s,salary:n,active:b}:&lt;br&gt;
1,Riya,90000,true&lt;br&gt;
2,John,80000,false&lt;/p&gt;

&lt;p&gt;✔ smaller payload&lt;br&gt;
✔ typed schema&lt;br&gt;
✔ readable structure&lt;br&gt;
✔ faster parsing&lt;/p&gt;

&lt;p&gt;🔄 Parsed Output&lt;br&gt;
[&lt;br&gt;
  { id: 1, name: "Riya", salary: 90000, active: true },&lt;br&gt;
  { id: 2, name: "John", salary: 80000, active: false }&lt;br&gt;
]&lt;br&gt;
🧬 Supported Data Types&lt;br&gt;
Code    Type&lt;br&gt;
n   number&lt;br&gt;
s   string&lt;br&gt;
b   boolean&lt;br&gt;
nl  null&lt;br&gt;
j   JSON object&lt;br&gt;
a   array&lt;br&gt;
⚡ Why Developers Like TOON&lt;br&gt;
✅ Smaller Payload Size&lt;/p&gt;

&lt;p&gt;Less bandwidth, faster APIs.&lt;/p&gt;

&lt;p&gt;✅ Built-in Type Safety&lt;/p&gt;

&lt;p&gt;Schema ensures consistent data.&lt;/p&gt;

&lt;p&gt;✅ Multi-Resource Responses&lt;/p&gt;

&lt;p&gt;Return multiple datasets in one response.&lt;/p&gt;

&lt;p&gt;✅ Human Readable&lt;/p&gt;

&lt;p&gt;Debug easily without extra tools.&lt;/p&gt;

&lt;p&gt;✅ Frontend ⇄ Backend Symmetry&lt;/p&gt;

&lt;p&gt;Same format everywhere.&lt;/p&gt;

&lt;p&gt;📦 Install&lt;br&gt;
npm install toonkit&lt;br&gt;
🧩 Example Usage&lt;br&gt;
Convert JSON → TOON&lt;br&gt;
import { sendToon } from "toonkit";&lt;/p&gt;

&lt;p&gt;const payload = sendToon({&lt;br&gt;
  employees: [{ id: 1, name: "Riya" }]&lt;br&gt;
});&lt;br&gt;
Convert TOON → JSON&lt;br&gt;
import { receiveToon } from "toonkit";&lt;/p&gt;

&lt;p&gt;const data = receiveToon(text);&lt;br&gt;
🖥 Express Example&lt;br&gt;
const express = require("express");&lt;br&gt;
const { reqGetToon, resSendToon } = require("toonkit");&lt;/p&gt;

&lt;p&gt;const app = express();&lt;br&gt;
app.use(express.text());&lt;/p&gt;

&lt;p&gt;app.post("/api", (req, res) =&amp;gt; {&lt;br&gt;
  const data = reqGetToon(req);&lt;br&gt;
  resSendToon(res, data);&lt;br&gt;
});&lt;br&gt;
🧠 When TOON is Useful&lt;/p&gt;

&lt;p&gt;✅ APIs returning multiple resources&lt;br&gt;
✅ automation &amp;amp; bots&lt;br&gt;
✅ low bandwidth environments&lt;br&gt;
✅ Chrome extensions&lt;br&gt;
✅ microservices&lt;br&gt;
✅ real-time systems&lt;/p&gt;

&lt;p&gt;🌐 Documentation&lt;/p&gt;

&lt;p&gt;Full docs &amp;amp; playground:&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://toonkit.manojgowda.in" rel="noopener noreferrer"&gt;https://toonkit.manojgowda.in&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;💻 GitHub&lt;/p&gt;

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

&lt;p&gt;💬 Why I Built TOON&lt;/p&gt;

&lt;p&gt;I wanted a data format that:&lt;/p&gt;

&lt;p&gt;reduces payload size&lt;/p&gt;

&lt;p&gt;simplifies API responses&lt;/p&gt;

&lt;p&gt;provides typing without complexity&lt;/p&gt;

&lt;p&gt;works seamlessly in JavaScript&lt;/p&gt;

&lt;p&gt;TOON is my attempt to make data exchange simpler and more efficient.&lt;/p&gt;

&lt;p&gt;🚀 Try TOON Today&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://www.npmjs.com/package/toonkit" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/toonkit&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you find it useful, I’d love your feedback and contributions.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvrixzyfl5c5rjf0s9luf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvrixzyfl5c5rjf0s9luf.png" alt=" " width="677" height="369"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>json</category>
      <category>backend</category>
      <category>programming</category>
    </item>
    <item>
      <title>Why a high-performance job queue is needed - mbqueue</title>
      <dc:creator>Manoj Gowda</dc:creator>
      <pubDate>Mon, 15 Sep 2025 10:33:32 +0000</pubDate>
      <link>https://dev.to/manoj_gowda_3429b5941161e/why-a-high-performance-job-queue-is-needed-mbqueue-3p36</link>
      <guid>https://dev.to/manoj_gowda_3429b5941161e/why-a-high-performance-job-queue-is-needed-mbqueue-3p36</guid>
      <description>&lt;p&gt;🚀 &lt;strong&gt;Why a High-Performance Job Queue Matters&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Modern applications often handle &lt;strong&gt;thousands of tasks per second&lt;/strong&gt;—emails, notifications, background jobs. Traditional queues struggle with &lt;strong&gt;memory efficiency&lt;/strong&gt;, &lt;strong&gt;batch insertion&lt;/strong&gt;, and &lt;strong&gt;distributed workloads&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That’s where &lt;strong&gt;mbqueue&lt;/strong&gt; comes in: a &lt;strong&gt;lightweight, MongoDB-backed job queue for Node.js&lt;/strong&gt; designed for &lt;strong&gt;speed, scalability, and simplicity&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;✨ &lt;strong&gt;Key Highlights:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In-memory maps for fast caching &amp;amp; batching&lt;/li&gt;
&lt;li&gt;Bulk insertion to MongoDB for high throughput&lt;/li&gt;
&lt;li&gt;Supports parallel workers &amp;amp; distributed setups&lt;/li&gt;
&lt;li&gt;Simple, scalable, robust&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;📦 &lt;strong&gt;Install:&lt;/strong&gt; &lt;a href="https://www.npmjs.com/package/mbqueue" rel="noopener noreferrer"&gt;npm: mbqueue&lt;/a&gt;&lt;br&gt;
📄 &lt;strong&gt;Docs &amp;amp; Examples:&lt;/strong&gt; Check the npm page&lt;/p&gt;

&lt;p&gt;💡 Perfect for Node.js apps needing &lt;strong&gt;high-volume, memory-efficient job processing&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;#NodeJS #MongoDB #WebDevelopment #OpenSource #JobQueue #BackendDevelopment #HighPerformance #npm #DeveloperTools #Programming&lt;/p&gt;

</description>
      <category>node</category>
    </item>
    <item>
      <title>A New Way of Setting Up an Express Server for Lazy Developers npm i mbfi</title>
      <dc:creator>Manoj Gowda</dc:creator>
      <pubDate>Mon, 16 Dec 2024 15:08:20 +0000</pubDate>
      <link>https://dev.to/manoj_gowda_3429b5941161e/a-new-way-of-setting-up-an-express-server-for-lazy-developers-npm-i-mbfi-1kp7</link>
      <guid>https://dev.to/manoj_gowda_3429b5941161e/a-new-way-of-setting-up-an-express-server-for-lazy-developers-npm-i-mbfi-1kp7</guid>
      <description>&lt;p&gt;mbfi is a utility package that streamlines the process of setting up an Express server with MongoDB and Mongoose, along with essential features like routing, validation, and logging. It simplifies common tasks, allowing you to focus more on building your application and less on boilerplate code. This package includes support for MongoDB connection, schema validation, logging via morgan, CORS handling, and basic routing.&lt;/p&gt;

&lt;p&gt;Features&lt;br&gt;
Express Server Setup: Simplifies the process of setting up an Express server.&lt;br&gt;
MongoDB and Mongoose Integration: Easily connect to MongoDB using Mongoose and handle database operations.&lt;br&gt;
Schema Validation: Use simple validation to define your Mongoose schemas.&lt;br&gt;
CORS Support: Handles Cross-Origin Resource Sharing (CORS) to allow resources to be shared across different domains.&lt;br&gt;
Logging with Morgan: Set up logging to track requests and monitor your server's activity.&lt;br&gt;
Router Handling: Easily manage routes with multiple routers for your application.&lt;br&gt;
Reusable Components: Helps reduce time in setting up basic server configurations, Mongoose models, and middleware.&lt;br&gt;
Installation&lt;br&gt;
Install the package via npm:&lt;/p&gt;

&lt;p&gt;npm install mbfi&lt;br&gt;
How to Use&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.npmjs.com/package/mbfi" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/mbfi&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>react</category>
      <category>express</category>
    </item>
  </channel>
</rss>
