<?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: dayu2333-jinyul</title>
    <description>The latest articles on DEV Community by dayu2333-jinyul (@dayu2333jinyul).</description>
    <link>https://dev.to/dayu2333jinyul</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%2F3960002%2F4230bb32-ba19-407d-a9d5-3e9729f10a2b.png</url>
      <title>DEV Community: dayu2333-jinyul</title>
      <link>https://dev.to/dayu2333jinyul</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dayu2333jinyul"/>
    <language>en</language>
    <item>
      <title>How ENSO Actually Works — A Plain English Guide to Earth's Biggest Climate Engine</title>
      <dc:creator>dayu2333-jinyul</dc:creator>
      <pubDate>Tue, 07 Jul 2026 13:29:40 +0000</pubDate>
      <link>https://dev.to/dayu2333jinyul/how-enso-actually-works-a-plain-english-guide-to-earths-biggest-climate-engine-580m</link>
      <guid>https://dev.to/dayu2333jinyul/how-enso-actually-works-a-plain-english-guide-to-earths-biggest-climate-engine-580m</guid>
      <description>&lt;p&gt;You've heard "El Niño" and "La Niña" in weather forecasts. Maybe you know they involve warm or cold water in the Pacific. But what's actually happening? And why does a temperature change off the coast of Peru affect rainfall in India, hurricane seasons in the Atlantic, and wheat prices in Australia?&lt;/p&gt;

&lt;p&gt;Here's the mechanism, explained without the jargon.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Pacific Is a Giant Heat Engine
&lt;/h2&gt;

&lt;p&gt;The trade winds near the equator blow steadily from east to west. They push warm surface water toward Indonesia, where it piles up — the sea surface near Indonesia is about half a meter higher than near South America.&lt;/p&gt;

&lt;p&gt;This warm water heats the air above it, creating massive thunderstorms that drive atmospheric circulation across the tropics. Meanwhile, off Peru, cold nutrient-rich water rises from the deep to replace what got pushed away. That's "normal."&lt;/p&gt;

&lt;h2&gt;
  
  
  What El Niño Does
&lt;/h2&gt;

&lt;p&gt;During an El Niño, the trade winds weaken. Sometimes they reverse. The warm water that was piled up near Indonesia sloshes eastward.&lt;/p&gt;

&lt;p&gt;Three things happen:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The thunderstorms follow the warm water.&lt;/strong&gt; That rising hot air, which sat over Indonesia, moves to the central Pacific. This shifts the jet streams — the rivers of wind that steer storm systems around the planet.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The cold upwelling off Peru shuts down.&lt;/strong&gt; Without nutrient-rich cold water, the anchovy fishery collapses. Peru and Ecuador get hammered with rain instead of dry weather.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The sinking air moves.&lt;/strong&gt; Air that rises over the warm patch has to come down somewhere else. That "somewhere else" includes northern Brazil, Indonesia, and Australia. Sinking air kills rain. These places get drought.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Why It Matters If You Don't Live Near the Pacific
&lt;/h2&gt;

&lt;p&gt;ENSO is the biggest source of predictable climate variability on the planet. The 1997-98 El Niño caused an estimated $36 billion in damages. The 2015-16 event triggered droughts affecting 60 million people.&lt;/p&gt;

&lt;p&gt;NOAA publishes monthly ENSO forecasts based on ~70 moored buoys across the Pacific — the TAO/TRITON array — plus satellite data and climate models. They're public and free.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Track ENSO Yourself
&lt;/h2&gt;

&lt;p&gt;The NOAA Climate Prediction Center publishes an "ENSO Diagnostic Discussion" around the second Thursday of each month. It's a dense 5-6 page PDF. For a plain-English translation with regional impact guides, I built &lt;a href="https://elninoguide.com" rel="noopener noreferrer"&gt;El Niño Guide&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The key number: the Niño 3.4 index — average sea surface temperature anomaly in the east-central equatorial Pacific. Above +0.5°C for five consecutive months? El Niño. Below -0.5°C? La Niña. In between? Neutral.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Catch
&lt;/h2&gt;

&lt;p&gt;ENSO forecasts are good for 3-6 months out and nearly useless beyond 12 months. The spring "predictability barrier" — around March to May — is when models lose skill.&lt;/p&gt;

&lt;p&gt;When you see a headline about "potential super El Niño next winter" in April: we don't know yet. The models are guessing. Wait for the June update before making any ENSO-based decisions.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Based on public data from NOAA, WMO, and IRI. For regional impact analysis: &lt;a href="https://elninoguide.com/articles/el-nino-global-weather" rel="noopener noreferrer"&gt;elninoguide.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>watercooler</category>
    </item>
    <item>
      <title>What Actually Happens During an El Niño Winter — A Practical Guide for 2026-27</title>
      <dc:creator>dayu2333-jinyul</dc:creator>
      <pubDate>Sun, 28 Jun 2026 04:10:12 +0000</pubDate>
      <link>https://dev.to/dayu2333jinyul/what-actually-happens-during-an-el-nino-winter-a-practical-guide-for-2026-27-357e</link>
      <guid>https://dev.to/dayu2333jinyul/what-actually-happens-during-an-el-nino-winter-a-practical-guide-for-2026-27-357e</guid>
      <description>&lt;p&gt;El Niño winters get a lot of hype, but most people don't understand what they actually mean for real life. After the last major El Niño event (2023-24), I spent time researching the upcoming 2026-27 season and came away with practical insights that go beyond the weather channel soundbites.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 30-Second Version
&lt;/h2&gt;

&lt;p&gt;El Niño is a warming of Pacific Ocean surface water near the equator. It happens every 2-7 years and shifts global weather patterns for 6-12 months. The next significant one is forecast for late 2026, and different regions will feel it very differently.&lt;/p&gt;

&lt;h2&gt;
  
  
  What It Actually Means for Your Winter
&lt;/h2&gt;

&lt;p&gt;If you ski or snowboard, this is the short version: the Sierras and southern Rockies tend to get dumped on during El Niño winters. The Pacific Northwest and Northeast? Not so much. I wrote a &lt;a href="https://elninoguide.com/el-nino-ski-season-2026-2027-forecast" rel="noopener noreferrer"&gt;region-by-region breakdown of what skiers should expect from the 2026-27 El Niño season&lt;/a&gt; if you're planning trips.&lt;/p&gt;

