<?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: Jason Guo</title>
    <description>The latest articles on DEV Community by Jason Guo (@jasonguo).</description>
    <link>https://dev.to/jasonguo</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%2F3428797%2Fd645b7cf-ad0f-4d03-9fe1-ef243ee8d217.png</url>
      <title>DEV Community: Jason Guo</title>
      <link>https://dev.to/jasonguo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jasonguo"/>
    <language>en</language>
    <item>
      <title>I built an old-photo colorizer on Cloudflare Workers + fal.ai: what worked and what bit me</title>
      <dc:creator>Jason Guo</dc:creator>
      <pubDate>Thu, 01 Oct 2026 14:26:23 +0000</pubDate>
      <link>https://dev.to/jasonguo/i-built-an-old-photo-colorizer-on-cloudflare-workers-falai-what-worked-and-what-bit-me-29e</link>
      <guid>https://dev.to/jasonguo/i-built-an-old-photo-colorizer-on-cloudflare-workers-falai-what-worked-and-what-bit-me-29e</guid>
      <description>&lt;p&gt;&lt;em&gt;Disclosure: I'm the maker of the site below.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I recently launched &lt;a href="https://colorizeoldphotos.com" rel="noopener noreferrer"&gt;Colorize Old Photos&lt;/a&gt;, a small web app that colorizes black and white photos and repairs scratches, creases and fading. You get a free watermarked preview; full-resolution downloads use one-time credit packs (no subscription). This post is a short write-up of the stack and the things that surprised me.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Next.js 16 (App Router)&lt;/strong&gt; deployed to &lt;strong&gt;Cloudflare Workers&lt;/strong&gt; with OpenNext&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;D1&lt;/strong&gt; for accounts, credits, jobs and rate limits; &lt;strong&gt;R2&lt;/strong&gt; for uploads and results (1-day lifecycle rule)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cloudflare Images&lt;/strong&gt; binding for the watermarked 720px preview&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;fal.ai&lt;/strong&gt; for the models: &lt;code&gt;fal-ai/ddcolor&lt;/code&gt; for colorizing, &lt;code&gt;fal-ai/nano-banana-2/edit&lt;/code&gt; at 2K for restoration&lt;/li&gt;
&lt;li&gt;PayPal Orders v2 + webhook for payments, Google OAuth and email magic links for login&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  1. Workers can't wait for a slow model
&lt;/h2&gt;

&lt;p&gt;A cold DDColor start on fal can take about 90 seconds, and a Worker request can't just sit there. I ended up with a &lt;strong&gt;poll-driven job flow&lt;/strong&gt;: the client submits, the server stores the job and returns an id, and each poll asks fal for the status and advances the job. No background task has to outlive the request.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Models: the cheap ones didn't fix damage
&lt;/h2&gt;

&lt;p&gt;I tested a damaged copy of a public-domain Library of Congress photo. The "standard" tier (CodeFormer + DDColor) colorizes fine but doesn't remove scratches or creases, and CodeFormer smooths faces. An image-editing model (nano-banana-2) was the only option that both cleaned the damage and stayed faithful to the original. So colorize-only uses DDColor, and anything involving restoration uses the editing model.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. "Deleted within 24 hours" wasn't true until I set a header
&lt;/h2&gt;

&lt;p&gt;My privacy page promised uploads are deleted within 24 hours. R2 handled my copy, but fal keeps generated media &lt;strong&gt;indefinitely&lt;/strong&gt; unless each request sets an object lifecycle preference header. I now send &lt;code&gt;X-Fal-Object-Lifecycle-Preference&lt;/code&gt; with a 3600 second expiry on every submit and verified that the file really stops being served. If you promise deletion, check your providers' copies too.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Free previews need a hard cost cap
&lt;/h2&gt;

&lt;p&gt;Anyone can upload a photo for a free preview, so I added a &lt;strong&gt;daily USD budget cap&lt;/strong&gt;, per-IP, per-subnet and per-device rate limits (fixed windows in D1), Turnstile, and an upload moderation step. It's cheap insurance against someone scripting the free tier.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Small things
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Cloudflare Images can't decode HEIC, so iPhone photos are converted client-side first.&lt;/li&gt;
&lt;li&gt;NEXT_PUBLIC_* variables must be &lt;em&gt;build&lt;/em&gt; variables on Workers Builds, not runtime ones.&lt;/li&gt;
&lt;li&gt;Dashboard-only vars get wiped by &lt;code&gt;wrangler deploy&lt;/code&gt; unless you set &lt;code&gt;keep_vars: true&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you try it, I'd genuinely like feedback on the before/after quality, especially faces: &lt;a href="https://colorizeoldphotos.com" rel="noopener noreferrer"&gt;colorizeoldphotos.com&lt;/a&gt;. Happy to answer questions about any part of the stack.&lt;/p&gt;

