<?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>Forem: Martin Tonev</title>
    <description>The latest articles on Forem by Martin Tonev (@martintonev).</description>
    <link>https://forem.com/martintonev</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%2F768573%2Ffe5ca03e-16a4-412f-bb88-0f969ba03af9.png</url>
      <title>Forem: Martin Tonev</title>
      <link>https://forem.com/martintonev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/martintonev"/>
    <language>en</language>
    <item>
      <title>Why AI Development Works Better Step by Step, and Why Vibe Planner Is Built for Exactly That</title>
      <dc:creator>Martin Tonev</dc:creator>
      <pubDate>Tue, 07 Apr 2026 23:16:49 +0000</pubDate>
      <link>https://forem.com/martintonev/why-ai-development-works-better-step-by-step-and-why-vibe-planner-is-built-for-exactly-that-595i</link>
      <guid>https://forem.com/martintonev/why-ai-development-works-better-step-by-step-and-why-vibe-planner-is-built-for-exactly-that-595i</guid>
      <description>&lt;p&gt;A lot of developers get disappointed with AI coding tools for one simple reason. They expect a perfect product from one giant prompt.&lt;br&gt;
A lot of developers get disappointed with AI coding tools for one simple reason. They expect a perfect product from one giant prompt.&lt;/p&gt;

&lt;p&gt;They open Claude Code, ChatGPT, Cursor, or another AI tool, then ask for everything at once. Build the full SaaS. Add auth. Add billing. Create the dashboard. Handle edge cases. Write tests. Generate migrations. Make the UI beautiful. Connect third party APIs. Then when the result is messy, incomplete, or breaks the project structure, they conclude that AI is overrated.&lt;/p&gt;

&lt;p&gt;But that is usually not an AI problem.&lt;/p&gt;

&lt;p&gt;It is a workflow problem.&lt;/p&gt;

&lt;p&gt;Modern AI works best when software is built the same way experienced developers already know good systems should be built. One step at a time. One clear goal at a time. One validated task at a time. With direction, feedback, and memory between steps.&lt;/p&gt;

&lt;p&gt;That is exactly why I built Vibe Planner &lt;a href="http://vibecoderplanner.com" rel="noopener noreferrer"&gt;http://vibecoderplanner.com&lt;/a&gt; .&lt;/p&gt;

&lt;p&gt;The real problem with vibe coding&lt;br&gt;
The biggest issue with vibe coding is not that AI cannot write code. It clearly can. The real issue is that most people have no structure between idea and execution.&lt;/p&gt;

&lt;p&gt;They have a product idea in their head, but no real system for turning that idea into a sequence of clean, executable tasks.&lt;/p&gt;

&lt;p&gt;So they throw the whole idea into an AI model and hope for the best.&lt;/p&gt;

&lt;p&gt;That creates predictable problems.&lt;/p&gt;

&lt;p&gt;The output becomes too broad. Important details get lost. The model makes assumptions. Architecture becomes inconsistent. Earlier decisions are forgotten. The final result feels random instead of engineered.&lt;/p&gt;

&lt;p&gt;This is why one-shot prompting feels impressive at first, but painful once the project becomes real.&lt;/p&gt;

&lt;p&gt;Real products do not get built from one magical instruction.&lt;/p&gt;

&lt;p&gt;They get built from planning, scoping, sequencing, reviewing, and iterating.&lt;/p&gt;

&lt;p&gt;AI is becoming a collaborator, not a genie&lt;br&gt;
The strongest developers are starting to treat AI differently.&lt;/p&gt;

&lt;p&gt;They are not using it like a vending machine where they put in one prompt and expect a finished startup to fall out.&lt;/p&gt;

&lt;p&gt;They are using it like a fast junior, a coding partner, or an execution engine that still needs leadership.&lt;/p&gt;

&lt;p&gt;That means the job of the developer is changing.&lt;/p&gt;

&lt;p&gt;The value is no longer just writing every line manually. The value is breaking a product down into the right steps, giving precise context, validating outputs, and keeping execution aligned with the original goal.&lt;/p&gt;

&lt;p&gt;In other words, real software engineering is becoming more about orchestration.&lt;/p&gt;

&lt;p&gt;That is where Vibe Planner becomes useful.&lt;/p&gt;

&lt;p&gt;Vibe Planner turns ideas into structured AI execution&lt;br&gt;
Vibe Planner was built to solve the gap between having an idea and getting reliable AI-assisted development.&lt;/p&gt;

&lt;p&gt;Instead of starting with a giant vague prompt, you start by describing your product idea clearly.&lt;/p&gt;

&lt;p&gt;Then Vibe Planner helps turn that idea into a structured plan with development tasks that can be executed one by one.&lt;/p&gt;

&lt;p&gt;This matters because AI performs dramatically better when each task has a narrow scope and enough context.&lt;/p&gt;

&lt;p&gt;Instead of asking for “build my whole app,” you execute tasks like:&lt;/p&gt;

&lt;p&gt;Create the database schema for users, projects, and tasks&lt;/p&gt;

&lt;p&gt;Build an authentication flow with email login and password reset&lt;/p&gt;

&lt;p&gt;Create the onboarding screen where the user describes their app idea&lt;/p&gt;

&lt;p&gt;Generate a kanban board UI for planned tasks&lt;/p&gt;

&lt;p&gt;Add Stripe subscription logic after the first generated preview&lt;/p&gt;

&lt;p&gt;Each task is smaller, clearer, easier to review, and much more likely to produce usable code.&lt;/p&gt;

&lt;p&gt;That is not just better for AI. It is better engineering.&lt;/p&gt;

&lt;p&gt;Why step-by-step execution wins&lt;br&gt;
When you break software into incremental tasks, a few important things happen.&lt;/p&gt;

&lt;p&gt;First, the AI has a smaller problem to solve. Smaller problems produce cleaner outputs.&lt;/p&gt;

&lt;p&gt;Second, you can review each step before moving forward. That prevents bad assumptions from spreading across the project.&lt;/p&gt;

&lt;p&gt;Third, the project keeps its architectural consistency because each task builds on decisions made earlier.&lt;/p&gt;

&lt;p&gt;Fourth, progress becomes visible. Instead of staring at a huge dream project, you start seeing real momentum.&lt;/p&gt;

&lt;p&gt;This is one of the most underrated psychological benefits of structured AI development. People stay motivated when they can move from task to task and see the product taking shape.&lt;/p&gt;

&lt;p&gt;That is why Vibe Planner is not just a prompt generator. It is a planning and execution system.&lt;/p&gt;

&lt;p&gt;The hidden cost of bad AI workflows&lt;br&gt;
Many people think AI tools fail because the model is not good enough.&lt;/p&gt;

&lt;p&gt;In reality, a lot of failure comes from bad input structure.&lt;/p&gt;

&lt;p&gt;If you tell an AI to build everything at once, you are forcing it to compress product strategy, technical design, implementation details, and sequencing into one response. That almost always leads to shortcuts.&lt;/p&gt;

&lt;p&gt;And shortcuts are expensive.&lt;/p&gt;

&lt;p&gt;You lose time fixing broken code. You rewrite things that should have been scoped properly from the start. You re-explain project context again and again. You duplicate work because there is no persistent plan.&lt;/p&gt;

&lt;p&gt;This is where Vibe Planner saves serious time.&lt;/p&gt;

&lt;p&gt;By separating thinking from execution, and by turning the idea into concrete tasks, it reduces chaos before code is even generated.&lt;/p&gt;

&lt;p&gt;That gives you a much better chance of getting useful output from AI tools like Claude Code and others.&lt;/p&gt;

&lt;p&gt;Vibe Planner is made for builders who want control&lt;br&gt;
Some AI products try to hide the process. They promise magic. Type one sentence and get a startup.&lt;/p&gt;

&lt;p&gt;That sounds good in a demo, but serious builders know the truth. More control usually means better outcomes.&lt;/p&gt;

&lt;p&gt;Vibe Planner is for people who want the speed of AI without giving up the logic of real product development.&lt;/p&gt;

&lt;p&gt;It helps you keep the direction.&lt;/p&gt;

&lt;p&gt;It helps you preserve context.&lt;/p&gt;

&lt;p&gt;It helps you move through a project in the right order.&lt;/p&gt;

&lt;p&gt;It helps you create a workflow where AI can actually be productive instead of chaotic.&lt;/p&gt;

&lt;p&gt;If you are a solo founder, it gives you a way to think like a product manager and execute like a technical team.&lt;/p&gt;

&lt;p&gt;If you are a developer, it gives you a cleaner way to guide AI instead of constantly fighting it.&lt;/p&gt;

&lt;p&gt;If you are a non-technical founder, it gives you a system to avoid vague prompting and start working with structured deliverables.&lt;/p&gt;

&lt;p&gt;The future is not prompt once, ship instantly&lt;br&gt;
The future of AI development is not one big prompt.&lt;/p&gt;

&lt;p&gt;The future is structured planning, incremental execution, shared memory across tasks, and better orchestration between human decisions and AI output.&lt;/p&gt;

&lt;p&gt;That is the direction software engineering is moving.&lt;/p&gt;

&lt;p&gt;And that is the direction Vibe Planner is built for.&lt;/p&gt;

&lt;p&gt;You do not need to ask AI for everything at once.&lt;/p&gt;

&lt;p&gt;You need the right next step, then the next one, then the next one.&lt;/p&gt;

&lt;p&gt;That is how real products get built.&lt;/p&gt;

&lt;p&gt;That is how AI becomes actually useful.&lt;/p&gt;

&lt;p&gt;And that is why Vibe Planner matters.&lt;/p&gt;

&lt;p&gt;Check it out &lt;a href="http://vibecoderplanner.com" rel="noopener noreferrer"&gt;http://vibecoderplanner.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Redesign my dashboard for Vibe Code Planner 

http://vibecoderplanner.com/</title>
      <dc:creator>Martin Tonev</dc:creator>
      <pubDate>Tue, 07 Apr 2026 13:06:29 +0000</pubDate>
      <link>https://forem.com/martintonev/redesign-my-dashboard-for-vibe-code-planner-httpvibecoderplannercom-h4i</link>
      <guid>https://forem.com/martintonev/redesign-my-dashboard-for-vibe-code-planner-httpvibecoderplannercom-h4i</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://vibecoderplanner.com/" 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%2Fvibecoderplanner.com%2Fog-image.png" height="420" 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://vibecoderplanner.com/" rel="noopener noreferrer" class="c-link"&gt;
            Vibe Coding Plan - AI-Powered Project Planning &amp;amp; Development
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Transform your ideas into working projects with AI-powered project planning, task management, and development 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%2Fvibecoderplanner.com%2Ffav.png" width="32" height="32"&gt;
          vibecoderplanner.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>Here is proof by a top developer for working on Vibe Code Projects. 

That is why I created a tool 5 months ago for this problem.

Having your prompts one by one and not at once is the key!

