<?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: Momcilo</title>
    <description>The latest articles on DEV Community by Momcilo (@momciloo).</description>
    <link>https://dev.to/momciloo</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%2F110488%2F50734fca-72b8-485e-91e9-b38af7e60613.jpg</url>
      <title>DEV Community: Momcilo</title>
      <link>https://dev.to/momciloo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/momciloo"/>
    <language>en</language>
    <item>
      <title>How to Work with Video in a Headless CMS (BCMS Guide)</title>
      <dc:creator>Momcilo</dc:creator>
      <pubDate>Thu, 20 Aug 2026 14:02:35 +0000</pubDate>
      <link>https://dev.to/momciloo/how-to-work-with-video-in-a-headless-cms-bcms-guide-1b8j</link>
      <guid>https://dev.to/momciloo/how-to-work-with-video-in-a-headless-cms-bcms-guide-1b8j</guid>
      <description>&lt;p&gt;Video breaks content workflows when the CMS treats it like a mystery blob. Editors need upload, preview, and reuse. Developers need a stable URL (or streaming strategy) and a frontend that does not tank LCP.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you want from the CMS
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Upload video into a real media library (folders help)- Attach video fields on templates (hero video, lesson, case study)- Preview before publish- Reuse the same asset across entriesBCMS media manager supports video alongside images, audio, and documents - so you are not bolting a second DAM onto day-one projects.
## Frontend patterns that work&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Poster + lazy play&lt;/strong&gt; - show a cover image; load the player on interaction- &lt;strong&gt;Below-the-fold deferral&lt;/strong&gt; - do not autoplay heavy files in the hero unless the brand requires it- &lt;strong&gt;Native video element&lt;/strong&gt; for simple cases; a player library when you need captions/chapters- &lt;strong&gt;CDN delivery&lt;/strong&gt; - serve from the media URL your CMS provides; cache aggressively## Modeling tip
Separate "video asset" from "video module". The asset is the file. The module can include title, transcript link, CTA, and whether autoplay is allowed. That keeps editors flexible without hardcoding layout in the media library.
## Performance checklist&lt;/li&gt;
&lt;li&gt;Compress before upload when possible- Always provide a poster image- Prefer muted autoplay only when it is truly necessary- Track weight in Lighthouse like you would a giant image carousel## Related reading&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://thebcms.com/blog/astro-server-islands-tutorial" rel="noopener noreferrer"&gt;Astro Server Islands (hydrate media UI carefully)&lt;/a&gt;- &lt;a href="https://thebcms.com/blog/cms-examples" rel="noopener noreferrer"&gt;CMS examples&lt;/a&gt;- &lt;a href="https://thebcms.com/blog/user-friendly-cms" rel="noopener noreferrer"&gt;What makes a CMS user-friendly&lt;/a&gt;&lt;strong&gt;Want the BCMS-specific upload UI walkthrough and field setup?&lt;/strong&gt; Read the full guide: &lt;a href="https://thebcms.com/blog/how-to-work-with-video-in-bcms" rel="noopener noreferrer"&gt;How to work with video in BCMS&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>cms</category>
      <category>tutorial</category>
      <category>webdev</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Build a Headless Task Manager with Next.js and a CMS</title>
      <dc:creator>Momcilo</dc:creator>
      <pubDate>Tue, 18 Aug 2026 14:13:19 +0000</pubDate>
      <link>https://dev.to/momciloo/build-a-headless-task-manager-with-nextjs-and-a-cms-2k5i</link>
      <guid>https://dev.to/momciloo/build-a-headless-task-manager-with-nextjs-and-a-cms-2k5i</guid>
      <description>&lt;p&gt;A task manager is a great headless CMS tutorial because it forces real modeling decisions: statuses, assignees, due dates, and relationships - not just a blog title field.&lt;br&gt;
You will keep Next.js as the app shell and BCMS as the content/API layer for tasks and related entities. That split teaches the same pattern you will use for dashboards, internal tools, and content-heavy SaaS UIs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Model the domain first
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Task&lt;/strong&gt; - title, description, status, priority, due date- &lt;strong&gt;Status&lt;/strong&gt; - todo / in progress / done (or a status entry pointer)- &lt;strong&gt;Project&lt;/strong&gt; - groups tasks; optional relation- &lt;strong&gt;Media&lt;/strong&gt; - attachments when a task needs screenshotsResist stuffing everything into one freeform rich-text field. Structured fields make filters, boards, and agent automation possible later.
## App flow&lt;/li&gt;
&lt;li&gt;Create templates in BCMS for Task (and Project if needed)- Seed a few entries so the UI is not empty- Fetch tasks in a Next.js server component or route handler- Render a list/board UI with client islands only where interactivity is required- Wire create/update through your API (or CMS write path) with clear validation## UX details that matter&lt;/li&gt;
&lt;li&gt;Optimistic UI for status changes feels fast; still confirm against the server- Empty states should teach the model ("create your first task")- Keep auth at the app edge; do not expose privileged CMS keys in the browser## Why CMS instead of only a database UI
For many internal tools, a CMS gives you an admin UI for free, media handling, and a clean API. For high-write transactional systems you may still want a dedicated DB - and that is fine. The tutorial's point is the architecture: structured content + framework UI.
## Related reading&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://thebcms.com/blog/build-a-room-scheduling-software" rel="noopener noreferrer"&gt;Build room scheduling software with Next.js&lt;/a&gt;- &lt;a href="https://thebcms.com/blog/structuring-relational-data" rel="noopener noreferrer"&gt;Structuring relational data in a CMS&lt;/a&gt;- &lt;a href="https://thebcms.com/blog/customizing-nextjs-themes" rel="noopener noreferrer"&gt;Customizing Next.js themes with BCMS&lt;/a&gt;&lt;strong&gt;Want step-by-step screenshots and the full project walkthrough?&lt;/strong&gt; Read the complete tutorial: &lt;a href="https://thebcms.com/blog/headless-task-manager-tutorial" rel="noopener noreferrer"&gt;Headless task manager tutorial&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>nextjs</category>
      <category>tutorial</category>
      <category>cms</category>
      <category>webdev</category>
    </item>
    <item>
      <title>10 CMS Examples That Show What Headless Actually Looks Like</title>
      <dc:creator>Momcilo</dc:creator>
      <pubDate>Thu, 13 Aug 2026 14:02:24 +0000</pubDate>
      <link>https://dev.to/momciloo/10-cms-examples-that-show-what-headless-actually-looks-like-5g06</link>
      <guid>https://dev.to/momciloo/10-cms-examples-that-show-what-headless-actually-looks-like-5g06</guid>
      <description>&lt;p&gt;"Headless CMS" is easier to understand from examples than from definitions. The pattern is the same every time: content lives in a CMS API, the frontend is whatever framework you choose, and editors update entries without touching the deploy pipeline for every typo.&lt;/p&gt;

