<?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>Forem: Sagar Sunil Bhedodkar</title>
    <description>The latest articles on Forem by Sagar Sunil Bhedodkar (@sbsaga).</description>
    <link>https://forem.com/sbsaga</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%2F3602648%2F9b4c9025-b498-4763-8006-d2a13ef201b2.jpeg</url>
      <title>Forem: Sagar Sunil Bhedodkar</title>
      <link>https://forem.com/sbsaga</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/sbsaga"/>
    <language>en</language>
    <item>
      <title>Toon 1.1.8 — Unlock Complex Nested Array Support for Laravel</title>
      <dc:creator>Sagar Sunil Bhedodkar</dc:creator>
      <pubDate>Sat, 20 Dec 2025 14:10:57 +0000</pubDate>
      <link>https://forem.com/sbsaga/toon-118-unlock-complex-nested-array-support-for-laravel-54kf</link>
      <guid>https://forem.com/sbsaga/toon-118-unlock-complex-nested-array-support-for-laravel-54kf</guid>
      <description>&lt;p&gt;🚀 &lt;strong&gt;Announcing Toon v1.1.8!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Toon is the &lt;strong&gt;Laravel-native token-optimized object notation&lt;/strong&gt; (TOON) library designed to convert PHP arrays and JSON into a &lt;strong&gt;compact, human-readable, AI-ready format&lt;/strong&gt;. With v1.1.8, Toon now fully supports &lt;strong&gt;complex nested arrays&lt;/strong&gt;, enabling developers to handle deep structures efficiently while saving tokens and maintaining readability.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✨ Highlights of v1.1.8
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;inlineScalar&lt;/code&gt; now &lt;strong&gt;recursively handles nested arrays&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Fully compatible with structures like &lt;strong&gt;users, profiles, orders&lt;/strong&gt;, and more&lt;/li&gt;
&lt;li&gt;Maintains TOON's &lt;strong&gt;compact, human-readable format&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Boosts &lt;strong&gt;AI prompt efficiency&lt;/strong&gt;, reduces token usage, and lowers API costs&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🔹 Example Usage
&lt;/h3&gt;

&lt;h4&gt;
  
  
  PHP Array
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nv"&gt;$data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="s1"&gt;'user'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="s1"&gt;'id'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;101&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'name'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'Jane Developer'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'roles'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'admin'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'editor'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="s1"&gt;'orders'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;[&lt;/span&gt;
            &lt;span class="s1"&gt;'order_id'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'ORD-1001'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="s1"&gt;'items'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
                &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'sku'&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s1"&gt;'SKU-11'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;'name'&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s1"&gt;'Keyboard'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;'qty'&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;'price'&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="mi"&gt;1200&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
                &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'sku'&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s1"&gt;'SKU-22'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;'name'&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s1"&gt;'Mouse'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;'qty'&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;'price'&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="mi"&gt;399&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
            &lt;span class="p"&gt;],&lt;/span&gt;
            &lt;span class="s1"&gt;'payment'&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'method'&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s1"&gt;'upi'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;'status'&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s1"&gt;'paid'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;'amount'&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="mi"&gt;1998&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
        &lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  TOON Output
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;user: id:101 name:Jane Developer roles: admin editor orders: items[1]{order_id,items,payment}: ORD-1001,0:sku:SKU-11,name:Keyboard,qty:1,price:1200,1:sku:SKU-22,name:Mouse,qty:2,price:399,method:upi,status:paid,amount:1998
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Deeply nested arrays like &lt;code&gt;items&lt;/code&gt; are fully supported, making TOON perfect for AI prompts and complex data workflows.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  🔹 Installation
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;composer require sbsaga/toon
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/sbsaga/toon" rel="noopener noreferrer"&gt;https://github.com/sbsaga/toon&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Packagist: &lt;a href="https://packagist.org/packages/sbsaga/toon" rel="noopener noreferrer"&gt;https://packagist.org/packages/sbsaga/toon&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🔹 Why It Matters
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Reduces &lt;strong&gt;token usage by ~60-70%&lt;/strong&gt; compared to JSON&lt;/li&gt;
&lt;li&gt;Keeps your data &lt;strong&gt;human-readable&lt;/strong&gt; for debugging and logging&lt;/li&gt;
&lt;li&gt;Perfect for &lt;strong&gt;ChatGPT, Gemini, Claude, OpenAI&lt;/strong&gt;, and other LLM integrations&lt;/li&gt;
&lt;li&gt;Maintains &lt;strong&gt;backward compatibility&lt;/strong&gt; for existing TOON structures&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🔹 Quick Tip
&lt;/h3&gt;