Here is the tool, you can check it here: http://vibecoderplanner.</title>
      <dc:creator>Martin Tonev</dc:creator>
      <pubDate>Thu, 26 Mar 2026 23:41:45 +0000</pubDate>
      <link>https://forem.com/martintonev/here-is-proof-by-a-top-developer-for-working-on-vibe-code-projects-that-is-why-i-created-a-38pd</link>
      <guid>https://forem.com/martintonev/here-is-proof-by-a-top-developer-for-working-on-vibe-code-projects-that-is-why-i-created-a-38pd</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__body flex items-center justify-between"&gt;
        &lt;a href="http://vibecoderplanner" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;vibecoderplanner&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>Why Building a SaaS From Scratch Is Slowing You Down</title>
      <dc:creator>Martin Tonev</dc:creator>
      <pubDate>Thu, 26 Mar 2026 22:58:17 +0000</pubDate>
      <link>https://forem.com/martintonev/why-building-a-saas-from-scratch-is-slowing-you-down-3m2a</link>
      <guid>https://forem.com/martintonev/why-building-a-saas-from-scratch-is-slowing-you-down-3m2a</guid>
      <description>&lt;p&gt;If you want to launch a SaaS product, the biggest mistake is often not the idea. It is the decision to build everything from zero.&lt;/p&gt;

&lt;p&gt;Founders and developers usually start with excitement. They want to validate a new concept, get early users, and begin charging as fast as possible. But instead of working on the actual product, they spend weeks or months rebuilding the same foundation every SaaS app needs.&lt;/p&gt;

&lt;p&gt;Authentication, billing, user management, admin panels, subscription handling, email flows, team access, permissions, settings pages, legal pages, and basic dashboard structure.&lt;/p&gt;

&lt;p&gt;None of these things are the reason your customers will buy from you.&lt;/p&gt;

&lt;p&gt;They are necessary, but they are not your competitive advantage.&lt;/p&gt;

&lt;p&gt;That is exactly why smart founders use a proven Laravel SaaS boilerplate instead of starting from an empty project.&lt;/p&gt;

&lt;p&gt;If you want to launch faster and avoid wasting time on repetitive setup work, check out laravelsaas.store&lt;br&gt;
.&lt;/p&gt;

&lt;p&gt;The Hidden Cost of Starting From Zero&lt;/p&gt;

&lt;p&gt;A lot of developers believe building from scratch gives them more control. In theory, that sounds good. In practice, it usually creates delays, complexity, and unnecessary costs.&lt;/p&gt;

&lt;p&gt;Every hour you spend recreating common SaaS features is an hour you are not spending on validating your market, improving your core offer, talking to potential users, shipping the part that actually makes your product different, and getting to revenue faster.&lt;/p&gt;

&lt;p&gt;The truth is simple. Customers do not care whether you wrote your login system from zero. They care whether your product solves a real problem.&lt;/p&gt;

&lt;p&gt;The faster you can move from idea to usable product, the better your chance of winning.&lt;/p&gt;

&lt;p&gt;Why Laravel Is Still One of the Best Choices for SaaS&lt;/p&gt;

&lt;p&gt;Laravel remains one of the strongest frameworks for SaaS development because it gives developers a clean, scalable, and productive foundation.&lt;/p&gt;

&lt;p&gt;With Laravel, you get a mature ecosystem, strong authentication options, easy integrations, clean architecture, solid database handling, fast development speed, and excellent community support.&lt;/p&gt;

&lt;p&gt;For developers who want to build serious SaaS products without wasting time, Laravel is still one of the most practical choices available.&lt;/p&gt;

&lt;p&gt;But even with Laravel, there is still a lot of boilerplate work involved if you start from nothing.&lt;/p&gt;

&lt;p&gt;That is where a ready made SaaS starter gives you real leverage.&lt;/p&gt;

&lt;p&gt;What a Laravel SaaS Boilerplate Actually Buys You&lt;/p&gt;

&lt;p&gt;A good SaaS boilerplate is not just code.&lt;/p&gt;

&lt;p&gt;It is speed.&lt;/p&gt;

&lt;p&gt;It is focus.&lt;/p&gt;

&lt;p&gt;It is momentum.&lt;/p&gt;

&lt;p&gt;Instead of spending weeks wiring up standard features, you start with a structure designed for SaaS products from day one. That changes the whole business equation.&lt;/p&gt;

&lt;p&gt;You are no longer paying with time for every common feature. You are buying back your time so you can invest it in your unique value.&lt;/p&gt;

&lt;p&gt;That means faster MVP launches, faster client projects, faster iterations, and faster revenue.&lt;/p&gt;

&lt;p&gt;Who Should Use LaravelSaaS Store&lt;/p&gt;

&lt;p&gt;laravelsaas.store&lt;br&gt;
 is a strong fit for several types of buyers.&lt;/p&gt;

&lt;p&gt;Solo founders can use it to move quickly and reduce technical overhead. A ready Laravel SaaS foundation helps avoid getting stuck in endless setup mode.&lt;/p&gt;

&lt;p&gt;Agencies can use it to deliver SaaS products for clients faster. Starting from a stable base can improve margins, reduce delivery time, and help close projects with more confidence.&lt;/p&gt;

&lt;p&gt;Product developers who already know Laravel can use it to launch multiple products with a repeatable system instead of restarting from zero every time.&lt;/p&gt;

&lt;p&gt;Startup teams can use it to validate an idea before investing too heavily. A Laravel SaaS boilerplate can shorten the path from concept to working product.&lt;/p&gt;

&lt;p&gt;Common Features You Should Not Rebuild Again&lt;/p&gt;

&lt;p&gt;Most SaaS apps share the same operational foundation. Rebuilding it again and again is rarely a smart use of time.&lt;/p&gt;

&lt;p&gt;This includes user registration and login, email verification, forgot password and account recovery, subscription flows, payment integration, account settings, user roles and permissions, dashboard structure, admin management, billing pages, and onboarding basics.&lt;/p&gt;

&lt;p&gt;These features matter, but they do not need to be reinvented each time.&lt;/p&gt;

&lt;p&gt;The goal is to start with a strong base, then invest your effort into your product logic, automation, customer workflow, and market positioning.&lt;/p&gt;

&lt;p&gt;Faster Launches Mean Better Business Outcomes&lt;/p&gt;

&lt;p&gt;This is where many founders get it wrong.&lt;/p&gt;

&lt;p&gt;They think faster development is only a technical win.&lt;/p&gt;

&lt;p&gt;It is not.&lt;/p&gt;

&lt;p&gt;It is a business win.&lt;/p&gt;

&lt;p&gt;When you launch faster, you can test ideas earlier, get real feedback sooner, start charging customers faster, avoid overbuilding features nobody wants, and pivot without losing months of work.&lt;/p&gt;

&lt;p&gt;Speed is not just convenience. Speed reduces risk.&lt;/p&gt;

&lt;p&gt;That is why using a Laravel SaaS starter can directly improve your chance of building something profitable.&lt;/p&gt;

&lt;p&gt;Stop Paying the Boilerplate Tax&lt;/p&gt;

&lt;p&gt;Every new SaaS project comes with a hidden tax if you start from scratch.&lt;/p&gt;

&lt;p&gt;You pay for it in time. You pay for it in developer energy. You pay for it in delayed feedback. You pay for it in missed opportunities.&lt;/p&gt;

&lt;p&gt;Using a product like laravelsaas.store&lt;br&gt;
 helps you eliminate that tax and focus on what actually matters.&lt;/p&gt;

&lt;p&gt;Your core product. Your market. Your customers. Your growth.&lt;/p&gt;

&lt;p&gt;Final Thoughts&lt;/p&gt;

&lt;p&gt;You do not need to prove anything by rebuilding the same SaaS foundation over and over.&lt;/p&gt;

&lt;p&gt;If your goal is to launch faster, work smarter, and focus on the features that create real value, then starting with a Laravel SaaS boilerplate is the practical move.&lt;/p&gt;

&lt;p&gt;A strong base can save you weeks of work and help you turn ideas into real products much faster.&lt;/p&gt;

&lt;p&gt;Explore laravelsaas.store&lt;br&gt;
 and give yourself a better starting point for your next SaaS launch.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Share your projects, I will review every one of them.</title>
      <dc:creator>Martin Tonev</dc:creator>
      <pubDate>Mon, 23 Mar 2026 16:09:11 +0000</pubDate>
      <link>https://forem.com/martintonev/share-your-projects-i-will-review-every-one-of-them-1d2i</link>
      <guid>https://forem.com/martintonev/share-your-projects-i-will-review-every-one-of-them-1d2i</guid>
      <description></description>
    </item>
    <item>
      <title>What is your go-to tool for vibe coding?

I create my own tool to have all my projects in one place with all tasks, also I add task execution, code review, and merge to GitHub.

https://vibecoderplanner.com</title>
      <dc:creator>Martin Tonev</dc:creator>
      <pubDate>Thu, 19 Mar 2026 22:29:15 +0000</pubDate>
      <link>https://forem.com/martintonev/what-is-your-go-to-tool-for-vibe-coding-i-create-my-own-tool-to-have-all-my-projects-in-one-1fi9</link>
      <guid>https://forem.com/martintonev/what-is-your-go-to-tool-for-vibe-coding-i-create-my-own-tool-to-have-all-my-projects-in-one-1fi9</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://vibecoderplanner.com/" 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%2Fvibecoderplanner.com%2Fog-image.png" height="420" 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://vibecoderplanner.com/" rel="noopener noreferrer" class="c-link"&gt;
            Vibe Coding Plan - AI-Powered Project Planning &amp;amp; Development
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Transform your ideas into working projects with AI-powered project planning, task management, and development 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%2Fvibecoderplanner.com%2Ffav.png" width="32" height="32"&gt;
          vibecoderplanner.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>How to Launch a SaaS in One Day with Laravel SaaS Starter</title>
      <dc:creator>Martin Tonev</dc:creator>
      <pubDate>Wed, 18 Mar 2026 13:21:14 +0000</pubDate>
      <link>https://forem.com/martintonev/how-to-launch-a-saas-in-one-day-with-laravel-saas-starter-1m23</link>
      <guid>https://forem.com/martintonev/how-to-launch-a-saas-in-one-day-with-laravel-saas-starter-1m23</guid>
      <description>&lt;p&gt;Most developers burn two weeks before writing a single line of their actual product. Auth wiring. Stripe webhooks. Admin dashboards. Email configs. Laravel SaaS Starter eliminates all of it — auth, billing, teams, SEO, an AI Designer, and a super admin are already built and waiting. Here’s a complete look at what you get and how to use it to go from zero to live in a single day. The Problem Every SaaS Developer Knows&lt;/p&gt;

&lt;p&gt;You have an idea. A clear, validated, genuinely good idea for a SaaS product. You open your code editor, run composer create-project laravel/laravel, and then you spend the next two weeks doing everything except building your idea.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://laravelsaas.store" rel="noopener noreferrer"&gt;https://laravelsaas.store&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here’s what that typically looks like, in rough hours:&lt;/p&gt;

&lt;p&gt;Task Time lost&lt;/p&gt;

&lt;p&gt;Setting up payments &amp;amp; Stripe webhooks → 1–2 days&lt;/p&gt;

&lt;p&gt;Building an admin dashboard → 2–3 days&lt;/p&gt;

&lt;p&gt;Customer auth, login, email confirmation → 1–2 days&lt;/p&gt;

&lt;p&gt;Blog, landing page, SEO setup → 2–3 days&lt;/p&gt;

&lt;p&gt;Email templates &amp;amp; transactional mail → 1 day&lt;/p&gt;

&lt;p&gt;Affiliate &amp;amp; referral system → 1–2 days&lt;/p&gt;

&lt;p&gt;Legal pages, privacy policy, terms → half a day&lt;/p&gt;

&lt;p&gt;That’s 10–14 days before you’ve written a single line of your actual product. Laravel SaaS Starter compresses all of that to a morning.&lt;/p&gt;

