<?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: Task Drop</title>
    <description>The latest articles on DEV Community by Task Drop (@task_drop_8e661e26c984883).</description>
    <link>https://dev.to/task_drop_8e661e26c984883</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%2F4131024%2Fe03b3295-aaea-47a7-8192-03ccd99e95a5.png</url>
      <title>DEV Community: Task Drop</title>
      <link>https://dev.to/task_drop_8e661e26c984883</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/task_drop_8e661e26c984883"/>
    <language>en</language>
    <item>
      <title>I built a free plain-English dictionary API – no jargon, instant keys</title>
      <dc:creator>Task Drop</dc:creator>
      <pubDate>Fri, 18 Sep 2026 07:09:13 +0000</pubDate>
      <link>https://dev.to/task_drop_8e661e26c984883/i-built-a-free-plain-english-dictionary-api-no-jargon-instant-keys-1f3o</link>
      <guid>https://dev.to/task_drop_8e661e26c984883/i-built-a-free-plain-english-dictionary-api-no-jargon-instant-keys-1f3o</guid>
      <description>&lt;p&gt;Dictionaries explain hard words with harder words. I got tired of that loop, so I built Plainly — a plain-English dictionary + free API.&lt;/p&gt;

&lt;p&gt;Live: &lt;a href="https://www.plainly.my.id/?utm_source=devto&amp;amp;utm_medium=launch&amp;amp;utm_campaign=api" rel="noopener noreferrer"&gt;https://www.plainly.my.id/?utm_source=devto&amp;amp;utm_medium=launch&amp;amp;utm_campaign=api&lt;/a&gt;&lt;br&gt;
Docs: &lt;a href="https://www.plainly.my.id/docs" rel="noopener noreferrer"&gt;https://www.plainly.my.id/docs&lt;/a&gt;&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;GET /api/define?word=petrichor&lt;/code&gt; → plain definition + example + phonetics + confused words&lt;/li&gt;
&lt;li&gt;No jargon, no circular definitions&lt;/li&gt;
&lt;li&gt;Shareable pages: &lt;code&gt;/word/&amp;lt;word&amp;gt;&lt;/code&gt; with OG cards, prerendered for SEO&lt;/li&gt;
&lt;li&gt;Word of the Day + archive at &lt;code&gt;/words&lt;/code&gt;, plus &lt;code&gt;/confused-words&lt;/code&gt;, &lt;code&gt;/medical-terms&lt;/code&gt;, &lt;code&gt;/legal-terms&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Free, no signup to use. API keys are instant + keyless (3/day per IP).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Quick try (JS)
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// 1. get a key (no account)&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;keyRes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://www.plainly.my.id/api/keys&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;POST&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;key&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;keyRes&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="c1"&gt;// 2. define a word&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;r&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://www.plainly.my.id/api/define?word=petrichor&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;Authorization&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Bearer &lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;key&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;r&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="c1"&gt;// → { word, definition: '...in plain English', example: '...', phonetic, ... }&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  How it's built
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Single HTML file front-end (no build step), Vercel edge functions&lt;/li&gt;
&lt;li&gt;Supabase Postgres as definition cache (grows with every lookup)&lt;/li&gt;
&lt;li&gt;Free Dictionary API as source-of-truth, LLM rewrite to plain English&lt;/li&gt;
&lt;li&gt;Datamuse for autocomplete + did-you-mean&lt;/li&gt;
&lt;li&gt;OG images via @vercel/og, sitemap.xml with 300+ /word pages&lt;/li&gt;
&lt;li&gt;Daily Word-of-Day post to X via cron&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Try &lt;code&gt;petrichor&lt;/code&gt;, &lt;code&gt;serendipity&lt;/code&gt;, &lt;code&gt;idiopathic&lt;/code&gt; and tell me where the plain rewrite fails — that's the part I'm iterating hardest on.&lt;/p&gt;

&lt;p&gt;Repo notes + feedback welcome. What would make you actually use this over MDN/Wiktionary/Google?&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>api</category>
      <category>beginners</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