</description>
      <category>cloudflare</category>
      <category>nextjs</category>
      <category>ai</category>
      <category>showdev</category>
    </item>
    <item>
      <title>AI Governance Moves to Courts, Tests, and Public Infrastructure | WindFlash Daily</title>
      <dc:creator>Jason Guo</dc:creator>
      <pubDate>Sat, 26 Sep 2026 07:07:52 +0000</pubDate>
      <link>https://dev.to/jasonguo/ai-governance-moves-to-courts-tests-and-public-infrastructure-windflash-daily-ekh</link>
      <guid>https://dev.to/jasonguo/ai-governance-moves-to-courts-tests-and-public-infrastructure-windflash-daily-ekh</guid>
      <description>&lt;p&gt;On September 25, a U.S. appeals court upheld the Pentagon’s decision to designate Anthropic a supply-chain risk. The 2–1 ruling makes a company’s limits on how its model may be used part of a live procurement dispute. In a different setting, Microsoft has packaged agent threat discovery, policy generation, and repeat testing into one open-source workflow; its published billing-agent example reduced a measured disclosure rate from 30% to 5.9%, though the test was small and company-run.&lt;/p&gt;

&lt;p&gt;These developments put a practical question ahead of the usual capability race: who defines an AI system’s boundaries, and how can those limits be checked? A new paper finds that most of the tested coding-agent harnesses let agents delete their own logs. Meanwhile, the Dutch DAWO community is building a government workplace from inspectable, replaceable components rather than a single vendor product. Courts, independent records, repeatable tests, and public infrastructure are different answers to the same trust problem.&lt;/p&gt;

&lt;p&gt;The engineering underneath still matters. Go’s experimental portable SIMD interface aims to make vectorized code easier to carry across processor families, and AWS reports a 40% increase in rollout throughput for one distributed reinforcement-learning setup. But Oracle’s New Mexico data-center project shows that planned compute is not usable compute: power and permitting delays can become financing obligations before servers ever run. Together, the stories point to a less glamorous measure of AI progress—whether its systems can be governed, verified, and supplied with dependable infrastructure.&lt;br&gt;
&lt;a href="https://windflash.us/daily-report/en/2026-09-26" rel="noopener noreferrer"&gt;Windflash AI Daily&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>security</category>
    </item>
    <item>
      <title>Cheaper Frontier Models, Bigger Stakes for AI's Next Phase | WindFlash Daily</title>
      <dc:creator>Jason Guo</dc:creator>
      <pubDate>Wed, 23 Sep 2026 08:46:31 +0000</pubDate>
      <link>https://dev.to/jasonguo/cheaper-frontier-models-bigger-stakes-for-ais-next-phase-windflash-daily-3a2h</link>
      <guid>https://dev.to/jasonguo/cheaper-frontier-models-bigger-stakes-for-ais-next-phase-windflash-daily-3a2h</guid>
      <description>&lt;p&gt;The newest model releases are making frontier capability cheaper at the same time that companies and governments are being asked to account for how it is built and used. OpenAI’s GPT-6 Sol and Luna put sharply different API prices on the table; Anthropic says Opus 5.5 matches Fable 5.1 on most work at 40% lower run cost. Those claims are not directly comparable, but they show cost becoming a headline feature alongside intelligence.&lt;/p&gt;

&lt;p&gt;That price pressure meets a much larger infrastructure bet. Alibaba has announced a domestic accelerator and a plan for a five-to-ten-trillion-parameter model, while Google and the Gates Foundation are proposing a different kind of scale: climate and crop support for 200 million smallholder farmers. One is a compute race; the other asks whether AI services can reach people for whom data and local conditions matter more than leaderboard rank.&lt;/p&gt;

&lt;p&gt;The discussion around agents adds a practical layer. OpenAI’s managed agent sessions and sandboxes make it easier to hand a system files and tools, but also make permissions, network access, and secret handling part of the product design. Anthropic’s account of AI contributing to R&amp;amp;D suggests that this delegation is reaching model development itself. That is supervised assistance, not autonomous self-improvement, and the distinction matters when evaluating the evidence.&lt;/p&gt;