&lt;p&gt;“Don’t vibe code every new project from scratch. Use a starter and work on the important things only — with tested features already working.” What Is Laravel SaaS Starter?&lt;/p&gt;

&lt;p&gt;Laravel SaaS Starter is a production-ready boilerplate built on Laravel, Livewire, Tailwind CSS, Alpine.js, Folio, and Volt. It ships with every foundational SaaS layer pre-built, pre-tested, and wired together — so you can configure your product details and immediately start building the features that are actually unique to you.&lt;/p&gt;

&lt;p&gt;Over 885 developers have already used it to ship. It’s a one-time purchase, you own the full source code, there’s no vendor lock-in, and it comes with a commercial license — meaning you can use it for client projects and your own products alike.&lt;/p&gt;

&lt;p&gt;Here’s a deep look at every major feature.&lt;/p&gt;

&lt;p&gt;Feature Deep-Dive 1. Stripe Payments — Production-Ready from Day One&lt;/p&gt;

&lt;p&gt;Stripe integration is one of the most time-consuming parts of any SaaS setup. You need to configure products and plans in the Stripe dashboard, handle webhook events reliably, manage subscription state, deal with failed payments and dunning, and expose all of this to your users in a clean dashboard. Laravel SaaS Starter ships with all of it done.&lt;/p&gt;

&lt;p&gt;What’s included:&lt;/p&gt;

&lt;p&gt;Stripe plans management — create and manage plans directly from the admin dashboard, no hardcoding required&lt;br&gt;
Webhook handling — all critical Stripe events (subscription created, updated, cancelled, payment failed) are pre-wired and handled&lt;br&gt;
Customer billing portal — users can upgrade, downgrade, and cancel their own subscriptions from the customer dashboard&lt;br&gt;
Zero-configuration activation — enter your Stripe keys and the integration registers automatically&lt;br&gt;
This alone saves most developers 1–2 full days of work, and prevents the subtle webhook bugs that tend to surface weeks after launch.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Customer Dashboard — A Complete User Experience&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Your users deserve more than a bare-bones account page. The customer dashboard in Laravel SaaS Starter is a fully designed, feature-rich interface that handles everything a SaaS user expects.&lt;/p&gt;

&lt;p&gt;Profile management — name, email, avatar, password changes&lt;br&gt;
Subscription management — current plan, billing history, upgrade/downgrade options&lt;br&gt;
Team and seat management (where applicable)&lt;br&gt;
Notification preferences and account settings&lt;br&gt;
The dashboard is built with Livewire and Tailwind, so it’s reactive without a full JavaScript framework and straightforward to extend with your own feature-specific pages.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Super Admin Dashboard — Full Control, No Code&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;One of the most underrated time-sinks in SaaS development is building internal tooling. You need to manage users, view subscription states, edit site content, configure modules, and handle support — all without writing bespoke admin interfaces for each.&lt;/p&gt;

&lt;p&gt;The Super Admin dashboard gives you:&lt;/p&gt;

&lt;p&gt;User management — view, edit, suspend, and delete users&lt;br&gt;
Subscription oversight — see which users are on which plans, manually adjust subscriptions&lt;br&gt;
Settings panel — configure site-wide options from a single interface&lt;br&gt;
Dynamic pages management — create and edit content pages without code&lt;br&gt;
Module toggling — enable or disable features site-wide from the admin&lt;br&gt;
Email management — configure sending settings and preview templates&lt;br&gt;
Affiliate management — approve affiliates, view referrals, manage payouts&lt;br&gt;
Landing page editor — update all key sections directly from the admin&lt;br&gt;
This is the kind of admin tooling that typically takes 2–3 days to build and ends up half-finished. Here it’s complete, polished, and extensible.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;AI Designer — The Feature That Changes Everything&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is the standout feature that sets Laravel SaaS Starter apart from every other boilerplate on the market. The AI Designer is a built-in interface in the Super Admin that lets anyone — founders, marketers, non-technical clients — modify the visual design of the entire application just by describing what they want in plain English.&lt;/p&gt;

&lt;p&gt;“Change the hero background to a dark navy with a subtle purple gradient and make the CTA button orange.” The AI Designer applies the change. No developer. No code. No deployment.&lt;/p&gt;

&lt;p&gt;What the AI Designer can modify:&lt;/p&gt;

&lt;p&gt;Colors and themes — brand colors, backgrounds, button colors, accent tones&lt;br&gt;
Typography and fonts — switch font families, adjust weights and sizes&lt;br&gt;
Layout and sections — reorder, show/hide, and restructure page sections&lt;br&gt;
Landing page copy — headlines, subheadlines, CTAs, feature descriptions&lt;br&gt;
Component styles — cards, pricing tables, feature blocks, testimonials&lt;br&gt;
The practical applications are significant. For agencies, this means you can hand off a white-labelled Laravel SaaS to a client and they can fully maintain the design themselves. For founders, it means design iteration happens in minutes instead of dev cycles. It’s genuinely one of the most useful features in any Laravel starter kit available today.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Affiliate &amp;amp; Whitelist System — Word-of-Mouth Built In&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Growth channels are as important as the product itself. Most SaaS products add affiliate programmes as an afterthought, months after launch, once they realize organic growth is slower than expected. Laravel SaaS Starter ships with it from day one.&lt;/p&gt;

&lt;p&gt;Affiliate management — approve and manage affiliates from the Super Admin&lt;br&gt;
Referral tracking — unique referral links and attribution built in&lt;br&gt;
Whitelist management — control early access, beta invites, or restricted features by user&lt;br&gt;
Commission oversight — view and manage payout data from the admin&lt;br&gt;
Launching with an affiliate programme ready means your first users can immediately start referring others. That’s a growth channel most products miss for their first 6 months.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Email Setup — Transactional Mail Ready to Go&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Transactional email is one of those features that sounds simple but consistently trips developers up. Configuring Mailgun, wiring up templates, handling failures, building an admin interface to manage it — it’s a half-day project at minimum.&lt;/p&gt;

&lt;p&gt;Laravel SaaS Starter ships with:&lt;/p&gt;

&lt;p&gt;Mailgun and custom SMTP preconfigured — switch between them from the admin&lt;br&gt;
Transactional email templates — welcome emails, password resets, subscription confirmations, all pre-built&lt;br&gt;
Admin email management — configure sending credentials, preview templates, and test sends from the dashboard&lt;br&gt;
Laravel’s native queue integration — emails send asynchronously so they don’t block user-facing requests&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;SEO Optimised Out of the Box&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Most SaaS boilerplates treat SEO as an afterthought. Laravel SaaS Starter treats it as a first-class concern. Every page ships with proper meta tags, Open Graph data, structured markup, and the technical foundations search engines expect.&lt;/p&gt;

&lt;p&gt;Meta title and description management from the admin&lt;br&gt;
Open Graph tags for social sharing previews&lt;br&gt;
Canonical URLs handled automatically&lt;br&gt;
Sitemap generation&lt;br&gt;
Clean, semantic HTML across all templates&lt;br&gt;
This matters more than most developers appreciate at launch time. SEO takes months to compound — starting correctly on day one means you’re not fixing technical debt six months later when you finally care about organic traffic.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Complete Landing Page — Editable from the Admin&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The Complete and Complete + Lifetime Updates plans ship with a full marketing landing page, including all the sections a SaaS product needs: hero, problem statement, features, pricing, testimonials, FAQ, and CTA. Every section is editable from the Super Admin without touching code.&lt;/p&gt;

&lt;p&gt;Combined with the AI Designer, this means a complete non-technical team member can take a freshly installed Laravel SaaS Starter and have a fully customised, on-brand landing page live in an afternoon.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Design System — Tailwind + DaisyUI Components&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Building consistent UI across a SaaS product is tedious when you’re starting from scratch. Laravel SaaS Starter includes a complete design system built on Tailwind CSS and DaisyUI, giving you a library of ready-to-use components — buttons, forms, cards, modals, tables, badges, alerts — all consistent and production-ready.&lt;/p&gt;

&lt;p&gt;No design skills required. No decisions about button radius or input focus states. The system handles it, and you extend it with your own components as needed.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Legal Pages — Privacy Policy, Terms of Service &amp;amp; More&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This one always gets skipped until someone complains. Privacy policies and terms of service are legally required for any SaaS that handles user data, which is every SaaS. Laravel SaaS Starter ships with pre-built legal pages that are fully editable from the Super Admin. Update the copy to match your product and publish. Done.&lt;/p&gt;

&lt;p&gt;The Technology Stack&lt;/p&gt;

&lt;p&gt;Laravel SaaS Starter is built on a modern, production-proven stack that’s opinionated enough to ship fast but flexible enough to extend in any direction.&lt;/p&gt;

&lt;p&gt;Laravel — The core PHP framework. Version 11, with full support for queues, events, jobs, and the complete ecosystem.&lt;/p&gt;

&lt;p&gt;Livewire — Reactive UI without a JavaScript frontend framework. Write PHP, get dynamic interfaces.&lt;/p&gt;

&lt;p&gt;Tailwind CSS — Utility-first CSS. Combined with DaisyUI for component-level consistency.&lt;/p&gt;

&lt;p&gt;Alpine.js — Lightweight JavaScript for browser interactions that don’t need a full reactive framework.&lt;/p&gt;

&lt;p&gt;Folio &amp;amp; Volt — Laravel’s modern page-based routing and single-file Livewire components. Less boilerplate, cleaner structure.&lt;/p&gt;

&lt;p&gt;Laravel AI — Powers the AI Designer. Enables natural language design changes from the admin interface.&lt;/p&gt;

&lt;p&gt;Pricing — A One-Time Investment&lt;/p&gt;

&lt;p&gt;Laravel SaaS Starter offers three plans, all one-time payments per domain. No monthly fees, no recurring platform costs.&lt;/p&gt;

&lt;p&gt;Starter — $89 (Admin Only)&lt;/p&gt;

&lt;p&gt;The complete admin dashboard, Stripe payment integration, affiliate management, user subscription and whitelist management, email management tools, dynamic pages system, and Tailwind design components. Ideal for developers who already have a frontend or landing page and need the backend infrastructure.&lt;/p&gt;

&lt;p&gt;Complete Starter Kit — $109&lt;/p&gt;

&lt;p&gt;Everything in Starter, plus the professional landing page. The full package for launching a new SaaS product with both frontend and backend ready from day one.&lt;/p&gt;

&lt;p&gt;Complete + Lifetime Updates — $79/year&lt;/p&gt;

&lt;p&gt;Everything in Complete, plus lifetime feature updates, new integrations and modules as they ship, and priority email support. The best value for teams building long-term products who want to stay on the latest version without manual upgrades.&lt;/p&gt;

&lt;p&gt;All plans include full source code, documentation, and a commercial license. You own the code. No vendor lock-in. Use it for your own SaaS or for client projects.&lt;/p&gt;

&lt;p&gt;With typical Laravel development costing $50-$150/hour, the foundation Laravel SaaS Starter provides would take 100+ hours to build from scratch — a $5,000-$15,000 investment in developer time. A one-time payment of $79-$109 is, objectively, one of the better value propositions in developer tooling.&lt;/p&gt;

&lt;p&gt;The One-Day Launch: A Realistic Schedule&lt;/p&gt;

&lt;p&gt;Here’s what an actual launch day looks like using Laravel SaaS Starter, based on the real setup time of the platform:&lt;/p&gt;

&lt;p&gt;Run the installer, configure your .env, enter your Stripe keys, set up your mail provider. The installer handles database migrations and initial seeding automatically.&lt;/p&gt;