&lt;p&gt;You can convert your arrays with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nv"&gt;$toon&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Toon&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;convert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$data&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nv"&gt;$stats&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Toon&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;estimateTokens&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$toon&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nb"&gt;print_r&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$stats&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will give you an estimate of the token savings while keeping data compact.&lt;/p&gt;




&lt;p&gt;💡 &lt;strong&gt;Pro Tip:&lt;/strong&gt; Share your feedback, examples, or questions on the GitHub Discussions — your input drives the next improvements in TOON!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Experience token-efficient, readable AI-ready data now with Toon v1.1.8.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>php</category>
      <category>ai</category>
      <category>openai</category>
    </item>
    <item>
      <title>🚀 TOON for Laravel — A Complete Tutorial to Make AI Prompts Cheaper &amp; Faster</title>
      <dc:creator>Sagar Sunil Bhedodkar</dc:creator>
      <pubDate>Sun, 23 Nov 2025 15:41:17 +0000</pubDate>
      <link>https://forem.com/sbsaga/toon-for-laravel-a-complete-tutorial-to-make-ai-prompts-cheaper-faster-4m0b</link>
      <guid>https://forem.com/sbsaga/toon-for-laravel-a-complete-tutorial-to-make-ai-prompts-cheaper-faster-4m0b</guid>
      <description>&lt;h2&gt;
  
  
  🧠 TOON for Laravel — Make LLMs Cheaper, Faster &amp;amp; Friendlier
&lt;/h2&gt;

&lt;p&gt;✨ &lt;em&gt;Compress your prompts, not your ideas!&lt;/em&gt; ✨&lt;/p&gt;

&lt;p&gt;AI costs money. Every token counts. That’s why I built &lt;strong&gt;TOON&lt;/strong&gt; — a Laravel package that turns &lt;strong&gt;heavy JSON into light, readable, reversible notation&lt;/strong&gt; for LLMs like ChatGPT, Gemini, Claude, and Mistral.&lt;/p&gt;

&lt;p&gt;This tutorial is &lt;strong&gt;human-friendly&lt;/strong&gt;, full of &lt;strong&gt;real examples&lt;/strong&gt;, and easy to follow. Whether you’re a beginner or production-level developer — you’ll walk away with something useful. 🚀&lt;/p&gt;




&lt;h2&gt;
  
  
  📌 Why TOON Exists — The Real Problem
&lt;/h2&gt;