&lt;p&gt;Governance is moving into the same frame. OpenAI has begun a more systematic process for publishing misalignment cases, and the UN Security Council is convening company leaders and researchers to discuss AI and international security. Neither step settles what safe deployment requires. Together, however, they show a shift: the question is no longer only how much capability a model has, but who can afford to use it, what infrastructure supports it, and what evidence exists when systems act beyond the chat window.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://windflash.us/daily-report/en/2026-09-23" rel="noopener noreferrer"&gt;https://windflash.us/daily-report/en/2026-09-23&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Heart Machine Gutted | Build a Rocket Boy Nears Closure | Nex Raises $150M</title>
      <dc:creator>Jason Guo</dc:creator>
      <pubDate>Fri, 18 Sep 2026 06:13:40 +0000</pubDate>
      <link>https://dev.to/jasonguo/heart-machine-gutted-build-a-rocket-boy-nears-closure-nex-raises-150m-153d</link>
      <guid>https://dev.to/jasonguo/heart-machine-gutted-build-a-rocket-boy-nears-closure-nex-raises-150m-153d</guid>
      <description>&lt;p&gt;The sharpest contrast today is not between success and failure. It is between projects that must keep asking permission to exist and products that can prove a repeatable route to customers. Heart Machine lost its next game when one publisher changed its mind. Build a Rocket Boy appears to have run out of road after MindsEye failed to stabilize. Both stories show how quickly a studio disappears when its production plan depends on one oversized bet and one outside decision.&lt;/p&gt;

&lt;p&gt;Nex occupies the other side of the market. Its pitch is easy to measure: a small camera-based box, family movement, licensed games, retail distribution, and a subscription. More than one million units sold gives investors a visible path from capital to expansion. The Drop Circuit is smaller, but it follows the same logic. Five experienced developers are building inside Fortnite, where the audience, tools, payments, and discovery system already exist. They traded some control for a shorter route to market.&lt;/p&gt;

&lt;p&gt;That does not mean every studio should become a hardware company or a UGC vendor. It means financing is rewarding distribution certainty more aggressively than creative pedigree. The EU KIDS Act adds another pressure: platforms that own the audience will also carry more responsibility for age checks, spending traps, contact systems, and addictive design. The safest place to build may be inside a platform, but the platform's rules are becoming product architecture. Independent studios need more than a good game. They need several ways to reach players, several ways to finance the next milestone, and a plan that survives one partner saying no.&lt;br&gt;
&lt;a href="https://best-games.io/game-daily/2026-09-18" rel="noopener noreferrer"&gt;Game Daily&lt;/a&gt;&lt;/p&gt;

</description>
      <category>gamedev</category>
    </item>
    <item>
      <title>When exactly will Grok 4.7 be released?</title>
      <dc:creator>Jason Guo</dc:creator>
      <pubDate>Thu, 17 Sep 2026 04:45:29 +0000</pubDate>
      <link>https://dev.to/jasonguo/when-exactly-will-grok-47-be-released-35h2</link>
      <guid>https://dev.to/jasonguo/when-exactly-will-grok-47-be-released-35h2</guid>
      <description>&lt;p&gt;Grok 4.7 still isn't out. Here's a simple math read on when it might land.&lt;/p&gt;

&lt;p&gt;All the dates below are from Elon Musk on X, not from xAI's own docs. As of Sep 17, docs.x.ai still lists Grok 4.6 as the latest flagship.&lt;/p&gt;

&lt;p&gt;The public targets moved like this:&lt;br&gt;
• Jul 24: "in 4 weeks" → about Aug 21&lt;br&gt;
• Aug 12: "3 to 4 weeks" → about Sep 2–9&lt;br&gt;
• Sep 2: "in 10 days" → about Sep 12&lt;br&gt;
• Sep 11: "a few more days" → about Sep 14–16&lt;/p&gt;

&lt;p&gt;Against the first hard target (Aug 21), we are already ~27 days late — almost one full original promise window. Against the last hard target (Sep 12), elapsed time is 1.5× the promised 10 days.&lt;/p&gt;

&lt;p&gt;Prior Grok slips give useful multipliers:&lt;br&gt;
• Grok 4.5: first promise window ~40 days, actual ~89 → ~2.2×&lt;br&gt;
• Grok 4.6: promised 14 days, actual 19 → ~1.36×&lt;/p&gt;

&lt;p&gt;Apply those to 4.7:&lt;br&gt;
• Optimistic (4.6-like): around Sep 16–17 — basically now&lt;br&gt;
• Mid (1.5× from the Sep 2 clock): around Sep 17&lt;br&gt;
• Pessimistic (4.5-like from Jul 24): around Sep 24&lt;/p&gt;