&lt;p&gt;Log into the Super Admin. Update your logo, brand colors, and site name. Use the AI Designer to dial in your visual style. Edit landing page sections — hero copy, feature descriptions, pricing — directly from the admin.&lt;/p&gt;

&lt;p&gt;Create your subscription plans in the Stripe dashboard. Map them in the Laravel SaaS admin. Customise the pricing page copy. Test end-to-end with Stripe test cards.&lt;/p&gt;

&lt;p&gt;Configure your mail provider in the admin. Update the privacy policy and terms of service with your product details. Test a welcome email flow.&lt;/p&gt;

&lt;p&gt;Seven uninterrupted hours on the feature that makes your SaaS worth paying for. Everything else is already built.&lt;/p&gt;

&lt;p&gt;Compare that to a from-scratch Laravel setup where 8:00 PM on day one still has you debugging a Stripe webhook and wondering why your email confirmation isn’t sending.&lt;/p&gt;

&lt;p&gt;Who Is This For?&lt;/p&gt;

&lt;p&gt;Laravel SaaS Starter is built for:&lt;/p&gt;

&lt;p&gt;Solo developers and indie hackers who want to ship fast without sacrificing quality or owning production-ready code&lt;br&gt;
Freelancers and agencies building SaaS products for clients who need a polished, extensible foundation they can hand off&lt;br&gt;
Early-stage startups who need to validate a product in the market before investing weeks in infrastructure&lt;br&gt;
Experienced Laravel developers who are tired of rebuilding the same foundations on every new project&lt;br&gt;
Non-technical founders who want a platform their team can manage independently via the AI Designer and Super Admin&lt;br&gt;
Why This, Not Something Else?&lt;/p&gt;

&lt;p&gt;There are other Laravel starters. Here’s what differentiates Laravel SaaS Starter specifically:&lt;/p&gt;

&lt;p&gt;You own the code, completely&lt;/p&gt;

&lt;p&gt;Every line of source code is yours. There’s no black box, no SDK you’re calling into, no SaaS platform sitting between your product and your users. You can read it, modify it, and extend it without limitations.&lt;/p&gt;

&lt;p&gt;The AI Designer is genuinely unique&lt;/p&gt;

&lt;p&gt;No other Laravel boilerplate ships with a natural language design tool built into the admin. It’s a real, practical feature that changes how non-technical team members interact with the product.&lt;/p&gt;

&lt;p&gt;Battle-tested, not toy demos&lt;/p&gt;

&lt;p&gt;Features are built with production in mind. Stripe webhooks handle edge cases. Email queues are async. Admin controls are role-gated. This is code you can ship to paying customers without a rewrite.&lt;/p&gt;

&lt;p&gt;Lifetime updates on the annual plan&lt;/p&gt;

&lt;p&gt;New modules, new integrations, and new features ship regularly. The annual plan keeps you current without manual upgrade work — you get pull updates as the starter kit evolves.&lt;/p&gt;

&lt;p&gt;One-time payment, commercial license&lt;/p&gt;

&lt;p&gt;Build as many projects as you want on a single domain. Use it for client work. The commercial license covers it all with no per-project fees.&lt;/p&gt;

&lt;p&gt;Get Started&lt;/p&gt;

&lt;p&gt;The gap between SaaS idea and launched product has never been smaller. Laravel SaaS Starter removes every friction point between a fresh install and a live, billable product — auth, billing, admin, SEO, email, affiliates, and a landing page that a non-technical team member can maintain independently.&lt;/p&gt;

&lt;p&gt;885+ developers are already building with it. An early bird offer is currently available — only 117 spots remaining at the discounted price.&lt;/p&gt;

&lt;p&gt;Visit &lt;a href="https://laravelsaas.store" rel="noopener noreferrer"&gt;https://laravelsaas.store&lt;/a&gt; to claim your copy and start shipping.&lt;/p&gt;

&lt;p&gt;Laravel SaaS Starter · Laravel 11 · Livewire 3 · Tailwind CSS · Alpine.js · Folio · Volt · Laravel AI · One-time payment · Full source code · Commercial license&lt;/p&gt;

&lt;p&gt;

&lt;/p&gt;
&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__body flex items-center justify-between"&gt;
        &lt;a href="https://laravelsaas.store" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;laravelsaas.store&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;




</description>
      <category>webdev</category>
      <category>ai</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Startup MVP Planner: How Developers Can Turn Ideas into Working Products Faster</title>
      <dc:creator>Martin Tonev</dc:creator>
      <pubDate>Mon, 09 Mar 2026 00:26:08 +0000</pubDate>
      <link>https://forem.com/martintonev/startup-mvp-planner-how-developers-can-turn-ideas-into-working-products-faster-4mnp</link>
      <guid>https://forem.com/martintonev/startup-mvp-planner-how-developers-can-turn-ideas-into-working-products-faster-4mnp</guid>
      <description>&lt;p&gt;Every developer has experienced the same problem at least once. A great startup idea appears, motivation is high, the first lines of code are written, and then things slowly start falling apart.&lt;/p&gt;

&lt;p&gt;Tasks become unclear. Priorities change every day. Features get added without structure. Eventually the project becomes a chaotic mix of unfinished ideas.&lt;/p&gt;

&lt;p&gt;The truth is simple. Most startup projects do not fail because of bad developers. They fail because there is no clear MVP planning process.&lt;/p&gt;

&lt;p&gt;A Startup MVP planner solves exactly this problem. It transforms an idea into a structured development roadmap that developers can actually execute.&lt;/p&gt;

&lt;p&gt;In this article we will explore why MVP planning is critical for developers, what a good MVP planner should do, and how tools like VibeCoderPlanner help developers ship products significantly faster.&lt;/p&gt;

&lt;p&gt;The Real Problem Developers Face When Building Startups&lt;br&gt;
Developers are great at building systems. But building the right system in the right order is much harder.&lt;/p&gt;

&lt;p&gt;When someone starts a new SaaS or startup project, the process usually looks like this:&lt;/p&gt;

&lt;p&gt;Idea appears&lt;br&gt;
Developer opens the editor&lt;br&gt;
Random features start being implemented&lt;br&gt;
The product grows without structure&lt;br&gt;
Weeks later the MVP is still not ready&lt;br&gt;
This happens because developers skip the planning layer.&lt;/p&gt;

&lt;p&gt;Without structured planning, even experienced engineers waste huge amounts of time building features that are not required for the MVP.&lt;/p&gt;

&lt;p&gt;The goal of an MVP is not perfection. The goal is speed and validation.&lt;/p&gt;

&lt;p&gt;What Is a Startup MVP Planner?&lt;br&gt;
A Startup MVP planner is a system that converts an idea into a clear execution roadmap.&lt;/p&gt;

&lt;p&gt;Instead of guessing what to build next, developers receive a structured plan that includes:&lt;/p&gt;

&lt;p&gt;• Core MVP features&lt;br&gt;
 • Development tasks&lt;br&gt;
 • Dependencies between features&lt;br&gt;
 • Technical implementation suggestions&lt;br&gt;
 • Task prioritization&lt;/p&gt;

&lt;p&gt;This approach removes uncertainty and allows developers to move directly into execution.&lt;/p&gt;

&lt;p&gt;The most powerful modern MVP planners now use AI to generate the plan automatically.&lt;/p&gt;

&lt;p&gt;AI Is Changing How Developers Plan Products&lt;br&gt;
Artificial intelligence has dramatically improved the early stages of product development.&lt;/p&gt;

&lt;p&gt;Instead of manually writing long product requirement documents, developers can now describe their idea in plain language and receive a complete MVP roadmap.&lt;/p&gt;

&lt;p&gt;AI can help with:&lt;/p&gt;

&lt;p&gt;• Feature discovery&lt;br&gt;
 • Breaking large features into tasks&lt;br&gt;
 • Suggesting architecture&lt;br&gt;
 • Generating development prompts&lt;br&gt;
 • Organizing tasks in a Kanban workflow&lt;/p&gt;

&lt;p&gt;This allows developers to focus on what they do best: building software.&lt;/p&gt;

&lt;p&gt;From Idea to Development Tasks in Minutes&lt;br&gt;
One of the biggest advantages of AI-powered planning tools is the ability to transform an idea into a structured task system within minutes.&lt;/p&gt;

&lt;p&gt;A typical workflow looks like this:&lt;/p&gt;

&lt;p&gt;Step 1 — Describe the product idea&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
 "Build a SaaS tool that analyzes website SEO and suggests improvements."&lt;/p&gt;

&lt;p&gt;Step 2 — AI generates an MVP structure&lt;/p&gt;

&lt;p&gt;The planner creates modules such as:&lt;/p&gt;

&lt;p&gt;• User authentication&lt;br&gt;
 • Website crawler&lt;br&gt;
 • SEO analysis engine&lt;br&gt;
 • Report generation&lt;br&gt;
 • Dashboard UI&lt;/p&gt;

&lt;p&gt;Step 3 — Tasks are automatically created&lt;/p&gt;

&lt;p&gt;Each module becomes a list of development tasks such as:&lt;/p&gt;

&lt;p&gt;• Create database schema&lt;br&gt;
 • Implement crawler queue&lt;br&gt;
 • Build SEO scoring algorithm&lt;br&gt;
 • Generate PDF reports&lt;br&gt;
 • Create dashboard charts&lt;/p&gt;

&lt;p&gt;Now the developer has a clear execution roadmap.&lt;/p&gt;

&lt;p&gt;Executing Tasks with AI Assisted Development&lt;br&gt;
Planning is only half the battle. Execution is where most projects slow down.&lt;/p&gt;

&lt;p&gt;Modern development workflows increasingly combine:&lt;/p&gt;

&lt;p&gt;• AI coding assistants&lt;br&gt;
 • structured task planning&lt;br&gt;
 • Git integration&lt;/p&gt;

&lt;p&gt;This creates a powerful development loop:&lt;/p&gt;

&lt;p&gt;Plan → Generate Tasks → Execute with AI → Merge Code → Repeat&lt;/p&gt;

&lt;p&gt;Tools like VibeCoderPlanner are designed around exactly this workflow.&lt;/p&gt;

&lt;p&gt;Developers can:&lt;/p&gt;

&lt;p&gt;• generate development tasks automatically&lt;br&gt;
 • manage tasks in a Kanban board&lt;br&gt;
 • execute tasks using AI coding tools&lt;br&gt;
 • merge completed work directly into GitHub repositories&lt;/p&gt;

&lt;p&gt;This significantly reduces friction between planning and coding.&lt;/p&gt;

&lt;p&gt;Why Developers Should Care About MVP Planning&lt;br&gt;
Many developers believe planning slows them down.&lt;/p&gt;

&lt;p&gt;In reality, the opposite is true.&lt;/p&gt;

&lt;p&gt;Without planning:&lt;/p&gt;

&lt;p&gt;• scope creep grows&lt;br&gt;
 • priorities change constantly&lt;br&gt;
 • features are built twice&lt;br&gt;
 • technical debt grows early&lt;/p&gt;

&lt;p&gt;With a proper MVP planning workflow:&lt;/p&gt;

&lt;p&gt;• development becomes predictable&lt;br&gt;
 • features are delivered in the right order&lt;br&gt;
 • the MVP ships much faster&lt;br&gt;
 • feedback can be collected earlier&lt;/p&gt;

&lt;p&gt;For startups, speed is everything. Shipping the first version quickly often determines whether a product survives.&lt;/p&gt;