&lt;p&gt;Sending big chunks of JSON to LLMs = 🧨 &lt;strong&gt;higher costs + slower responses&lt;/strong&gt;. TOON solves this by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📉 Reducing token usage by &lt;strong&gt;60–75%&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🔁 Keeping data &lt;strong&gt;reversible&lt;/strong&gt; (TOON ⇄ JSON)&lt;/li&gt;
&lt;li&gt;👀 Staying &lt;strong&gt;human-readable&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;⚡ Fully integrated with &lt;strong&gt;Laravel&lt;/strong&gt; (Facade + Commands)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 &lt;em&gt;“AI doesn’t need verbose data — it needs clean, structured context.”&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🔥 TL;DR — Quick Summary
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Step&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;1️⃣&lt;/td&gt;
&lt;td&gt;&lt;code&gt;composer require sbsaga/toon&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2️⃣&lt;/td&gt;
&lt;td&gt;Use &lt;code&gt;Toon::convert()&lt;/code&gt; before sending API requests&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3️⃣&lt;/td&gt;
&lt;td&gt;Measure token savings via &lt;code&gt;estimateTokens()&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4️⃣&lt;/td&gt;
&lt;td&gt;Use in AI prompts &amp;amp; Artisan commands&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  🧪 Before vs After (Real Example)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ❌ JSON (7.7 KB)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "messages": [
    {"id": 1, "done": false},
    {"id": 2, "done": true},
    ...
  ]
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ✅ TOON (2.5 KB)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;messages:
  items[2]{id,done}:
    1,false
    2,true
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;💥 &lt;strong&gt;67% smaller&lt;/strong&gt; — SAME DATA — lower cost, faster AI.&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚙️ Installation
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;composer require sbsaga/toon
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  (Optional) Publish config
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan vendor:publish &lt;span class="nt"&gt;--provider&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"Sbsaga&lt;/span&gt;&lt;span class="se"&gt;\T&lt;/span&gt;&lt;span class="s2"&gt;oon&lt;/span&gt;&lt;span class="se"&gt;\T&lt;/span&gt;&lt;span class="s2"&gt;oonServiceProvider"&lt;/span&gt; &lt;span class="nt"&gt;--tag&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;config
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Created file: &lt;code&gt;config/toon.php&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
  &lt;span class="s1"&gt;'enabled'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="s1"&gt;'escape_style'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'backslash'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="s1"&gt;'min_rows_to_tabular'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="s1"&gt;'max_preview_items'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🚀 Usage — Most Common Pattern
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Sbsaga\Toon\Facades\Toon&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nv"&gt;$data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mf"&gt;...&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="nv"&gt;$toon&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Toon&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;convert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$data&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nv"&gt;$stats&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Toon&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;estimateTokens&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$toon&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🧠 &lt;em&gt;This alone can show you EXACT cost savings before using AI APIs.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🤖 Example — Sending to OpenAI
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nv"&gt;$prompt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"System: analyze this data&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="mf"&gt;.&lt;/span&gt; &lt;span class="nv"&gt;$toon&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nv"&gt;$response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Http&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;withToken&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;env&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'OPENAI_KEY'&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;...&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nv"&gt;$decoded&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Toon&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;decode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$response&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'choices'&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="s1"&gt;'message'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s1"&gt;'content'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;??&lt;/span&gt; &lt;span class="s1"&gt;''&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  📊 Benchmark Route — Try It Yourself
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nc"&gt;Route&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/toon-benchmark'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nv"&gt;$json&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;json_decode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;file_get_contents&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;storage_path&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'app/sample.json'&lt;/span&gt;&lt;span class="p"&gt;)),&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nv"&gt;$jsonEncoded&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;json_encode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$json&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;JSON_PRETTY_PRINT&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nv"&gt;$toonEncoded&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Toon&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;convert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$json&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="s1"&gt;'json_size'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;strlen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$jsonEncoded&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="s1"&gt;'toon_size'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;strlen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$toonEncoded&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="s1"&gt;'saving_percent'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;strlen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$toonEncoded&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="nb"&gt;strlen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$jsonEncoded&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
  &lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  📦 Artisan Commands
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan toon:convert storage/test.json
php artisan toon:convert storage/test.toon &lt;span class="nt"&gt;--decode&lt;/span&gt; &lt;span class="nt"&gt;--pretty&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🧠 AI Prompt Templates (Copy &amp;amp; Use)
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;You are an AI assistant. If you return structured data, use TOON format:

user: Sagar
items[2]{role,message}:
  user,Hello
  assistant,Hi there
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Convert this JSON into TOON format and keep it reversible:
{ ... }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🛠️ Best Practices
&lt;/h2&gt;