&lt;p&gt;The successive targets also compressed: Aug 21 → early September → Sep 12 → "a few days." Jump sizes roughly halved each time. That pattern, plus Musk's Sep 11 note that RL may have over-penalized response length (model quits hard tasks early, weak self-check), points to a short remaining window — not a multi-month redo — unless the fix is deeper than he framed it.&lt;/p&gt;

&lt;p&gt;My read:&lt;br&gt;
• P50: Sep 20–22&lt;br&gt;
• P75: Sep 24–26&lt;br&gt;
• P90: early October if RL needs a real retrain&lt;/p&gt;

&lt;p&gt;On Sep 14 he was still talking about 4.7 as the near-term model (roughly Opus 5.0 class), with 4.8 next. So this does not look cancelled — just late. Until a model page shows up on docs.x.ai, treat every date as aspirational.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Z.ai delayed GLM-5.3's open weights after cyber tests

Z.ai delayed GLM-5.3's open weights after its own cyber tests. The AI race is shifting from the model to the control layer around it.

https://windflash.us/daily-report/en/2026-08-15</title>
      <dc:creator>Jason Guo</dc:creator>
      <pubDate>Sat, 15 Aug 2026 14:10:01 +0000</pubDate>
      <link>https://dev.to/jasonguo/zai-delayed-glm-53s-open-weights-after-cyber-tests-zai-delayed-glm-53s-open-weights-after-2h20</link>
      <guid>https://dev.to/jasonguo/zai-delayed-glm-53s-open-weights-after-cyber-tests-zai-delayed-glm-53s-open-weights-after-2h20</guid>
      <description>&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://windflash.us/daily-report/en/2026-08-15" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwindflash.us%2Fdaily-report%2Fshared%2F2026-08-15%2Fcover.png" height="533" class="m-0" width="800"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://windflash.us/daily-report/en/2026-08-15" rel="noopener noreferrer" class="c-link"&gt;
            AI Daily Report: The Control Layer Becomes the Product (Aug 15, 2026)
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Cyber capability, agent harnesses, provenance, inference, and governance are converging into AI’s new control layer.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwindflash.us%2Ffavicon.ico%3Fv%3D2" width="32" height="32"&gt;
          windflash.us
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>In the Age of AI, Human Writing Is Scarce — and That Makes It Worth More</title>
      <dc:creator>Jason Guo</dc:creator>
      <pubDate>Sun, 09 Aug 2026 08:39:17 +0000</pubDate>
      <link>https://dev.to/jasonguo/in-the-age-of-ai-human-writing-is-scarce-and-that-makes-it-worth-more-1k8i</link>
      <guid>https://dev.to/jasonguo/in-the-age-of-ai-human-writing-is-scarce-and-that-makes-it-worth-more-1k8i</guid>
      <description>&lt;p&gt;Everyone can now generate a thousand words in a second. So why does good writing feel rarer than ever?&lt;/p&gt;

&lt;p&gt;Because AI made &lt;em&gt;text&lt;/em&gt; cheap, but it made &lt;em&gt;thinking&lt;/em&gt; expensive. Anyone can produce fluent paragraphs on demand. What's scarce is the writer behind them — the one with a real point of view, a clear argument, and the discipline to say something true. In a world flooded with generated content, the human ability to write well is no longer a nice-to-have. It's a competitive edge.&lt;/p&gt;

&lt;p&gt;So how do you actually build that skill? A few things that work:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Write before you prompt.&lt;/strong&gt; Draft your own rough version first, then use AI to critique or sharpen it — not to replace the thinking. The struggle to find the words is where the skill grows.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Read like a writer.&lt;/strong&gt; Notice how the pieces you admire are structured: how they open, how they transition, how they land. Steal the patterns, not the sentences.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ship in public.&lt;/strong&gt; Publishing forces clarity in a way private notes never will. A post with real readers raises your standards fast.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Practice on a schedule.&lt;/strong&gt; Writing is a muscle. Small, frequent reps beat occasional marathons.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I've been building on this idea myself. I made &lt;a href="https://writefit.app" rel="noopener noreferrer"&gt;WriteFit&lt;/a&gt; — a tool to help people practice and improve their writing consistently, so the habit sticks and the skill compounds.&lt;/p&gt;

&lt;p&gt;If you're thinking about your own writing in the AI era, I'd love to hear how you're approaching it. What's helped you the most?&lt;/p&gt;