&lt;p&gt;If you're a homeowner, the bigger concern is flood and wind damage. Standard homeowners insurance doesn't cover flood damage — and most people don't realize this until it's too late. El Niño winters in California and the Gulf states mean saturated soil, atmospheric rivers, and a real risk of sewer backup flooding basements. I put together a &lt;a href="https://elninoguide.com/el-nino-home-insurance-guide-2026" rel="noopener noreferrer"&gt;detailed guide on El Niño home insurance gaps&lt;/a&gt; covering what standard policies miss and what riders you actually need.&lt;/p&gt;

&lt;h2&gt;
  
  
  Explaining This to a 10-Year-Old
&lt;/h2&gt;

&lt;p&gt;My kid asked me "why does the ocean getting warmer make it rain more here?" and I realized El Niño is surprisingly hard to explain well. The bathtub analogy works: imagine filling a bathtub with warm water — the steam rises, moves across the room, and condenses on the cold mirror. The Pacific Ocean is the bathtub, and the "steam" is the jet stream shifting south and getting stronger, pushing storms into California and the southern US. If you need a &lt;a href="https://elninoguide.com/el-nino-explained-for-kids-students" rel="noopener noreferrer"&gt;simple El Niño explainer for kids or students&lt;/a&gt;, I wrote one with monitoring technology (buoys + satellites) and a comparison with La Niña.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Matters More Than Before
&lt;/h2&gt;

&lt;p&gt;El Niño events aren't getting more frequent, but their impacts are getting more expensive. More people living in coastal and wildfire-adjacent areas. Aging infrastructure. Insurance markets pulling out of high-risk states. Understanding what's coming isn't just interesting — it's practical risk management.&lt;/p&gt;

&lt;p&gt;The good news: we can see these events coming 6-9 months in advance. NOAA's tropical Pacific buoy array gives real-time data, and seasonal forecast models have gotten remarkably good. If you're in an affected region, you have time to prepare. That's the whole point of understanding this stuff.&lt;/p&gt;

</description>
      <category>climate</category>
      <category>science</category>
      <category>webdev</category>
      <category>data</category>
    </item>
    <item>
      <title>I Built a Curated AI Tools Directory With Real Comparisons — Here's What I Learned</title>
      <dc:creator>dayu2333-jinyul</dc:creator>
      <pubDate>Sun, 28 Jun 2026 04:10:05 +0000</pubDate>
      <link>https://dev.to/dayu2333jinyul/i-built-a-curated-ai-tools-directory-with-real-comparisons-heres-what-i-learned-2fkb</link>
      <guid>https://dev.to/dayu2333jinyul/i-built-a-curated-ai-tools-directory-with-real-comparisons-heres-what-i-learned-2fkb</guid>
      <description>&lt;h1&gt;
  
  
  I Built a Curated AI Tools Directory With Real Comparisons — Here's What I Learned
&lt;/h1&gt;

&lt;p&gt;Three months ago I set out to build an AI tools directory. There are already dozens of them — so why build another? Because every existing directory had the same problem: they're just scraped lists. Thousands of tools dumped into a database with no curation, no real testing, and no useful comparisons. They tell you a tool &lt;em&gt;exists&lt;/em&gt;, not whether it's any good.&lt;/p&gt;

&lt;p&gt;I wanted something different. So I built &lt;a href="https://aitoolnavs.com" rel="noopener noreferrer"&gt;aitoolnavs.com&lt;/a&gt; — a curated directory where every tool is actually tested, reviewed, and compared side-by-side.&lt;/p&gt;

&lt;p&gt;Here's what I learned about building a directory that people actually use.&lt;/p&gt;




&lt;h2&gt;
  
  
  Curation Beats Scraping Every Time
&lt;/h2&gt;

&lt;p&gt;The first decision was the hardest: &lt;strong&gt;cap the directory at quality tools, not quantity&lt;/strong&gt;. Most directories scrape Product Hunt, Futurepedia, and GitHub to auto-generate thousands of listings. The result? A sea of identical, low-quality pages that don't help anyone.&lt;/p&gt;

&lt;p&gt;I chose curation. My directory has 39 tools. Not 3,000. Each one was tested for at least an hour. If a tool doesn't deliver real value to a solo entrepreneur — someone running a one-person business — it doesn't get listed. A solo founder doesn't need 300 AI tools; they need the 5 that actually save them time.&lt;/p&gt;

&lt;p&gt;This also means every tool has a real review: what it does well, where it falls short, pricing breakdowns, and alternatives. No auto-generated "reviews" from scraping the tool's own marketing page.&lt;/p&gt;




&lt;h2&gt;
  
  
  Comparison Pages Are the Real Value
&lt;/h2&gt;

&lt;p&gt;Listing tools is table stakes. The real traffic comes from comparison pages. When someone searches "Jasper vs Copy.ai" or "Cursor vs GitHub Copilot", they're close to a decision — and they want a straight answer.&lt;/p&gt;

&lt;p&gt;Each comparison page puts two tools side-by-side: features, pricing, ease of use, output quality, and "best for" recommendations. No vague "both are great" conclusions. I pick a winner for each use case.&lt;/p&gt;

&lt;p&gt;These pages bring in long-tail search traffic that category pages never touch. "Claude vs ChatGPT for coding" converts better than "best AI writing tools" because the intent is sharper.&lt;/p&gt;




&lt;h2&gt;
  
  
  Static HTML + Vanilla JS on Cloudflare Pages
&lt;/h2&gt;

&lt;p&gt;No React. No Next.js. No database. The entire site is static HTML, vanilla JavaScript, and CSS custom properties — deployed on Cloudflare Pages.&lt;/p&gt;

&lt;p&gt;Why? Because an AI tools directory doesn't need a backend. Tool data lives in static JSON files loaded at build time. Search is a client-side &lt;code&gt;filter()&lt;/code&gt; over an array. The comparison pages are hand-written HTML — the kind that Googlebot can parse instantly without JavaScript rendering hoops.&lt;/p&gt;

&lt;p&gt;Cloudflare Pages deploys directly from &lt;code&gt;git push&lt;/code&gt;. Zero cold starts, global edge caching, and free tier that handles thousands of daily visitors. For a content-heavy directory site, it's hard to beat.&lt;/p&gt;




&lt;h2&gt;
  
  
  SEO Strategy for Tool Comparison Keywords
&lt;/h2&gt;