&lt;p&gt;✔ Use &lt;code&gt;estimateTokens()&lt;/code&gt; before API calls&lt;br&gt;
✔ Keep labels meaningful — AI understands better&lt;br&gt;
✔ Use TOON for logs, chat history, search results&lt;br&gt;
✔ Add fallback to raw JSON when needed&lt;/p&gt;




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

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Use Case&lt;/th&gt;
&lt;th&gt;Benefit&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;🤖 AI prompt engineering&lt;/td&gt;
&lt;td&gt;Lower token usage&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🔍 Log analysis&lt;/td&gt;
&lt;td&gt;More readable than JSON&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;⚙ Debugging&lt;/td&gt;
&lt;td&gt;Great for dev tools&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;📦 Microservices&lt;/td&gt;
&lt;td&gt;Send smaller payloads&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  ❤️ Contribute &amp;amp; Support
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;⭐ Star the repo — it helps a lot!&lt;/li&gt;
&lt;li&gt;🐛 Report issues on GitHub&lt;/li&gt;
&lt;li&gt;📌 Suggestions welcome&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/sbsaga/toon" rel="noopener noreferrer"&gt;https://github.com/sbsaga/toon&lt;/a&gt;&lt;br&gt;
Packagist: &lt;a href="https://packagist.org/packages/sbsaga/toon" rel="noopener noreferrer"&gt;https://packagist.org/packages/sbsaga/toon&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🎯 Final Thought
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;🧠 &lt;em&gt;“AI doesn’t need more data — it needs better data.”&lt;/em&gt;&lt;br&gt;
That’s what TOON delivers. Try it, benchmark it — your AI will thank you. 🙌&lt;/p&gt;
&lt;/blockquote&gt;




</description>
      <category>laravel</category>
      <category>php</category>
      <category>ai</category>
      <category>promptengineering</category>
    </item>
    <item>
      <title>🚀 Token Estimation for AI Prompts in Laravel — TOON</title>
      <dc:creator>Sagar Sunil Bhedodkar</dc:creator>
      <pubDate>Sun, 23 Nov 2025 14:40:35 +0000</pubDate>
      <link>https://forem.com/sbsaga/token-estimation-for-ai-prompts-in-laravel-toon-ibe</link>
      <guid>https://forem.com/sbsaga/token-estimation-for-ai-prompts-in-laravel-toon-ibe</guid>
      <description>&lt;p&gt;&lt;strong&gt;Write cleaner prompts. Spend fewer tokens. Build smarter AI apps.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 What Problem Does It Solve?
&lt;/h2&gt;

&lt;p&gt;Every time your Laravel app sends data to an AI model — it costs tokens. More tokens = more cost + less context.&lt;br&gt;
But most developers &lt;strong&gt;don’t know how heavy their prompt really is&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That’s why &lt;strong&gt;TOON includes a built-in Token Estimator&lt;/strong&gt; — a lightweight tool to quickly measure your prompt before sending it to an LLM.&lt;/p&gt;


&lt;h2&gt;
  
  
  ✨ What Is TOON?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;TOON (Token-Optimized Object Notation)&lt;/strong&gt; is a compact, human-readable data format built for Laravel. It converts PHP arrays / JSON into an AI-friendly format that reduces token usage and improves context clarity.&lt;/p&gt;

&lt;p&gt;And now — it can also &lt;strong&gt;estimate the token weight&lt;/strong&gt; of that data.&lt;/p&gt;


&lt;h2&gt;
  
  
  🔢 Token Estimation — The Feature You Actually Need
&lt;/h2&gt;

&lt;p&gt;TOON gives you a &lt;strong&gt;native, zero-dependency PHP method&lt;/strong&gt; to estimate token usage:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Sbsaga\Toon\Facades\Toon&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nv"&gt;$prompt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Toon&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;convert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$data&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;            &lt;span class="c1"&gt;// Converts JSON/PHP array to TOON format&lt;/span&gt;
&lt;span class="nv"&gt;$stats&lt;/span&gt;  &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Toon&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;estimateTokens&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$prompt&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;   &lt;span class="c1"&gt;// Estimates token usage&lt;/span&gt;

&lt;span class="nf"&gt;dd&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$stats&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Example Output:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"words"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"chars"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;182&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"tokens_estimate"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;19&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  💡 Why This Helps Developers
&lt;/h2&gt;