</description>
      <category>writing</category>
      <category>ai</category>
      <category>productivity</category>
      <category>career</category>
    </item>
    <item>
      <title>On August 5, Sundar Pichai told Google staff that Demis Hassabis would become Chair of Google DeepMind and Chief Scientist of Alphabet, that Koray Kavukcuoglu would take day-to-day control of DeepMind as SVP, and that Jeff Dean was leaving after 27 years.</title>
      <dc:creator>Jason Guo</dc:creator>
      <pubDate>Fri, 07 Aug 2026 17:24:15 +0000</pubDate>
      <link>https://dev.to/jasonguo/on-august-5-sundar-pichai-told-google-staff-that-demis-hassabis-would-become-chair-of-google-4p28</link>
      <guid>https://dev.to/jasonguo/on-august-5-sundar-pichai-told-google-staff-that-demis-hassabis-would-become-chair-of-google-4p28</guid>
      <description></description>
    </item>
    <item>
      <title>I Built a Tools Website for Geometry Dash Players — Here's What I Learned published: false</title>
      <dc:creator>Jason Guo</dc:creator>
      <pubDate>Tue, 04 Aug 2026 17:34:09 +0000</pubDate>
      <link>https://dev.to/jasonguo/i-built-a-tools-website-for-geometry-dash-players-heres-what-i-learnedpublished-false-41c5</link>
      <guid>https://dev.to/jasonguo/i-built-a-tools-website-for-geometry-dash-players-heres-what-i-learnedpublished-false-41c5</guid>
      <description>&lt;p&gt;If you've ever played Geometry Dash, you know the struggle. You want to beat your first demon, but which one? You want to unlock the Vault of Secrets, but you're missing 12 diamonds and can't remember where to farm them. Your screen goes black mid-level and you don't know why. All this information exists — scattered across wikis, Reddit threads, and YouTube comments in six different languages.&lt;/p&gt;

&lt;p&gt;I got tired of tab-switching between five resources just to pick my next level. So I built &lt;strong&gt;&lt;a href="https://geometrydashlevel.com" rel="noopener noreferrer"&gt;GD Level Tools&lt;/a&gt;&lt;/strong&gt; — a single site that brings the most-needed tools and guides together under one roof.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgeometrydashlevel.com%2Fimages%2Fog-cover.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgeometrydashlevel.com%2Fimages%2Fog-cover.jpg" alt="GD Level Tools homepage" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;




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

&lt;p&gt;The site has &lt;strong&gt;six interactive tools&lt;/strong&gt; and &lt;strong&gt;seventeen in-depth guides&lt;/strong&gt;, all designed around real questions Geometry Dash players actually ask:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Level Finder
&lt;/h3&gt;

&lt;p&gt;A filterable catalog of 30 curated demon levels. You can filter by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Difficulty&lt;/strong&gt; (Auto → Extreme Demon)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Length&lt;/strong&gt; (Tiny → XL → Platformer)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Skill tags&lt;/strong&gt; (Wave, Ship, Cube, Timing, Memory, UFO, Ball, Robot, Spider, Mobile-friendly)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sort&lt;/strong&gt; by beginner score, mobile score, or name&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each level has its own detail page with a gameplay video, review, skill tags, tips, "who should play / who should skip" sections, and recommended next levels.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. First Demon Picker
&lt;/h3&gt;

&lt;p&gt;This is the one I'm most proud of. It's a &lt;strong&gt;7-question interactive questionnaire&lt;/strong&gt; that recommends your ideal first demon based on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your platform (PC / Mobile / Both)&lt;/li&gt;
&lt;li&gt;Your strongest and weakest skills&lt;/li&gt;
&lt;li&gt;Preferred level length&lt;/li&gt;
&lt;li&gt;Memory tolerance&lt;/li&gt;
&lt;li&gt;Visual decoration preference&lt;/li&gt;
&lt;li&gt;Your main goal (just clear it? build skills? have fun?)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The recommendation engine scores each candidate demon against your answers and ranks them by match percentage. Each result comes with a "why it fits" explanation, a "what to watch for" warning, and a practice tip.&lt;/p&gt;

&lt;p&gt;No more asking "what should my first demon be?" on Reddit and getting 40 different answers.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Demon Progression Planner
&lt;/h3&gt;

&lt;p&gt;Enter how many demons you've beaten, and it tells you exactly where you are on an &lt;strong&gt;8-stage ladder&lt;/strong&gt; from "First Demon" to "Extreme Demon" — with recommended next levels for your current stage and a full roadmap showing the entire journey.&lt;/p&gt;