&lt;h2&gt;
  
  
  What good CMS examples usually share
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Clear content models (blog post, product, landing page section)- Media that is not dumped into a single flat folder- A frontend that renders structured fields, not one giant HTML blob- A path for drafts, statuses, and multi-language when needed## Example shapes worth studying&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Simple blog&lt;/strong&gt; - title, slug, cover, rich text, author; SSG frontend- &lt;strong&gt;Portfolio&lt;/strong&gt; - projects with galleries, tags, and case-study widgets- &lt;strong&gt;Job board&lt;/strong&gt; - listings with filters driven by structured fields- &lt;strong&gt;E-commerce content layer&lt;/strong&gt; - product stories, PDP blocks, campaign pages (commerce engine stays separate)- &lt;strong&gt;Restaurant / local business&lt;/strong&gt; - menus, locations, hours as entries- &lt;strong&gt;Docs-ish marketing&lt;/strong&gt; - reusable sections and CTA widgets across pages## Why starters matter
The fastest way to learn a CMS is not reading feature pages. It is cloning a starter, changing one template field, and watching the frontend update. BCMS ships starters for Next, Nuxt, Astro, Gatsby, and Svelte so you can see the full loop: model, entry, fetch, render.
## How to judge an example&lt;/li&gt;
&lt;li&gt;Can a non-developer edit the content safely?- Can you add a new field without rewriting the whole app?- Is the content reusable across channels (web, app, email)?- Would migrating the frontend still leave the content intact?## Related reading&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://thebcms.com/blog/simple-blog-examples" rel="noopener noreferrer"&gt;Simple blog examples&lt;/a&gt;- &lt;a href="https://thebcms.com/blog/headless-cms-for-e-commerce" rel="noopener noreferrer"&gt;Headless CMS for e-commerce&lt;/a&gt;- &lt;a href="https://thebcms.com/blog/the-best-cms-for-developers" rel="noopener noreferrer"&gt;Best CMS for developers&lt;/a&gt;&lt;strong&gt;Want the full gallery of CMS examples with stack notes?&lt;/strong&gt; Read the complete article: &lt;a href="https://thebcms.com/blog/cms-examples" rel="noopener noreferrer"&gt;CMS examples&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>cms</category>
      <category>webdev</category>
      <category>tutorial</category>
      <category>saas</category>
    </item>
    <item>
      <title>Best UI Frameworks in 2026: Pick by Problem, Not Hype</title>
      <dc:creator>Momcilo</dc:creator>
      <pubDate>Tue, 11 Aug 2026 14:00:27 +0000</pubDate>
      <link>https://dev.to/momciloo/best-ui-frameworks-in-2026-pick-by-problem-not-hype-5bgf</link>
      <guid>https://dev.to/momciloo/best-ui-frameworks-in-2026-pick-by-problem-not-hype-5bgf</guid>
      <description>&lt;p&gt;UI framework choice is not a personality test. It is a bet on rendering model, ecosystem, hiring pool, and how much JavaScript you are willing to ship.&lt;br&gt;
In 2026 the useful shortlist is still familiar - React, Vue, Svelte, Angular, plus meta-frameworks that wrap them - but the decision criteria got sharper: hydration cost, islands, typed content, and whether your CMS can stay portable when the UI layer changes.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to evaluate first
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Rendering story&lt;/strong&gt; - CSR only, SSR, SSG, islands, or resumability- &lt;strong&gt;Bundle tax&lt;/strong&gt; - what ships to a content-heavy page by default- &lt;strong&gt;Ecosystem fit&lt;/strong&gt; - forms, design systems, CMS SDKs, hosting- &lt;strong&gt;Team reality&lt;/strong&gt; - what you can hire and maintain for 2+ years- &lt;strong&gt;Content ops&lt;/strong&gt; - editors should not need a PR for every headline## Practical map (not a ranking)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;React + Next.js&lt;/strong&gt; - default for large teams, mixed SSR/SSG, huge ecosystem- &lt;strong&gt;Vue + Nuxt&lt;/strong&gt; - excellent DX; strong when the team is already Vue-native- &lt;strong&gt;Svelte / SvelteKit&lt;/strong&gt; - smaller bundles; great when hydration tax hurts- &lt;strong&gt;Astro&lt;/strong&gt; - content-first; zero JS by default with islands when needed- &lt;strong&gt;Angular&lt;/strong&gt; - still wins for large enterprise apps with strong conventions- &lt;strong&gt;Solid / Qwik&lt;/strong&gt; - pick when fine-grained reactivity or resumability is the bottleneck## Content sites vs apps
For blogs, marketing, and docs, prefer frameworks that ship HTML first (Astro, Nuxt/Next with SSG, SvelteKit). For dense dashboards, prioritize data loading and component maturity over "least JS on the homepage".
Either way, keep content in a headless CMS so the UI framework is replaceable. BCMS fits here: templates define structure, entries hold copy and media, your frontend fetches typed content over the API.
## Related reading&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://thebcms.com/blog/nextjs-advantages" rel="noopener noreferrer"&gt;Next.js advantages that actually matter&lt;/a&gt;- &lt;a href="https://thebcms.com/blog/nuxt-vs-vue" rel="noopener noreferrer"&gt;Nuxt vs Vue: when to use which&lt;/a&gt;- &lt;a href="https://thebcms.com/blog/best-cms-for-svelte" rel="noopener noreferrer"&gt;Best CMS for Svelte&lt;/a&gt;&lt;strong&gt;Want the full comparison tables, use-case shortcuts, and stack recommendations?&lt;/strong&gt; Read the complete guide: &lt;a href="https://thebcms.com/blog/the-best-ui-frameworks" rel="noopener noreferrer"&gt;Best UI frameworks&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>frontend</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>programming</category>
    </item>
    <item>
      <title>Build a Modern Site with Nuxt, Tailwind, and a Headless CMS</title>
      <dc:creator>Momcilo</dc:creator>
      <pubDate>Thu, 06 Aug 2026 14:01:21 +0000</pubDate>
      <link>https://dev.to/momciloo/build-a-modern-site-with-nuxt-tailwind-and-a-headless-cms-4lo1</link>
      <guid>https://dev.to/momciloo/build-a-modern-site-with-nuxt-tailwind-and-a-headless-cms-4lo1</guid>
      <description>&lt;p&gt;If you like Vue, Nuxt gives you the framework layer: routing, SSR/SSG options, and conventions that keep a marketing site maintainable. Tailwind keeps styling fast without inventing a one-off CSS architecture for every landing page.&lt;br&gt;