&lt;p&gt;✔ Spot heavy prompts instantly&lt;br&gt;
✔ Reduce AI costs before making API calls&lt;br&gt;
✔ Keep more context inside model limits&lt;br&gt;
✔ Works locally, in CI, or before production&lt;br&gt;
✔ No external tokenizer — &lt;strong&gt;fully PHP native&lt;/strong&gt;&lt;/p&gt;




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

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Use Case&lt;/th&gt;
&lt;th&gt;How TOON Helps&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Local development&lt;/td&gt;
&lt;td&gt;Measure prompt size while designing AI requests&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CI check&lt;/td&gt;
&lt;td&gt;Fail build if prompt &amp;gt; 3,000 tokens&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Debugging&lt;/td&gt;
&lt;td&gt;Compare JSON vs TOON format side-by-side&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Optimization&lt;/td&gt;
&lt;td&gt;Remove unnecessary data &amp;amp; observe impact&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LLM cost control&lt;/td&gt;
&lt;td&gt;Save real money over large requests&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  📌 Important Note
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;This is an &lt;strong&gt;approximate estimation&lt;/strong&gt;, not a billing-accurate tokenizer.&lt;/li&gt;
&lt;li&gt;It is &lt;strong&gt;model-agnostic&lt;/strong&gt;, fast, and perfect for comparison / debugging.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧪 Try It in 20 Seconds
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;composer require sbsaga/toon
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  📌 Ready-to-Use Tags (Paste into Medium / Dev.to)
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;laravel&lt;/code&gt;, &lt;code&gt;php&lt;/code&gt;, &lt;code&gt;ai&lt;/code&gt;, &lt;code&gt;prompt-engineering&lt;/code&gt;, &lt;code&gt;chatgpt&lt;/code&gt;, &lt;code&gt;openai&lt;/code&gt;, &lt;code&gt;ai-tooling&lt;/code&gt;, &lt;code&gt;laravel-dev&lt;/code&gt;&lt;/p&gt;




&lt;p&gt;🧠 &lt;strong&gt;“Compress your prompts, not your ideas.” — TOON helps you talk to AI efficiently.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>performance</category>
      <category>php</category>
      <category>ai</category>
      <category>laravel</category>
    </item>
    <item>
      <title>Introducing TOON for Laravel — A Smarter, Token-Efficient Way to Talk to AI</title>
      <dc:creator>Sagar Sunil Bhedodkar</dc:creator>
      <pubDate>Sat, 08 Nov 2025 20:35:50 +0000</pubDate>
      <link>https://forem.com/sbsaga/introducing-toon-for-laravel-a-smarter-token-efficient-way-to-talk-to-ai-36a3</link>
      <guid>https://forem.com/sbsaga/introducing-toon-for-laravel-a-smarter-token-efficient-way-to-talk-to-ai-36a3</guid>
      <description>&lt;h2&gt;
  
  
  🧠 TOON for Laravel — Compress your prompts, not your ideas
&lt;/h2&gt;

&lt;p&gt;📝 &lt;strong&gt;License:&lt;/strong&gt; MIT   &lt;br&gt;&lt;br&gt;
⚡ &lt;strong&gt;Laravel:&lt;/strong&gt; 9+   &lt;br&gt;&lt;br&gt;
🐘 &lt;strong&gt;PHP:&lt;/strong&gt; 8.1+  &lt;/p&gt;


&lt;h2&gt;
  
  
  ✨ Why TOON?
&lt;/h2&gt;

&lt;p&gt;When building AI-powered Laravel apps, developers often struggle with &lt;strong&gt;massive JSON data&lt;/strong&gt;, &lt;strong&gt;expensive token usage&lt;/strong&gt;, and &lt;strong&gt;hard-to-read prompts&lt;/strong&gt;. That’s where &lt;strong&gt;TOON&lt;/strong&gt; comes in — a &lt;strong&gt;Laravel-native data compressor&lt;/strong&gt; designed to make your AI payloads smaller, cleaner, and easier to understand. 💡&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Compress your prompts, not your ideas."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;TOON transforms verbose JSON or PHP arrays into a &lt;strong&gt;compact, human-readable format&lt;/strong&gt; that reduces token cost by up to &lt;strong&gt;70%&lt;/strong&gt;, while preserving every bit of data.&lt;/p&gt;


