<?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: Liam Dio</title>
    <description>The latest articles on DEV Community by Liam Dio (@diochuks).</description>
    <link>https://dev.to/diochuks</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1486294%2F66343854-15ea-490b-86d7-d34fa5988399.jpeg</url>
      <title>DEV Community: Liam Dio</title>
      <link>https://dev.to/diochuks</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/diochuks"/>
    <language>en</language>
    <item>
      <title>StoryBoost: An AI-Powered Blog Assistant Built with Storyblok &amp; Next.js</title>
      <dc:creator>Liam Dio</dc:creator>
      <pubDate>Sun, 29 Jun 2025 23:43:52 +0000</pubDate>
      <link>https://dev.to/diochuks/storyboost-an-ai-powered-blog-assistant-built-with-storyblok-nextjs-4mh6</link>
      <guid>https://dev.to/diochuks/storyboost-an-ai-powered-blog-assistant-built-with-storyblok-nextjs-4mh6</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/storyblok"&gt;Storyblok Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;StoryBoost – AI Blog Assistant&lt;/strong&gt; is a fully functional, AI-powered blogging platform built with &lt;strong&gt;Next.js 15&lt;/strong&gt;, &lt;strong&gt;React 19&lt;/strong&gt;, and &lt;strong&gt;Storyblok CMS&lt;/strong&gt;. Designed to enhance the writing experience for bloggers and content creators, StoryBoost offers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Real-time content editing with Storyblok’s visual editor&lt;/li&gt;
&lt;li&gt;AI-powered blog title generation&lt;/li&gt;
&lt;li&gt;Text expansion from short notes into full paragraphs&lt;/li&gt;
&lt;li&gt;A clean, responsive, SEO-friendly blog UI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal was to solve two major challenges for content creators: coming up with engaging blog titles and turning rough ideas into polished content — all within a beautifully integrated CMS + AI workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Live Demo:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://storyboost-ai.vercel.app" rel="noopener noreferrer"&gt;https://storyboost-ai.vercel.app&lt;/a&gt; &lt;br&gt;
&lt;strong&gt;Storyblok Space:&lt;/strong&gt; &lt;br&gt;
Content is fully powered by Storyblok and viewable on the live demo site.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code Repository:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://github.com/DioChuks/storyboost-ai" rel="noopener noreferrer"&gt;https://github.com/DioChuks/storyboost-ai&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Demo Video or Screenshots&lt;/strong&gt;&lt;br&gt;
*Screenshots:&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Focq7wd0m5b8nk8tcak2v.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Focq7wd0m5b8nk8tcak2v.png" alt="Image description" width="800" height="432"&gt;&lt;/a&gt;&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs9cp8sdxm8pbpbq604gh.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs9cp8sdxm8pbpbq604gh.png" alt="Image description" width="800" height="774"&gt;&lt;/a&gt;&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyh3383s2f16osqke28mh.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyh3383s2f16osqke28mh.png" alt="Image description" width="322" height="669"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Next.js 15.3.0 with App Router&lt;/li&gt;
&lt;li&gt;React 19.0.0&lt;/li&gt;
&lt;li&gt;Storyblok React SDK 4.6.0&lt;/li&gt;
&lt;li&gt;Google GenAI&lt;/li&gt;
&lt;li&gt;Tailwind CSS&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How I Used Storyblok
&lt;/h3&gt;

&lt;p&gt;Storyblok was central to the content architecture:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Visual Editor Integration&lt;/strong&gt;: Real-time content preview and inline editing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dynamic Rendering&lt;/strong&gt;: All blog content (title, excerpt, content, images) fetched from Storyblok via its API&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rich Text Handling&lt;/strong&gt;: Using &lt;code&gt;@storyblok/richtext&lt;/code&gt; for rendering complex blog content&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Component-based setup&lt;/strong&gt;: Modular design with reusable components driven by Storyblok schema&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  AI Integration
&lt;/h3&gt;

&lt;p&gt;StoryBoost leverages &lt;strong&gt;Google Gemini 2.5 Flash API&lt;/strong&gt; to enhance the authoring experience:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔤 &lt;strong&gt;AI Title Generator&lt;/strong&gt;: Produces 5 creative blog titles based on any topic input&lt;/li&gt;
&lt;li&gt;📝 &lt;strong&gt;Text Expander&lt;/strong&gt;: Turns a short note or phrase into a full paragraph, respecting context and tone&lt;/li&gt;
&lt;li&gt;🧠 &lt;strong&gt;Context-Aware Suggestions&lt;/strong&gt;: Maintains writing style consistency&lt;/li&gt;
&lt;li&gt;🚫 &lt;strong&gt;Graceful Error Handling&lt;/strong&gt;: Detects and handles failed API responses with user-friendly messages&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both tools are integrated directly into the blog post creation workflow and offer immediate utility for content creators working inside Storyblok or previewing their drafts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Learnings and Takeaways
&lt;/h2&gt;

&lt;p&gt;This project was a deep dive into combining &lt;strong&gt;headless CMS&lt;/strong&gt; with &lt;strong&gt;AI assistance&lt;/strong&gt;, and I’m proud to have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Created a seamless editorial workflow using Storyblok and Next.js&lt;/li&gt;
&lt;li&gt;Integrated a production-ready AI tool with real-time feedback&lt;/li&gt;
&lt;li&gt;Solved real-world problems for content creators&lt;/li&gt;
&lt;li&gt;Worked with cutting-edge tech like React 19 and Gemini 2.5 Flash&lt;/li&gt;
&lt;li&gt;Built a clean, responsive UI that performs well across devices&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Challenges:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Working under a tight deadline while ensuring both functionality and polish&lt;/li&gt;
&lt;li&gt;Testing real-time AI API calls without hitting rate limits&lt;/li&gt;
&lt;li&gt;Ensuring proper SSR/ISR behavior with external CMS data&lt;/li&gt;
&lt;li&gt;Working with multiple versions of the Storyblok SDK to fit with modern practices&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Team Submission:&lt;/strong&gt; Solo project&lt;br&gt;
License: &lt;a href="https://opensource.org/licenses/MIT" rel="noopener noreferrer"&gt;MIT&lt;/a&gt;&lt;br&gt;
Thanks to Storyblok and DEV for this awesome challenge! 🚀&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>storyblokchallenge</category>
      <category>webdev</category>
      <category>api</category>
    </item>
  </channel>
</rss>