&lt;p&gt;The SEO playbook for a tool directory is simple but effective:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Target comparison keywords&lt;/strong&gt;: "X vs Y", "X alternatives", "best X for Y". These have lower competition than generic "AI tools" queries and much higher conversion intent.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Schema markup on every page&lt;/strong&gt;: FAQ schema on category pages, Article schema on reviews and comparisons. This gets rich results in Google that stand out from the scraped-directory noise.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Internal linking by relationship&lt;/strong&gt;: Every tool page links to its alternatives and comparison pages. Category pages link to individual tools. This creates a tight topical cluster that Google understands.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;No JavaScript dependency for content&lt;/strong&gt;: All text content is in the static HTML. Googlebot reads it immediately — no hydration, no CSR.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  What I'd Do Differently
&lt;/h2&gt;

&lt;p&gt;If I were starting over, I'd build the comparison engine first and the directory second. Comparisons drive the most qualified traffic. I'd also add structured comparison data (pricing tables, feature matrices as structured data) from day one, rather than retrofitting it.&lt;/p&gt;

&lt;p&gt;Building a useful directory is less about technology and more about editorial judgment. The scraped directories win on volume; a curated one wins on trust. And in 2026, with AI-generated content flooding every SERP, trust is the only durable moat left.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Check out the full directory at &lt;a href="https://aitoolnavs.com" rel="noopener noreferrer"&gt;aitoolnavs.com&lt;/a&gt; — 39 hand-picked AI tools with real reviews and pricing comparisons.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>tutorial</category>
      <category>programming</category>
    </item>
    <item>
      <title>I Built a Curated AI Tools Directory With Real Comparisons — What Actually Matters</title>
      <dc:creator>dayu2333-jinyul</dc:creator>
      <pubDate>Sun, 28 Jun 2026 04:09:39 +0000</pubDate>
      <link>https://dev.to/dayu2333jinyul/i-built-a-curated-ai-tools-directory-with-real-comparisons-what-actually-matters-3g3e</link>
      <guid>https://dev.to/dayu2333jinyul/i-built-a-curated-ai-tools-directory-with-real-comparisons-what-actually-matters-3g3e</guid>
      <description>&lt;p&gt;Most AI tool directories are just scraped lists with ChatGPT-written descriptions. I built &lt;a href="https://aitoolnavs.com" rel="noopener noreferrer"&gt;aitoolnavs.com&lt;/a&gt; differently — every tool is manually reviewed and compared head-to-head.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Curation Over Scraping
&lt;/h2&gt;

&lt;p&gt;I tested both approaches. Scraping 500+ tools took about 2 hours with a Python script. Writing actual reviews and comparisons for 25 tools took 2 weeks. The scraped list got indexed by Google but bounced visitors in under 10 seconds (I checked GA4). The curated pages kept people for 2+ minutes and generated 3x more return visits.&lt;/p&gt;

&lt;p&gt;Turns out people can tell when you haven not actually used the tool you are reviewing. The specific details matter — things like "the free tier caps at 10 exports per month" or "the UI breaks on Firefox mobile" are signals that a human actually tested this.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Comparison Engine
&lt;/h2&gt;

&lt;p&gt;Each tool page links to comparison pages where two AI tools go side by side:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Feature matrix (does Tool A have custom model training? Does Tool B?)&lt;/li&gt;
&lt;li&gt;Pricing breakdown (free tier limits, pro plan cost, hidden fees)&lt;/li&gt;
&lt;li&gt;Use case fit (best for developers vs best for marketers)&lt;/li&gt;
&lt;li&gt;Integration ecosystem (API availability, Zapier support, native plugins)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These comparison pages are the highest-traffic pages on the site. People do not search for "best AI writing tool" as much as they search for "Jasper vs Copy.ai" or "Claude vs ChatGPT for coding."&lt;/p&gt;

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

&lt;p&gt;Static HTML + vanilla JS on Cloudflare Pages. No database, no CMS, no build step. Each tool comparison page is a static HTML file that loads instantly. The "search" is client-side fuzzy matching against a JSON array of tool metadata.&lt;/p&gt;

&lt;p&gt;This means zero hosting cost, zero maintenance, and 98+ Lighthouse scores across the board. For a directory with ~50 entries, a database is overkill.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Would Do Differently
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;User submissions.&lt;/strong&gt; I would add a form for tool makers to submit their own listings. Right now I add everything manually.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Freshness indicators.&lt;/strong&gt; Users want to know when a review was last updated. Adding "Last reviewed: June 2026" badges increased trust significantly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;API pricing changes.&lt;/strong&gt; AI tool pricing changes constantly. A static site means manual updates. For 50 tools this is fine. For 500, you would want a CMS.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you are building a directory or comparison site, start with the comparison pages — they are where the traffic lives. The main directory listing is secondary.&lt;/p&gt;

&lt;p&gt;Check it out at &lt;a href="https://aitoolnavs.com" rel="noopener noreferrer"&gt;aitoolnavs.com&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>What Actually Happens During an El Niño Winter — A Practical Guide for 2026</title>
      <dc:creator>dayu2333-jinyul</dc:creator>
      <pubDate>Sun, 28 Jun 2026 04:09:29 +0000</pubDate>
      <link>https://dev.to/dayu2333jinyul/what-actually-happens-during-an-el-nino-winter-a-practical-guide-for-2026-i7g</link>
      <guid>https://dev.to/dayu2333jinyul/what-actually-happens-during-an-el-nino-winter-a-practical-guide-for-2026-i7g</guid>
      <description>&lt;p&gt;El Niño winters get a lot of hype, but most people don't understand what they actually mean for real life. After the last major El Niño event (2023-24), I spent time researching the upcoming 2026-27 season and came away with practical insights that go beyond the weather channel soundbites.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 30-Second Version
&lt;/h2&gt;

&lt;p&gt;El Niño is a warming of Pacific Ocean surface water near the equator. It happens every 2-7 years and shifts global weather patterns for 6-12 months. The next significant one is forecast for late 2026, and different regions will feel it very differently.&lt;/p&gt;

&lt;h2&gt;
  
  
  What It Actually Means for Your Winter
&lt;/h2&gt;

&lt;p&gt;If you ski or snowboard, this is the short version: the Sierras and southern Rockies tend to get dumped on during El Niño winters. The Pacific Northwest and Northeast? Not so much. I wrote a &lt;a href="https://elninoguide.com/el-nino-ski-season-2026-2027-forecast" rel="noopener noreferrer"&gt;region-by-region breakdown of what skiers should expect from the 2026-27 El Niño season&lt;/a&gt; if you're planning trips.&lt;/p&gt;