&lt;p&gt;The Rise of AI Assisted "Vibe Coding"&lt;br&gt;
A new development style is emerging among indie hackers and startup founders.&lt;/p&gt;

&lt;p&gt;Some call it vibe coding.&lt;/p&gt;

&lt;p&gt;Instead of manually designing every component, developers work with AI systems that:&lt;/p&gt;

&lt;p&gt;• help generate architecture&lt;br&gt;
 • suggest tasks&lt;br&gt;
 • write code scaffolding&lt;br&gt;
 • automate repetitive work&lt;/p&gt;

&lt;p&gt;The developer remains in control but moves significantly faster.&lt;/p&gt;

&lt;p&gt;A Startup MVP planner becomes the central hub that connects all these workflows.&lt;/p&gt;

&lt;p&gt;When Should You Use an MVP Planner?&lt;br&gt;
A startup MVP planner is useful in many scenarios:&lt;/p&gt;

&lt;p&gt;New SaaS product&lt;br&gt;
You have an idea but need to define the MVP scope.&lt;/p&gt;

&lt;p&gt;Indie hacker projects&lt;br&gt;
You want to launch quickly and validate the idea.&lt;/p&gt;

&lt;p&gt;AI powered applications&lt;br&gt;
Complex AI workflows need structured planning.&lt;/p&gt;

&lt;p&gt;Developer teams&lt;br&gt;
Multiple developers need a shared roadmap.&lt;/p&gt;

&lt;p&gt;Agency MVP development&lt;br&gt;
Deliver structured MVPs for clients faster.&lt;/p&gt;

&lt;p&gt;In all these cases, planning is what separates successful launches from unfinished side projects.&lt;/p&gt;

&lt;p&gt;How to Start Planning Your Next Startup MVP&lt;br&gt;
If you are a developer thinking about building your next product, start with one simple rule.&lt;/p&gt;

&lt;p&gt;Do not open the code editor first.&lt;/p&gt;

&lt;p&gt;Instead:&lt;/p&gt;

&lt;p&gt;Define the core problem&lt;br&gt;
Identify the smallest MVP that solves it&lt;br&gt;
Break the MVP into clear development tasks&lt;br&gt;
Execute those tasks one by one&lt;br&gt;
Tools like VibeCoderPlanner automate most of this process and help developers move from idea to execution in minutes.&lt;/p&gt;

&lt;p&gt;Final Thoughts&lt;br&gt;
The hardest part of building a startup is not writing code. Developers are very good at that.&lt;/p&gt;

&lt;p&gt;The real challenge is deciding what to build first.&lt;/p&gt;

&lt;p&gt;A Startup MVP planner removes this uncertainty by turning ideas into structured execution plans.&lt;/p&gt;

&lt;p&gt;For developers who want to ship faster, validate ideas earlier, and avoid chaotic development cycles, using an AI powered planning system is quickly becoming a competitive advantage.&lt;/p&gt;

&lt;p&gt;And in the fast moving startup world, the teams that plan better and ship faster are usually the ones that win.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>buildinpublic</category>
      <category>productivity</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Ship Fast or Get Forgotten: How I Launch SaaS Faster with AI and Boilerplates</title>
      <dc:creator>Martin Tonev</dc:creator>
      <pubDate>Thu, 05 Mar 2026 21:24:26 +0000</pubDate>
      <link>https://forem.com/martintonev/ship-fast-or-get-forgotten-how-i-launch-saas-faster-with-ai-and-boilerplates-2a7m</link>
      <guid>https://forem.com/martintonev/ship-fast-or-get-forgotten-how-i-launch-saas-faster-with-ai-and-boilerplates-2a7m</guid>
      <description>&lt;p&gt;The biggest myth in software development is that great products take a long time to build.&lt;/p&gt;

&lt;p&gt;They don’t.&lt;/p&gt;

&lt;p&gt;Great products take a long time to refine.&lt;br&gt;
 But the first working version should appear extremely fast.&lt;/p&gt;

&lt;p&gt;In today’s AI driven development world, the founders who win are not the ones with the most perfect architecture. They are the ones who ship working software before everyone else even finishes planning.&lt;/p&gt;

&lt;p&gt;Shipping fast is not about cutting corners.&lt;br&gt;
 It is about removing unnecessary work.&lt;/p&gt;

&lt;p&gt;After building software for more than a decade, I realized something simple:&lt;/p&gt;

&lt;p&gt;Most SaaS products are built on the same foundation.&lt;/p&gt;

&lt;p&gt;Authentication&lt;br&gt;
 User roles&lt;br&gt;
 Subscriptions&lt;br&gt;
 Admin panels&lt;br&gt;
 Notifications&lt;br&gt;
 API access&lt;br&gt;
 Settings&lt;br&gt;
 Dashboards&lt;/p&gt;

&lt;p&gt;Every founder keeps rebuilding these from scratch. That is months of wasted time.&lt;/p&gt;

&lt;p&gt;Instead, I focus on speed and leverage.&lt;/p&gt;

&lt;p&gt;This is the system I currently use to launch products faster than ever.&lt;/p&gt;

&lt;p&gt;Step 1: Start with a Working SaaS Foundation&lt;br&gt;
The fastest way to ship software is simple.&lt;/p&gt;

&lt;p&gt;Do not start from zero.&lt;/p&gt;

&lt;p&gt;Instead of setting up authentication, billing, permissions, admin dashboards, and basic infrastructure every time, I start from a production ready SaaS boilerplate.&lt;/p&gt;

&lt;p&gt;The base I use is:&lt;/p&gt;

&lt;p&gt;Laravel SaaS Store&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.laravelsaas.store" rel="noopener noreferrer"&gt;https://www.laravelsaas.store&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The idea is simple. Everything that normally takes weeks is already there and tested.&lt;/p&gt;

&lt;p&gt;Typical SaaS foundations already included:&lt;/p&gt;

&lt;p&gt;• Authentication&lt;br&gt;
 • User management&lt;br&gt;
 • Role based permissions&lt;br&gt;
 • Admin panel&lt;br&gt;
 • Stripe subscriptions&lt;br&gt;
 • API structure&lt;br&gt;
 • Notifications&lt;br&gt;
 • Queue system&lt;br&gt;
 • Database architecture&lt;/p&gt;

&lt;p&gt;This means the project starts at 60 percent completion instead of 0 percent.&lt;/p&gt;

&lt;p&gt;Instead of spending weeks wiring infrastructure, I can immediately focus on the actual product idea.&lt;/p&gt;

&lt;p&gt;For indie hackers and SaaS founders, this alone can cut development time by months.&lt;/p&gt;

&lt;p&gt;Step 2: Use AI to Plan the Entire Product&lt;br&gt;
Once the base is ready, the next bottleneck appears.&lt;/p&gt;

&lt;p&gt;Planning.&lt;/p&gt;

&lt;p&gt;Most founders either overthink planning or completely skip it.&lt;/p&gt;

&lt;p&gt;Both approaches fail.&lt;/p&gt;

&lt;p&gt;This is where AI becomes extremely powerful.&lt;/p&gt;

&lt;p&gt;Instead of manually writing specifications, I use:&lt;/p&gt;

&lt;p&gt;VibeCoderPlanner&lt;/p&gt;

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

&lt;p&gt;The concept is simple but powerful.&lt;/p&gt;

&lt;p&gt;You describe your idea and the system generates:&lt;/p&gt;

&lt;p&gt;• development tasks&lt;br&gt;
 • implementation prompts&lt;br&gt;
 • architecture suggestions&lt;br&gt;
 • step by step execution flow&lt;/p&gt;

&lt;p&gt;Instead of staring at a blank task board, you instantly get a structured development roadmap.&lt;/p&gt;

&lt;p&gt;The tasks appear in a Kanban style workflow where you can move them from planning to execution.&lt;/p&gt;

&lt;p&gt;This removes the second biggest bottleneck in building products:&lt;/p&gt;

&lt;p&gt;figuring out what to build next.&lt;/p&gt;

&lt;p&gt;Step 3: Execute Tasks with AI Assisted Development&lt;br&gt;
Once the plan exists, the workflow becomes extremely fast.&lt;/p&gt;

&lt;p&gt;Each generated task becomes a development instruction.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;Create API endpoint for product creation&lt;br&gt;
 Add Stripe subscription logic&lt;br&gt;
 Implement analytics dashboard&lt;br&gt;
 Build onboarding flow&lt;/p&gt;

&lt;p&gt;Each task can then be executed with AI coding tools such as Cursor, Copilot, or GPT powered assistants.&lt;/p&gt;

&lt;p&gt;Instead of writing everything manually, the process becomes:&lt;/p&gt;

&lt;p&gt;Task → Prompt → Generated Code → Review → Merge&lt;/p&gt;

&lt;p&gt;In many cases, entire features can be implemented in minutes.&lt;/p&gt;

&lt;p&gt;Step 4: Ship Before It Feels Ready&lt;br&gt;
One of the biggest mistakes developers make is waiting too long before releasing.&lt;/p&gt;

&lt;p&gt;Perfection kills momentum.&lt;/p&gt;

&lt;p&gt;Shipping fast means launching when the product is functional, not perfect.&lt;/p&gt;

&lt;p&gt;Your first users will always reveal things you never predicted.&lt;/p&gt;

&lt;p&gt;Real feedback beats internal planning every single time.&lt;/p&gt;

&lt;p&gt;The faster the feedback loop becomes, the faster the product improves.&lt;/p&gt;

&lt;p&gt;The goal is simple:&lt;/p&gt;

&lt;p&gt;Build → Release → Learn → Improve&lt;/p&gt;

&lt;p&gt;Not:&lt;/p&gt;

&lt;p&gt;Plan → Plan → Plan → Rewrite → Maybe Launch&lt;/p&gt;

&lt;p&gt;Step 5: Create a Repeatable Launch System&lt;br&gt;
Once you combine boilerplates with AI planning tools, something interesting happens.&lt;/p&gt;

&lt;p&gt;Launching products becomes repeatable.&lt;/p&gt;

&lt;p&gt;Instead of every project feeling like a massive undertaking, it becomes a structured workflow:&lt;/p&gt;

&lt;p&gt;Start with a SaaS boilerplate&lt;br&gt;
Describe the idea to an AI planner&lt;br&gt;
Generate the development roadmap&lt;br&gt;
Execute tasks with AI coding tools&lt;br&gt;
Ship quickly and iterate&lt;br&gt;
This approach dramatically lowers the cost of experimentation.&lt;/p&gt;

&lt;p&gt;You can test multiple ideas without spending months building each one.&lt;/p&gt;

&lt;p&gt;In the AI era, speed of experimentation is the biggest competitive advantage.&lt;/p&gt;

&lt;p&gt;Why Speed Matters More Than Ever&lt;br&gt;
AI has changed the economics of software development.&lt;/p&gt;

&lt;p&gt;Ideas are cheap.&lt;br&gt;
 Execution is faster than ever.&lt;/p&gt;

&lt;p&gt;The real advantage now is who can test ideas in the real world the fastest.&lt;/p&gt;

&lt;p&gt;The founders who succeed are not necessarily the smartest developers.&lt;/p&gt;

&lt;p&gt;They are the ones who:&lt;/p&gt;

&lt;p&gt;• launch faster&lt;br&gt;
 • learn faster&lt;br&gt;
 • adapt faster&lt;/p&gt;

&lt;p&gt;Speed compounds.&lt;/p&gt;