Add a headless CMS and you get the missing piece: content that marketers can update without opening a PR for every menu item or dish description.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this stack works
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Nuxt&lt;/strong&gt; - Vue DX plus production routing and rendering modes- &lt;strong&gt;Tailwind&lt;/strong&gt; - utility classes that scale for marketing pages- &lt;strong&gt;BCMS&lt;/strong&gt; - structured content, media, and an editor UI separate from your repoThat separation is the point. Design system in code. Words and images in the CMS.
## What you typically build (restaurant starter pattern)
A restaurant or local business site is a good teaching project because the content model is obvious:&lt;/li&gt;
&lt;li&gt;Home hero and story- Menu items with prices and categories- Gallery media- Location / hours- Contact CTAIn BCMS those become templates and entries. In Nuxt they become pages and components that fetch typed data.
## Workflow that stays sane&lt;/li&gt;
&lt;li&gt;Scaffold a BCMS Nuxt starter from the CLI- Confirm templates match the sections you need- Map fields to Vue components (hero, menu card, gallery)- Style with Tailwind utilities and a small set of shared layout classes- Deploy the Nuxt app; keep editing content in BCMS## SEO note for Nuxt sites
Model meta titles and descriptions in the CMS. Do not hardcode them only in layout files if editors need to change SEO copy. Pair that with Nuxt's head/SEO utilities so each route gets correct tags.
## Related reading&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://thebcms.com/blog/cms-for-nuxt-guide" rel="noopener noreferrer"&gt;CMS for Nuxt: why to use it&lt;/a&gt;- &lt;a href="https://thebcms.com/blog/nuxt-vs-vue" rel="noopener noreferrer"&gt;Nuxt vs Vue key differences&lt;/a&gt;- &lt;a href="https://thebcms.com/blog/tailwind-css-tutorial" rel="noopener noreferrer"&gt;Tailwind CSS tutorial start to finish&lt;/a&gt;&lt;strong&gt;Want the full restaurant walkthrough with setup commands and component structure?&lt;/strong&gt; Read the complete tutorial: &lt;a href="https://thebcms.com/blog/nuxt-tailwind-tutorial" rel="noopener noreferrer"&gt;Nuxt and Tailwind CSS tutorial&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>nuxt</category>
      <category>tailwindcss</category>
      <category>tutorial</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How to Choose a Headless CMS for Blogging in 2026</title>
      <dc:creator>Momcilo</dc:creator>
      <pubDate>Tue, 04 Aug 2026 14:00:16 +0000</pubDate>
      <link>https://dev.to/momciloo/how-to-choose-a-headless-cms-for-blogging-in-2026-405a</link>
      <guid>https://dev.to/momciloo/how-to-choose-a-headless-cms-for-blogging-in-2026-405a</guid>
      <description>&lt;p&gt;A blog CMS in 2026 has three jobs: let editors ship content safely, let developers keep their framework, and keep pages fast enough that SEO is not a weekly firefight.&lt;br&gt;
Traditional all-in-one platforms can still work. They often get expensive in plugins, theme fights, and performance debt. Headless CMS tools flip the model: content via API, presentation in Next, Nuxt, Astro, Svelte, or whatever you already like.&lt;/p&gt;

&lt;h2&gt;
  
  
  What "best for blogging" actually means
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Flexible content models&lt;/strong&gt; - posts, authors, tags, related posts, callouts - not only "Post" and "Page"- &lt;strong&gt;Media that editors can handle&lt;/strong&gt; - uploads, alt text, previews, sensible image delivery- &lt;strong&gt;Roles and permissions&lt;/strong&gt; - writers should not accidentally publish production- &lt;strong&gt;Frontend freedom&lt;/strong&gt; - your blog UI is code you control- &lt;strong&gt;SEO fields&lt;/strong&gt; - titles, descriptions, slugs, structured data hooks## Why teams pick BCMS for blogs
BCMS is API-first and browser-configured. You model content visually, keep typed SDKs for frameworks, and give non-devs a dashboard that does not require learning a query language to change a headline.
Practical upsides for blogging:&lt;/li&gt;
&lt;li&gt;Custom content types without theme overrides- Media support with accessibility-friendly fields- Works with Astro, Next, Nuxt, Svelte starters- Multilingual support when you expand locales- Deploy frontend wherever you want (Vercel, Netlify, your own host)## Content modeling quick rules&lt;/li&gt;
&lt;li&gt;Identify reusable parts: hero, author card, CTA, FAQ- Relate entries (author pointers, related posts) instead of copy-paste- Keep structures consistent so templates stay maintainable- Avoid rigid page-builder blobs if you want reuse across channels## How it compares (honest shorthand)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Contentful&lt;/strong&gt; - polished SaaS, less control, cost scales with usage- &lt;strong&gt;Strapi&lt;/strong&gt; - open and flexible, more ops/security ownership- &lt;strong&gt;Sanity&lt;/strong&gt; - powerful custom studio, steeper for simple editorial teams- &lt;strong&gt;BCMS&lt;/strong&gt; - developer-friendly modeling + editor UX without the heaviest enterprise tax## Fast path to a real blog
Use a starter:
npx @thebcms/cli create next starter blog
(or Nuxt/Astro equivalents). Configure env keys, fetch entries, deploy. Editors work in BCMS; you keep shipping frontend improvements independently.
## Related reading&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://thebcms.com/blog/simple-blog-examples" rel="noopener noreferrer"&gt;25 simple blog examples you can clone&lt;/a&gt;- &lt;a href="https://thebcms.com/blog/headless-seo-guide" rel="noopener noreferrer"&gt;Headless CMS SEO practices&lt;/a&gt;- &lt;a href="https://thebcms.com/blog/user-friendly-cms" rel="noopener noreferrer"&gt;What makes a CMS user-friendly in 2026&lt;/a&gt;&lt;strong&gt;Want fetch examples for Next/Gatsby/Astro, comparison tables, and deploy steps?&lt;/strong&gt; Read the full article: &lt;a href="https://thebcms.com/blog/the-best-cms-blog-platform" rel="noopener noreferrer"&gt;Why BCMS is a strong CMS blog platform for 2026&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>cms</category>
      <category>webdev</category>
      <category>saas</category>
      <category>seo</category>
    </item>
    <item>
      <title>9 Next.js Alternatives in 2026 (And When to Actually Switch)</title>
      <dc:creator>Momcilo</dc:creator>
      <pubDate>Thu, 30 Jul 2026 14:00:36 +0000</pubDate>
      <link>https://dev.to/momciloo/9-nextjs-alternatives-in-2026-and-when-to-actually-switch-loa</link>
      <guid>https://dev.to/momciloo/9-nextjs-alternatives-in-2026-and-when-to-actually-switch-loa</guid>
      <description>&lt;p&gt;Next.js is a strong default for React teams. It is not the right default for every site. If your bottleneck is JS weight, edge latency, Vue preference, or e-commerce plumbing, a Next.js alternative can be the sane move.&lt;br&gt;
