<?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: matengtian</title>
    <description>The latest articles on DEV Community by matengtian (@matengtian).</description>
    <link>https://dev.to/matengtian</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%2F3953911%2F482e41a6-c882-47c3-bbde-9c6297263cef.png</url>
      <title>DEV Community: matengtian</title>
      <link>https://dev.to/matengtian</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/matengtian"/>
    <language>en</language>
    <item>
      <title>How to Build Your Own AI API Gateway (70x Cheaper Than GPT-4o)</title>
      <dc:creator>matengtian</dc:creator>
      <pubDate>Wed, 27 May 2026 11:08:16 +0000</pubDate>
      <link>https://dev.to/matengtian/how-to-build-your-own-ai-api-gateway-70x-cheaper-than-gpt-4o-ckp</link>
      <guid>https://dev.to/matengtian/how-to-build-your-own-ai-api-gateway-70x-cheaper-than-gpt-4o-ckp</guid>
      <description>&lt;h2&gt;
  
  
  Why I Built This
&lt;/h2&gt;

&lt;p&gt;DeepSeek's API costs &lt;strong&gt;¥1 per million tokens&lt;/strong&gt;. GPT-4o costs ¥70. That's a &lt;strong&gt;70x difference&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;But not everyone wants to deal with API key management, billing, and deployment. So I built a one-command gateway.&lt;/p&gt;

&lt;h2&gt;
  
  
  What It Does
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;OpenAI-compatible endpoint&lt;/strong&gt; — drop-in replacement for any OpenAI SDK&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Routes to DeepSeek&lt;/strong&gt; — 70x cheaper, same quality for most tasks&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;API key management&lt;/strong&gt; — generate and manage keys for your team&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Usage tracking&lt;/strong&gt; — see who's using what&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Self-hosted&lt;/strong&gt; — your data, your server&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  One Command Deploy
&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/matengtian/deepseek-gateway.git
&lt;span class="nb"&gt;cd &lt;/span&gt;deepseek-gateway
pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt
&lt;span class="nv"&gt;DEEPSEEK_API_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;sk-your-key python server.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. You now have an OpenAI-compatible API endpoint.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use It Like OpenAI
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;openai&lt;/span&gt;
&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;openai&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;OpenAI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;YOUR_GATEWAY_KEY&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;base_url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;http://your-server:8080/v1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;completions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;deepseek-chat&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Hello!&lt;/span&gt;&lt;span class="sh"&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;
  
  
  Pricing Comparison
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Service&lt;/th&gt;
&lt;th&gt;Per 1M Tokens&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;GPT-4o&lt;/td&gt;
&lt;td&gt;¥70&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claude Opus&lt;/td&gt;
&lt;td&gt;¥105&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;DeepSeek via Gateway&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;¥1&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Open Source + Managed Option
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Free:&lt;/strong&gt; Self-host. MIT license. Use forever.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Managed:&lt;/strong&gt; ¥10/month. We deploy, monitor, and maintain. WeChat/Alipay available.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;GitHub: &lt;a href="https://github.com/matengtian/deepseek-gateway" rel="noopener noreferrer"&gt;https://github.com/matengtian/deepseek-gateway&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Managed hosting: &lt;a href="http://47.108.162.152/" rel="noopener noreferrer"&gt;http://47.108.162.152/&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built in an hour. MIT license. PRs welcome.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>python</category>
      <category>opensource</category>
      <category>api</category>
    </item>
    <item>
      <title>How I Built 8 Free Dev Tools as a Solo Maker — Lessons Learned</title>
      <dc:creator>matengtian</dc:creator>
      <pubDate>Wed, 27 May 2026 09:10:08 +0000</pubDate>
      <link>https://dev.to/matengtian/how-i-built-8-free-dev-tools-as-a-solo-maker-lessons-learned-2h72</link>
      <guid>https://dev.to/matengtian/how-i-built-8-free-dev-tools-as-a-solo-maker-lessons-learned-2h72</guid>
      <description>&lt;h2&gt;
  
  
  The Backstory