&lt;p&gt;Every product you ship teaches you something new about users, markets, and distribution.&lt;/p&gt;

&lt;p&gt;And that knowledge becomes your real advantage.&lt;/p&gt;

&lt;p&gt;Final Thought&lt;br&gt;
Shipping fast is not about being reckless.&lt;/p&gt;

&lt;p&gt;It is about being strategic with your time.&lt;/p&gt;

&lt;p&gt;If a tool can remove weeks of work, use it.&lt;/p&gt;

&lt;p&gt;If AI can plan your development roadmap, use it.&lt;/p&gt;

&lt;p&gt;If a boilerplate already solved the infrastructure problems, start there.&lt;/p&gt;

&lt;p&gt;Build less from scratch.&lt;br&gt;
 Ship more products.&lt;br&gt;
 Learn faster.&lt;/p&gt;

&lt;p&gt;Because in the AI era, the biggest risk is not launching something imperfect.&lt;/p&gt;

&lt;p&gt;The biggest risk is never launching at all. 🚀&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>buildinpublic</category>
      <category>laravel</category>
    </item>
    <item>
      <title>How to Use Laravel AI SDK in Production: Agents, Tools, Streaming &amp; RAG</title>
      <dc:creator>Martin Tonev</dc:creator>
      <pubDate>Mon, 09 Feb 2026 23:23:58 +0000</pubDate>
      <link>https://forem.com/martintonev/how-to-use-laravel-ai-sdk-in-production-agents-tools-streaming-rag-4mfk</link>
      <guid>https://forem.com/martintonev/how-to-use-laravel-ai-sdk-in-production-agents-tools-streaming-rag-4mfk</guid>
      <description>&lt;h2&gt;
  
  
  1) What “Laravel AI” actually is
&lt;/h2&gt;

&lt;p&gt;Laravel split AI into three first-party pieces:&lt;/p&gt;

&lt;h3&gt;
  
  
  Laravel AI SDK (in-app AI features)
&lt;/h3&gt;

&lt;p&gt;A first-party package you install in your Laravel app to build AI features with a unified API across providers: agents, tools, structured output, multimodal (images/audio), embeddings, reranking, files, vector stores, and failover.&lt;/p&gt;

&lt;h3&gt;
  
  
  Laravel Boost (better AI-assisted coding in your repo)
&lt;/h3&gt;

&lt;p&gt;A dev dependency that installs an MCP server + guidelines/skills so tools like Cursor / Claude Code / etc get &lt;em&gt;accurate context&lt;/em&gt; about your Laravel app (routes, schema, config, logs, docs knowledge). &lt;/p&gt;

&lt;h3&gt;
  
  
  Laravel MCP (expose your app as an MCP server)
&lt;/h3&gt;

&lt;p&gt;A package/pattern for building MCP servers in Laravel: define &lt;strong&gt;tools&lt;/strong&gt; (actions), &lt;strong&gt;resources&lt;/strong&gt; (read-only data), and &lt;strong&gt;prompts&lt;/strong&gt; (templates), secured with Laravel middleware/OAuth/Sanctum patterns.&lt;/p&gt;




&lt;h2&gt;
  
  
  2) Laravel AI SDK: install + configure
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1 — Install the package
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;composer require laravel/ai
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 2 — Publish config + migrations
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan vendor:publish &lt;span class="nt"&gt;--provider&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"Laravel&lt;/span&gt;&lt;span class="se"&gt;\A&lt;/span&gt;&lt;span class="s2"&gt;i&lt;/span&gt;&lt;span class="se"&gt;\A&lt;/span&gt;&lt;span class="s2"&gt;iServiceProvider"&lt;/span&gt;
php artisan migrate
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This creates the tables used for conversation storage: &lt;code&gt;agent_conversations&lt;/code&gt; and &lt;code&gt;agent_conversation_messages&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3 — Add provider keys in &lt;code&gt;.env&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Laravel AI SDK supports multiple providers; you can configure them via &lt;code&gt;config/ai.php&lt;/code&gt; or env vars. Common env keys include:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;OPENAI_API_KEY=
ANTHROPIC_API_KEY=
GEMINI_API_KEY=
MISTRAL_API_KEY=
OLLAMA_API_KEY=
XAI_API_KEY=
COHERE_API_KEY=
JINA_API_KEY=
VOYAGEAI_API_KEY=
ELEVENLABS_API_KEY=
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 4 — (Optional) set custom base URLs
&lt;/h3&gt;

&lt;p&gt;Useful if you route through LiteLLM / gateways / proxies:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="s1"&gt;'providers'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
  &lt;span class="s1"&gt;'openai'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="s1"&gt;'driver'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'openai'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="s1"&gt;'key'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;env&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'OPENAI_API_KEY'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="s1"&gt;'url'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;env&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'OPENAI_BASE_URL'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
  &lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;],&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Custom base URLs are supported for several providers (OpenAI/Anthropic/Gemini/Groq/Cohere/DeepSeek/xAI/OpenRouter). &lt;/p&gt;




&lt;h2&gt;
  
  
  3) Your first Agent (the Laravel way)
&lt;/h2&gt;

&lt;p&gt;Laravel AI SDK centers around an &lt;strong&gt;Agent&lt;/strong&gt; class: instructions, tools, schema, context, and output live in one place.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1 — Generate an agent class
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan make:agent SalesCoach
php artisan make:agent SalesCoach &lt;span class="nt"&gt;--structured&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 2 — Implement instructions (your “system prompt”)
&lt;/h3&gt;

&lt;p&gt;Example pattern from the docs:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;

&lt;span class="kn"&gt;namespace&lt;/span&gt; &lt;span class="nn"&gt;App\Ai\Agents&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Laravel\Ai\Contracts\Agent&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Laravel\Ai\Promptable&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Stringable&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;SalesCoach&lt;/span&gt; &lt;span class="kd"&gt;implements&lt;/span&gt; &lt;span class="nc"&gt;Agent&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Promptable&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;instructions&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt; &lt;span class="kt"&gt;Stringable&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s1"&gt;'You are a sales coach, analyzing transcripts and providing feedback.'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 3 — Call the agent from a route/controller
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;App\Ai\Agents\SalesCoach&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nc"&gt;Route&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/coach'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;$response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;SalesCoach&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Analyze this sales transcript...'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'analysis'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;$response&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Structured output (strongly recommended)
&lt;/h3&gt;

&lt;p&gt;Agents can implement structured output via a schema (great for reliable JSON responses).&lt;/p&gt;




&lt;h2&gt;
  
  
  4) Streaming, queueing, and “real app” behavior
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Streaming responses
&lt;/h3&gt;

&lt;p&gt;If you’re building chat-like UX, stream tokens/events:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Laravel\Ai\Responses\StreamedAgentResponse&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nc"&gt;Route&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/coach'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;SalesCoach&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;stream&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Analyze this sales transcript...'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;StreamedAgentResponse&lt;/span&gt; &lt;span class="nv"&gt;$response&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="c1"&gt;// $response-&amp;gt;text, $response-&amp;gt;events, $response-&amp;gt;usage...&lt;/span&gt;
        &lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Queueing long jobs
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Laravel\Ai\Responses\AgentResponse&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Throwable&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nc"&gt;Route&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/coach'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;Request&lt;/span&gt; &lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;SalesCoach&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;queue&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;input&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'transcript'&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
        &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;AgentResponse&lt;/span&gt; &lt;span class="nv"&gt;$response&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="c1"&gt;// ...&lt;/span&gt;
        &lt;span class="p"&gt;})&lt;/span&gt;
        &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;Throwable&lt;/span&gt; &lt;span class="nv"&gt;$e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="c1"&gt;// ...&lt;/span&gt;
        &lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  5) Tools: let the agent “do things” (safely)
&lt;/h2&gt;

&lt;p&gt;There are two big categories:&lt;/p&gt;

&lt;h3&gt;
  
  
  A) Your own Tools (custom PHP tools)
&lt;/h3&gt;

&lt;p&gt;You can create a tool class that exposes a schema + handler (example shown on laravel.com/ai).&lt;/p&gt;

&lt;h3&gt;
  
  
  B) Provider Tools (web/file search, etc.)
&lt;/h3&gt;

&lt;p&gt;Laravel provides provider-specific tools like &lt;strong&gt;WebFetch&lt;/strong&gt; and &lt;strong&gt;FileSearch&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Example wiring tools into an agent:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Laravel\Ai\Providers\Tools\WebSearch&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Laravel\Ai\Providers\Tools\WebFetch&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Laravel\Ai\Providers\Tools\FileSearch&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;tools&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt; &lt;span class="kt"&gt;iterable&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;WebSearch&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;WebFetch&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;FileSearch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;stores&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'store_id'&lt;/span&gt;&lt;span class="p"&gt;]),&lt;/span&gt;
    &lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;FileSearch&lt;/code&gt; supports metadata filtering and multiple vector store IDs for RAG.&lt;/p&gt;




&lt;h2&gt;
  
  
  6) RAG in Laravel AI SDK: embeddings + vector search
&lt;/h2&gt;

&lt;p&gt;Laravel gives you &lt;em&gt;two&lt;/em&gt; common RAG paths:&lt;/p&gt;

&lt;h3&gt;
  
  
  Option 1 — Similarity search over your own DB rows (pgvector)
&lt;/h3&gt;

&lt;p&gt;You can store embeddings in a vector column and query them. Vector queries are currently supported on PostgreSQL with the &lt;code&gt;pgvector&lt;/code&gt; extension.&lt;/p&gt;

&lt;p&gt;Migration pattern:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nc"&gt;Schema&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;ensureVectorExtensionExists&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="nc"&gt;Schema&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'documents'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;Blueprint&lt;/span&gt; &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;id&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;string&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'title'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'content'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;vector&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'embedding'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dimensions&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1536&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;timestamps&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can add an HNSW index with cosine distance via &lt;code&gt;-&amp;gt;index()&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Option 2 — Vector stores + FileSearch (provider-backed)
&lt;/h3&gt;

&lt;p&gt;Vector stores let you upload documents, vectorize them, then let agents query them using &lt;code&gt;FileSearch&lt;/code&gt; for RAG.&lt;/p&gt;




&lt;h2&gt;
  
  
  7) Multimodal: images, audio, transcription, reranking
&lt;/h2&gt;

&lt;p&gt;Laravel AI SDK exposes “high-level” facades/classes:&lt;/p&gt;

&lt;h3&gt;
  
  
  Image generation / remixing
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Laravel\Ai\Image&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Laravel\Ai\Files&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nv"&gt;$image&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Image&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'A donut sitting on the kitchen counter.'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;quality&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'high'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;landscape&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;timeout&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;120&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;generate&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="c1"&gt;// Remix an existing image&lt;/span&gt;
&lt;span class="nv"&gt;$image&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Image&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Update this photo to be in the style of an impressionist painting.'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;attachments&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="nc"&gt;Files\Image&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;fromStorage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'photo.jpg'&lt;/span&gt;&lt;span class="p"&gt;)])&lt;/span&gt;
    &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;landscape&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;generate&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Audio (TTS) + transcription (STT)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Laravel\Ai\Audio&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Laravel\Ai\Transcription&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nv"&gt;$audio&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Audio&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'I love coding with Laravel.'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;generate&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nv"&gt;$transcript&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Transcription&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;fromStorage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'audio.mp3'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;generate&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Reranking (very useful for search results)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Laravel\Ai\Reranking&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nv"&gt;$response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Reranking&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;of&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
  &lt;span class="s1"&gt;'Django is a Python web framework.'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="s1"&gt;'Laravel is a PHP web application framework.'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="s1"&gt;'React is a JavaScript library for building user interfaces.'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;])&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;rerank&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'PHP frameworks'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nv"&gt;$best&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$response&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;first&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;document&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Provider availability differs per feature (text/images/embeddings/reranking/files/etc.).&lt;/p&gt;