Here is a practical shortlist for 2026 - not a hype ranking, a "pick by problem" map.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to evaluate before switching
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Rendering needs&lt;/strong&gt; - SSR, SSG, islands, resumability- &lt;strong&gt;Performance budget&lt;/strong&gt; - TTFB, hydration cost, Lighthouse reality- &lt;strong&gt;DX&lt;/strong&gt; - docs quality, boilerplate, how painful data loading feels- &lt;strong&gt;Ecosystem fit&lt;/strong&gt; - CMS APIs, hosting, team skills- &lt;strong&gt;Scale story&lt;/strong&gt; - what breaks at 10k concurrent users or 100k pages## Alternatives worth knowing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Remix&lt;/strong&gt; - cleaner nested data loading; strong on the edge- &lt;strong&gt;SvelteKit&lt;/strong&gt; - smaller bundles; great when hydration tax hurts- &lt;strong&gt;Astro&lt;/strong&gt; - zero JS by default; islands when needed; excellent for content sites- &lt;strong&gt;Qwik&lt;/strong&gt; - resumability; heavy interactive apps without classic hydration pain- &lt;strong&gt;Fresh (Deno)&lt;/strong&gt; - edge-first, simpler runtime story for some teams- &lt;strong&gt;Nuxt&lt;/strong&gt; - the Vue-native answer to Next-style SSR/SSG- &lt;strong&gt;SolidStart&lt;/strong&gt; - React-like mental model with fine-grained reactivity- &lt;strong&gt;Blitz&lt;/strong&gt; - full-stack conventions for shipping SaaS faster- &lt;strong&gt;Shopify Hydrogen&lt;/strong&gt; - when the store is the product and Shopify is already home## Use-case shortcuts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Blog / portfolio&lt;/strong&gt; - Astro or SvelteKit usually beat a hydrated Next app- &lt;strong&gt;Shopify storefront&lt;/strong&gt; - Hydrogen beats a Frankenstack of Next + plugins- &lt;strong&gt;Dense dashboards&lt;/strong&gt; - Qwik or SolidStart when hydration becomes the bottleneck- &lt;strong&gt;Vue team&lt;/strong&gt; - Nuxt, not "learn React because the blog said so"## Keep the CMS portable
Frameworks change. Content should not. A headless CMS (BCMS included) keeps entries, media, and models behind an API so you can move from Next to Astro or Nuxt without rebuilding the editorial layer.
## Related reading&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://thebcms.com/blog/nextjs-advantages" rel="noopener noreferrer"&gt;Next.js advantages that actually matter&lt;/a&gt;- &lt;a href="https://thebcms.com/blog/astro-server-islands-tutorial" rel="noopener noreferrer"&gt;Astro Server Islands tutorial&lt;/a&gt;- &lt;a href="https://thebcms.com/blog/best-cms-for-svelte" rel="noopener noreferrer"&gt;Best CMS for Svelte&lt;/a&gt;&lt;strong&gt;Want deeper comparisons, install snippets, and the full decision checklist?&lt;/strong&gt; Read the complete guide: &lt;a href="https://thebcms.com/blog/nextjs-alternatives" rel="noopener noreferrer"&gt;9 Best Next.js Alternatives for 2026&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>nextjs</category>
      <category>webdev</category>
      <category>programming</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Next.js Advantages That Actually Matter for Real Projects</title>
      <dc:creator>Momcilo</dc:creator>
      <pubDate>Tue, 28 Jul 2026 14:01:11 +0000</pubDate>
      <link>https://dev.to/momciloo/nextjs-advantages-that-actually-matter-for-real-projects-5gl8</link>
      <guid>https://dev.to/momciloo/nextjs-advantages-that-actually-matter-for-real-projects-5gl8</guid>
      <description>&lt;p&gt;Next.js stays popular because it solves boring production problems: rendering strategy, SEO-friendly HTML, routing, and a path to full-stack features without bolting five tools together on day one.&lt;br&gt;
If you are building content sites, storefronts, or dashboards in React, the useful question is not "is Next.js cool?" It is "which Next.js advantages pay rent on this project?"&lt;/p&gt;

&lt;h2&gt;
  
  
  Flexible rendering (the real killer feature)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;SSR&lt;/strong&gt; - HTML per request for personalized or frequently changing pages- &lt;strong&gt;SSG&lt;/strong&gt; - prebuilt pages for blogs and marketing, served from the edge/CDN- &lt;strong&gt;ISR&lt;/strong&gt; - static pages that can refresh on a schedule without a full rebuildYou can mix strategies page by page. That is the advantage people underestimate until they try to force one rendering mode on every route.
## SEO and performance defaults
Pre-rendered HTML is easier for crawlers than a blank client shell. On top of that, Next.js gives you:&lt;/li&gt;
&lt;li&gt;Automatic code splitting per route- next/image for resizing, formats, and lazy loading- Fast Refresh during developmentNone of that replaces good content modeling or caching strategy - but it removes a lot of DIY glue.
## Full-stack without a second repo (sometimes)
API routes (and modern route handlers) let you handle forms, webhooks, and light backend work next to the UI. For many products that is enough. For heavy domains you will still split services - and that is fine.
## When Next.js is a strong fit&lt;/li&gt;
&lt;li&gt;SEO-heavy marketing and editorial sites- E-commerce catalogs that need both speed and freshness- SaaS dashboards with mixed static and dynamic data- Teams already deep in React## When to look elsewhere&lt;/li&gt;
&lt;li&gt;Mostly static content with almost no interactivity - Astro or similar can ship less JS- Ultra-minimal sites where framework weight hurts more than it helps- Teams that want Vue-first DX - Nuxt may feel more natural## Content + Next.js
Next.js is the delivery layer. For blogs and product content, keep copy in a headless CMS so editors are not filing PRs for every headline change. BCMS pairs well here: fetch entries in server components, render structured fields, keep the frontend free to evolve.
## Related reading&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://thebcms.com/blog/the-best-cms-for-nextjs" rel="noopener noreferrer"&gt;Why BCMS works well as a Next.js CMS&lt;/a&gt;- &lt;a href="https://thebcms.com/blog/optimize-nextjs-guide" rel="noopener noreferrer"&gt;How to optimize Next.js projects&lt;/a&gt;- &lt;a href="https://thebcms.com/blog/nextjs-alternatives" rel="noopener noreferrer"&gt;9 Next.js alternatives for 2026&lt;/a&gt;&lt;strong&gt;Want code samples for SSR/SSG/ISR, e-commerce patterns, and a fuller comparison table?&lt;/strong&gt; Read the complete article: &lt;a href="https://thebcms.com/blog/nextjs-advantages" rel="noopener noreferrer"&gt;Next.js advantages for your project&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>nextjs</category>
      <category>webdev</category>
      <category>react</category>
      <category>cms</category>
    </item>
    <item>
      <title>Spec-Driven Development in 2026: Stop Vibe Coding, Ship What You Specced</title>
      <dc:creator>Momcilo</dc:creator>
      <pubDate>Thu, 23 Jul 2026 14:01:10 +0000</pubDate>
      <link>https://dev.to/momciloo/spec-driven-development-in-2026-stop-vibe-coding-ship-what-you-specced-3ipd</link>
      <guid>https://dev.to/momciloo/spec-driven-development-in-2026-stop-vibe-coding-ship-what-you-specced-3ipd</guid>
      <description>&lt;p&gt;Spec-driven development (SDD) treats a versioned specification - not the code - as the source of truth. You write what the system should do, plan how, break work into tasks, then implement. When requirements change, you edit the spec first and regenerate or update the code against it.&lt;br&gt;