&lt;p&gt;The stages:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Stage&lt;/th&gt;
&lt;th&gt;Demon Count&lt;/th&gt;
&lt;th&gt;Example Levels&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1. First Demon&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;The Nightmare, The Lightning Road&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2. Beginner Easy&lt;/td&gt;
&lt;td&gt;1–5&lt;/td&gt;
&lt;td&gt;Platinum Adventure, Demon Park&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3. Standard Easy&lt;/td&gt;
&lt;td&gt;6–15&lt;/td&gt;
&lt;td&gt;Shiver, Speed Racer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4. Early Medium&lt;/td&gt;
&lt;td&gt;16–30&lt;/td&gt;
&lt;td&gt;B, Problematic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5. Medium&lt;/td&gt;
&lt;td&gt;31–50&lt;/td&gt;
&lt;td&gt;Nine Circles&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6. Hard&lt;/td&gt;
&lt;td&gt;51–80&lt;/td&gt;
&lt;td&gt;Jawbreaker&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7. Insane&lt;/td&gt;
&lt;td&gt;81–120&lt;/td&gt;
&lt;td&gt;Supersonic, Windy Landscape&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8. Extreme&lt;/td&gt;
&lt;td&gt;120+&lt;/td&gt;
&lt;td&gt;Pointercrate Top 150&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  4. Vault Codes
&lt;/h3&gt;

&lt;p&gt;63 secret codes across all four in-game vaults (The Vault, Vault of Secrets, Chamber of Time, and the new 2.2 Wraith Vault) — searchable, with unlock requirements and what each code gives you.&lt;/p&gt;

&lt;p&gt;I was careful to label these as "in-game secret codes, not cheats." They're official codes put in the game by the developer, not exploits.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Guides
&lt;/h3&gt;

&lt;p&gt;Seventeen guides across six categories:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Rewards&lt;/strong&gt; (6): Diamonds, Gold Keys, Demon Keys, User Coins, Master Emblem, Moons&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mods&lt;/strong&gt; (4): Geode installation, Geode troubleshooting, FPS unlock, TPS explained&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fixes&lt;/strong&gt; (4): Screen going dark, screen tearing, can't play levels, V-Sync&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;General&lt;/strong&gt; (4): All icons, star grinding, 2.2 update, level creation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Skills&lt;/strong&gt; (1): Practice mode&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Demons&lt;/strong&gt; (2): Best easy demons for beginners, Extreme Demon List 2026&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each guide has step-by-step instructions, FAQ sections, and related guide links.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why I Built It
&lt;/h2&gt;

&lt;p&gt;Three reasons, in order of importance:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. The information was scattered
&lt;/h3&gt;

&lt;p&gt;Want to know what your first demon should be? Check the wiki. Want to know if it's mobile-friendly? Check a Reddit thread. Want a gameplay video? Search YouTube. Want to know what to play next? Ask on Discord and hope someone responds.&lt;/p&gt;

&lt;p&gt;I wanted &lt;strong&gt;one page that answers all of these questions&lt;/strong&gt; for each level.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Existing resources don't account for personal preference
&lt;/h3&gt;

&lt;p&gt;Most "best first demon" lists are just ranked by difficulty. But a level that's easy on PC might be brutal on mobile. A level that's great for wave players might be miserable for ship players. The First Demon Picker accounts for &lt;strong&gt;your&lt;/strong&gt; skills, platform, and preferences — not just a generic difficulty ranking.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. I wanted to build something with real users
&lt;/h3&gt;