&lt;h2&gt;
  
  
  8) Failover: keep your AI feature online
&lt;/h2&gt;

&lt;p&gt;You can provide an array of providers/models so the SDK fails over automatically on rate limits/outages:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nv"&gt;$response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;SalesCoach&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="s1"&gt;'Analyze this sales transcript...'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="n"&gt;provider&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'openai'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'anthropic'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is one of the biggest “production-ish” wins: you avoid writing your own fallback glue.&lt;/p&gt;




&lt;h2&gt;
  
  
  9) Laravel Boost: make Cursor/Claude Code stop guessing
&lt;/h2&gt;

&lt;p&gt;Boost is how you get &lt;em&gt;higher-quality AI coding output&lt;/em&gt; because the agent can inspect your app (routes, schema, config, logs, artisan commands, etc.) through MCP tools and Laravel-specific guidelines.&lt;/p&gt;

&lt;h3&gt;
  
  
  Install Boost
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;composer require laravel/boost &lt;span class="nt"&gt;--dev&lt;/span&gt;
php artisan boost:install
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The installer generates agent guidelines/skill files based on the coding agent/editor you pick.&lt;/p&gt;

&lt;h3&gt;
  
  
  What you get in practice
&lt;/h3&gt;

&lt;p&gt;When you ask your coding agent “add feature X”, it can use Boost’s capabilities like application introspection, DB tools, route inspection, artisan discovery, log analysis, browser logs, and even tinker integration—so it can propose changes grounded in &lt;em&gt;your actual codebase&lt;/em&gt;, not generic Laravel snippets.&lt;/p&gt;




&lt;h2&gt;
  
  
  10) Laravel MCP: turn your app into “tools” for AI clients
&lt;/h2&gt;

&lt;p&gt;If Boost is “AI inside your editor”, &lt;strong&gt;Laravel MCP&lt;/strong&gt; is “AI clients can call your app”. It’s designed around MCP servers, tools, resources, and prompts.&lt;/p&gt;

&lt;p&gt;Typical flow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create an MCP server class listing tools/resources/prompts (see Flightio example on laravel.com/ai/mcp).&lt;/li&gt;
&lt;li&gt;Register MCP routes (web/local server) and secure with middleware (auth/sanctum/oauth routes are part of the typical setup). &lt;/li&gt;
&lt;li&gt;Implement Tools with input schemas + handlers so AI clients can execute safe actions. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is the clean approach when you want something like: “AI client can create a ticket, fetch an itinerary, run a search, etc.” without giving the model raw DB access.&lt;/p&gt;




&lt;h2&gt;
  
  
  11) Where your product fits: Vibecoderplanner.com
&lt;/h2&gt;

&lt;p&gt;Laravel AI gives you the building blocks, but the &lt;strong&gt;hard part&lt;/strong&gt; in real life is keeping AI work structured: what’s the feature, what’s the spec, what’s the acceptance criteria, which prompts do we run first, what’s the commit order, what’s the migration plan, and how do we avoid “AI spaghetti”?&lt;/p&gt;

&lt;p&gt;That’s exactly where &lt;strong&gt;&lt;a href="https://vibecoderplanner.com/" rel="noopener noreferrer"&gt;https://vibecoderplanner.com/&lt;/a&gt;&lt;/strong&gt; fits as the “planning + execution map” on top of Laravel AI:&lt;/p&gt;

&lt;p&gt;A practical way to use both together:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;In &lt;strong&gt;VibeCoderPlanner&lt;/strong&gt;, define the feature as a small backlog (example: “AI support chat with RAG”, “document ingest”, “rerank results”, “agent tool to create tickets”).&lt;/li&gt;
&lt;li&gt;For each task card, store the &lt;strong&gt;exact prompt&lt;/strong&gt; you want Cursor/Claude Code to run (including “use Laravel AI SDK agents + tools + schema output”).&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;Boost&lt;/strong&gt; in the repo so the agent can read your real routes/models/migrations while executing those prompts.&lt;/li&gt;
&lt;li&gt;Implement the feature with &lt;strong&gt;Laravel AI SDK&lt;/strong&gt; (agents, embeddings, vector stores, reranking, failover).&lt;/li&gt;
&lt;li&gt;If you want external AI clients to trigger actions safely, expose those actions via &lt;strong&gt;Laravel MCP&lt;/strong&gt; tools/resources/prompts. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;So: Laravel AI handles the &lt;em&gt;capabilities&lt;/em&gt;, and &lt;strong&gt;VibeCoderPlanner&lt;/strong&gt; keeps the build “vibe-coded” but still professional: scoped tasks, reproducible prompts, clean delivery.&lt;/p&gt;




&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Laravel AI is not just another wrapper around an API. It is a structured, production-ready foundation for building real AI features inside Laravel applications. With the AI SDK you can create agents, tools, structured outputs, streaming responses, embeddings, reranking, and multimodal workflows using a unified interface. With Boost, your coding assistant actually understands your application instead of hallucinating generic snippets. And with MCP, you can expose your Laravel app as a secure, AI-callable system built on proper middleware and authorization.&lt;/p&gt;

&lt;p&gt;What makes this powerful is not just the technology stack, but the architecture discipline it encourages. Agents are classes. Tools are explicit. Schemas are defined. Vector search is integrated. Failover is supported. Everything fits naturally into Laravel’s service container, queues, events, and testing ecosystem. That means you can move from prototype to production without rewriting your entire approach.&lt;/p&gt;

&lt;p&gt;However, AI development without structure quickly becomes chaotic. Prompts drift. Features grow without scope. Context gets lost between sessions. That is why pairing Laravel AI with a planning system like &lt;a href="https://vibecoderplanner.com/" rel="noopener noreferrer"&gt;https://vibecoderplanner.com/&lt;/a&gt;&lt;br&gt;
 makes a significant difference. Instead of randomly prompting your coding agent, you define clear feature tasks, structured prompts, execution order, and acceptance criteria. Boost handles repository awareness. Laravel AI handles capability. VibeCoderPlanner handles direction.&lt;/p&gt;

&lt;p&gt;The result is simple: you move faster without sacrificing architecture.&lt;/p&gt;

&lt;p&gt;Laravel AI gives you the engine.&lt;br&gt;
Boost gives you intelligence inside your codebase.&lt;br&gt;
MCP gives you controlled extensibility.&lt;br&gt;
VibeCoderPlanner gives you execution clarity.&lt;/p&gt;

&lt;p&gt;If you are serious about building AI-powered Laravel applications in 2026 and beyond, this stack is not just experimental. It is strategic.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>laravel</category>
      <category>php</category>
    </item>
    <item>
      <title>How We Built “Fake Watch Detect” An AI App That Turns Trust Into Profit</title>
      <dc:creator>Martin Tonev</dc:creator>
      <pubDate>Wed, 12 Nov 2025 22:08:21 +0000</pubDate>
      <link>https://forem.com/martintonev/how-we-built-fake-watch-detect-an-ai-app-that-turns-trust-into-profit-3jld</link>
      <guid>https://forem.com/martintonev/how-we-built-fake-watch-detect-an-ai-app-that-turns-trust-into-profit-3jld</guid>
      <description>&lt;p&gt;How We Built “Fake Watch Detect” An AI App That Turns Trust Into Profit&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%2Finha5l64q69w19azq8lz.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%2Finha5l64q69w19azq8lz.png" alt=" " width="800" height="1558"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A few months ago, I started experimenting with the idea of AI-powered authenticity detection. I’ve always been fascinated by luxury watches and even more by how well-made fakes have become. On marketplaces and reselling platforms, you can easily find “super clones” that are nearly impossible to tell apart from the originals, even for trained eyes.&lt;/p&gt;

&lt;p&gt;That problem became the seed for an idea:&lt;br&gt;
What if we could train AI to detect fake watches from photos automatically and at scale?&lt;/p&gt;

&lt;p&gt;From Idea to MVP Built With AI Automation&lt;/p&gt;

&lt;p&gt;Instead of building everything from scratch, I used VibePlanner.devco.solutions&lt;br&gt;
, a SaaS I’ve been developing to help people go from idea to working AI product without writing a single line of code.&lt;/p&gt;

&lt;p&gt;I entered my concept:&lt;/p&gt;

&lt;p&gt;“An app that detects fake luxury watches using AI.”&lt;/p&gt;

&lt;p&gt;Vibe Planner instantly generated:&lt;/p&gt;

&lt;p&gt;Project structure (landing page, admin panel, upload form, and results view)&lt;/p&gt;

&lt;p&gt;OpenAI + YOLOv11 pipeline for image analysis&lt;/p&gt;

&lt;p&gt;Database schema for storing image metadata and prediction results&lt;/p&gt;

&lt;p&gt;Stripe integration for monetization&lt;/p&gt;

&lt;p&gt;Within a day, I had a full MVP ready to test.&lt;/p&gt;

&lt;p&gt;The Model YOLOv11 + Vision Embeddings&lt;/p&gt;

&lt;p&gt;The detection model combines:&lt;/p&gt;

&lt;p&gt;YOLOv11 object detection for identifying specific watch regions (logos, bezels, dials, crowns)&lt;/p&gt;

&lt;p&gt;CLIP-based embeddings to match these features against a dataset of verified authentic watches&lt;/p&gt;

&lt;p&gt;Confidence scoring that gives users a clear “Authentic / Possibly Fake” result with explanation snippets&lt;/p&gt;

&lt;p&gt;It’s simple to use:&lt;/p&gt;

&lt;p&gt;Upload a photo of your watch.&lt;/p&gt;

&lt;p&gt;The AI analyzes design details, engravings, and proportions.&lt;/p&gt;

&lt;p&gt;Within seconds, you get a visual report and confidence score.&lt;/p&gt;

&lt;p&gt;Real Revenue Why It’s Already Profitable&lt;/p&gt;

&lt;p&gt;The first users came from Reddit watch communities and collector forums where I offered early access to test the app. I added a $5 pay-per-scan option through Stripe for detailed reports.&lt;/p&gt;

&lt;p&gt;In just the first month, over 180 paid scans came in organically with no ads and no marketing spend. Collectors loved that they could check watches before buying from resellers.&lt;/p&gt;

&lt;p&gt;Today, “Fake Watch Detect” brings in a steady 400 to 500 USD per month in profit, fully automated. The traffic is organic, and the infrastructure costs are minimal because the pipeline runs only when an image is uploaded.&lt;/p&gt;

&lt;p&gt;What Makes It Work&lt;/p&gt;

&lt;p&gt;Niche problem with high perceived value: people are willing to pay to avoid losing thousands on a fake.&lt;/p&gt;

&lt;p&gt;Instant utility: no signups, no learning curve, just upload, analyze, and get results.&lt;/p&gt;

&lt;p&gt;AI-driven credibility: the report includes visual evidence and detection overlays.&lt;/p&gt;

&lt;p&gt;Scalable foundation: built once on Vibe Planner, easily replicated for other markets such as sneakers, handbags, or art.&lt;/p&gt;

&lt;p&gt;The Bigger Picture&lt;/p&gt;