That sounds old-school until you watch AI agents vibe-code a feature that almost matches intent, invents APIs, and quietly contradicts yesterday's decisions. In 2026, SDD is the bridge between powerful agents and reliable shipping.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why SDD showed up now
&lt;/h2&gt;

&lt;p&gt;LLM coding agents fail in three predictable ways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Intent drift&lt;/strong&gt; - "add login" is too vague; the model invents defaults- &lt;strong&gt;Context decay&lt;/strong&gt; - past the context window, older decisions get ignored- &lt;strong&gt;Unverifiable output&lt;/strong&gt; - without acceptance criteria, review never endsA precise spec fixes all three. The phrase you keep seeing: the spec is the prompt.
## The four phases&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Specify&lt;/strong&gt; - user stories, acceptance criteria, NFRs, out of scope- &lt;strong&gt;Plan&lt;/strong&gt; - architecture, data model, APIs, constraints from a project constitution- &lt;strong&gt;Tasks&lt;/strong&gt; - atomic checklist items a junior (or agent) can execute- &lt;strong&gt;Implement&lt;/strong&gt; - code against the tasks, verify against the criteriaHuman checkpoints at each boundary matter. Skipping them is vibe coding in a costume.
## EARS notation (the part agents actually follow)
EARS (Easy Approach to Requirements Syntax) gives five patterns that collapse fuzzy asks into testable claims:&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ubiquitous&lt;/strong&gt; - The system shall log every authentication attempt.- &lt;strong&gt;Event-driven&lt;/strong&gt; - WHEN a user submits login THE system SHALL validate credentials.- &lt;strong&gt;State-driven&lt;/strong&gt; - WHILE sync is in progress THE system SHALL show a progress indicator.- &lt;strong&gt;Unwanted&lt;/strong&gt; - IF login fails three times in 60s THEN THE system SHALL lock the account.- &lt;strong&gt;Optional&lt;/strong&gt; - WHERE MFA is enabled THE system SHALL require a TOTP code.If it is not EARS-clear, an agent will guess. Guessing is expensive.
## Tooling landscape (quick map)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Spec Kit&lt;/strong&gt; - open, model-agnostic reference path- &lt;strong&gt;AWS Kiro&lt;/strong&gt; - agentic IDE with hooks after each action- &lt;strong&gt;Claude Code + skills&lt;/strong&gt; - terminal SDD loop- &lt;strong&gt;Cursor Plan Mode + AGENTS.md&lt;/strong&gt; - IDE-first constitution + plan- &lt;strong&gt;OpenSpec / BMAD / Tessl&lt;/strong&gt; - lighter or compliance-focused variantsPick based on where you already work. Portability usually means Spec Kit. AWS shops often pick Kiro. Cursor teams lean on Plan Mode plus a constitution file.
## SDD vs vibe coding vs TDD
Vibe coding is great for spikes. SDD is for anything that ships. TDD says write the test first. SDD says write the whole intent first - behavior, constraints, edge cases - then generate code and tests from that. They complement each other; they are not rivals.
## Pitfalls to avoid&lt;/li&gt;
&lt;li&gt;Over-speccing implementation details- Under-speccing behavior ("make it nice")- Skipping a project constitution- Keeping specs in Notion while code lives in git- Letting agents merge without phase reviews## Related reading&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://thebcms.com/blog/bmad-method-website-content" rel="noopener noreferrer"&gt;BMAD method for website content&lt;/a&gt;- &lt;a href="https://thebcms.com/blog/bcms-mcp-and-chatgpt" rel="noopener noreferrer"&gt;Connect BCMS MCP to ChatGPT&lt;/a&gt;- &lt;a href="https://thebcms.com/blog/ai-structured-content" rel="noopener noreferrer"&gt;Why AI depends on structured content&lt;/a&gt;&lt;strong&gt;Want the full tool comparison, Claude/Copilot/Cursor workflows, and a worked example?&lt;/strong&gt; Read the complete guide: &lt;a href="https://thebcms.com/blog/spec-driven-development" rel="noopener noreferrer"&gt;Spec-Driven Development (SDD): The Definitive 2026 Guide&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>softwareengineering</category>
      <category>vibecoding</category>
    </item>
    <item>
      <title>Astro Server Islands: Keep Pages Fast Without Giving Up Interactivity</title>
      <dc:creator>Momcilo</dc:creator>
      <pubDate>Tue, 21 Jul 2026 14:00:48 +0000</pubDate>
      <link>https://dev.to/momciloo/astro-server-islands-keep-pages-fast-without-giving-up-interactivity-144j</link>
      <guid>https://dev.to/momciloo/astro-server-islands-keep-pages-fast-without-giving-up-interactivity-144j</guid>
      <description>&lt;p&gt;Most content sites do not need a full SPA. They need fast HTML first, then a small amount of JavaScript for carousels, comments, or filters. That is exactly what Astro Server Islands are for.&lt;br&gt;
Astro ships static HTML by default. Interactive pieces become islands that hydrate only when you ask for it. The rest of the page stays light, which helps LCP, FCP, and Core Web Vitals.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Server Islands work
&lt;/h2&gt;