&lt;p&gt;If you're a homeowner, the bigger concern is flood and wind damage. Standard homeowners insurance doesn't cover flood damage — and most people don't realize this until it's too late. El Niño winters in California and the Gulf states mean saturated soil, atmospheric rivers, and a real risk of sewer backup flooding basements. I put together a &lt;a href="https://elninoguide.com/el-nino-home-insurance-guide-2026" rel="noopener noreferrer"&gt;detailed guide on El Niño home insurance gaps&lt;/a&gt; covering what standard policies miss and what riders you actually need.&lt;/p&gt;

&lt;h2&gt;
  
  
  Explaining This to a 10-Year-Old
&lt;/h2&gt;

&lt;p&gt;My kid asked me "why does the ocean getting warmer make it rain more here?" and I realized El Niño is surprisingly hard to explain well. The bathtub analogy works: imagine filling a bathtub with warm water — the steam rises, moves across the room, and condenses on the cold mirror. The Pacific Ocean is the bathtub, and the "steam" is the jet stream shifting south and getting stronger, pushing storms into California and the southern US. If you need a &lt;a href="https://elninoguide.com/el-nino-explained-for-kids-students" rel="noopener noreferrer"&gt;simple El Niño explainer for kids or students&lt;/a&gt;, I wrote one with monitoring technology (buoys + satellites) and a comparison with La Niña.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Matters More Than Before
&lt;/h2&gt;

&lt;p&gt;El Niño events aren't getting more frequent, but their impacts are getting more expensive. More people living in coastal and wildfire-adjacent areas. Aging infrastructure. Insurance markets pulling out of high-risk states. Understanding what's coming isn't just interesting — it's practical risk management.&lt;/p&gt;

&lt;p&gt;The good news: we can see these events coming 6-9 months in advance. NOAA's tropical Pacific buoy array gives real-time data, and seasonal forecast models have gotten remarkably good. If you're in an affected region, you have time to prepare. That's the whole point of understanding this stuff.&lt;/p&gt;

</description>
      <category>climate</category>
      <category>science</category>
      <category>weather</category>
      <category>guide</category>
    </item>
    <item>
      <title>I Tracked My Body Fat for 90 Days and Built a Calculator That Actually Makes Sense</title>
      <dc:creator>dayu2333-jinyul</dc:creator>
      <pubDate>Sun, 28 Jun 2026 03:25:50 +0000</pubDate>
      <link>https://dev.to/dayu2333jinyul/i-tracked-my-body-fat-for-90-days-and-built-a-calculator-that-actually-makes-sense-46f7</link>
      <guid>https://dev.to/dayu2333jinyul/i-tracked-my-body-fat-for-90-days-and-built-a-calculator-that-actually-makes-sense-46f7</guid>
      <description>&lt;p&gt;For three months, I weighed myself every morning and took body measurements every Sunday. I used a caliper, a tape measure, and a scale that probably lies to me about hydration levels.&lt;/p&gt;

&lt;p&gt;The goal wasn't to get ripped. It was to understand whether any of these measurements actually mean something day to day.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem With Most Health Calculators
&lt;/h2&gt;

&lt;p&gt;Most body fat calculators fall into one of two camps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Too simple&lt;/strong&gt; — plug in height and weight, get a BMI number that tells you nothing about your actual composition.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Too complicated&lt;/strong&gt; — requires measurements you need a degree to take correctly, plus an email signup and a paid subscription.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Neither is useful for someone who just wants to know "am I making progress?"&lt;/p&gt;

&lt;h2&gt;
  
  
  Building Something Practical
&lt;/h2&gt;

&lt;p&gt;I put together a calculator that uses the Navy Method — it takes neck, waist, and hip measurements and estimates body fat percentage. The math has been around since the 80s and correlates reasonably well with DEXA scans for most people:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;navyBodyFat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;gender&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;neck&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;waist&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;hip&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;height&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;gender&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;male&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="k"&gt;return&lt;/span&gt; &lt;span class="mf"&gt;86.010&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log10&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;waist&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;neck&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;
           &lt;span class="mf"&gt;70.041&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log10&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;height&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mf"&gt;36.76&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mf"&gt;163.205&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log10&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;waist&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;hip&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;neck&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;
         &lt;span class="mf"&gt;97.684&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log10&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;height&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mf"&gt;78.387&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The inputs are simple enough that anyone can take them with a tape measure. The output gives you a ballpark number that's consistent enough to track trends over time.&lt;/p&gt;

&lt;h2&gt;
  
  
  What 90 Days of Data Taught Me
&lt;/h2&gt;

&lt;p&gt;Three things stood out:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Daily weight is useless; weekly trend is everything.&lt;/strong&gt; My weight would swing 2-3 pounds daily due to water, food, and sleep. The weekly moving average was the only signal worth watching.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Body fat percentage changes slowly.&lt;/strong&gt; Like, frustratingly slowly. In 90 days of consistent training, I moved maybe 2%. But that's real — if a calculator tells you you dropped 5% body fat in a month, it's broken.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Consistency beats precision.&lt;/strong&gt; Taking measurements at the same time, under the same conditions, with the same method matters more than which formula you use.&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;The calculator I built is at &lt;a href="https://bodycalctool.com" rel="noopener noreferrer"&gt;bodycalctool.com&lt;/a&gt;. It includes BMI, body fat estimation, and a few other health metrics. No frills, no accounts — just input fields and numbers.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>health</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Forza Horizon 6: What's Actually Different From FH5 (And What's Just Hype)</title>
      <dc:creator>dayu2333-jinyul</dc:creator>
      <pubDate>Sun, 28 Jun 2026 03:25:31 +0000</pubDate>
      <link>https://dev.to/dayu2333jinyul/forza-horizon-6-whats-actually-different-from-fh5-and-whats-just-hype-flm</link>
      <guid>https://dev.to/dayu2333jinyul/forza-horizon-6-whats-actually-different-from-fh5-and-whats-just-hype-flm</guid>
      <description>&lt;p&gt;I've put about 60 hours into Forza Horizon 6 since launch, and I've seen a lot of takes that miss the point. Here's what actually matters.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Map: Germany vs. Mexico
&lt;/h2&gt;

&lt;p&gt;FH5 gave us a beautiful but somewhat monotonous Mexico — lots of desert, some jungle, a volcano. FH6 moves to Germany, and the variety is night and day. Dense forests, autobahn sections, medieval towns with actual narrow streets that force different driving lines, and the Nürburgring Nordschleife integrated into the open world.&lt;/p&gt;