&lt;/h2&gt;

&lt;p&gt;I'm a solo developer. No team, no funding, no fancy stack. Just a laptop, Claude Code, and a problem: every online dev tool I used was uploading my data to some server.&lt;/p&gt;

&lt;p&gt;So I built my own. Eight of them.&lt;/p&gt;

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

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Time&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;JSON Formatter + CSV export&lt;/td&gt;
&lt;td&gt;45 min&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Image → Base64 encoder&lt;/td&gt;
&lt;td&gt;30 min&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SQL Formatter with highlighting&lt;/td&gt;
&lt;td&gt;1 hour&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Markdown → HTML preview&lt;/td&gt;
&lt;td&gt;2 hours&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UUID/ULID Generator&lt;/td&gt;
&lt;td&gt;15 min&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Regex Tester with captures&lt;/td&gt;
&lt;td&gt;40 min&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Timestamp Converter&lt;/td&gt;
&lt;td&gt;20 min&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Diff Checker (LCS algo)&lt;/td&gt;
&lt;td&gt;1.5 hours&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Total: ~7 hours. All client-side. Zero dependencies. Single file under 30KB.&lt;/p&gt;

&lt;h2&gt;
  
  
  3 Lessons
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Don't over-engineer.&lt;/strong&gt; React + Vite + Tailwind would've been 200KB before writing logic. Plain HTML/CSS/JS. Each tool loads &amp;lt; 50ms.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Privacy sells.&lt;/strong&gt; The #1 feedback: "wait, nothing gets uploaded?" "Runs locally" is a stronger pitch than "10+ features."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Build what you search for.&lt;/strong&gt; Every tool is something I've Googled myself. The best product ideas come from your own workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try Them
&lt;/h2&gt;

&lt;p&gt;👉 &lt;a href="https://matengtian.github.io/devtools/" rel="noopener noreferrer"&gt;https://matengtian.github.io/devtools/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Need custom scripts, bug fixes, or data analysis? DM me for rates.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built with Claude Code. Published as part of my build-in-public journey.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>opensource</category>
      <category>productivity</category>
    </item>
    <item>
      <title>I Built 8 Free Browser-Based Developer Tools (No Uploads, No Tracking)</title>
      <dc:creator>matengtian</dc:creator>
      <pubDate>Wed, 27 May 2026 08:33:25 +0000</pubDate>
      <link>https://dev.to/matengtian/i-built-8-free-browser-based-developer-tools-no-uploads-no-tracking-3e26</link>
      <guid>https://dev.to/matengtian/i-built-8-free-browser-based-developer-tools-no-uploads-no-tracking-3e26</guid>
      <description>&lt;p&gt;'## What I Built&lt;/p&gt;

&lt;p&gt;Eight developer tools that run entirely in your browser — no files uploaded, no server-side processing, no tracking.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&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;JSON Formatter&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Beautify, validate, compress JSON. CSV export&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Image → Base64&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Drag &amp;amp; drop, instant Data URI generation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SQL Formatter&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Pretty-print with keyword highlighting&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Markdown → HTML&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Real-time GFM preview with code blocks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;UUID Generator&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Crypto-secure UUID v4 + ULID&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Regex Tester&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Real-time match highlighting&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Timestamp Converter&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Unix seconds/ms ↔ date&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Diff Checker&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Line-by-line comparison&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Why
&lt;/h2&gt;

&lt;p&gt;Every other online dev tool uploads your data. These run 100% client-side — nothing leaves your browser.&lt;/p&gt;

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

&lt;p&gt;Pure HTML/CSS/JS. Zero frameworks. Under 30KB. Loads in 50ms.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try
&lt;/h2&gt;

&lt;p&gt;👉 &lt;a href="https://matengtian.github.io/devtools/" rel="noopener noreferrer"&gt;https://matengtian.github.io/devtools/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feedback welcome! What tool should I add next?&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>opensource</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