&lt;p&gt;Think of the page as mostly static zones plus a few interactive components:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Static content is rendered on the server and delivered as HTML- Each island is an isolated interactive component- JavaScript loads only for those islands- Hydration timing is controlled with client directivesUseful directives:&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;client:load&lt;/strong&gt; - hydrate after the page loads (chat, share, like)- &lt;strong&gt;client:idle&lt;/strong&gt; - hydrate when the browser is idle- &lt;strong&gt;client:visible&lt;/strong&gt; - hydrate when the component enters the viewport (carousels, below-the-fold widgets)- &lt;strong&gt;client:only&lt;/strong&gt; - render only on the clientRule of thumb: use &lt;strong&gt;client:load&lt;/strong&gt; for above-the-fold UI that must work immediately. Use &lt;strong&gt;client:visible&lt;/strong&gt; for everything else.
## Pair Astro with a headless CMS
Astro is great at delivery. A headless CMS is great at content ops. With BCMS you get templates (content types), entries (posts), media, and typed content your frontend can fetch without stuffing Markdown into the repo for every edit.
That split matters: editors update content in a dashboard. Developers keep framework freedom. The site still ships mostly static HTML.
## Practical setup
Start from a BCMS Astro starter:
npx @thebcms/cli create astro starter simple-blog
After login and project naming:
cd your-project &amp;amp;&amp;amp; npm install &amp;amp;&amp;amp; npm run dev
In BCMS:&lt;/li&gt;
&lt;li&gt;Templates define the shape of a blog post- Entries are the actual posts- Restart the Astro app after content model changes so types and data refresh## Add an island: image carousel
A common pattern:&lt;/li&gt;
&lt;li&gt;Install a Vue carousel (Astro starters often already include Vue)- Add a media field on the Blog template in BCMS- Build a Vue component that accepts a media collection prop- Render it in the blog page with client:load or client:visibleConditionally fall back to a cover image when the carousel field is empty. That keeps the page useful even when editors skip optional media.
## Production mindset
Use npm run build, then serve the dist output. Visitors get HTML without waiting on a database round trip for every page view. You keep interactivity where it earns its keep.
## Related reading&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://thebcms.com/blog/best-cms-for-astro" rel="noopener noreferrer"&gt;Best CMS for Astro in 2026&lt;/a&gt;- &lt;a href="https://thebcms.com/blog/astro-examples" rel="noopener noreferrer"&gt;20 Astro website examples&lt;/a&gt;- &lt;a href="https://thebcms.com/blog/jamstack-frameworks" rel="noopener noreferrer"&gt;Jamstack frameworks compared&lt;/a&gt;&lt;strong&gt;Want the full walkthrough&lt;/strong&gt; (screenshots, carousel code, production notes)? Read the complete guide on the BCMS blog: &lt;a href="https://thebcms.com/blog/astro-server-islands-tutorial" rel="noopener noreferrer"&gt;Astro Server Islands tutorial&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>astro</category>
      <category>tutorial</category>
      <category>webdev</category>
      <category>cms</category>
    </item>
    <item>
      <title>I convert videos to printed flipbooks for a living: here's how the pipeline works (FFmpeg print bind)</title>
      <dc:creator>Momcilo</dc:creator>
      <pubDate>Fri, 17 Jul 2026 13:59:20 +0000</pubDate>
      <link>https://dev.to/momciloo/i-convert-videos-to-printed-flipbooks-for-a-living-heres-how-the-pipeline-works-ffmpeg-print--4p8f</link>
      <guid>https://dev.to/momciloo/i-convert-videos-to-printed-flipbooks-for-a-living-heres-how-the-pipeline-works-ffmpeg-print--4p8f</guid>
      <description>&lt;p&gt;I spent years shipping software. Now part of my week is printing, binding, and shipping small books.&lt;/p&gt;

&lt;p&gt;In 2018 we built a side project that turned short videos into flipbooks. It sat idle for years. In late 2024 we relaunched it as &lt;a href="https://www.videotoflip.com" rel="noopener noreferrer"&gt;VideoToFlip&lt;/a&gt; - a family workshop in Serbia. Upload a clip, preview the frames, we print and bind a pocket-sized book, ship it worldwide.&lt;/p&gt;

&lt;p&gt;Stack: Next.js, FFmpeg, ImageMagick, a printer, and our hands. No AI pipeline. It pays bills.&lt;/p&gt;

&lt;h2&gt;
  
  
  The pipeline
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Upload + validation
&lt;/h3&gt;

&lt;p&gt;Customers upload MP4 / MOV / AVI, usually under 30 seconds and 100 MB. Before FFmpeg we check:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;duration&lt;/li&gt;
&lt;li&gt;file size&lt;/li&gt;
&lt;li&gt;orientation&lt;/li&gt;
&lt;li&gt;that the file is actually a video&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most support tickets come from skipping this step.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Frame extraction with FFmpeg
&lt;/h3&gt;

&lt;p&gt;The product is 72 pages, so we extract 72 frames.&lt;/p&gt;

&lt;p&gt;Even sampling across the clip is the obvious approach:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# conceptual - evenly spaced frames&lt;/span&gt;
ffmpeg &lt;span class="nt"&gt;-i&lt;/span&gt; input.mp4 &lt;span class="nt"&gt;-vf&lt;/span&gt; &lt;span class="s2"&gt;"fps=..."&lt;/span&gt; frame_%03d.jpg
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It looks correct and often feels wrong. People care about the peak moment (kiss, jump, laugh), not the lead-in. We bias sampling toward motion so the flip matches what they remember.&lt;/p&gt;

&lt;p&gt;ImageMagick handles sizing and crop for print.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Preview before checkout
&lt;/h3&gt;

&lt;p&gt;We show the exact frames that will print - not a mockup.&lt;/p&gt;

&lt;p&gt;That converted better than any copy change. Gift buyers want to know they aren't ordering the wrong second of the video.&lt;/p&gt;

&lt;p&gt;If you sell custom physical goods: preview the artifact, not the promise.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Print, bind, finish in-house
&lt;/h3&gt;

&lt;p&gt;We started with local print shops. Quality was inconsistent and turnaround was slow - a problem when wedding favors need to look identical across dozens of books.&lt;/p&gt;

&lt;p&gt;So we bought machines and learned printing, binding, and finishing ourselves. The physical object is the product. Outsourcing it was a mistake.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Shipping + customs
&lt;/h3&gt;

&lt;p&gt;We ship DHL from Serbia. Tracking matters. Clear customs/VAT messaging matters more. International buyers hate surprise fees on a gift.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mistakes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Even frame sampling&lt;/strong&gt; - correct in code, wrong in hand. Optimize for how the flip feels.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vertical video in a landscape book&lt;/strong&gt; - validate orientation early.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Outsourcing quality&lt;/strong&gt; - fine for stickers, bad when the object is the brand.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Not another SaaS story
&lt;/h2&gt;

&lt;p&gt;The web app is real: uploads, preview, checkout. The output leaves the screen. A short clip becomes paper.&lt;/p&gt;

&lt;p&gt;People order for gifts, weddings, and family moments. That demand is why this still exists.&lt;/p&gt;

&lt;p&gt;DIY version (extract frames, print at home, bind yourself):&lt;/p&gt;

&lt;p&gt;→ &lt;a href="https://www.videotoflip.com/blog/diy-flipbook-guide" rel="noopener noreferrer"&gt;DIY flipbook guide&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Workshop / origin:&lt;/p&gt;

&lt;p&gt;→ &lt;a href="https://www.videotoflip.com/about" rel="noopener noreferrer"&gt;About VideoToFlip&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Questions about FFmpeg sampling, binding, or shipping paper internationally - ask in the comments.&lt;/p&gt;

</description>
      <category>sideprojects</category>
      <category>ffmpeg</category>
      <category>showdev</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Can AI coding platforms replace traditional page builders?</title>
      <dc:creator>Momcilo</dc:creator>
      <pubDate>Thu, 27 Mar 2025 15:50:36 +0000</pubDate>
      <link>https://dev.to/momciloo/can-ai-coding-platforms-replace-traditional-page-builders-1c74</link>
      <guid>https://dev.to/momciloo/can-ai-coding-platforms-replace-traditional-page-builders-1c74</guid>
      <description>&lt;p&gt;Will AI make page builders obsolete in the next 12 months? Or are we just swapping one trap for another? This guide breaks down what &lt;strong&gt;AI coding platforms&lt;/strong&gt; can actually do, where they fall short, and how a smarter hybrid approach is already winning.&lt;/p&gt;