&lt;p&gt;The big change isn't just scenery — it's road design. FH5 had long, sweeping corners that favored power builds. FH6 has technical sections that reward handling setups. If you're coming from FH5 with a garage full of 1500hp hypercars, you're going to struggle on the Black Forest roads. I wrote a &lt;a href="https://fh6wiki.com/fh6-vs-fh5" rel="noopener noreferrer"&gt;detailed FH6 vs FH5 comparison&lt;/a&gt; covering the physics engine changes, car list differences (630 vs 530), and whether the upgrade is actually worth it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Festival Playlist System
&lt;/h2&gt;

&lt;p&gt;FH6 revamped the weekly challenges. The Festival Playlist now has 8 different challenge types — PR Stunts, EventLab races, Championships, Playground Games, Photo Challenges, Treasure Hunts, Monthly Rivals, and Trials. Each awards different points toward the weekly car rewards.&lt;/p&gt;

&lt;p&gt;The optimization meta has shifted. A 20-point car takes about 90 minutes of focused play. The 40-point car is 2-3 hours. The 160-point series reward is spread across 4 weeks at roughly 3-4 hours per week. If you're grinding efficiently, you want to prioritize Trial events (10 points each, fastest completion) and skip Playground Games unless you have a coordinated group. I put together a &lt;a href="https://fh6wiki.com/seasonal-playlist" rel="noopener noreferrer"&gt;complete Festival Playlist optimization guide&lt;/a&gt; with point breakdowns and time estimates for every challenge type.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tuning After the Tire Model Change
&lt;/h2&gt;

&lt;p&gt;FH6 introduced a new tire model that changed how grip works at the limit. The old FH5 tunes are mostly obsolete — cars that handled perfectly in FH5 now understeer on corner entry or snap-oversteer on exit in FH6.&lt;/p&gt;

&lt;p&gt;The new meta: S2 class is dominated by the Koenigsegg Jesko with specific downforce settings. S1 road racing is the Porsche 911 GT3 RS (2023). A class all-rounders lean on the Subaru WRX STI. For drifting, the Formula Drift 370Z is still king but requires a completely different alignment setup than FH5. I've been &lt;a href="https://fh6wiki.com/tuning-setups-share-codes" rel="noopener noreferrer"&gt;collecting and testing share codes for S2 through B class&lt;/a&gt; with tuner credits and spec sheets for each build.&lt;/p&gt;

&lt;h2&gt;
  
  
  Should You Buy It?
&lt;/h2&gt;

&lt;p&gt;If you're into the physics and online racing: yes, the tire model alone makes it worth it. If you're a solo player who already owns FH5: wait for a sale, the content volume is similar. If FH5 didn't click for you: FH6 won't change your mind — it's an evolution, not a revolution.&lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>webdev</category>
      <category>tutorial</category>
      <category>javascript</category>
    </item>
    <item>
      <title>I Built a Free AI Grammar Checker That Runs Entirely in the Browser</title>
      <dc:creator>dayu2333-jinyul</dc:creator>
      <pubDate>Sun, 28 Jun 2026 03:25:16 +0000</pubDate>
      <link>https://dev.to/dayu2333jinyul/i-built-a-free-ai-grammar-checker-that-runs-entirely-in-the-browser-129h</link>
      <guid>https://dev.to/dayu2333jinyul/i-built-a-free-ai-grammar-checker-that-runs-entirely-in-the-browser-129h</guid>
      <description>&lt;h1&gt;
  
  
  I Built a Free AI Grammar Checker That Runs Entirely in the Browser
&lt;/h1&gt;

&lt;p&gt;A few months ago I got tired of copy-pasting my writing between five different tools — Grammarly for grammar, Hemingway for readability, some word counter for stats. So I built &lt;a href="https://grammaraicheck.com/" rel="noopener noreferrer"&gt;AI Grammar Checker&lt;/a&gt; — a single tool that does all of that in one shot, for free, with no signup.&lt;/p&gt;

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

&lt;p&gt;You paste English text, hit check, and get back:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Sentence-by-sentence grammar corrections&lt;/strong&gt; with explanations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Style polish&lt;/strong&gt; — passive voice, weak adverbs, wordy phrases flagged&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flesch readability score&lt;/strong&gt; so you know if your text is actually readable&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hemingway-style highlights&lt;/strong&gt; — hard sentences, very hard sentences, adverb count&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CEFR level&lt;/strong&gt; (A1–C2) so non-native speakers know where they stand&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tone detection&lt;/strong&gt; — formal, casual, neutral&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All client-side except the AI check call. No server stores your text.&lt;/p&gt;

&lt;h2&gt;
  
  
  The stack is stupidly simple
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;HTML + vanilla JS + CSS
↓
DeepSeek API (OpenAI-compatible, $0.27/million tokens)
↓
Result rendered directly in the DOM
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No React. No Next.js. No build step. Just &lt;code&gt;app.js&lt;/code&gt;, &lt;code&gt;style.css&lt;/code&gt;, and &lt;code&gt;index.html&lt;/code&gt;. The "backend" is a tiny Cloudflare Worker that proxies the DeepSeek API call so the API key stays server-side.&lt;/p&gt;