&lt;h2&gt;
  
  
  🚀 Quick Overview
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;🔁 &lt;strong&gt;Bidirectional Conversion&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Convert JSON ⇄ TOON effortlessly&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🧩 &lt;strong&gt;Readable &amp;amp; Compact&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;YAML-like syntax with improved readability&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;💰 &lt;strong&gt;Token Efficient&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Save up to 70% of AI token costs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;⚙️ &lt;strong&gt;Laravel Native&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Seamlessly integrates with facades, commands &amp;amp; service providers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;📊 &lt;strong&gt;Built-in Analytics&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Analyze compression &amp;amp; token estimates&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🧠 &lt;strong&gt;AI Ready&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Works perfectly with ChatGPT, Gemini, Claude &amp;amp; OpenAI APIs&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;


&lt;h2&gt;
  
  
  🧠 What Makes TOON Different?
&lt;/h2&gt;

&lt;p&gt;Unlike typical compression tools, TOON focuses on &lt;strong&gt;AI efficiency&lt;/strong&gt; rather than binary storage. It’s designed for &lt;strong&gt;prompt engineering&lt;/strong&gt;, where readability still matters. You can send structured data to your LLMs while keeping payloads light.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅  Human-friendly like YAML, but optimized for tokenization.&lt;/li&gt;
&lt;li&gt;✅  Built for Laravel developers — not just another JSON formatter.&lt;/li&gt;
&lt;li&gt;✅  100% reversible — decode TOON back into JSON with no loss.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  💻 Installation &amp;amp; Setup
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;composer require sbsaga/toon
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Once installed, TOON auto-registers its service provider and facade. Optionally, you can publish its config:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan vendor:publish &lt;span class="nt"&gt;--provider&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"Sbsaga&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s2"&gt;Toon&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s2"&gt;ToonServiceProvider"&lt;/span&gt; &lt;span class="nt"&gt;--tag&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;config
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Config File:&lt;/strong&gt; &lt;code&gt;config/toon.php&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="s1"&gt;'enabled'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="s1"&gt;'escape_style'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'backslash'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="s1"&gt;'min_rows_to_tabular'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="s1"&gt;'max_preview_items'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🧩 Convert JSON → TOON
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Sbsaga\Toon\Facades\Toon&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nv"&gt;$data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="s1"&gt;'user'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'Sagar'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="s1"&gt;'message'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'Hello, how are you?'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="s1"&gt;'tasks'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'id'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'done'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
        &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'id'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'done'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="nc"&gt;Toon&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;convert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$data&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;user: Sagar
message: Hello\, how are you?
tasks:
  items[2]{done,id}:
    false,1
    true,2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🔄 Convert TOON → JSON
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nv"&gt;$toon&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;&amp;lt;&amp;lt;&amp;lt;TOON
user: Sagar
tasks:
  items[2]{id,done}:
    1,false
    2,true
TOON;&lt;/span&gt;

&lt;span class="nb"&gt;print_r&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Toon&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;decode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$toon&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  📊 Real-World Benchmark
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;JSON&lt;/th&gt;
&lt;th&gt;TOON&lt;/th&gt;
&lt;th&gt;Reduction&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Size (bytes)&lt;/td&gt;
&lt;td&gt;7,718&lt;/td&gt;
&lt;td&gt;2,538&lt;/td&gt;
&lt;td&gt;🔻 &lt;strong&gt;67.12% smaller&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tokens (est.)&lt;/td&gt;
&lt;td&gt;1,930&lt;/td&gt;
&lt;td&gt;640&lt;/td&gt;
&lt;td&gt;💸 &lt;strong&gt;~66.8% fewer tokens&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;💡 Less data = fewer tokens = lower API bills. Simple math, massive savings.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;JSON (7.7 KB)
██████████████████████████████████████████████████████████████████████████