&lt;p&gt;Not a todo app. Not a weather dashboard. A site that solves a problem I personally have, for a community I'm part of. That meant I actually cared about the content quality, the UX, and whether the recommendations were good — because I'd be using it myself.&lt;/p&gt;




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

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;Choice&lt;/th&gt;
&lt;th&gt;Why&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Framework&lt;/td&gt;
&lt;td&gt;Next.js 16 (App Router)&lt;/td&gt;
&lt;td&gt;SSR/SSG, file-based routing, metadata API&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Language&lt;/td&gt;
&lt;td&gt;TypeScript&lt;/td&gt;
&lt;td&gt;Type safety for the level data model&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Styling&lt;/td&gt;
&lt;td&gt;Tailwind CSS + CSS variables&lt;/td&gt;
&lt;td&gt;Game-themed dark neon design system&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Deployment&lt;/td&gt;
&lt;td&gt;Cloudflare Workers&lt;/td&gt;
&lt;td&gt;Edge network, generous free tier&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Analytics&lt;/td&gt;
&lt;td&gt;Google Analytics 4&lt;/td&gt;
&lt;td&gt;With Consent Mode v2 for GDPR&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SEO&lt;/td&gt;
&lt;td&gt;JSON-LD structured data&lt;/td&gt;
&lt;td&gt;WebSite, Organization, Article, FAQ, Breadcrumb schemas&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The site is &lt;strong&gt;71 static pages&lt;/strong&gt; — every level, guide, and fix page is pre-rendered at build time. No database, no CMS. All content lives in TypeScript data files, which means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Zero runtime cost (static files on a CDN)&lt;/li&gt;
&lt;li&gt;Type-safe content (can't publish a guide with a missing field)&lt;/li&gt;
&lt;li&gt;Git is the CMS (every content change is a commit with history)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  A Few Things I Learned
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Recommendation engines are harder than they look
&lt;/h3&gt;

&lt;p&gt;The First Demon Picker looks simple — answer 7 questions, get recommendations. But designing the scoring logic took multiple iterations. Early versions recommended the same 3 levels to everyone because the "beginner-friendly" signal overwhelmed everything else.&lt;/p&gt;

&lt;p&gt;The fix was &lt;strong&gt;weighting by question importance&lt;/strong&gt;. Your strongest skill matters more than your visual decoration preference. Your platform matters more than your preferred length. Getting these weights right required testing with real players and adjusting.&lt;/p&gt;

&lt;h3&gt;
  
  
  SEO for a fan site is different from SEO for a SaaS
&lt;/h3&gt;

&lt;p&gt;Most SEO advice online is about building topical authority through blog content. But for a tools site, the SEO play is different:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tool pages&lt;/strong&gt; target high-intent keywords ("first demon picker", "geometry dash vault codes")&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Guide pages&lt;/strong&gt; target informational keywords ("how to get diamonds in geometry dash")&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Level pages&lt;/strong&gt; target specific level names ("the nightmare geometry dash")&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each page type needs different structured data. Level pages get &lt;code&gt;Article&lt;/code&gt; + &lt;code&gt;FAQPage&lt;/code&gt; schemas. The homepage gets &lt;code&gt;WebSite&lt;/code&gt; + &lt;code&gt;Organization&lt;/code&gt;. Guide listings get &lt;code&gt;ItemList&lt;/code&gt;. I built helper functions in &lt;code&gt;src/lib/seo.ts&lt;/code&gt; to keep this consistent.&lt;/p&gt;

&lt;h3&gt;
  
  
  GDPR consent doesn't have to be heavy
&lt;/h3&gt;

&lt;p&gt;I added a cookie consent banner with GA4 Consent Mode v2. The key insight: &lt;strong&gt;default to denied, then update on consent&lt;/strong&gt;. This means:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Page loads → consent is &lt;code&gt;denied&lt;/code&gt; (set before gtag.js loads)&lt;/li&gt;
&lt;li&gt;User clicks "Accept" → &lt;code&gt;gtag('consent', 'update', { analytics_storage: 'granted' })&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;User clicks "Decline" → stays denied, but GA4 still sends cookieless pings&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Even declined users show up in aggregate analytics. You don't lose all your data by being compliant.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cloudflare Workers + Next.js is a great combo
&lt;/h3&gt;

&lt;p&gt;The site deploys as a Cloudflare Worker via &lt;code&gt;@opennextjs/cloudflare&lt;/code&gt;. Build output is a single Worker that serves 71 static pages from the edge. Cold starts are non-existent. The free tier covers my traffic with room to spare.&lt;/p&gt;

&lt;p&gt;The one gotcha: Workers have a &lt;strong&gt;1MB compressed bundle limit&lt;/strong&gt; on the free plan. I had to be mindful of bundle size, which meant no heavy client-side libraries. All interactivity is vanilla React state — no charting libs, no animation libs, no UI component kits.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;More levels&lt;/strong&gt;: The catalog has 30 levels now. The goal is 100+ covering every difficulty tier.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Community submissions&lt;/strong&gt;: There's a level submission form, but submissions are reviewed manually. I'm considering a moderation workflow.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Versus mode guide&lt;/strong&gt;: Geometry Dash 2.21 is coming with a competitive mode. That's a whole new content area.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AdSense&lt;/strong&gt;: The site is structured for AdSense approval (original content, privacy policy, terms, DMCA). Once traffic justifies it, ads will help cover the domain + Workers costs.&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;The site is live at &lt;strong&gt;&lt;a href="https://geometrydashlevel.com" rel="noopener noreferrer"&gt;geometrydashlevel.com&lt;/a&gt;&lt;/strong&gt;. It's a fan-made project, not affiliated with RobTop Games — I put a disclaimer in the footer and on every relevant page to make that clear.&lt;/p&gt;

&lt;p&gt;If you play Geometry Dash, I'd love to hear what you think. What's missing? What tool would you add? What level should I review next?&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This is an independent fan site. Geometry Dash is a trademark of RobTop Games. All content is created by fans, for fans.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>sideprojects</category>
      <category>nextjs</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Kimi K3 demand forced Moonshot to pause new subscriptions, while Qwen 3.8 reignited the open-weight AI race. The real competition is shifting from model size to reliable delivery.

https://windflash.us/daily-report/en/2026-07-20</title>
      <dc:creator>Jason Guo</dc:creator>
      <pubDate>Mon, 20 Jul 2026 09:46:30 +0000</pubDate>
      <link>https://dev.to/jasonguo/kimi-k3-demand-forced-moonshot-to-pause-new-subscriptions-while-qwen-38-reignited-the-open-weight-2eg9</link>
      <guid>https://dev.to/jasonguo/kimi-k3-demand-forced-moonshot-to-pause-new-subscriptions-while-qwen-38-reignited-the-open-weight-2eg9</guid>
      <description>&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://windflash.us/daily-report/en/2026-07-20" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwindflash.us%2Fdaily-report%2Fshared%2F2026-07-20%2Farticle-01-cd4cd4b773.jpg" height="451" class="m-0" width="800"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://windflash.us/daily-report/en/2026-07-20" rel="noopener noreferrer" class="c-link"&gt;
            AI Daily Report: Kimi K3 Demand, Qwen 3.8 and the Open-Weight Surge (Jul 20, 2026)
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Kimi K3 strains GPU capacity as Qwen 3.8 draws intense developer debate, while Codex and Claude Code changes expose the infrastructure behind AI tools.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwindflash.us%2Ffavicon.ico%3Fv%3D2" width="32" height="32"&gt;
          windflash.us
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>https://windflash.us/daily-report/en/2026-07-19</title>
      <dc:creator>Jason Guo</dc:creator>
      <pubDate>Sun, 19 Jul 2026 16:10:38 +0000</pubDate>
      <link>https://dev.to/jasonguo/httpswindflashusdaily-reporten2026-07-19-1fk7</link>
      <guid>https://dev.to/jasonguo/httpswindflashusdaily-reporten2026-07-19-1fk7</guid>
      <description>&lt;p&gt;&lt;a href="https://dev.tourl"&gt;Daily Report&lt;/a&gt; - AI intelligence for builders&lt;/p&gt;

&lt;p&gt;Today’s strongest signal is that AI is moving from producing suggestions to taking actions, while the surrounding controls are still catching up. Reports of GPT-5.6 Sol deleting local files after being granted broad permissions illustrate the operational risk. The MCP, A2A, and ACP overview shows the other side of the same transition: developers are standardizing how agents reach tools and delegate work. These protocols can make useful automation easier, but every additional connection also expands the surface that needs permissions, logs, recovery paths, and human review.&lt;/p&gt;

&lt;p&gt;The GitHub essay on software scope offers a practical way to use this new capability without confusing speed with certainty. An agent-generated patch can act as a probe that reveals whether a request is genuinely small, yet the low cost of producing code does not remove the cost of maintaining it. That distinction is especially important when agents can modify files or execute commands. Fast drafts are valuable evidence; they should not automatically become trusted changes.&lt;/p&gt;

&lt;p&gt;The same accountability question appears beyond coding. TP-Link’s long-running GPS exposure shows how narrow fixes can leave a wider system vulnerable. Riemann-1.0 moves learned action into robotics, while DeepMind and Isomorphic Labs are applying AI to biological monitoring and threat response. These systems operate in very different domains, but they share a requirement: autonomy must be paired with containment, traceability, and a clear way for people to stop or reverse consequential actions. The useful engineering priority is therefore not maximum autonomy. It is dependable control over increasingly capable systems.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>analytics</category>
    </item>
    <item>
      <title>Kimi K3 and the “State of Open Source AI 2026” report point in the same direction: open models are becoming credible choices for more production workloads, while the cost of capable inference continues to fall.</title>
      <dc:creator>Jason Guo</dc:creator>
      <pubDate>Sat, 18 Jul 2026 13:20:05 +0000</pubDate>
      <link>https://dev.to/jasonguo/kimi-k3-and-the-state-of-open-source-ai-2026-report-point-in-the-same-direction-open-models-are-433e</link>
      <guid>https://dev.to/jasonguo/kimi-k3-and-the-state-of-open-source-ai-2026-report-point-in-the-same-direction-open-models-are-433e</guid>
      <description></description>
    </item>
  </channel>
</rss>