&lt;p&gt;Here's roughly how the grammar check works:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;runGrammarCheck&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;text&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;intensity&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;systemPrompt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`You are a professional English editor.
Analyze the text sentence by sentence.
For each issue, return: original text, corrected text, explanation.
Also return: readability score, CEFR level, tone.`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;response&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;/api/deepseek&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="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="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Content-Type&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;application/json&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="na"&gt;body&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
      &lt;span class="na"&gt;model&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;deepseek-chat&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;messages&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="na"&gt;role&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;system&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;systemPrompt&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;role&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;user&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;text&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
      &lt;span class="p"&gt;],&lt;/span&gt;
      &lt;span class="na"&gt;temperature&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.3&lt;/span&gt;
    &lt;span class="p"&gt;})&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;

  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;response&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="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The intensity slider is the interesting bit — it adjusts the system prompt to be more or less aggressive about suggesting changes. At low intensity it only flags actual errors. At high intensity it rewrites for style too.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why DeepSeek over OpenAI
&lt;/h2&gt;

&lt;p&gt;Three reasons:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Cost.&lt;/strong&gt; DeepSeek is roughly 1/10th the price of GPT-4o for comparable quality on grammar tasks. At the free tier usage levels, my API bill is literally under $2/month.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Quality on structured output.&lt;/strong&gt; I tested both on the same 50-sample test set (emails, essays, blog posts). DeepSeek caught 91% of errors vs GPT-4o's 93%. The 2% gap isn't worth 10x the cost.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;No content moderation false positives.&lt;/strong&gt; This is the one nobody talks about. OpenAI's moderation API sometimes flags academic writing about medical or legal topics. DeepSeek just checks the grammar.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What I'd do differently
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Offline mode.&lt;/strong&gt; The Hemingway stats (passive voice, reading time, word count) are computed locally. The grammar check needs the API. I'd like to bundle a small on-device model via WebLLM eventually.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Better mobile UX.&lt;/strong&gt; The tool works on mobile but the text area + results layout isn't great on narrow screens. Bootstrap or Tailwind would've helped but I wanted zero dependencies.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;API key flow.&lt;/strong&gt; Right now users bring their own DeepSeek key. New DeepSeek users get 5M free tokens, which covers a LOT of grammar checks. But the UX of pasting an API key is friction. Considering a free tier with a shared key + rate limiting.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;→ &lt;a href="https://grammaraicheck.com/" rel="noopener noreferrer"&gt;grammaraicheck.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Completely free, no signup, no email. If you write in English regularly — especially if you're a non-native speaker — I'd love feedback on what's missing.&lt;/p&gt;

&lt;p&gt;Also have a comparison page if you're curious how it stacks up against Grammarly, ProWritingAid, and others: &lt;a href="https://grammaraicheck.com/best-ai-grammar-checkers/" rel="noopener noreferrer"&gt;Best AI Grammar Checkers 2026&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>tutorial</category>
      <category>programming</category>
    </item>
    <item>
      <title>Arms of God — Tips I Wish I Knew Before Starting (Acts 1-4 Survival Guide)</title>
      <dc:creator>dayu2333-jinyul</dc:creator>
      <pubDate>Fri, 26 Jun 2026 07:02:44 +0000</pubDate>
      <link>https://dev.to/dayu2333jinyul/arms-of-god-tips-i-wish-i-knew-before-starting-acts-1-4-survival-guide-5ek4</link>
      <guid>https://dev.to/dayu2333jinyul/arms-of-god-tips-i-wish-i-knew-before-starting-acts-1-4-survival-guide-5ek4</guid>
      <description>&lt;p&gt;I have been no-lifing Arms of God since early access dropped and figured I would dump everything I have learned after way too many deaths. This is not your typical "here is what the buttons do" guide — it is the stuff the game does not tell you.&lt;/p&gt;




&lt;h2&gt;
  
  
  AoG vs Vampire Survivors — Which Should You Play?
&lt;/h2&gt;

&lt;p&gt;They are pretty different despite both being in the same genre. VS is more chill, pixel art, you just kinda zone out and numbers go brrr. AoG is way more aggressive — it is like Doom Eternal had a baby with a bullet heaven. You are dodging &lt;strong&gt;constantly&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The big difference is the &lt;strong&gt;5-weapon system&lt;/strong&gt;. In VS you evolve 2 weapons max. In AoG you are running 1 primary + 4 secondaries all firing at the same time, and you can fuse them into these insane &lt;em&gt;Sacred Arms&lt;/em&gt; combos. The build depth is honestly way higher.&lt;/p&gt;

&lt;p&gt;Also the blessing system replaces the standard level-up screen. You collect souls from kills and spend them at this prayer cross thing before a timer runs out. Adds this risk/reward layer that VS does not have — do you spend now or greed for more souls and risk the cross eating them?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; Want relaxing number-go-up? Stick with VS. Want to sweat and feel like a demon-slaying maniac? AoG is the one.&lt;/p&gt;




&lt;h2&gt;
  
  
  Stuck on Act 3? Here is Your Blessing Priority
&lt;/h2&gt;

&lt;p&gt;Act 3 is a wall for everyone. I was stuck there for like 6 runs before it clicked. The enemy density spikes hard around wave 8 and the desecration debuffs start stacking if you do not have the right damage types.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Biggest thing that helped me:&lt;/strong&gt; stop spreading your blessing points evenly.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Early game (waves 1-7):&lt;/strong&gt; Go all-in on &lt;strong&gt;move speed&lt;/strong&gt; and &lt;strong&gt;pickup range&lt;/strong&gt;. You need at least +25% move speed by wave 5 or you literally cannot outrun the swarm in wave 8.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mid game (waves 8-11):&lt;/strong&gt; Pivot to &lt;strong&gt;damage&lt;/strong&gt; and &lt;strong&gt;crit&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Late game (wave 12+):&lt;/strong&gt; Now you can touch HP blessings. The scaling is terrible unless you already have the Cathedral statue upgrades for it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Hidden tip:&lt;/strong&gt; The Holy Water environment hazards in Act 3 are not just set dressing. If you drag enemies through them with a fire-type weapon equipped, you proc bonus damage. Took me way too long to figure that out.&lt;/p&gt;




&lt;h2&gt;
  
  
  Weapon Fusion Combos That Actually Work
&lt;/h2&gt;

&lt;p&gt;The fusion system is lowkey the best part of the game but it is not explained at all in-game. Here is what I have found:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Fusion&lt;/th&gt;
&lt;th&gt;Recipe&lt;/th&gt;
&lt;th&gt;Why It Is Good&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Judgment Blade&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Chainsword + Holy Hammer&lt;/td&gt;
&lt;td&gt;AOE knockback + desecration stack. Clears your immediate area every 3 seconds. Insane for Acts 3/4.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Infernal Barrage&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Twin Pistols + Fire Upgrade Module&lt;/td&gt;
&lt;td&gt;Melts bosses but leaves you vulnerable between volleys — compensate with move speed blessings.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Totem + Spell Weapon&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Totem + Any Spell Weapon&lt;/td&gt;
&lt;td&gt;Hidden synergy: the totem auto-casts the spell instead of its default shockwave. Completely changes positioning.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Trap to avoid:&lt;/strong&gt; Do not fuse weapons before wave 5. You lose the raw DPS from having 5 separate weapons firing and the fused version does not scale enough early game to make up for it. Wait until you have at least 3 upgrade modules on each weapon first.&lt;/p&gt;

&lt;p&gt;Still trying to figure out the Crossbow + Mechanical Arm combo — if anyone has cracked that one, drop it in the comments.&lt;/p&gt;




&lt;h2&gt;
  
  
  New to Bullet Heaven? Start Here
&lt;/h2&gt;

&lt;p&gt;Vampire Survivors is the classic answer and for good reason — it is cheap, runs on a potato, and teaches you the genre fundamentals without being overwhelming. Start there.&lt;/p&gt;

&lt;p&gt;That said, if VS feels too slow or you want something with more going on mechanically, Arms of God is a solid entry point too. Same auto-attack core loop but way more build variety and the 3D visuals are pretty sick — very Doom-inspired. The demo is free and carries progress to the full game, so zero risk to try it. First 2 acts are in the demo which is easily 5-6 hours of content.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;One thing I wish someone told me:&lt;/strong&gt; Your first few runs in ANY bullet heaven are gonna feel impossible. That is normal. The meta-progression (permanent upgrades between runs) is like 40% of your power. Do not judge a game by your first 3 runs.&lt;/p&gt;

&lt;p&gt;Also if you have Game Pass, Brotato is on there and it is fantastic for short sessions.&lt;/p&gt;




&lt;h2&gt;
  
  
  Act 4 Final Boss — Not Impossible, Just Overtuned
&lt;/h2&gt;

&lt;p&gt;I bashed my head against this for like 8 attempts before I realized what I was doing wrong.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The key mechanic the game does not explain:&lt;/strong&gt; The boss has a desecration shield that regenerates if you do not hit it with the right damage type.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Phase 1:&lt;/strong&gt; You need &lt;strong&gt;holy damage&lt;/strong&gt; (white numbers) to break the shield&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Phase 2:&lt;/strong&gt; It switches to &lt;strong&gt;infernal damage&lt;/strong&gt; (red numbers)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you are running all physical weapons, you literally cannot break the shield in phase 2 and the fight becomes unwinnable. You &lt;strong&gt;need&lt;/strong&gt; a hybrid loadout.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My clear setup:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Judgment Blade (holy)&lt;/li&gt;
&lt;li&gt;Infernal Barrage (fire)&lt;/li&gt;
&lt;li&gt;2 utility weapons for mob clear&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The adds during phase 3 are honestly more dangerous than the boss itself — they body-block your dodge roll.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Other must-haves:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bell Tower upgrade that reduces dash cooldown (without it the phase 3 AOE patterns are undodgeable)&lt;/li&gt;
&lt;li&gt;Save your active ability for the cross-shaped laser attack — that is your only safe burst window&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Took me 12 tries total. You got this.&lt;/p&gt;




&lt;h2&gt;
  
  
  More Resources
&lt;/h2&gt;

&lt;p&gt;I put together a more detailed guide with act-by-act breakdowns, all blessing tier lists, and the full weapon fusion chart: &lt;strong&gt;&lt;a href="https://guide-arms-of-god.pages.dev" rel="noopener noreferrer"&gt;Arms of God Complete Guide&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Game is still in early access so the meta is evolving fast. Drop your own discoveries in the comments — especially if you have figured out any fusions I missed.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Posted by a guy who died 40+ times so you do not have to.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>gaming</category>
      <category>gamedev</category>
      <category>tutorial</category>
      <category>indiegames</category>
    </item>
    <item>
      <title>I Built an AI Logo Generator — Here Is What Actually Works vs What Does Not</title>
      <dc:creator>dayu2333-jinyul</dc:creator>
      <pubDate>Fri, 26 Jun 2026 06:16:48 +0000</pubDate>
      <link>https://dev.to/dayu2333jinyul/i-built-an-ai-logo-generator-here-is-what-actually-works-vs-what-does-not-4pj0</link>
      <guid>https://dev.to/dayu2333jinyul/i-built-an-ai-logo-generator-here-is-what-actually-works-vs-what-does-not-4pj0</guid>
      <description>&lt;h1&gt;
  
  
  I Built an AI Logo Generator
&lt;/h1&gt;

&lt;p&gt;Four months ago I set out to build &lt;a href="https://aielogo.com/" rel="noopener noreferrer"&gt;AI Logo Generator&lt;/a&gt;. Not another "type a prompt, get a logo" clone — I wanted something that produced logos people would actually use.&lt;/p&gt;

&lt;h2&gt;
  
  
  What works: style-constrained generation
&lt;/h2&gt;

&lt;p&gt;The biggest problem with AI logo generators is that they give you an image, not a logo. A logo needs to work at 32×32, 200×200, and on a white background.&lt;/p&gt;

&lt;p&gt;My approach: Stable Diffusion with post-processing, color palette simplification (max 3 colors), mandatory background removal, and SVG conversion.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A good logo is a good silhouette first.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What sort of works: style selection
&lt;/h2&gt;

&lt;p&gt;8-10 style presets dramatically improve output quality vs free-form prompting. Users who type "cool gaming logo" get garbage. Users who pick "Geometric + Bold Colors" get usable stuff.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does not work: one-shot generation
&lt;/h2&gt;

&lt;p&gt;Almost zero AI logos come out perfect on the first try. My initial UI was "prompt → logo → download" — virtually nobody downloaded. The current version generates 4 thumbnails, lets you pick, then refine. This doubled time on site and tripled download rate.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I would tell someone building this today
&lt;/h2&gt;

&lt;p&gt;Focus on post-generation editing, not the image model. Everyone has access to the same AI models. The differentiation is in how easy you make it to go from "cool AI image" to "actual usable logo."&lt;/p&gt;

&lt;p&gt;→ &lt;a href="https://aielogo.com/" rel="noopener noreferrer"&gt;aielogo.com&lt;/a&gt; — free, no signup needed for first 5 logos&lt;/p&gt;

</description>
      <category>design</category>
      <category>ai</category>
      <category>saas</category>
      <category>sideprojects</category>
    </item>
    <item>
      <title>5 Free Financial Calculators I Built That I Actually Use Every Month</title>
      <dc:creator>dayu2333-jinyul</dc:creator>
      <pubDate>Fri, 26 Jun 2026 06:16:35 +0000</pubDate>
      <link>https://dev.to/dayu2333jinyul/5-free-financial-calculators-i-built-that-i-actually-use-every-month-15bb</link>
      <guid>https://dev.to/dayu2333jinyul/5-free-financial-calculators-i-built-that-i-actually-use-every-month-15bb</guid>
      <description>&lt;h1&gt;
  
  
  5 Free Financial Calculators I Built That I Actually Use Every Month
&lt;/h1&gt;

&lt;p&gt;I built &lt;a href="https://financalcai.com/" rel="noopener noreferrer"&gt;FinCalc AI&lt;/a&gt; after realizing I was maintaining the same Excel spreadsheets for years — mortgage amortization, compound interest projections, retirement math. Every time I wanted to run a scenario I would open a spreadsheet, tweak a cell, realize I broke a formula, and start over.&lt;/p&gt;

&lt;p&gt;So I built calculator versions that live in the browser and handle the edge cases I kept tripping on.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Mortgage Calculator
&lt;/h2&gt;

&lt;p&gt;Most online mortgage calculators give you a monthly payment and call it done. The useful ones show you the full amortization schedule — how much goes to principal vs interest every single month over 30 years.&lt;/p&gt;

&lt;p&gt;The thing that surprised me: &lt;strong&gt;bi-weekly payments.&lt;/strong&gt; If you pay half your mortgage every two weeks instead of the full amount once a month, you make 26 half-payments per year = 13 full payments. On a $400K mortgage at 6.5%, that shaves 4-5 years off the loan and saves ~$65K in interest. Most people do not know this.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Compound Interest Calculator
&lt;/h2&gt;

&lt;p&gt;The "boring but important" one. Input: starting amount, monthly contribution, interest rate, time horizon. Output: total balance, total contributions, total interest earned.&lt;/p&gt;

&lt;p&gt;The eye-opening scenario: $500/month invested at 7% for 30 years = ~$610K. But wait just 5 more years to start? Now it is only ~$440K. That 5-year delay costs $170K. I added a "cost of waiting" line to the output because seeing that number is what actually motivates people to start.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Retirement Calculator
&lt;/h2&gt;

&lt;p&gt;This one required the most research. The 4% rule is the standard but it is based on US market data from 1926-1995. I built in a Monte Carlo simulation mode that runs 1,000 random market scenarios instead of assuming a flat 7% return every year.&lt;/p&gt;

&lt;p&gt;The sobering finding: the 4% rule has a ~5% failure rate over 30-year retirements. At 5% withdrawal, the failure rate jumps to ~25%.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. ROI Calculator
&lt;/h2&gt;

&lt;p&gt;Simple but the one I use for evaluating side projects. Input your costs (time + money) and expected returns, get payback period and annualized ROI. The trick: it forces you to value your time at a real hourly rate, not $0.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Debt Payoff Calculator
&lt;/h2&gt;

&lt;p&gt;Snowball vs avalanche comparison. Avalanche (highest interest first) is mathematically optimal. Snowball (smallest balance first) works better psychologically. Showing both side by side lets people see the actual dollar difference — usually $200-500 over the life of the debt.&lt;/p&gt;

&lt;p&gt;→ All free at &lt;a href="https://financalcai.com/" rel="noopener noreferrer"&gt;financalcai.com&lt;/a&gt;. No signup, no email, works on mobile.&lt;/p&gt;

</description>
      <category>fintech</category>
      <category>webdev</category>
      <category>tools</category>
      <category>javascript</category>
    </item>
    <item>
      <title>I Built a Body Health Calculator Suite — BMI Made Me Do It</title>
      <dc:creator>dayu2333-jinyul</dc:creator>
      <pubDate>Fri, 26 Jun 2026 06:16:09 +0000</pubDate>
      <link>https://dev.to/dayu2333jinyul/i-built-a-body-health-calculator-suite-bmi-made-me-do-it-26ph</link>
      <guid>https://dev.to/dayu2333jinyul/i-built-a-body-health-calculator-suite-bmi-made-me-do-it-26ph</guid>
      <description>&lt;h1&gt;
  
  
  I Built a Body Health Calculator Suite — BMI Made Me Do It
&lt;/h1&gt;

&lt;p&gt;BMI is a terrible metric and I am tired of pretending it is not. It was invented in the 1830s by a Belgian mathematician studying population averages, not individual health. It does not distinguish between muscle and fat. It does not account for body composition, frame size, or where you carry your weight.&lt;/p&gt;

&lt;p&gt;So I built &lt;a href="https://bodycalctool.com/" rel="noopener noreferrer"&gt;BodyCalc Tool&lt;/a&gt; — calculators that actually tell you something useful.&lt;/p&gt;

&lt;h2&gt;
  
  
  Body Fat Calculator
&lt;/h2&gt;

&lt;p&gt;Uses the US Navy method (neck + waist + height for men, + hips for women). This method has been validated in multiple studies and correlates closely with DEXA scan results. More importantly, it is measurable at home with a $2 tape measure.&lt;/p&gt;

&lt;p&gt;I originally tried to integrate bioelectrical impedance formulas from smart scales, but the accuracy varies so wildly between devices that it was not worth it. The Navy method is old but at least it is consistent.&lt;/p&gt;

&lt;h2&gt;
  
  
  TDEE Calculator
&lt;/h2&gt;

&lt;p&gt;Total Daily Energy Expenditure using the Mifflin-St Jeor equation, with activity multipliers from sedentary to athlete.&lt;/p&gt;

&lt;p&gt;The activity multiplier is where most calculators get sloppy. "Moderate exercise 3-5 days/week" means different things to different people. I added concrete examples: "Moderate = you break a sweat and breathe harder but can talk. Example: 30 min jog at 6mph."&lt;/p&gt;

&lt;h2&gt;
  
  
  Waist-to-Hip Ratio
&lt;/h2&gt;

&lt;p&gt;A better cardiovascular risk predictor than BMI. Ratio &amp;gt; 0.90 (men) or &amp;gt; 0.85 (women) correlates with higher heart disease risk even if BMI is "normal." Most people have never measured this.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ideal Weight + Protein Calculators
&lt;/h2&gt;

&lt;p&gt;Ideal weight uses four formulas (Robinson, Miller, Devine, Hamwi) and shows the range — no single formula is "right." Protein calculator uses the research-backed 0.8g/kg to 2.2g/kg range based on activity level.&lt;/p&gt;

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

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;People want context, not numbers.&lt;/strong&gt; A raw body fat percentage means nothing without knowing what is healthy for your age and gender.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Imperial + metric is non-negotiable.&lt;/strong&gt; Half my users are American (lbs/inches), half international (kg/cm).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Privacy matters.&lt;/strong&gt; All calculations happen in the browser. Nothing stored server-side.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;→ &lt;a href="https://bodycalctool.com/" rel="noopener noreferrer"&gt;bodycalctool.com&lt;/a&gt; — all calculators free, no signup&lt;/p&gt;

</description>
      <category>health</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>sideprojects</category>
    </item>
  </channel>
</rss>