TOON (2.5 KB)
█████████████████
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🧪 Quick Laravel Benchmark Route
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Illuminate\Support\Facades\Route&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Sbsaga\Toon\Facades\Toon&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nc"&gt;Route&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/toon-benchmark'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;$json&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;json_decode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;file_get_contents&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;storage_path&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'app/users.json'&lt;/span&gt;&lt;span class="p"&gt;)),&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nv"&gt;$toon&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Toon&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;convert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$json&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;response&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
        &lt;span class="s1"&gt;'json_size'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;strlen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;json_encode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$json&lt;/span&gt;&lt;span class="p"&gt;)),&lt;/span&gt;
        &lt;span class="s1"&gt;'toon_size'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;strlen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$toon&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="s1"&gt;'saving_percent'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;round&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;strlen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$toon&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="nb"&gt;strlen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;json_encode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$json&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="s1"&gt;'toon_preview'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;$toon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;]);&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🧰 Artisan Commands
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan toon:convert storage/data.json
php artisan toon:convert storage/data.toon &lt;span class="nt"&gt;--decode&lt;/span&gt;
php artisan toon:convert storage/data.json &lt;span class="nt"&gt;--output&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;storage/result.toon
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






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

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Use Case&lt;/th&gt;
&lt;th&gt;Benefit&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;🤖 &lt;strong&gt;AI Prompt Engineering&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Compress structured inputs for ChatGPT &amp;amp; Gemini&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;💬 &lt;strong&gt;LLM Context Management&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Fit more data within token limits&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🧾 &lt;strong&gt;Readable Logging&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Store structured data compactly&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;⚙️ &lt;strong&gt;Microservice Communication&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Reduce payload size across services&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  🔑 SEO &amp;amp; AI Integration Keywords
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;laravel&lt;/code&gt;, &lt;code&gt;php&lt;/code&gt;, &lt;code&gt;ai&lt;/code&gt;, &lt;code&gt;chatgpt&lt;/code&gt;, &lt;code&gt;openai&lt;/code&gt;, &lt;code&gt;llm&lt;/code&gt;, &lt;code&gt;gemini&lt;/code&gt;, &lt;code&gt;mistral&lt;/code&gt;, &lt;code&gt;anthropic&lt;/code&gt;, &lt;code&gt;laravel-ai&lt;/code&gt;, &lt;code&gt;laravel-openai&lt;/code&gt;, &lt;code&gt;laravel-llm&lt;/code&gt;, &lt;code&gt;php-ai&lt;/code&gt;, &lt;code&gt;token-optimizer&lt;/code&gt;, &lt;code&gt;prompt-engineering&lt;/code&gt;, &lt;code&gt;api-optimization&lt;/code&gt;, &lt;code&gt;backend-optimization&lt;/code&gt;, &lt;code&gt;laravel-packages&lt;/code&gt;, &lt;code&gt;php-development&lt;/code&gt;, &lt;code&gt;web-development&lt;/code&gt;, &lt;code&gt;json-compression&lt;/code&gt;, &lt;code&gt;data-compression&lt;/code&gt;, &lt;code&gt;efficient-coding&lt;/code&gt;, &lt;code&gt;developer-tools&lt;/code&gt;, &lt;code&gt;performance-optimization&lt;/code&gt;, &lt;code&gt;api-integration&lt;/code&gt;, &lt;code&gt;php-8.1&lt;/code&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  ❤️ Final Thoughts
&lt;/h2&gt;

&lt;p&gt;If you build AI tools with Laravel, &lt;strong&gt;TOON&lt;/strong&gt; is a game-changer. It helps you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🚀 Send more context without hitting token limits&lt;/li&gt;
&lt;li&gt;🧩 Keep your data clean, readable, and reversible&lt;/li&gt;
&lt;li&gt;💸 Save real money on AI API usage&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;🧠 “Compress your prompts, not your ideas.” — Let your code (and AI) breathe.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;📦 &lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/sbsaga/toon" rel="noopener noreferrer"&gt;https://github.com/sbsaga/toon&lt;/a&gt;&lt;br&gt;&lt;br&gt;
📦 &lt;strong&gt;Packagist:&lt;/strong&gt; &lt;a href="https://packagist.org/packages/sbsaga/toon" rel="noopener noreferrer"&gt;https://packagist.org/packages/sbsaga/toon&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;
  &lt;b&gt;Built with ❤️ for Laravel Developers who love clean, smart AI integrations.&lt;/b&gt;
&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>php</category>
      <category>ai</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