&lt;p&gt;Tools like &lt;a href="https://www.framer.com/features/ai/" rel="noopener noreferrer"&gt;Framer AI&lt;/a&gt;, &lt;a href="http://builder.io/" rel="noopener noreferrer"&gt;Builder.io&lt;/a&gt;, and ChatGPT’s Code Interpreter promise to automate code generation and streamline development.&lt;/p&gt;

&lt;p&gt;But can they truly replace established page builders like &lt;a href="https://webflow.com/" rel="noopener noreferrer"&gt;Webflow&lt;/a&gt;, &lt;a href="https://elementor.com/" rel="noopener noreferrer"&gt;Elementor&lt;/a&gt;, and &lt;a href="https://www.wix.com/" rel="noopener noreferrer"&gt;Wix&lt;/a&gt;?&lt;/p&gt;

&lt;p&gt;Picture this: A freelance developer needs to build a landing page overnight. With Framer AI or Builder.io, they can generate an entire layout in seconds. Meanwhile, a small business owner with zero coding knowledge drags and drops elements in Webflow to create a functional website.&lt;/p&gt;

&lt;p&gt;Both approaches work, but do they scale? Do they produce clean, maintainable code?&lt;/p&gt;

&lt;p&gt;Let’s break down the differences.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI coding platforms vs. page builders: What’s the difference?
&lt;/h2&gt;

&lt;p&gt;AI website generators function by analyzing user prompts and automatically generating code or design elements.&lt;/p&gt;

&lt;p&gt;Platforms like &lt;a href="https://v0.dev/" rel="noopener noreferrer"&gt;v0.dev&lt;/a&gt; allow users to describe a layout, and the AI produces HTML, CSS, and JavaScript.&lt;/p&gt;

&lt;p&gt;Some tools even integrate logic, making it possible to generate interactive components without manually coding them.&lt;/p&gt;

&lt;p&gt;This approach brings numerous advantages such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Speed: AI can generate complete sections of a website in seconds.&lt;/li&gt;
&lt;li&gt;Customization: Full control over the output (assuming the user has coding knowledge).&lt;/li&gt;
&lt;li&gt;No reliance on plugins: Unlike &lt;a href="https://thebcms.com/blog/why-developers-hate-wordpress" rel="noopener noreferrer"&gt;WordPress&lt;/a&gt; or Elementor, AI-generated websites aren’t weighed down by third-party plugins.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But what AI tools can’t do as page builders?&lt;/p&gt;

&lt;p&gt;They can not offer consistency. AI-generated designs may lack uniformity across different pages.&lt;/p&gt;

&lt;p&gt;Even being “smart” AI code doesn’t always follow design best practices.&lt;/p&gt;

&lt;p&gt;On the other hand, page builders like WordPress and Webflow offer structured, template-based systems for creating websites. Even though they are not as fast as AI regarding website building, they allow beginners and developers to build sites quickly.&lt;/p&gt;

&lt;p&gt;There is no need for coding knowledge, and built-in templates and themes follow the design through the pages.&lt;/p&gt;

&lt;p&gt;Other things that make website building a nightmare are plugin dependency and limited customization.&lt;/p&gt;

&lt;p&gt;Let’s break this down by what really matters: speed, flexibility, and maintainability.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI coding platforms vs page builders: Features comparison
&lt;/h2&gt;

&lt;p&gt;Before going to code analysis and the development process, let’s cover the pros/cons of both, focusing on flexibility, speed, and maintainability.&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%2Fabvfs63435x54xt5ruy9.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%2Fabvfs63435x54xt5ruy9.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Feature #1: Speed and performance
&lt;/h3&gt;

&lt;p&gt;AI tools can generate layouts and even functional components in seconds, reducing manual effort. They’re particularly powerful for rapid prototyping and generating boilerplate code.&lt;/p&gt;

&lt;p&gt;Traditional page builders offer a no-code or low-code approach, allowing users to build entire sites visually. While they’re quick to set up, the drag-and-drop nature can introduce bloated code and performance issues.&lt;/p&gt;

&lt;h3&gt;
  
  
  Feature #2: Flexibility and customization
&lt;/h3&gt;

&lt;p&gt;AI-generated code can be fully customized, but it often requires a developer to refine and optimize the output. These tools are best suited for developers who need assistance with repetitive tasks rather than a full website solution.&lt;/p&gt;

&lt;p&gt;Page builders offer &lt;strong&gt;extensive customization options through UI elements&lt;/strong&gt;, but advanced customizations often require diving into custom CSS or JavaScript, which can be limiting.&lt;/p&gt;

&lt;h3&gt;
  
  
  Feature #3: Accessibility
&lt;/h3&gt;

&lt;p&gt;AI Coding Platforms still require users to understand code, making them more suitable for developers than non-technical users.&lt;/p&gt;

&lt;p&gt;Page Builders are designed for ease of use, making them ideal for non-developers. However, complex modifications can bring a need for developers.&lt;/p&gt;

&lt;h3&gt;
  
  
  AI coding platform vs page builders: which one wins?
&lt;/h3&gt;

&lt;p&gt;Here’s how they compare in real-world use.&lt;/p&gt;

&lt;p&gt;AI tools win over speed and customization (if you know how to code), while page builders are more scalable and easy to update and manage without breaking layouts.&lt;/p&gt;

&lt;p&gt;So, &lt;strong&gt;use AI tools&lt;/strong&gt; if you're a developer looking for full control over code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use page builders&lt;/strong&gt; if you need ease of use and long-term maintainability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A hybrid approach&lt;/strong&gt; (AI-generated templates + CMS) could be the best of both worlds. ( more about this later)&lt;/p&gt;

&lt;p&gt;But before that, let’s get to the code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Can AI code be good quality code?
&lt;/h2&gt;

&lt;p&gt;While AI coding tools generate websites quickly, the code quality is often questionable. Let’s break down the key issues:&lt;/p&gt;

&lt;h3&gt;
  
  
  Code structure
&lt;/h3&gt;

&lt;p&gt;AI-generated code can be messy, redundant, and inconsistent. Unlike a well-structured, manually written codebase, AI tools often create unnecessary divs, inline styles, and inconsistent class naming conventions.&lt;/p&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI might generate multiple similar CSS classes for buttons across different sections (.btn-1, .btn-2, etc.) rather than following a DRY principle with a reusable .btn class.&lt;/li&gt;
&lt;li&gt;Accessibility features like proper heading hierarchy, ARIA labels, and semantic HTML are often overlooked by AI.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Handling reusable components
&lt;/h3&gt;