&lt;p&gt;“Fake Watch Detect” started as a weekend experiment but became a proof of concept that AI micro-products can be profitable when built around real pain points.&lt;/p&gt;

&lt;p&gt;It also showed how tools like Vibe Planner remove 90% of the friction between idea and execution.&lt;br&gt;
Instead of spending weeks coding, I could focus entirely on the dataset, the model quality, and user experience.&lt;/p&gt;

&lt;p&gt;Closing Thought&lt;/p&gt;

&lt;p&gt;AI is no longer just about big platforms or complex enterprise tools.&lt;br&gt;
It’s about solving very specific, high-trust problems and doing it fast.&lt;/p&gt;

&lt;p&gt;“Fake Watch Detect” is just one example of what’s possible when you combine niche insight with the right AI infrastructure.&lt;br&gt;
And the best part, it pays for itself every single day.&lt;br&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%2Fp39tlz9lhxm3yg220qhs.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%2Fp39tlz9lhxm3yg220qhs.png" alt=" " width="800" height="1558"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>programming</category>
      <category>mobile</category>
    </item>
    <item>
      <title>How to Integrate AI into Your Laravel Projects: Practical Use Cases and Implementation Guide</title>
      <dc:creator>Martin Tonev</dc:creator>
      <pubDate>Tue, 12 Aug 2025 07:29:13 +0000</pubDate>
      <link>https://forem.com/martintonev/how-to-integrate-ai-into-your-laravel-projects-practical-use-cases-and-implementation-guide-415l</link>
      <guid>https://forem.com/martintonev/how-to-integrate-ai-into-your-laravel-projects-practical-use-cases-and-implementation-guide-415l</guid>
      <description>&lt;p&gt;Artificial Intelligence (AI) is no longer a buzzword. It’s a core part of modern web applications. From personalized recommendations to intelligent automation, AI can dramatically improve the functionality and user experience of Laravel projects.&lt;/p&gt;

&lt;p&gt;In this article, we’ll walk through &lt;strong&gt;real, production-level AI integrations in Laravel&lt;/strong&gt; projects. We’ll skip the hype and get into how you can actually use AI, including services like OpenAI, computer vision, and ML models, inside your Laravel stack.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 Common AI Use Cases in Laravel Projects
&lt;/h2&gt;

&lt;p&gt;Before diving into the code, here are some real-world features powered by AI that Laravel apps can implement:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Text generation&lt;/strong&gt; (emails, summaries, product descriptions) using OpenAI or Claude&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Chatbots and conversational interfaces&lt;/strong&gt; with context-aware memory&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Image classification and analysis&lt;/strong&gt; (e.g., product tagging, face detection)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Voice-to-text or audio transcription&lt;/strong&gt; using Whisper or AssemblyAI&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Recommendation engines&lt;/strong&gt; for content, products, or actions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Predictive analytics&lt;/strong&gt; using historical data (ML models)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spam and abuse detection&lt;/strong&gt; using NLP models&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ⚙️ Laravel AI Integration Workflow
&lt;/h2&gt;

&lt;p&gt;Let’s walk through the structure of a Laravel app that integrates with AI in a scalable and testable way.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Set Up Your Laravel App
&lt;/h3&gt;

&lt;p&gt;Make sure you’re on Laravel 10+ or 11+ with PHP 8.2+ to ensure compatibility with modern packages.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;laravel new ai-demo-app
&lt;span class="nb"&gt;cd &lt;/span&gt;ai-demo-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install HTTP client (usually already installed via Laravel):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;composer require guzzlehttp/guzzle
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or use Laravel’s built-in HTTP client (&lt;code&gt;Http::post()&lt;/code&gt; from &lt;code&gt;Illuminate\Support\Facades\Http&lt;/code&gt;).&lt;/p&gt;




&lt;h3&gt;
  
  
  2. Using OpenAI GPT in Laravel
&lt;/h3&gt;

&lt;p&gt;Let’s build an endpoint that uses OpenAI’s API to generate a summary for a given blog post.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 1: Create an AI Service
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan make:service OpenAIService
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create &lt;code&gt;app/Services/OpenAIService.php&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;namespace&lt;/span&gt; &lt;span class="nn"&gt;App\Services&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Illuminate\Support\Facades\Http&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;OpenAIService&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;summarizeText&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;string&lt;/span&gt; &lt;span class="nv"&gt;$text&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="kt"&gt;string&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nv"&gt;$response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Http&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;withToken&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;config&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'services.openai.key'&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'https://api.openai.com/v1/chat/completions'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
                &lt;span class="s1"&gt;'model'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'gpt-4'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="s1"&gt;'messages'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
                    &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'role'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'system'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'content'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'You are an assistant that summarizes text.'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
                    &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'role'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'user'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'content'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;"Summarize this:&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="nv"&gt;$text&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
                &lt;span class="p"&gt;],&lt;/span&gt;
                &lt;span class="s1"&gt;'temperature'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mf"&gt;0.7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="p"&gt;]);&lt;/span&gt;

        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nv"&gt;$response&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'choices'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s1"&gt;'message'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s1"&gt;'content'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;??&lt;/span&gt; &lt;span class="s1"&gt;'No summary available.'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Step 2: Add OpenAI API Key
&lt;/h4&gt;

&lt;p&gt;In &lt;code&gt;.env&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;OPENAI_API_KEY=your_api_key_here
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In &lt;code&gt;config/services.php&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="s1"&gt;'openai'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="s1"&gt;'key'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;env&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'OPENAI_API_KEY'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;span class="p"&gt;],&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Step 3: Create a Controller
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan make:controller AIController
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In &lt;code&gt;AIController.php&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;App\Services\OpenAIService&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;summarize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;Request&lt;/span&gt; &lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;OpenAIService&lt;/span&gt; &lt;span class="nv"&gt;$openAI&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;validate&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
        &lt;span class="s1"&gt;'text'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'required|string|min:10'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;]);&lt;/span&gt;

    &lt;span class="nv"&gt;$summary&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$openAI&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;summarizeText&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;response&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="s1"&gt;'summary'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;$summary&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Define a route:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nc"&gt;Route&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/ai/summarize'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nc"&gt;AIController&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'summarize'&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🖼️ Using AI for Image Classification
&lt;/h2&gt;

&lt;p&gt;You can also connect your Laravel backend to image classification models like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;YOLOv5/YOLOv8 (via Python)&lt;/li&gt;
&lt;li&gt;Replicate.com API&lt;/li&gt;
&lt;li&gt;Google Vision or AWS Rekognition&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here’s a simplified example using Replicate.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Upload Image and Call Replicate API
&lt;/h3&gt;

&lt;p&gt;Create a new controller or use the existing AIController:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;classifyImage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;Request&lt;/span&gt; &lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;validate&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
        &lt;span class="s1"&gt;'image'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'required|image|max:2048'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;]);&lt;/span&gt;

    &lt;span class="nv"&gt;$path&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nb"&gt;file&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'image'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;store&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'temp'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'public'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nv"&gt;$imageUrl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;asset&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'storage/'&lt;/span&gt; &lt;span class="mf"&gt;.&lt;/span&gt; &lt;span class="nv"&gt;$path&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="nv"&gt;$response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Http&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;withToken&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;config&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'services.replicate.key'&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
        &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'https://api.replicate.com/v1/predictions'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
            &lt;span class="s1"&gt;'version'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'your-model-version-id'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// from replicate dashboard&lt;/span&gt;
            &lt;span class="s1"&gt;'input'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'image'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;$imageUrl&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
        &lt;span class="p"&gt;]);&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;response&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$response&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Add file upload handling and cleanup as needed.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧩 Integrating AI-Powered Chatbot
&lt;/h2&gt;

&lt;p&gt;For apps that need a conversational chatbot (support, education, SaaS onboarding), you can stream responses from OpenAI’s API.&lt;/p&gt;

&lt;h3&gt;
  
  
  Stream ChatGPT Responses in Laravel
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;Request&lt;/span&gt; &lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;$response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Http&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;withToken&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;config&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'services.openai.key'&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
        &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;withHeaders&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
            &lt;span class="s1"&gt;'Accept'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'text/event-stream'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="p"&gt;])&lt;/span&gt;
        &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'https://api.openai.com/v1/chat/completions'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
            &lt;span class="s1"&gt;'model'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'gpt-4'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="s1"&gt;'messages'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="s1"&gt;'stream'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="p"&gt;]);&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;response&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;stream&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="k"&gt;use&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$response&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$response&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;body&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
        &lt;span class="nb"&gt;flush&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'Content-Type'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'text/event-stream'&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can stream the response in Livewire or Vue to simulate a “typing” chatbot.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔮 Advanced: Running AI Locally (e.g., Python + Laravel)
&lt;/h2&gt;

&lt;p&gt;In some projects (such as image detection, segmentation, or audio processing), you’ll need to offload AI work to Python.&lt;/p&gt;

&lt;h3&gt;
  
  
  Approach:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Laravel triggers a Python script (e.g., via &lt;code&gt;symfony/process&lt;/code&gt; or API).&lt;/li&gt;
&lt;li&gt;Python model does the heavy lifting (e.g., YOLOv8).&lt;/li&gt;
&lt;li&gt;Laravel receives results via JSON or file output.&lt;/li&gt;
&lt;/ol&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nv"&gt;$process&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Process&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="s1"&gt;'python3'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nf"&gt;base_path&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'ai/detect.py'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="nv"&gt;$imagePath&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;span class="nv"&gt;$process&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;run&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="nv"&gt;$result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;json_decode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$process&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;getOutput&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or, run Python AI models via a local Flask API and make HTTP calls from Laravel.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧪 Testing AI Integrations
&lt;/h2&gt;

&lt;p&gt;Always mock third-party API responses in your tests:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nc"&gt;Http&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;fake&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
    &lt;span class="s1"&gt;'api.openai.com/*'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nc"&gt;Http&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;response&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
        &lt;span class="s1"&gt;'choices'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
            &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'message'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'content'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'Test summary'&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt;
        &lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then use Laravel’s test methods as usual:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;postJson&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/api/ai/summarize'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'text'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'Test content'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
     &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;assertJson&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="s1"&gt;'summary'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'Test summary'&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🛠️ Packages Worth Exploring
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/openai-php/laravel" rel="noopener noreferrer"&gt;laravel-openai&lt;/a&gt; – Official OpenAI PHP SDK for Laravel&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://laravel-zero.com/" rel="noopener noreferrer"&gt;laravel-zero&lt;/a&gt; – Useful for CLI-based AI tools&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://laravel-livewire.com/" rel="noopener noreferrer"&gt;Livewire or Inertia&lt;/a&gt; – Build reactive frontend chatbots&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://spatie.be/docs/laravel-image" rel="noopener noreferrer"&gt;Spatie Laravel Image&lt;/a&gt; – Useful for processing uploaded images&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔚 Conclusion
&lt;/h2&gt;

&lt;p&gt;AI can give your Laravel app superpowers. But the key is not just integration, it’s orchestration.&lt;/p&gt;

&lt;p&gt;Start small. Build one useful feature like auto-summarization, AI chatbot, or intelligent image labeling. Then expand to deeper automation, decision-making, or predictive models.&lt;/p&gt;

&lt;p&gt;With Laravel’s clean architecture and AI's growing ecosystem, this is the perfect time to merge them.&lt;/p&gt;




&lt;p&gt;Let me know if you want this article turned into a Markdown, DOCX, or blog-ready HTML version.&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>ai</category>
      <category>coding</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