&lt;p&gt;One of the major limitations of AI-generated sites is the lack of reusable components. While page builders offer systems for managing global components like headers and footers, AI platforms often require users to manually copy and paste code across different pages.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A manually coded site (or a Webflow project) allows for a single header component that updates across all pages.&lt;/li&gt;
&lt;li&gt;An AI-generated site requires you to edit multiple HTML files separately if you need to update the navigation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Code optimization
&lt;/h3&gt;

&lt;p&gt;AI-generated pages can be unoptimized, with excessive inline styles and redundant scripts.&lt;/p&gt;

&lt;h3&gt;
  
  
  Debugging and extending AI-generated code
&lt;/h3&gt;

&lt;p&gt;AI is not perfect at debugging. Developers often find that AI-generated code works initially but contains subtle bugs or inefficient logic when extended.&lt;/p&gt;

&lt;p&gt;AI-generated JavaScript might work for a simple contact form but lack proper validation handling, requiring manual fixes.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Example: AI-Generated Code Before &amp;amp; After Cleanup&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Before (AI-generated code):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;html
CopyEdit
&amp;lt;div class="btn-1"&amp;gt;Click Me&amp;lt;/div&amp;gt;
&amp;lt;div class="btn-2"&amp;gt;Click Me&amp;lt;/div&amp;gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Issues:&lt;/strong&gt; Creates unnecessary duplicate styles, lacks semantics.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;After (Cleaned Up Code):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;html
CopyEdit
&amp;lt;button class="btn"&amp;gt;Click Me&amp;lt;/button&amp;gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Fixes: Uses semantic HTML and a reusable class.&lt;/p&gt;

&lt;p&gt;Key AI Code Problems:&lt;/p&gt;

&lt;p&gt;❌ Messy structure – Unnecessary wrappers, inline styles.&lt;br&gt;
❌ Poor accessibility – Lacks proper heading hierarchy and ARIA labels.&lt;br&gt;
❌ SEO risks – May omit metadata, &lt;a href="https://thebcms.com/blog/structured-data-in-ai" rel="noopener noreferrer"&gt;structured data&lt;/a&gt;, or proper alt text.&lt;/p&gt;

&lt;h2&gt;
  
  
  Resume: AI code can’t build for you
&lt;/h2&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%2Fhiw0lz7qg4yvxsu2cp72.jpeg" 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%2Fhiw0lz7qg4yvxsu2cp72.jpeg" alt="Image description" width="800" height="361"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I won’t argue here should or you should not use an AI code tools, instead, I want to conclude that the best option for developers is to approach AI code as a starting point rather than a fully functional solution.&lt;/p&gt;

&lt;p&gt;AI is inevitable, so instead of ignoring it, learn ways to &lt;a href="https://thebcms.com/blog/how-to-outsmart-ai" rel="noopener noreferrer"&gt;outsmart AI&lt;/a&gt; and use it as a powerful tool for your development task as an assistant, not as an ultimate solution.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI + CMS = A hybrid approach that gives a solution
&lt;/h2&gt;

&lt;p&gt;Rather than picking sides in the AI vs. page builders debate, what if you could combine the best AI features with CMS?&lt;/p&gt;

&lt;p&gt;What would happen if you choose to top building pages and instead start building reusable and flexible content?&lt;/p&gt;

&lt;p&gt;As I mentioned earlier in the text, both approaches are incomplete, so why wouldn’t you try to choose a &lt;a href="https://thebcms.com/blog/structured-content-vs-page-builders" rel="noopener noreferrer"&gt;structured approach&lt;/a&gt;?&lt;/p&gt;

&lt;p&gt;AI coding tools are great for speed and automation, while CMS-driven sites provide scalability, structured content, and long-term maintainability.&lt;/p&gt;

&lt;p&gt;A hybrid approach allows developers to use AI's speed while maintaining full control over the content and structure.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works: AI generates, CMS manages
&lt;/h2&gt;

&lt;p&gt;This concept is based on simple logic. Use the benefits of both to make your life easier. Here’s the possible workflow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Use AI for fast prototyping&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI can generate layouts, components, or even full-page structures in seconds. Instead of manually coding boilerplate sections (e.g., a hero section or a pricing table), developers can use AI tools like Framer AI or Builder.io to create an initial version.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Refine and optimize the code&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI-generated code still needs a developer’s touch. This step involves cleaning up unnecessary elements, improving accessibility, and ensuring semantic HTML for SEO and maintainability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Integrate with a CMS for content management&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI generates the front-end structure.&lt;/li&gt;
&lt;li&gt;A CMS (like BCMS) stores and delivers content dynamically.&lt;/li&gt;
&lt;li&gt;Developers connect the CMS to the AI-generated templates, ensuring a scalable, editable system for non-technical users.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Benefits of this hybrid approach
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Scalability&lt;/strong&gt;: A CMS allows easy content updates without breaking the layout.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Customization&lt;/strong&gt;: AI provides flexibility while developers refine the final product.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Efficiency&lt;/strong&gt;: AI speeds up development, and the CMS ensures long-term manageability.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Better performance&lt;/strong&gt;: Unlike bloated page builders, this approach keeps the codebase clean and optimized.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Example: AI + CMS in action
&lt;/h3&gt;

&lt;p&gt;To understand my idea and suggestion, here is a real case:&lt;/p&gt;

&lt;p&gt;Imagine you’re building a multilingual website in Next.js.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Host content on BCMS&lt;/strong&gt;: Store articles in BCMS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fetch content&lt;/strong&gt;: Retrieve articles from BCMS for translation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;User preference&lt;/strong&gt;: Add a translation button for language selection.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI translation&lt;/strong&gt;: Send content to AI for real-time translation and receive the response.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frontend update&lt;/strong&gt;: Display translated content without modifying the original BCMS data.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Want to see how this looks?&lt;/p&gt;

&lt;p&gt;Luckily, we wrote a step-by-step tutorial for this example. Learn more: &lt;a href="https://thebcms.com/blog/building-multilingual-website-with-ai-translation" rel="noopener noreferrer"&gt;Building a multilingual website in Next.js with AI-powered translation&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion: AI as a tool, not a replacement
&lt;/h2&gt;

&lt;p&gt;AI isn’t here to replace developers or even page builders entirely. Instead, it’s a tool that, when used correctly, can improve development workflows.&lt;/p&gt;

&lt;p&gt;The best approach isn’t to choose AI over CMS or page builders but to integrate them strategically.&lt;/p&gt;

&lt;p&gt;Rather than seeing AI as a website builder, think of it as an &lt;strong&gt;assistant&lt;/strong&gt;, helping developers generate code faster, while a CMS ensures structured content and long-term site management.&lt;/p&gt;

&lt;p&gt;By leveraging AI for speed and a CMS for scalability, developers get the best of both worlds: automation without compromise.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
