<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Martin Tonev</title>
    <description>The latest articles on DEV Community by Martin Tonev (@martintonev).</description>
    <link>https://dev.to/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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F768573%2Ffe5ca03e-16a4-412f-bb88-0f969ba03af9.png</url>
      <title>DEV Community: Martin Tonev</title>
      <link>https://dev.to/martintonev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/martintonev"/>
    <language>en</language>
    <item>
      <title>How Developers Can Use Jev to Make AI Coding Smarter</title>
      <dc:creator>Martin Tonev</dc:creator>
      <pubDate>Fri, 09 Oct 2026 21:24:44 +0000</pubDate>
      <link>https://dev.to/martintonev/how-developers-can-use-jev-to-make-ai-coding-smarter-321f</link>
      <guid>https://dev.to/martintonev/how-developers-can-use-jev-to-make-ai-coding-smarter-321f</guid>
      <description>&lt;p&gt;A practical guide to better context selection, task routing, and review, with setup commands and a JavaScript example. Researched on September 27, 2026.&lt;br&gt;
An AI coding session can go wrong before the model writes its first line of code. The agent opens the wrong files, misses a project convention, chooses an unsuitable tool, or starts implementing a requirement that nobody has actually defined. The resulting code may look convincing while solving the wrong problem.&lt;br&gt;
Developers often respond by writing a longer prompt or switching to a more capable model. Another approach is to improve the decisions surrounding code generation: what evidence reaches the agent, which workflow handles the task, and when the system should collect more information.&lt;br&gt;
Jev, from TypeSafe AI, provides a way to build those decisions into software. Its usefulness for AI coding comes from combining structured judgments with your existing coding model and development tools.&lt;br&gt;
Understand Jev's role first. Jev evaluates supplied information and returns constrained decisions. It does not generate source code, edit your repository, or act as a replacement model inside Cursor or Claude Code. TypeSafe's documentation explicitly separates its decision API from the LLM that powers a coding agent. Source: Jev with coding agents.&lt;br&gt;
There are two practical ways to use it. You can give your coding agent the official TypeSafe skill so it writes better Jev integrations. You can also build a helper or orchestration service that calls Jev during your development workflow. Installing the skill provides integration knowledge; the second approach requires you to implement and connect the decision logic.&lt;br&gt;
The workflows below are proposed engineering patterns based on Jev's documented capabilities. They are not built-in Cursor features or claims of measured improvements on your repository.&lt;br&gt;
Jev supports three kinds of questions:&lt;br&gt;
Primitive   Result  Example in a coding workflow&lt;br&gt;
Choice  One supplied option, probabilities for the options, and confidence  Classify a change as presentation, application behavior, or unclear.&lt;br&gt;
Score   A value on an ordered rubric, with probabilities and confidence Rate whether a retrieved code excerpt is irrelevant, contextual, or directly useful.&lt;br&gt;
Noul    The estimated probability that a yes/no statement is true   Check whether a requirement specifies an observable outcome.&lt;/p&gt;

&lt;p&gt;A Noul returns a number between zero and one, not a Boolean or a prose explanation. Score values can fall between rubric levels. These distinctions matter when you turn responses into application behavior. Source: question primitives.&lt;br&gt;
Give your coding agent accurate integration knowledge. Start with the official TypeSafe skill. It supplies the API conventions and design patterns the agent needs, reducing the need to explain the integration from scratch.&lt;br&gt;
For Claude Code, the documented installation commands are:&lt;br&gt;
claude plugin marketplace add typesafe-ai/skills&lt;br&gt;
claude plugin install typesafe@typesafe-ai&lt;br&gt;
For other supported agent environments, use:&lt;br&gt;
npx skills add typesafe-ai/skills --skill typesafe-ai&lt;br&gt;
Choose your agent when prompted. The documented default is installation within the project. Use one installation method, then explicitly ask the agent to use the TypeSafe skill. If you install manually, include the skill's reference files. Source: official agent skill.&lt;br&gt;
A useful first request is:&lt;br&gt;
Use the TypeSafe skill to inspect this repository. Find one repeated semantic decision in our AI development workflow that we can evaluate independently. Propose the input fields, answer options, fallback, and a small evaluation dataset before implementing it.&lt;/p&gt;

&lt;p&gt;This gives the agent a bounded engineering task. You want a specific decision with a measurable outcome, such as selecting useful documentation passages. Asking it to add Jev everywhere makes the result much harder to evaluate.&lt;br&gt;
Improve the context before asking the model to code. Consider a Laravel application where a developer asks an agent to fix duplicate webhook processing. A repository search may return the webhook controller, queue configuration, an old integration, payment documentation, and several unrelated event handlers.&lt;br&gt;
Your retrieval code can collect candidate excerpts. Jev can then judge each excerpt against the task, using questions such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Does this excerpt describe the handler involved in the reported behavior?&lt;/li&gt;
&lt;li&gt;Does it provide evidence about the application's existing duplicate-event handling?&lt;/li&gt;
&lt;li&gt;Does it contradict an assumption in the task description?
Your application retains the useful evidence and gives the coding model a smaller, better organized input. Keep relevant contradictory information visible, because it may reveal that the proposed fix rests on a false assumption.
TypeSafe documents a related workflow for classifying retrieved passages before they reach a generative model. Adapting that pattern to repository excerpts is an implementation choice you must evaluate; the published example does not establish a coding benchmark. Source: classifying RAG passages.
Jev only evaluates the information supplied to it. Your integration still needs to search the repository, read candidate files, preserve file paths, and fetch further context when necessary. A relevance filter cannot recover a file the retrieval step never found.
For that reason, measure how often the filter removes evidence the developer actually needed. Saving tokens is a poor trade if the agent loses the one function that explains the bug.
Route work according to its requirements. A wording change, a database migration, and a concurrency bug deserve different workflows. You can apply Jev's documented intent-routing pattern to a development queue, with your own code mapping categories to handlers. Source: intent routing.
For example, a presentation-only task might start with a less expensive coding model. A change to application behavior might use a stronger model with broader context. An ambiguous task might return to the developer for clarification.
Define the categories in terms of observable properties. “Easy” and “hard” are difficult labels to evaluate consistently. “Only changes static wording or layout” and “changes runtime behavior or data handling” give reviewers a clearer basis for checking the classification.
The routing policy belongs in your application. If a changed path is already known to contain an authorization policy, a deterministic rule can require the appropriate review directly. Jev is useful where interpreting the task requires semantic judgment.
Also allow an unknown outcome. A classifier forced to choose between two unsuitable categories will still choose something. An explicit unclear option gives your workflow a practical fallback.
Use a small integration to make the idea concrete. The following example recommends which coding workflow should receive a task. It performs no file edits and launches no coding model. Those actions would be connected separately in your orchestration code.
The official JavaScript SDK requires Node.js 20 or newer. Install it, obtain an API key from the TypeSafe console, and make the key available to the server-side process through TYPESAFE_API_KEY. Source: JavaScript SDK.
npm install @typesafe-ai/sdk
Save this example as route-coding-task.mjs:
import { TypeSafeClient, choice, noul } from "@typesafe-ai/sdk";&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;const client = new TypeSafeClient();&lt;/p&gt;

&lt;p&gt;// Illustrative thresholds. Tune them against reviewed tasks.&lt;br&gt;
const MIN_SCOPE_CONFIDENCE = 0.85;&lt;br&gt;
const MIN_OUTCOME_PROBABILITY = 0.85;&lt;/p&gt;

&lt;p&gt;const state = {&lt;br&gt;
  task: "Change the billing link label to 'Manage subscription'. " +&lt;br&gt;
    "Keep its destination and behavior unchanged.",&lt;br&gt;
  component_excerpt: '&lt;a href="/billing/portal"&gt;Billing&lt;/a&gt;',&lt;br&gt;
};&lt;/p&gt;

&lt;p&gt;let nextStep = "manual_review";&lt;/p&gt;

&lt;p&gt;try {&lt;br&gt;
  const result = await client.systemOne({&lt;br&gt;
    model: "jev-1.13.0",&lt;br&gt;
    state,&lt;br&gt;
    questions: {&lt;br&gt;
      scope: choice(&lt;br&gt;
        "Classify the requested change using &lt;code&gt;task&lt;/code&gt; and &lt;code&gt;component_excerpt&lt;/code&gt;.",&lt;br&gt;
        {&lt;br&gt;
          presentation: "Only static wording or visual layout changes.",&lt;br&gt;
          behavior: "Runtime behavior, data handling, or interfaces change.",&lt;br&gt;
          unclear: "The supplied evidence cannot establish the change category.",&lt;br&gt;
        },&lt;br&gt;
      ),&lt;br&gt;
      outcome_stated: noul(&lt;br&gt;
        "Does &lt;code&gt;task&lt;/code&gt; specify an observable outcome for the requested edit?",&lt;br&gt;
      ),&lt;br&gt;
    },&lt;br&gt;
  });&lt;/p&gt;

&lt;p&gt;const { scope, outcome_stated } = result.answers;&lt;/p&gt;

&lt;p&gt;if (outcome_stated.noul &amp;lt; MIN_OUTCOME_PROBABILITY) {&lt;br&gt;
    nextStep = "clarify_requirement";&lt;br&gt;
  } else if (&lt;br&gt;
    scope.confidence &amp;gt;= MIN_SCOPE_CONFIDENCE &amp;amp;&amp;amp;&lt;br&gt;
    scope.choice !== "unclear"&lt;br&gt;
  ) {&lt;br&gt;
    nextStep = scope.choice === "presentation"&lt;br&gt;
      ? "lightweight_coding_workflow"&lt;br&gt;
      : "full_coding_workflow";&lt;br&gt;
  }&lt;/p&gt;

&lt;p&gt;console.log({ model: result.model, scope, outcome_stated });&lt;br&gt;
} catch {&lt;br&gt;
  console.error("Classification unavailable; keeping manual review.");&lt;br&gt;
  process.exitCode = 1;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;console.log({ nextStep });&lt;br&gt;
Run it with node route-coding-task.mjs after configuring the environment variable. The example follows the documented SDK interfaces, including the Noul helper; it has not been exercised against the live API for this article. No sample prediction is presented as an observed result.&lt;br&gt;
Notice the separation between classification and execution. Jev supplies evidence for a routing decision. Ordinary code selects the next step, retains a fallback, and can apply additional project rules. An unavailable API does not silently become permission to continue automatically.&lt;br&gt;
The model is pinned for reproducibility. TypeSafe currently documents jev-1.13.0; the jev-latest alias can move to another release. Re-evaluate a new version before carrying over thresholds tuned on an earlier one. Source: models and aliases.&lt;br&gt;
Help agents select relevant skills. As a coding environment accumulates skills, selecting the right instructions becomes a problem of its own. A task involving a spreadsheet export, a browser interaction, and a database query may match several descriptions superficially.&lt;br&gt;
A useful pattern is to shortlist candidate skills, inspect the strongest candidates in more detail, and allow the selector to conclude that none is useful. TypeSafe publishes a two-stage skill-selection example built around this approach.&lt;br&gt;
In its reported experiment across 488 requests using the Hermes skill catalog, incorrect skill loads fell from 16.8% to 7.3% when the agent received a TypeSafe suggestion. Those are vendor-reported results for that setup, not proof that your coding agent will achieve the same improvement. Source: skill suggestion cookbook.&lt;br&gt;
For your own project, evaluate the selected skill against what the developer actually needed. A correct suggestion can still be ignored or misapplied by the coding agent, so measure both selection and downstream behavior.&lt;br&gt;
Add targeted review signals after code generation. You can also experiment with Jev after the coding model produces a patch. Supply a focused diff, relevant requirements, and existing code excerpts, then ask narrow questions about the change.&lt;br&gt;
For a tenant-aware application, a useful question might be whether a modified query path includes the tenant restriction specified in the supplied requirement. For an API task, you might check whether a changed response contradicts the supplied contract. These are proposed uses that need repository-specific evaluation.&lt;br&gt;
Avoid asking for a single universal “code quality” score. It hides unrelated judgments behind one number and makes mistakes difficult to diagnose. Separate contract consistency, relevant behavior changes, and missing evidence so that each result has an identifiable purpose.&lt;br&gt;
Use these judgments to direct attention. Compilers, static analysis, executable tests, and human review provide different evidence. A confident semantic judgment cannot establish that a program handles every runtime condition correctly.&lt;br&gt;
When several questions concern the same supplied evidence, send them together. TypeSafe supports independent questions against a shared state. If a later question requires data retrieved using an earlier answer, make that dependency explicit with a subsequent request. Source: question composition.&lt;br&gt;
Make failed attempts easier to investigate. Another experiment is to classify a failed coding attempt using the test output, the task, and the latest patch. Candidate categories could include environment setup, a changed application contract, an assertion mismatch, or insufficient evidence.&lt;br&gt;
The classification can recommend an investigation path. An environment failure might send the developer toward service configuration. A contract mismatch might trigger inspection of the relevant interface and its callers. Insufficient evidence might request the missing stack trace.&lt;br&gt;
Apply parsers and ordinary rules first when an error is already identifiable. Use Jev for the remaining interpretation, and treat its category as a hypothesis. A failed test should never be rewritten merely because the classifier suggests that the test is wrong.&lt;br&gt;
Track whether the recommendation actually reduces repeated attempts. If the same failing command keeps producing the same evidence, another model call is unlikely to provide a better basis for action. Your workflow needs a stop condition and a way to gather something new.&lt;br&gt;
Interpret confidence carefully. Choice and Score include a confidence value derived from their probability distributions. Noul has its own yes/no probability and no separate confidence field. A Choice confidence of 0.9 should not be presented as a verified 90% chance that the selected action is correct for your application. Source: confidence.&lt;br&gt;
Treat thresholds as settings to evaluate. Label real examples, inspect errors, and decide which mistakes are most expensive. For context selection, dropping essential evidence may matter more than retaining an extra excerpt. For task routing, sending a difficult task to a weaker workflow may matter more than occasionally spending extra tokens.&lt;br&gt;
A single threshold copied across unrelated decisions hides these differences. Keep your questions, option descriptions, and thresholds easy to review together, and record which versions produced each decision.&lt;br&gt;
Measure the whole workflow's economics. As of September 27, 2026, TypeSafe lists Jev 1.13 at $0.042 per million input tokens, with output tokens free. At that published direct-API rate, 1,000 evaluations averaging 2,000 total input tokens each would cost approximately $0.084 for Jev inference. This is an illustrative calculation, not measured usage. Source: model pricing.&lt;br&gt;
Your actual workflow also pays for retrieval, generation, retries, infrastructure, and developer time. A low classification price is useful only if the added step improves the overall result enough to justify its latency and complexity.&lt;br&gt;
Compare the same representative tasks with and without the Jev step. Measure task success, coding-model tokens, elapsed time, retries, and developer corrections. For a context filter, also measure evidence retention. For a router, record how often a task had to be escalated after an unsuitable initial assignment.&lt;br&gt;
Begin in observation mode: record Jev's proposed decisions while the existing workflow continues to determine behavior. This creates a useful comparison without letting an untested classifier reshape the development process immediately.&lt;br&gt;
Respect the model's documented limits. TypeSafe's Jev 1.13 limitations include unreliable counting and numeric precision, difficulty with indirect questions, distraction from irrelevant context, and susceptibility to adversarial input. Source: Jev 1.13 limitations.&lt;br&gt;
In practice, compute exact quantities in code, keep questions direct, and retrieve a focused set of evidence. Treat repository comments, issue text, and external documents as data being evaluated. A model judgment should not control credentials, execution permissions, or deployment authority.&lt;br&gt;
Jev 1.13's documented input is text, including structured text objects. Visual interface review therefore needs another component to inspect screenshots or produce suitable textual evidence. Source: supported inputs.&lt;br&gt;
Start with one decision you can evaluate. A context filter is a reasonable first experiment when your agent repeatedly opens irrelevant files. A task router is useful to investigate when every request currently receives the same model and workflow. Choose the recurring problem you can actually observe.&lt;br&gt;
Here is a prompt you can give your coding agent:&lt;br&gt;
Use the official TypeSafe skill to build a small Jev experiment&lt;br&gt;
for our AI coding workflow.&lt;/p&gt;

&lt;p&gt;First inspect the repository and identify one repeated semantic&lt;br&gt;
decision that ordinary parsing or deterministic rules do not handle well.&lt;br&gt;
Recommend either context relevance filtering or coding-task routing,&lt;br&gt;
and explain why it fits the evidence you found.&lt;/p&gt;

&lt;p&gt;Define focused input fields, atomic questions, explicit answer options,&lt;br&gt;
and an unknown or review fallback. Keep questions and thresholds together.&lt;br&gt;
Use the current official SDK, read TYPESAFE_API_KEY from the environment,&lt;br&gt;
and pin the model version used during evaluation.&lt;/p&gt;

&lt;p&gt;Build an observation mode that records proposed decisions without&lt;br&gt;
changing the existing workflow. Create a small, representative dataset&lt;br&gt;
of reviewed examples, including ambiguous cases and previous failures.&lt;br&gt;
Reserve some examples for evaluation after threshold tuning.&lt;/p&gt;

&lt;p&gt;Compare the baseline with the proposed integration on task outcomes,&lt;br&gt;
token usage, latency, and developer corrections. Report mistakes as&lt;br&gt;
well as improvements. Handle API failures explicitly, and preserve&lt;br&gt;
the project's existing checks and execution permissions.&lt;br&gt;
Use the first round of results to make a concrete decision: keep the integration, revise its questions, or remove it. Jev earns a place in the workflow when its judgments help your coding agent work from better evidence and make fewer costly mistakes on tasks that matter to your team.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>programming</category>
    </item>
    <item>
      <title>Are you a Senior Developer yet?</title>
      <dc:creator>Martin Tonev</dc:creator>
      <pubDate>Mon, 28 Sep 2026 22:28:55 +0000</pubDate>
      <link>https://dev.to/martintonev/are-you-a-senior-developer-yet-5cho</link>
      <guid>https://dev.to/martintonev/are-you-a-senior-developer-yet-5cho</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/martintonev/how-to-work-with-ai-like-a-senior-developer-2h2k" class="crayons-story__hidden-navigation-link"&gt;How to work with AI like a Senior Developer&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/martintonev" class="crayons-avatar  crayons-avatar--l  "&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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F768573%2Ffe5ca03e-16a4-412f-bb88-0f969ba03af9.png" alt="martintonev profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/martintonev" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Martin Tonev
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Martin Tonev
                
                
              
              &lt;div id="story-author-preview-content-4736775" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/martintonev" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F768573%2Ffe5ca03e-16a4-412f-bb88-0f969ba03af9.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Martin Tonev&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/martintonev/how-to-work-with-ai-like-a-senior-developer-2h2k" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Sep 24&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/martintonev/how-to-work-with-ai-like-a-senior-developer-2h2k" id="article-link-4736775"&gt;
          How to work with AI like a Senior Developer
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/webdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;webdev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/programming"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;programming&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/productivity"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;productivity&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/martintonev/how-to-work-with-ai-like-a-senior-developer-2h2k" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;6&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/martintonev/how-to-work-with-ai-like-a-senior-developer-2h2k#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              5&lt;span class="hidden s:inline"&gt;&amp;nbsp;comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            7 min read
          &lt;/small&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Martin Tonev</dc:creator>
      <pubDate>Thu, 24 Sep 2026 22:03:34 +0000</pubDate>
      <link>https://dev.to/martintonev/-em1</link>
      <guid>https://dev.to/martintonev/-em1</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/martintonev/how-to-work-with-ai-like-a-senior-developer-2h2k" class="crayons-story__hidden-navigation-link"&gt;How to work with AI like a Senior Developer&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/martintonev" class="crayons-avatar  crayons-avatar--l  "&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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F768573%2Ffe5ca03e-16a4-412f-bb88-0f969ba03af9.png" alt="martintonev profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/martintonev" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Martin Tonev
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Martin Tonev
                
                
              
              &lt;div id="story-author-preview-content-4736775" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/martintonev" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F768573%2Ffe5ca03e-16a4-412f-bb88-0f969ba03af9.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Martin Tonev&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/martintonev/how-to-work-with-ai-like-a-senior-developer-2h2k" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Sep 24&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/martintonev/how-to-work-with-ai-like-a-senior-developer-2h2k" id="article-link-4736775"&gt;
          How to work with AI like a Senior Developer
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/webdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;webdev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/programming"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;programming&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/productivity"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;productivity&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/martintonev/how-to-work-with-ai-like-a-senior-developer-2h2k" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;6&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/martintonev/how-to-work-with-ai-like-a-senior-developer-2h2k#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              5&lt;span class="hidden s:inline"&gt;&amp;nbsp;comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            7 min read
          &lt;/small&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>How to work with AI like a Senior Developer</title>
      <dc:creator>Martin Tonev</dc:creator>
      <pubDate>Thu, 24 Sep 2026 22:03:24 +0000</pubDate>
      <link>https://dev.to/martintonev/how-to-work-with-ai-like-a-senior-developer-2h2k</link>
      <guid>https://dev.to/martintonev/how-to-work-with-ai-like-a-senior-developer-2h2k</guid>
      <description>&lt;p&gt;A practical workflow for turning generated code into changes you can understand, verify, and ship.&lt;/p&gt;

&lt;p&gt;You ask an AI coding assistant to add team invitations to your SaaS. It creates the database migration, endpoint, email, and Vue component. The happy path works. The pull request looks convincing.&lt;/p&gt;

&lt;p&gt;Then you ask a few more questions. Can a member invite someone as an admin? Can an invitation from one organization be accepted into another? What happens when two requests use the same token at the same time?&lt;/p&gt;

&lt;p&gt;Those questions determine whether the feature is ready to ship.&lt;/p&gt;

&lt;p&gt;Using AI like a senior developer means directing its attention toward the decisions that make software reliable. You define the behavior, expose assumptions, control the scope, and require evidence that the change works.&lt;/p&gt;

&lt;p&gt;Here is how to apply that approach to a real development task.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Define what “working” means before generating code&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;“Add team invitations” leaves important product decisions open. The assistant has to choose who can invite, which roles they can grant, how long invitations last, and what accepting an invitation actually does.&lt;/p&gt;

&lt;p&gt;Make those decisions explicit. For our example, an organization admin can invite someone as a member. Invitations expire after seven days. Acceptance requires an authenticated account with a verified email matching the invitation. Each invitation can be consumed once.&lt;/p&gt;

&lt;p&gt;Now you have behavior that can be evaluated.&lt;/p&gt;

&lt;p&gt;Give the assistant a brief like this:&lt;/p&gt;

&lt;p&gt;Implement team invitations in this existing Laravel and Vue app.&lt;/p&gt;

&lt;p&gt;Behavior:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Only organization admins can create invitations.&lt;/li&gt;
&lt;li&gt;Invitations grant the member role and expire after seven days.&lt;/li&gt;
&lt;li&gt;Acceptance requires a verified account matching the invited email.&lt;/li&gt;
&lt;li&gt;The organization comes from the invitation record.&lt;/li&gt;
&lt;li&gt;An invitation can be consumed once, including under concurrent requests.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;First inspect the existing authorization, membership, and email flows.&lt;br&gt;
Identify unresolved product decisions and propose a small implementation plan.&lt;/p&gt;

&lt;p&gt;One unresolved question might be what happens when the recipient is already a member. Settle it before implementation. Otherwise, that decision gets buried inside whatever code the assistant happens to generate.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Make the assistant discover your application's existing patterns&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A mature repository already contains decisions about validation, permissions, transactions, errors, and tests. The assistant needs to find the relevant ones.&lt;/p&gt;

&lt;p&gt;Ask for a short map of the existing implementation:&lt;/p&gt;

&lt;p&gt;Locate the code responsible for:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Resolving the current organization.&lt;/li&gt;
&lt;li&gt;Authorizing organization administrators.&lt;/li&gt;
&lt;li&gt;Creating memberships.&lt;/li&gt;
&lt;li&gt;Sending queued transactional emails.&lt;/li&gt;
&lt;li&gt;Testing organization access boundaries.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Reference the files and symbols supporting each finding.&lt;br&gt;
Separate confirmed behavior from assumptions.&lt;/p&gt;

&lt;p&gt;That last line matters. A confident explanation of a policy class is only useful if the class exists and applies to the request being changed.&lt;/p&gt;

&lt;p&gt;Check the findings. If membership creation already has a shared action, point the assistant toward it. If email jobs depend on transaction timing, bring that behavior into the plan. You are giving the assistant the context a human teammate would need during onboarding.&lt;/p&gt;

&lt;p&gt;Scale this effort to the task. A label change needs a quick edit. An invitation flow deserves investigation because it crosses identity, permissions, persistence, and email. Anthropic's own coding guidance similarly recommends planning when uncertainty or scope warrants it, while handling obvious small changes directly. Source&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Size tasks around what you can review&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A useful task ends with behavior you can inspect and verify.&lt;/p&gt;

&lt;p&gt;For the invitation feature, start with issuing an invitation: persistence, authorization, validation, and focused tests. Follow with safe acceptance. Then connect the interface to those verified endpoints.&lt;/p&gt;

&lt;p&gt;Each task should state what it depends on and what evidence will establish completion. If acceptance relies on the invitation schema, establish that schema before starting dependent implementation.&lt;/p&gt;

&lt;p&gt;Keep the review manageable. File count alone tells you little: a small change across eight files may be straightforward, while a dense rewrite in one file may demand substantial investigation.&lt;/p&gt;

&lt;p&gt;Ask yourself whether you can explain the change after reading the diff. If you cannot, split the work or investigate the confusing part before continuing.&lt;/p&gt;

&lt;p&gt;AI can produce changes faster than you can understand them. Your review capacity should influence how much work you ask it to produce at once.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Design tests around ways the feature could fail&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Tests generated alongside an implementation can share its assumptions. A passing suite is useful evidence only for the behavior it actually checks.&lt;/p&gt;

&lt;p&gt;Write down the important failure cases yourself, then use AI to implement and expand those checks.&lt;/p&gt;

&lt;p&gt;For our invitation flow, the review should include these scenarios:&lt;/p&gt;

&lt;p&gt;Scenario&lt;/p&gt;

&lt;p&gt;Expected result&lt;/p&gt;

&lt;p&gt;An ordinary member creates an invitation&lt;/p&gt;

&lt;p&gt;Request rejected; no invitation or email created&lt;/p&gt;

&lt;p&gt;An admin targets an organization they do not administer&lt;/p&gt;

&lt;p&gt;Request rejected; no changes to either organization&lt;/p&gt;

&lt;p&gt;Someone accepts an expired or consumed invitation&lt;/p&gt;

&lt;p&gt;No membership created&lt;/p&gt;

&lt;p&gt;A different verified account accepts the invitation&lt;/p&gt;

&lt;p&gt;Request rejected; no membership created&lt;/p&gt;

&lt;p&gt;Two requests accept the same invitation concurrently&lt;/p&gt;

&lt;p&gt;One successful consumption; one membership created&lt;/p&gt;

&lt;p&gt;The last case deserves special attention. Checking whether an invitation is unused and then creating a membership leaves room for a race unless the implementation coordinates those operations correctly.&lt;/p&gt;

&lt;p&gt;Ask the assistant to explain what enforces single consumption. Examine the transaction behavior and database constraints. Exercise concurrency against the database engine used in production; a sequential test that calls the endpoint twice does not demonstrate concurrency safety.&lt;/p&gt;

&lt;p&gt;For a bug fix, require a regression test that reproduces the defect against the old implementation. That gives the test a concrete reason to exist.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Debug through evidence&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;When a generated feature fails, repeated “try again” prompts can produce a pile of speculative changes.&lt;/p&gt;

&lt;p&gt;Give the assistant observations it can investigate: the request, expected result, actual result, relevant logs, and a reproducible sequence. Redact credentials and unnecessary personal data.&lt;/p&gt;

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

&lt;p&gt;Two concurrent acceptance requests sometimes create duplicate memberships.&lt;/p&gt;

&lt;p&gt;Trace the token lookup, consumption, and membership insert.&lt;br&gt;
Identify a likely failure mechanism and the evidence supporting it.&lt;br&gt;
Create a reproduction that distinguishes that explanation from alternatives.&lt;br&gt;
Apply a focused fix and rerun the reproduction and relevant tests.&lt;br&gt;
Report the commands run, their results, and any remaining uncertainty.&lt;/p&gt;

&lt;p&gt;This gives you a way to judge progress. A hypothesis predicts something observable. A reproduction checks that prediction. A fix must change the outcome.&lt;/p&gt;

&lt;p&gt;Read the verification report carefully. If the database was unavailable, the concurrency behavior remains unverified. Keep that limitation visible in the pull request.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Preserve decisions and choose models by the work&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;As the feature develops, record decisions that later tasks need: how organizations are resolved, which roles can be assigned, how invitation acceptance works, and which command runs the relevant tests.&lt;/p&gt;

&lt;p&gt;Keep that record concise and update it when decisions change. An outdated architecture note can steer the next task toward an implementation you have already replaced.&lt;/p&gt;

&lt;p&gt;When handing work to another session or model, include the current task, relevant files, accepted decisions, and verification requirements. Give it a clear starting point.&lt;/p&gt;

&lt;p&gt;Choose models using evidence from your own repository. An inexpensive model may handle a predictable UI change well. A difficult concurrency investigation may justify a more capable model and additional review.&lt;/p&gt;

&lt;p&gt;Evaluate the whole cost: model usage, retries, debugging, and your review time. A low token bill offers little value if you spend the afternoon correcting the result.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Review the code as its future maintainer&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Before merging, read the diff and explain how the feature behaves under normal use and failure.&lt;/p&gt;

&lt;p&gt;For invitations, that means understanding where authorization happens, how the recipient is verified, how token consumption is enforced, and what happens if sending the email fails. For a schema change, consider deployment order and how existing data behaves during rollout.&lt;/p&gt;

&lt;p&gt;A second AI review can suggest issues worth investigating. Ask for specific failure scenarios, affected code, and supporting evidence. Validate those findings yourself.&lt;/p&gt;

&lt;p&gt;The pull request should make its evidence easy to assess: what changed, which checks ran, what they established, and what still needs attention. Run the repository's required checks and investigate failures before merging.&lt;/p&gt;

&lt;p&gt;Put this workflow into practice with Vibe Coder Planner&lt;/p&gt;

&lt;p&gt;You can organize this process in Vibe Coder Planner, using a project plan, individual task prompts, and a Kanban board to carry the feature through implementation.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Start with a specific feature brief&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Enter your stack, existing behavior, desired outcome, and acceptance criteria. For this example:&lt;/p&gt;

&lt;p&gt;Add organization invitations to an existing Laravel, Vue, and PostgreSQL SaaS.&lt;br&gt;
Authentication and organization memberships already exist.&lt;/p&gt;

&lt;p&gt;Admins can invite members. Invitations expire after seven days.&lt;br&gt;
Acceptance requires a matching verified account and must be safe&lt;br&gt;
against simultaneous requests using the same token.&lt;/p&gt;

&lt;p&gt;Generate ordered tasks for issuing invitations, accepting them,&lt;br&gt;
and connecting the interface. Include dependencies, acceptance criteria,&lt;br&gt;
and verification steps for each task.&lt;/p&gt;

&lt;p&gt;The project planner generates a task breakdown you can edit and reorder. Review that plan against the repository findings and resolve missing decisions before execution.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Add the decisions every task needs&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Use Context Memory for the project's conventions, business rules, and architecture decisions. The product documents this as a project Markdown field included in automated task executions.&lt;/p&gt;

&lt;p&gt;For our example, record the organization resolution pattern, permission rules, invitation lifecycle, and test commands. Update it as the implementation establishes new facts.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Review each task's prompt and model recommendation&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Open the next task and check its scope, inputs, acceptance criteria, and expected verification. The planner provides model recommendations based on task complexity and estimated AI costs. Treat those recommendations as a starting point and adjust them using your experience with the task and codebase. Feature overview&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Execute through your editor or GitHub&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For the editor workflow, install the Vibe Code Planner extension in Cursor or VS Code. Open Vibe Code Planner: Open Settings, connect using your account API token, and access the project's tasks and prompts from the sidebar. Use each task prompt with your coding assistant. Editor setup&lt;/p&gt;

&lt;p&gt;For automated execution, use a plan that includes the feature, connect GitHub, link the project's repository, and configure a supported AI provider. Moving a task to In Progress starts the documented execution workflow, which creates a branch and opens a pull request. Tasks within a project are queued one at a time. Execution workflow&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Review before marking the task complete&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Inspect the pull request, verify the acceptance criteria, and check CI results before changing its status. The documented GitHub workflow uses Completed to trigger a merge request, so that status is part of the approval process. GitHub workflow&lt;/p&gt;

&lt;p&gt;For dependent work, make sure the previous change has been reviewed and merged before executing the next task that needs it.&lt;/p&gt;

&lt;p&gt;Take one feature from your backlog, turn it into a plan, and follow it through to a pull request you understand well enough to maintain.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>What social scheduler are you using?</title>
      <dc:creator>Martin Tonev</dc:creator>
      <pubDate>Thu, 24 Sep 2026 21:54:37 +0000</pubDate>
      <link>https://dev.to/martintonev/what-social-scheduler-are-you-using-1j63</link>
      <guid>https://dev.to/martintonev/what-social-scheduler-are-you-using-1j63</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/martintonev/7-best-social-media-scheduler-apps-in-2026-get-your-time-back-2n6n" class="crayons-story__hidden-navigation-link"&gt;7 Best Social Media Scheduler Apps in 2026: Get Your Time Back&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/martintonev" class="crayons-avatar  crayons-avatar--l  "&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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F768573%2Ffe5ca03e-16a4-412f-bb88-0f969ba03af9.png" alt="martintonev profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/martintonev" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Martin Tonev
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Martin Tonev
                
                
              
              &lt;div id="story-author-preview-content-4736745" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/martintonev" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F768573%2Ffe5ca03e-16a4-412f-bb88-0f969ba03af9.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Martin Tonev&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/martintonev/7-best-social-media-scheduler-apps-in-2026-get-your-time-back-2n6n" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Sep 24&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/martintonev/7-best-social-media-scheduler-apps-in-2026-get-your-time-back-2n6n" id="article-link-4736745"&gt;
          7 Best Social Media Scheduler Apps in 2026: Get Your Time Back
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/webdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;webdev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/productivity"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;productivity&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/socialmedia"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;socialmedia&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/martintonev/7-best-social-media-scheduler-apps-in-2026-get-your-time-back-2n6n" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;5&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/martintonev/7-best-social-media-scheduler-apps-in-2026-get-your-time-back-2n6n#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              &lt;span class="hidden s:inline"&gt;Add&amp;nbsp;Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            7 min read
          &lt;/small&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>7 Best Social Media Scheduler Apps in 2026: Get Your Time Back</title>
      <dc:creator>Martin Tonev</dc:creator>
      <pubDate>Thu, 24 Sep 2026 21:54:14 +0000</pubDate>
      <link>https://dev.to/martintonev/7-best-social-media-scheduler-apps-in-2026-get-your-time-back-2n6n</link>
      <guid>https://dev.to/martintonev/7-best-social-media-scheduler-apps-in-2026-get-your-time-back-2n6n</guid>
      <description>&lt;p&gt;Your business has closed for the day. Your social media shift is just beginning.&lt;/p&gt;

&lt;p&gt;There is a caption to write, a photo to find, a video to upload, and three accounts you have been meaning to update since Monday. Somewhere between serving customers and answering emails, “post something today” became another task you carry into the evening.&lt;/p&gt;

&lt;p&gt;A good social media scheduler should help you reclaim that time. But choosing one means looking beyond a calendar full of colorful boxes.&lt;/p&gt;

&lt;p&gt;Some tools are a strong fit when you already have content ready. Others help you create it. Some become especially useful when several people need to approve posts or report on results.&lt;/p&gt;

&lt;p&gt;These seven social media scheduler apps are worth considering in 2026, depending on where your work actually gets stuck.&lt;/p&gt;

&lt;p&gt;Disclosure: I build AutoMarketing AI, one of the products included here. These are recommendations based on the vendors’ published features and pricing, rather than a hands-on performance ranking.&lt;/p&gt;

&lt;p&gt;The best social media scheduler apps at a glance&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://automarketing-ai.com/" rel="noopener noreferrer"&gt;AutoMarketing AI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Business owners who need help creating and scheduling content&lt;/p&gt;

&lt;p&gt;Starter: $29/month, billed monthly&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Buffer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Solo creators who want a straightforward publishing workflow&lt;/p&gt;

&lt;p&gt;Free plan; Essentials starts at $5 per channel/month, billed annually&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Later&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Visual planning for creators and product brands&lt;/p&gt;

&lt;p&gt;Starter: $18.75/month, billed annually&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Metricool&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Scheduling with analytics and reporting&lt;/p&gt;

&lt;p&gt;Free plan; Starter begins at $20/month for up to five brands, billed annually&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SocialPilot&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Agencies organizing several clients&lt;/p&gt;

&lt;p&gt;Essentials: $25.50/month, billed annually; client approvals require Premium or above&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hootsuite&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Teams combining publishing with customer conversations&lt;/p&gt;

&lt;p&gt;Paid plans priced per user; check the live page for your regional price&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Publer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;RSS publishing and reusing evergreen content&lt;/p&gt;

&lt;p&gt;Free plan; paid pricing varies by accounts and additional members&lt;/p&gt;

&lt;p&gt;Prices shown are in USD where a dollar amount is available, before applicable taxes. Annual rates require annual billing. Entry plans do not include every feature discussed below. The linked pricing pages are the sources for this snapshot.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;1. &lt;a href="https://automarketing-ai.com/" rel="noopener noreferrer"&gt;AutoMarketing AI&lt;/a&gt;: When creating the posts is the hard part&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
If your calendar stays empty because you never have time to fill it, put AutoMarketing AI on your shortlist.&lt;/p&gt;

&lt;p&gt;Its workflow starts with your business information. Add your website, review your brand profile, and use that context to generate posts, captions, images, and videos. You can then edit, regenerate, approve, and schedule content from the calendar. Its content creation tools are built around carrying that business context into the material you publish.&lt;/p&gt;

&lt;p&gt;Consider a salon owner who wants to promote a new service. A useful content session could include an explanation of the service, an answer to a common customer question, and an appointment reminder. Add genuine salon photos, check the details, and prepare those posts together. That is a more useful starting point than opening an empty calendar and wondering what belongs in it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://automarketing-ai.com" rel="noopener noreferrer"&gt;AutoMarketingAI&lt;/a&gt; is particularly relevant when the same person runs the business and handles its marketing. The appeal is having content creation, review, and scheduling in a connected workflow.&lt;/p&gt;

&lt;p&gt;The homepage lists Starter at $29/month, with a seven-day trial that requires no credit card. Check the post and media allowances against your planned output before choosing a tier.&lt;/p&gt;

&lt;p&gt;Choose it when: You want help getting from “I should post something” to content you can review and publish.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;2. Buffer: When you have the content and want to keep publishing simple&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Buffer is a sensible starting point for a solo creator or small business with a few active accounts.&lt;/p&gt;

&lt;p&gt;Its publishing queue and visual calendar let you organize posts ahead of time. There is also an AI assistant for refining and repurposing content, so you can turn an existing idea into another draft without beginning again.&lt;/p&gt;

&lt;p&gt;The free plan supports three channels and ten queued posts per channel. That is a queue limit: publishing a post frees a slot. It is not a ten-post monthly allowance.&lt;/p&gt;

&lt;p&gt;Paid Essentials starts at $5 per channel per month when billed annually. Team adds collaboration features, including approval workflows.&lt;/p&gt;

&lt;p&gt;The pricing detail to remember is “per channel.” Count every profile you intend to connect before comparing the total with a bundled plan.&lt;/p&gt;

&lt;p&gt;Choose it when: Your main goal is organizing finished content and keeping a manageable publishing routine.&lt;br&gt;
**&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Later: When how your content looks matters as much as when it publishes**&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For a clothing brand, café, photographer, or creator, the order of the visuals can be part of the story.&lt;/p&gt;

&lt;p&gt;Later’s visual planner lets you preview and rearrange your Instagram feed before posts go live. Its media library and calendar also help organize the assets behind your publishing schedule.&lt;/p&gt;

&lt;p&gt;That makes it a useful option when you already have photography, videos, or campaign creative and want to see how they fit together. You can plan the sequence of a product launch instead of evaluating each post in isolation.&lt;/p&gt;

&lt;p&gt;Starter pricing is $18.75/month with annual billing, including one social set, one user, and up to 30 scheduled posts per profile per month.&lt;/p&gt;

&lt;p&gt;A social set groups one profile from each supported network. Check that structure if you manage multiple profiles on the same platform.&lt;/p&gt;

&lt;p&gt;Choose it when: You think visually and want to plan the presentation of your content before publishing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Metricool: When you want to understand what is worth posting again&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Scheduling gives you a plan. Reporting helps you decide whether that plan deserves another month.&lt;/p&gt;

&lt;p&gt;Metricool combines publishing with analytics, competitor monitoring, and reporting features. Paid Starter includes PDF and PowerPoint reports, making it worth considering when explaining results is part of your work.&lt;/p&gt;

&lt;p&gt;The free plan covers one brand, up to 20 scheduled posts per month, and 30 days of analytics. LinkedIn and X are excluded from that free tier. Starter begins at $20/month billed annually, or $25 on monthly billing, for up to five brands. X requires a separate add-on.&lt;/p&gt;

&lt;p&gt;My recommendation is to consider Metricool when your weekly question has shifted from “Did we post?” to “Which topics should we keep investing in?”&lt;/p&gt;

&lt;p&gt;Check your required networks and reporting features against the plan comparison before subscribing.&lt;/p&gt;

&lt;p&gt;Choose it when: You want scheduling and performance review to live in the same working routine.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;5. SocialPilot: When client approvals are slowing everything down&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Managing one business can be demanding. Managing several adds another problem: keeping everyone clear about what is ready, what needs changes, and who has approved it.&lt;/p&gt;

&lt;p&gt;SocialPilot is a strong candidate for that agency workflow. Its plans scale across account counts, team members, and collaboration features.&lt;/p&gt;

&lt;p&gt;The important distinction is between manager approval and client approval. Standard includes manager approval. Premium adds client approval, bulk scheduling, and reports carrying your branding.&lt;/p&gt;

&lt;p&gt;Essentials starts at $25.50/month billed annually, with seven social accounts and one user. For the client approval workflow discussed here, Premium is $85/month billed annually and includes 25 accounts and six users.&lt;/p&gt;

&lt;p&gt;Price the plan that removes your actual bottleneck. An inexpensive entry tier is less relevant if the feature you need sits higher up.&lt;/p&gt;

&lt;p&gt;Choose it when: Coordinating clients and reviewers takes as much effort as preparing their content.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;6. Hootsuite: When publishing is part of a larger social operation&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
For some teams, a post is only the beginning. Messages arrive, colleagues need to respond, and managers need visibility into the work.&lt;/p&gt;

&lt;p&gt;Hootsuite’s current plans combine publishing with inbox and monitoring capabilities. Standard covers ten social accounts. Professional adds capabilities including inbox automation and custom performance reports, while Advanced adds team content approval and message routing.&lt;/p&gt;

&lt;p&gt;That combination makes Hootsuite worth evaluating when publishing, customer conversations, and internal coordination need to work together.&lt;/p&gt;

&lt;p&gt;Plans are priced per user, so calculate the cost for the people who will actually need access. Use the live pricing page for the amount applicable to your region and billing choice.&lt;/p&gt;

&lt;p&gt;If you mainly need to queue a few posts, start by comparing the narrower workflows elsewhere in this guide. Hootsuite becomes more relevant as the operational requirements grow.&lt;/p&gt;

&lt;p&gt;Choose it when: Several people need to coordinate both outgoing content and incoming conversations.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;7. Publer: When your useful content deserves another outing&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
A helpful tutorial or product explanation can remain relevant long after its first appearance in your feed.&lt;/p&gt;

&lt;p&gt;Publer is worth considering if you publish from an existing content library. Professional includes RSS automation, while Business adds post recycling, analytics, and AI tools.&lt;/p&gt;

&lt;p&gt;That creates a practical option for businesses with a blog, recurring educational topics, or evergreen resources. You can build a routine around material you already have, then refresh it before publishing again.&lt;/p&gt;

&lt;p&gt;The free plan allows three social accounts, excluding X, and ten queued posts per account. Paid pricing depends on your account and additional team member counts. The recycling feature described here belongs to Business.&lt;/p&gt;

&lt;p&gt;Use repetition thoughtfully. Update old offers, replace dated examples, and give returning followers a fresh reason to read.&lt;/p&gt;

&lt;p&gt;Choose it when: You already own useful content and want an organized way to keep using it.&lt;/p&gt;

&lt;p&gt;How to choose without spending a week comparing dashboards&lt;/p&gt;

&lt;p&gt;Start by identifying the work you keep postponing.&lt;/p&gt;

&lt;p&gt;If you have plenty of material but struggle to publish it, compare queues and calendars. If producing content consumes your evenings, evaluate the creation workflow. If feedback gets lost in messages, test approvals. If you cannot explain what your effort achieved, put reporting on the shortlist.&lt;/p&gt;

&lt;p&gt;Then take the same small assignment into each trial: prepare five real posts for your next business week.&lt;/p&gt;

&lt;p&gt;Use your own images, your actual offer, and the accounts you intend to manage. Check how much editing is required, whether the formats you need publish automatically, and how easily you can change a scheduled post. Test the specific account types and formats you use each week.&lt;/p&gt;

&lt;p&gt;Measure the time from starting the assignment to having content ready. An impressive feature list matters less if your ordinary weekly work still feels awkward.&lt;/p&gt;

&lt;p&gt;Finally, calculate the full price: accounts, users, required plan upgrades, add-ons, and billing commitment. Compare that total with the work you expect it to remove.&lt;/p&gt;

&lt;p&gt;Give yourself a smaller social media job&lt;/p&gt;

&lt;p&gt;You do not need to try all seven tools. Choose the two that address your biggest delay and give them the same assignment.&lt;/p&gt;

&lt;p&gt;For business owners who need help creating the material as well as scheduling it, AutoMarketing AI’s seven-day trial is a practical place to start. Add your website, check your brand details, connect your accounts, and prepare a small batch of posts. Review the copy and visuals before approving the schedule.&lt;/p&gt;

&lt;p&gt;Keep one question in mind throughout the trial: Would this make next week easier?&lt;/p&gt;

&lt;p&gt;Your social media should help people discover the business you are building. It should also leave you enough time to build it.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>socialmedia</category>
    </item>
    <item>
      <title>Checkout this!</title>
      <dc:creator>Martin Tonev</dc:creator>
      <pubDate>Sun, 20 Sep 2026 20:19:37 +0000</pubDate>
      <link>https://dev.to/martintonev/checkout-this-2kf1</link>
      <guid>https://dev.to/martintonev/checkout-this-2kf1</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/martintonev/how-to-use-laravel-ai-sdk-in-production-agents-tools-streaming-rag-4mfk" class="crayons-story__hidden-navigation-link"&gt;How to Use Laravel AI SDK in Production: Agents, Tools, Streaming &amp;amp; RAG&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/martintonev" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F768573%2Ffe5ca03e-16a4-412f-bb88-0f969ba03af9.png" alt="martintonev profile" class="crayons-avatar__image" width="800" height="1096"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/martintonev" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Martin Tonev
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Martin Tonev
                
                
              
              &lt;div id="story-author-preview-content-3244658" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/martintonev" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F768573%2Ffe5ca03e-16a4-412f-bb88-0f969ba03af9.png" class="crayons-avatar__image" alt="" width="800" height="1096"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Martin Tonev&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/martintonev/how-to-use-laravel-ai-sdk-in-production-agents-tools-streaming-rag-4mfk" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Feb 9&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/martintonev/how-to-use-laravel-ai-sdk-in-production-agents-tools-streaming-rag-4mfk" id="article-link-3244658"&gt;
          How to Use Laravel AI SDK in Production: Agents, Tools, Streaming &amp;amp; RAG
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/webdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;webdev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/laravel"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;laravel&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/php"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;php&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/martintonev/how-to-use-laravel-ai-sdk-in-production-agents-tools-streaming-rag-4mfk" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;6&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/martintonev/how-to-use-laravel-ai-sdk-in-production-agents-tools-streaming-rag-4mfk#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              &lt;span class="hidden s:inline"&gt;Add&amp;nbsp;Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            6 min read
          &lt;/small&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>What do you think?</title>
      <dc:creator>Martin Tonev</dc:creator>
      <pubDate>Sun, 20 Sep 2026 20:18:38 +0000</pubDate>
      <link>https://dev.to/martintonev/-4agd</link>
      <guid>https://dev.to/martintonev/-4agd</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/martintonev/from-idea-to-pull-request-let-ai-plan-and-execute-the-work-310l" class="crayons-story__hidden-navigation-link"&gt;From Idea to Pull Request: Let AI Plan and Execute the Work&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/martintonev" class="crayons-avatar  crayons-avatar--l  "&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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F768573%2Ffe5ca03e-16a4-412f-bb88-0f969ba03af9.png" alt="martintonev profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/martintonev" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Martin Tonev
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Martin Tonev
                
                
              
              &lt;div id="story-author-preview-content-4669601" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/martintonev" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F768573%2Ffe5ca03e-16a4-412f-bb88-0f969ba03af9.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Martin Tonev&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/martintonev/from-idea-to-pull-request-let-ai-plan-and-execute-the-work-310l" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Sep 16&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/martintonev/from-idea-to-pull-request-let-ai-plan-and-execute-the-work-310l" id="article-link-4669601"&gt;
          From Idea to Pull Request: Let AI Plan and Execute the Work
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/webdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;webdev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/programming"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;programming&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/productivity"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;productivity&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/martintonev/from-idea-to-pull-request-let-ai-plan-and-execute-the-work-310l" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;5&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/martintonev/from-idea-to-pull-request-let-ai-plan-and-execute-the-work-310l#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              2&lt;span class="hidden s:inline"&gt;&amp;nbsp;comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            4 min read
          &lt;/small&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>What do you think about this?</title>
      <dc:creator>Martin Tonev</dc:creator>
      <pubDate>Sun, 20 Sep 2026 20:07:03 +0000</pubDate>
      <link>https://dev.to/martintonev/what-do-you-think-about-this-1ln8</link>
      <guid>https://dev.to/martintonev/what-do-you-think-about-this-1ln8</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/martintonev/why-task-based-vibe-coding-is-better-for-building-real-software-products-431o" class="crayons-story__hidden-navigation-link"&gt;Why Task-Based Vibe Coding Is Better for Building Real Software Products&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/martintonev" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F768573%2Ffe5ca03e-16a4-412f-bb88-0f969ba03af9.png" alt="martintonev profile" class="crayons-avatar__image" width="800" height="1096"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/martintonev" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Martin Tonev
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Martin Tonev
                
                
              
              &lt;div id="story-author-preview-content-3554621" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/martintonev" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F768573%2Ffe5ca03e-16a4-412f-bb88-0f969ba03af9.png" class="crayons-avatar__image" alt="" width="800" height="1096"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Martin Tonev&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/martintonev/why-task-based-vibe-coding-is-better-for-building-real-software-products-431o" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Apr 26&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/martintonev/why-task-based-vibe-coding-is-better-for-building-real-software-products-431o" id="article-link-3554621"&gt;
          Why Task-Based Vibe Coding Is Better for Building Real Software Products
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/webdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;webdev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/programming"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;programming&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/productivity"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;productivity&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/martintonev/why-task-based-vibe-coding-is-better-for-building-real-software-products-431o" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt;&amp;nbsp;reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/martintonev/why-task-based-vibe-coding-is-better-for-building-real-software-products-431o#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              &lt;span class="hidden s:inline"&gt;Add&amp;nbsp;Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            11 min read
          &lt;/small&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>From Idea to Pull Request: Let AI Plan and Execute the Work</title>
      <dc:creator>Martin Tonev</dc:creator>
      <pubDate>Wed, 16 Sep 2026 16:12:13 +0000</pubDate>
      <link>https://dev.to/martintonev/from-idea-to-pull-request-let-ai-plan-and-execute-the-work-310l</link>
      <guid>https://dev.to/martintonev/from-idea-to-pull-request-let-ai-plan-and-execute-the-work-310l</guid>
      <description>&lt;p&gt;Imagine describing the software you want to build, getting a structured project plan, and putting the tasks into progress. AI starts working through them in order. Each task receives the results of the previous one. When execution finishes, a GitHub pull request is waiting for your review.&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__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 - Smart AI Model Routing for Developers | Save 60% on AI Costs
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Generate execution plans that recommend the right AI model per task. Use expensive models only when it matters. Save 60% on AI costs.
          &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;


&lt;p&gt;While that happens, you can work on another priority.&lt;/p&gt;

&lt;p&gt;That is the experience I’m building with Vibe Coding Plan: automated planning and execution connected in one workflow, with shared context and smarter control over AI costs.&lt;/p&gt;

&lt;p&gt;Anyone who has built a project with AI knows how much coordination can sit between coding requests. You decide what to build next, prepare the prompt, choose a model, explain the project, inspect the result, and carry the relevant information into the next task.&lt;/p&gt;

&lt;p&gt;Multiply that by the number of tasks in a project, and the coordination becomes a job of its own. Here is how the features work together to take more of that work off your hands.&lt;/p&gt;

&lt;p&gt;Everything starts with the project idea. You describe what you want to build, and automated scoping turns that description into a structured plan with tasks and generated prompts. The purpose is to establish the work ahead before execution begins, so individual coding tasks have a clear place in the project.&lt;/p&gt;

&lt;p&gt;Consider a client portal with authentication, project management, and a dashboard. Those features depend on one another. The dashboard needs an API to call, and that API needs to understand which user can access which project. A useful plan gives those dependencies an order.&lt;/p&gt;

&lt;p&gt;The tasks and their prompts live on a Kanban board. You can see the work in one place, inspect the instructions for each task, and decide what should move into progress. The plan stays connected to the work being executed.&lt;/p&gt;

&lt;p&gt;This is where the central feature comes in: moving tasks into progress starts execution automatically. The tasks run one by one. You do not need to return after every completed task to manually start the next one and explain what just happened.&lt;/p&gt;

&lt;p&gt;In the client portal example, authentication runs first. Once it finishes, its results become available to the next task. The projects API can work from those results, and the dashboard task can then use the API work that came before it.&lt;/p&gt;

&lt;p&gt;That sequence matters. A later task should build on the decisions and output already produced. Passing those results forward gives the next execution a useful starting point and reduces the handoff work you would otherwise handle yourself.&lt;/p&gt;

&lt;p&gt;Shared memory supports the same goal across both tasks and models. Your project’s context should remain available when one model finishes its part and another takes over. Architecture decisions, conventions, and earlier results need to travel with the project.&lt;/p&gt;

&lt;p&gt;This also makes using multiple models more practical. Each task can be routed according to what it needs, while retaining the context required to contribute to the same codebase.&lt;/p&gt;

&lt;p&gt;A difficult architecture problem and a straightforward CRUD task have different demands. Smart model routing helps match those demands to an appropriate model, including a cheaper option where the task allows it. You can reserve more expensive execution for work that needs it.&lt;/p&gt;

&lt;p&gt;I’m interested in that distinction because AI spending is affected by the decisions made across an entire project. Repeatedly choosing an expensive model for routine work adds up. Routing brings that decision into the task workflow instead of leaving you to make it manually every time.&lt;/p&gt;

&lt;p&gt;Token-saving skills address another part of the cost. These provide reusable, focused instructions for development tasks. Combined with the relevant project context, they help keep execution directed at the work that needs to be done.&lt;/p&gt;

&lt;p&gt;The goal is to reduce unnecessary instructions and context while preserving what the model needs to complete the task. Model routing and optimized skills work together: one addresses which model executes the work, and the other helps make its instructions more efficient.&lt;/p&gt;

&lt;p&gt;Once execution finishes, the workflow creates a GitHub pull request automatically. The changes arrive in a form you can inspect, discuss, and merge. You review the code and decide when it is ready.&lt;/p&gt;

&lt;p&gt;That is an important part of the experience. Automation should get the work to a reviewable result. The pull request gives you a concrete place to assess what was built and make the final decision.&lt;/p&gt;

&lt;p&gt;There is another addition coming soon: a free open-source model for easy tasks in your project plan.&lt;/p&gt;

&lt;p&gt;Routine work could then use that free option, while more demanding tasks continue to use an appropriate model. For developers watching their AI spending, that would provide another way to keep costs focused on the harder parts of a project.&lt;/p&gt;

&lt;p&gt;Taken together, these features give you a connected path from the initial idea to a pull request: scope the project, organize the tasks and prompts, choose suitable models, preserve context, and execute the work in order.&lt;/p&gt;

&lt;p&gt;The benefit I care about most is being able to put a planned sequence of work into progress and spend my attention elsewhere while it runs.&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__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 - Smart AI Model Routing for Developers | Save 60% on AI Costs
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Generate execution plans that recommend the right AI model per task. Use expensive models only when it matters. Save 60% on AI costs.
          &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;


&lt;p&gt;If you could describe your next project, queue the tasks, and come back to a GitHub PR ready to review, what would you build first?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Check this out it is very important for all Vibe Coders!</title>
      <dc:creator>Martin Tonev</dc:creator>
      <pubDate>Sat, 23 May 2026 12:36:14 +0000</pubDate>
      <link>https://dev.to/martintonev/check-this-out-it-is-very-important-for-all-vibe-coders-15jp</link>
      <guid>https://dev.to/martintonev/check-this-out-it-is-very-important-for-all-vibe-coders-15jp</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/martintonev/why-vibe-coders-need-boilerplates-to-save-time-tokens-and-build-more-secure-saas-projects-1m49" class="crayons-story__hidden-navigation-link"&gt;Why Vibe Coders Need Boilerplates to Save Time, Tokens, and Build More Secure SaaS Projects&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/martintonev" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F768573%2Ffe5ca03e-16a4-412f-bb88-0f969ba03af9.png" alt="martintonev profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/martintonev" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Martin Tonev
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Martin Tonev
                
              
              &lt;div id="story-author-preview-content-3732825" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/martintonev" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F768573%2Ffe5ca03e-16a4-412f-bb88-0f969ba03af9.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Martin Tonev&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/martintonev/why-vibe-coders-need-boilerplates-to-save-time-tokens-and-build-more-secure-saas-projects-1m49" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;May 23&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/martintonev/why-vibe-coders-need-boilerplates-to-save-time-tokens-and-build-more-secure-saas-projects-1m49" id="article-link-3732825"&gt;
          Why Vibe Coders Need Boilerplates to Save Time, Tokens, and Build More Secure SaaS Projects
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/webdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;webdev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/programming"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;programming&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/productivity"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;productivity&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/martintonev/why-vibe-coders-need-boilerplates-to-save-time-tokens-and-build-more-secure-saas-projects-1m49" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;6&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/martintonev/why-vibe-coders-need-boilerplates-to-save-time-tokens-and-build-more-secure-saas-projects-1m49#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              &lt;span class="hidden s:inline"&gt;Add&amp;nbsp;Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            18 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>Why Vibe Coders Need Boilerplates to Save Time, Tokens, and Build More Secure SaaS Projects</title>
      <dc:creator>Martin Tonev</dc:creator>
      <pubDate>Sat, 23 May 2026 12:35:34 +0000</pubDate>
      <link>https://dev.to/martintonev/why-vibe-coders-need-boilerplates-to-save-time-tokens-and-build-more-secure-saas-projects-1m49</link>
      <guid>https://dev.to/martintonev/why-vibe-coders-need-boilerplates-to-save-time-tokens-and-build-more-secure-saas-projects-1m49</guid>
      <description>&lt;p&gt;Vibe coding changed how software products are built.&lt;/p&gt;

&lt;p&gt;A founder can now open an AI coding assistant, describe an idea, generate files, fix bugs, create screens, connect APIs, and launch a working prototype faster than ever before. What used to require weeks of planning and development can now be started in a single afternoon.&lt;/p&gt;

&lt;p&gt;That is powerful.&lt;/p&gt;

&lt;p&gt;But there is a problem most vibe coders discover very quickly.&lt;/p&gt;

&lt;p&gt;AI can help you build faster, but it does not magically remove the boring foundation every real SaaS product needs. You still need authentication. You still need payments. You still need user dashboards. You still need admin controls. You still need email setup. You still need SEO settings. You still need legal pages. You still need subscription management. You still need clean structure. You still need security.&lt;/p&gt;

&lt;p&gt;And if you start every project from a blank Laravel install, you force yourself and your AI coding assistant to rebuild the same foundation again and again.&lt;/p&gt;

&lt;p&gt;That is where a boilerplate becomes one of the smartest investments a vibe coder can make.&lt;/p&gt;

&lt;p&gt;A good boilerplate is not just a shortcut. It is a production foundation. It gives your AI coding workflow structure. It reduces token waste. It helps avoid messy architecture. It gives your project working features from day one. Most importantly, it allows you to spend your time and AI budget on the unique part of your SaaS, not on rebuilding login pages, Stripe webhooks, dashboards, and settings panels for the hundredth time.&lt;/p&gt;

&lt;p&gt;This is exactly why Laravel SaaS Store exists. It gives Laravel developers and vibe coders a ready-to-use SaaS starter kit with admin, customer dashboard, Stripe billing, affiliate tools, whitelist management, email setup, SEO, landing page, legal pages, design components, AI Designer, full source code, documentation, and commercial license. (&lt;a href="https://laravelsaas.store/" rel="noopener noreferrer"&gt;Laravel SaaS&lt;/a&gt;)&lt;/p&gt;

&lt;h2&gt;
  
  
  The real problem with vibe coding from scratch
&lt;/h2&gt;

&lt;p&gt;Starting from scratch feels clean.&lt;/p&gt;

&lt;p&gt;There is an empty repository. No legacy code. No old decisions. No inherited mistakes. You tell the AI what you want, and it starts generating.&lt;/p&gt;

&lt;p&gt;At first, this feels productive. The first few screens appear quickly. A login form is generated. A dashboard is created. A pricing page is added. A few models appear. The first version looks promising.&lt;/p&gt;

&lt;p&gt;Then the hidden cost starts.&lt;/p&gt;

&lt;p&gt;The AI creates one version of authentication. Then you ask for subscriptions, and it adds another layer of logic. Then you ask for admin access, and it adds role checks in different places. Then you ask for Stripe webhooks, and the webhook logic does not fully match your plan model. Then you ask for email templates, and the system creates hardcoded content. Then you ask for SEO fields, and the structure becomes inconsistent.&lt;/p&gt;

&lt;p&gt;The project starts to work, but the foundation becomes fragile.&lt;/p&gt;

&lt;p&gt;This is one of the biggest risks of vibe coding. The AI is very good at generating code, but if you do not give it a strong foundation, it will often invent one piece at a time. That means every new feature becomes another architectural decision. Every prompt becomes another chance to create inconsistency. Every generated file can push the project in a slightly different direction.&lt;/p&gt;

&lt;p&gt;A boilerplate solves this by giving the AI an existing system to extend instead of asking it to invent the system from zero.&lt;/p&gt;

&lt;p&gt;That difference is huge.&lt;/p&gt;

&lt;p&gt;When the AI works inside a ready SaaS structure, it can follow existing patterns. It can reuse existing models, controllers, services, components, layouts, settings pages, billing flows, and admin resources. Instead of asking the AI to design the foundation, you ask it to build your product on top of a foundation that already works.&lt;/p&gt;

&lt;h2&gt;
  
  
  Boilerplates save more than development time
&lt;/h2&gt;

&lt;p&gt;Most developers think about boilerplates only as a time saver.&lt;/p&gt;

&lt;p&gt;That is true, but it is only the first layer.&lt;/p&gt;

&lt;p&gt;Laravel SaaS Store positions its starter as a way to stop rebuilding the same SaaS basics, including auth, payments, admin, emails, dashboards, SEO, pages, and legal foundations. The site estimates that repetitive setup tasks such as Stripe, admin dashboards, customer auth, blog, pages, SEO, and email templates can easily consume many days of work before you even touch the real product. (&lt;a href="https://laravelsaas.store/" rel="noopener noreferrer"&gt;Laravel SaaS&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;But for vibe coders, the benefit is even bigger.&lt;/p&gt;

&lt;p&gt;A boilerplate saves time, tokens, debugging cycles, context window space, and architectural focus.&lt;/p&gt;

&lt;p&gt;When you start from scratch, you spend prompts on things that should already exist. You ask the AI to create authentication. You ask it to create user profiles. You ask it to create a dashboard layout. You ask it to create a billing flow. You ask it to create admin pages. You ask it to create email settings. You ask it to create subscription tables. You ask it to create legal pages. You ask it to create SEO meta fields.&lt;/p&gt;

&lt;p&gt;Every one of those requests costs tokens.&lt;/p&gt;

&lt;p&gt;Every generated response adds code.&lt;/p&gt;

&lt;p&gt;Every code change increases the chance of bugs.&lt;/p&gt;

&lt;p&gt;Every bug creates more prompts.&lt;/p&gt;

&lt;p&gt;Every extra prompt consumes more context.&lt;/p&gt;

&lt;p&gt;This is how a simple vibe coded SaaS can become expensive before the product is even validated.&lt;/p&gt;

&lt;p&gt;A boilerplate changes the economics. Instead of using AI tokens to create common infrastructure, you use AI tokens to create business value.&lt;/p&gt;

&lt;p&gt;That means your prompts become more focused.&lt;/p&gt;

&lt;p&gt;You are no longer saying:&lt;/p&gt;

&lt;p&gt;“Build me a SaaS with login, billing, dashboard, admin, subscription plans, and settings.”&lt;/p&gt;

&lt;p&gt;You are saying:&lt;/p&gt;

&lt;p&gt;“Add a lead scoring module to the existing dashboard.”&lt;/p&gt;

&lt;p&gt;“Create an analytics page using the current admin layout.”&lt;/p&gt;

&lt;p&gt;“Add a new plan limit to the existing billing system.”&lt;/p&gt;

&lt;p&gt;“Create a feature that uses the current user subscription state.”&lt;/p&gt;

&lt;p&gt;This is a much better way to use AI.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI coding agents perform better with existing patterns
&lt;/h2&gt;

&lt;p&gt;AI coding tools are strongest when they can follow a clear pattern.&lt;/p&gt;

&lt;p&gt;If your project already has a working dashboard, the AI can copy the style. If your project already has a settings system, the AI can add another settings page. If your project already has billing models, the AI can extend them. If your project already has admin resources, the AI can create new ones in the same structure.&lt;/p&gt;

&lt;p&gt;This is one of the most underrated advantages of a boilerplate.&lt;/p&gt;

&lt;p&gt;A blank project gives the AI too much freedom.&lt;/p&gt;

&lt;p&gt;A strong boilerplate gives the AI constraints.&lt;/p&gt;

&lt;p&gt;Constraints are good. They reduce bad decisions. They reduce random structure. They reduce inconsistent naming. They reduce the chance that your project becomes a pile of generated code with no clear architecture.&lt;/p&gt;

&lt;p&gt;Laravel itself is valuable for this reason. The official Laravel documentation describes Laravel as a framework that gives structure and a starting point for building web applications, with features like dependency injection, database abstraction, queues, scheduled jobs, and testing. (&lt;a href="https://laravel.com/docs/13.x/installation?utm_source=chatgpt.com" rel="noopener noreferrer"&gt;Laravel&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;That same idea applies to SaaS boilerplates.&lt;/p&gt;

&lt;p&gt;Laravel gives your application a framework.&lt;/p&gt;

&lt;p&gt;A SaaS boilerplate gives your product a business foundation.&lt;/p&gt;

&lt;p&gt;For vibe coders, this matters because AI coding is not just about generating code. It is about guiding code generation toward a maintainable product. A boilerplate becomes the map. The AI can move faster because it does not need to guess the roads.&lt;/p&gt;

&lt;h2&gt;
  
  
  The biggest token leak in vibe coding is repeated foundation work
&lt;/h2&gt;

&lt;p&gt;Many vibe coders think their token usage is high because their app is complex.&lt;/p&gt;

&lt;p&gt;Often, that is not the real reason.&lt;/p&gt;

&lt;p&gt;The real reason is that they are asking AI to repeatedly solve problems that have already been solved thousands of times.&lt;/p&gt;

&lt;p&gt;Authentication is solved.&lt;/p&gt;

&lt;p&gt;Password reset is solved.&lt;/p&gt;

&lt;p&gt;Stripe checkout is solved.&lt;/p&gt;

&lt;p&gt;Stripe webhooks are solved.&lt;/p&gt;

&lt;p&gt;Plan management is solved.&lt;/p&gt;

&lt;p&gt;Admin dashboards are solved.&lt;/p&gt;

&lt;p&gt;User settings are solved.&lt;/p&gt;

&lt;p&gt;Email templates are solved.&lt;/p&gt;

&lt;p&gt;SEO fields are solved.&lt;/p&gt;

&lt;p&gt;Legal page management is solved.&lt;/p&gt;

&lt;p&gt;Landing page sections are solved.&lt;/p&gt;

&lt;p&gt;Yet many vibe coded projects spend a large amount of tokens rebuilding all of this from scratch.&lt;/p&gt;

&lt;p&gt;That is waste.&lt;/p&gt;

&lt;p&gt;Not because the features are unimportant, but because they are not the unique value of the product.&lt;/p&gt;

&lt;p&gt;Your SaaS does not win because it has a login page.&lt;/p&gt;

&lt;p&gt;It wins because it solves a painful problem for a specific market.&lt;/p&gt;

&lt;p&gt;Your SaaS does not win because it has a billing table.&lt;/p&gt;

&lt;p&gt;It wins because users are willing to pay for the outcome.&lt;/p&gt;

&lt;p&gt;Your SaaS does not win because it has an admin panel.&lt;/p&gt;

&lt;p&gt;It wins because the product delivers value consistently.&lt;/p&gt;

&lt;p&gt;So why spend the first days of development and thousands of AI tokens recreating the foundation?&lt;/p&gt;

&lt;p&gt;Use a boilerplate. Start where the boring work is already done. Then use your AI assistant to build the thing that makes your product different.&lt;/p&gt;

&lt;h2&gt;
  
  
  Security is not something you add later
&lt;/h2&gt;

&lt;p&gt;One of the most dangerous habits in vibe coding is treating security as a later task.&lt;/p&gt;

&lt;p&gt;Founders often say:&lt;/p&gt;

&lt;p&gt;“I just need an MVP first.”&lt;/p&gt;

&lt;p&gt;“I will clean it up after validation.”&lt;/p&gt;

&lt;p&gt;“I only need something that works.”&lt;/p&gt;

&lt;p&gt;That mindset is understandable, but risky.&lt;/p&gt;

&lt;p&gt;Security problems often come from early architectural decisions. User roles. Route protection. Subscription access. Webhook validation. File uploads. Admin permissions. Environment variables. Session behavior. Email flows. Billing access. These are not small finishing touches. They are part of the foundation.&lt;/p&gt;

&lt;p&gt;If you build them randomly with AI prompts, you can easily create security holes without noticing.&lt;/p&gt;

&lt;p&gt;For example, maybe a dashboard route checks if the user is logged in, but not whether they own the resource. Maybe an admin route is hidden in the UI, but not protected on the backend. Maybe a webhook accepts data without proper verification. Maybe a user can access a plan feature without an active subscription. Maybe a generated controller trusts request data too much.&lt;/p&gt;

&lt;p&gt;These mistakes are not always obvious when the app looks like it works.&lt;/p&gt;

&lt;p&gt;A boilerplate reduces this risk by starting with a known structure. It does not mean you never need to review security. You still do. But it gives you a better baseline than a random set of AI-generated files.&lt;/p&gt;

&lt;p&gt;Laravel SaaS Store is built around production SaaS needs, including super admin controls, customer dashboards, Stripe billing, email configuration, SEO settings, affiliate and whitelist modules, AI features with edit history, health checks, backups, and rollback behavior for AI view changes according to its documentation. (&lt;a href="https://laravelsaas.store/docs/" rel="noopener noreferrer"&gt;Laravel SaaS&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;That kind of foundation matters.&lt;/p&gt;

&lt;p&gt;Vibe coding should be fast, but it should not be careless.&lt;/p&gt;

&lt;h2&gt;
  
  
  A boilerplate helps you move from prototype to product
&lt;/h2&gt;

&lt;p&gt;There is a big difference between a demo and a product.&lt;/p&gt;

&lt;p&gt;A demo shows the idea.&lt;/p&gt;

&lt;p&gt;A product supports users.&lt;/p&gt;

&lt;p&gt;A demo can have hardcoded data.&lt;/p&gt;

&lt;p&gt;A product needs accounts, billing, emails, settings, support, limits, dashboards, admin tools, and maintenance.&lt;/p&gt;

&lt;p&gt;A demo can break quietly.&lt;/p&gt;

&lt;p&gt;A product needs predictable behavior.&lt;/p&gt;

&lt;p&gt;This is where many vibe coded projects fail. The founder gets excited because the AI created a nice prototype. The screens look good. The main feature works. The landing page exists. The demo is convincing.&lt;/p&gt;

&lt;p&gt;But then real product requirements appear.&lt;/p&gt;

&lt;p&gt;How do users subscribe?&lt;/p&gt;

&lt;p&gt;How do users cancel?&lt;/p&gt;

&lt;p&gt;How do you manage plans?&lt;/p&gt;

&lt;p&gt;How do you edit homepage content?&lt;/p&gt;

&lt;p&gt;How do you send transactional emails?&lt;/p&gt;

&lt;p&gt;How do you manage early access?&lt;/p&gt;

&lt;p&gt;How do you update SEO metadata?&lt;/p&gt;

&lt;p&gt;How do you give a client admin access?&lt;/p&gt;

&lt;p&gt;How do you manage legal pages?&lt;/p&gt;

&lt;p&gt;How do you track affiliate referrals?&lt;/p&gt;

&lt;p&gt;How do you let non-technical users edit the product?&lt;/p&gt;

&lt;p&gt;How do you safely update generated views?&lt;/p&gt;

&lt;p&gt;These are the details that turn a prototype into a SaaS business.&lt;/p&gt;

&lt;p&gt;Laravel SaaS Store focuses exactly on this layer. It includes Stripe payment integration, plans management, webhooks, customer dashboard, super admin, email setup, SEO optimization, landing page, design system, legal pages, affiliate and whitelist features, and full source code with commercial license. (&lt;a href="https://laravelsaas.store/" rel="noopener noreferrer"&gt;Laravel SaaS&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;That means the vibe coder can start closer to a real product instead of stopping at a pretty demo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Laravel is a strong choice for vibe coded SaaS projects
&lt;/h2&gt;

&lt;p&gt;Vibe coding does not remove the need for good technology choices.&lt;/p&gt;

&lt;p&gt;In fact, it makes the stack more important.&lt;/p&gt;

&lt;p&gt;When AI generates code, you want it to work inside a framework with strong conventions. Laravel is a strong fit because it already gives developers a clean structure for routing, controllers, models, migrations, queues, validation, middleware, testing, jobs, events, notifications, and more.&lt;/p&gt;

&lt;p&gt;Laravel is also widely documented, which helps AI coding assistants generate more predictable code. The more common and well-documented the framework is, the easier it is for AI tools to follow standard patterns.&lt;/p&gt;

&lt;p&gt;Laravel’s official site now also speaks directly to the AI development era, describing Laravel as a clean stack for artisans and agents, with opinions around routing, queues, authentication, and other decisions that an agent does not need to reinvent. (&lt;a href="https://laravel.com/?utm_source=chatgpt.com" rel="noopener noreferrer"&gt;Laravel&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;That is exactly the point.&lt;/p&gt;

&lt;p&gt;Good frameworks reduce decision fatigue.&lt;/p&gt;

&lt;p&gt;Good boilerplates reduce product setup fatigue.&lt;/p&gt;

&lt;p&gt;Together, they make vibe coding more practical.&lt;/p&gt;

&lt;p&gt;Laravel SaaS Store builds on this idea by using a modern Laravel stack with Tailwind CSS, Livewire, Alpine.js, Folio, Volt, and Laravel AI, according to the site. (&lt;a href="https://laravelsaas.store/" rel="noopener noreferrer"&gt;Laravel SaaS&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;For a vibe coder, that means you are not starting with random code. You are starting with a Laravel-native foundation that already understands common SaaS needs.&lt;/p&gt;

&lt;h2&gt;
  
  
  The best boilerplate is not just code, it is a workflow
&lt;/h2&gt;

&lt;p&gt;A weak boilerplate is just a zip file with some screens.&lt;/p&gt;

&lt;p&gt;A strong boilerplate gives you a workflow.&lt;/p&gt;

&lt;p&gt;You install it. You configure it. You log into the admin. You set your plans. You connect Stripe. You update your branding. You edit your pages. You configure email. You set SEO defaults. You enable the modules you need. You start building your unique product features.&lt;/p&gt;

&lt;p&gt;Laravel SaaS Store documentation describes a quick setup path with commands like &lt;code&gt;make setup&lt;/code&gt;, a first-run web installer, local and Docker install paths, admin and super admin areas, billing setup, social login setup, AI provider setup, route checks, tests, and troubleshooting guidance. (&lt;a href="https://laravelsaas.store/docs/" rel="noopener noreferrer"&gt;Laravel SaaS&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;That matters because vibe coding is not only about generating code. It is about moving fast without getting lost.&lt;/p&gt;

&lt;p&gt;A workflow gives you direction.&lt;/p&gt;

&lt;p&gt;Instead of asking, “What do I need to build next?”, you already have the product skeleton.&lt;/p&gt;

&lt;p&gt;Now your task is clearer:&lt;/p&gt;

&lt;p&gt;Replace the demo content.&lt;/p&gt;

&lt;p&gt;Add your market-specific features.&lt;/p&gt;

&lt;p&gt;Connect your production services.&lt;/p&gt;

&lt;p&gt;Customize the design.&lt;/p&gt;

&lt;p&gt;Launch.&lt;/p&gt;

&lt;p&gt;Get feedback.&lt;/p&gt;

&lt;p&gt;Improve.&lt;/p&gt;

&lt;p&gt;This is how indie hackers, agencies, and AI-assisted developers should think. The boilerplate is not the product. The boilerplate is the launchpad.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why boilerplates are especially valuable for agencies
&lt;/h2&gt;

&lt;p&gt;Agencies rebuild the same foundation over and over.&lt;/p&gt;

&lt;p&gt;Client wants a SaaS dashboard.&lt;/p&gt;

&lt;p&gt;Client wants paid accounts.&lt;/p&gt;

&lt;p&gt;Client wants an admin panel.&lt;/p&gt;

&lt;p&gt;Client wants editable landing pages.&lt;/p&gt;

&lt;p&gt;Client wants legal pages.&lt;/p&gt;

&lt;p&gt;Client wants email settings.&lt;/p&gt;

&lt;p&gt;Client wants a customer area.&lt;/p&gt;

&lt;p&gt;Client wants a simple referral or affiliate system.&lt;/p&gt;

&lt;p&gt;Client wants fast delivery.&lt;/p&gt;

&lt;p&gt;If you build all of that from zero every time, you lose margin. You also increase risk because every project gets a slightly different foundation.&lt;/p&gt;

&lt;p&gt;A boilerplate lets an agency standardize delivery.&lt;/p&gt;

&lt;p&gt;This is especially useful for small Laravel agencies that want to sell SaaS builds, MVPs, internal tools, dashboards, subscription portals, client portals, and AI-powered web apps.&lt;/p&gt;

&lt;p&gt;Instead of quoting weeks for foundation work, the agency can start with a ready SaaS base and spend the project budget on client-specific features.&lt;/p&gt;

&lt;p&gt;Laravel SaaS Store is useful here because it includes a commercial license and full source code, and the site states it can be used for client projects, your own SaaS products, or commercial applications. (&lt;a href="https://laravelsaas.store/" rel="noopener noreferrer"&gt;Laravel SaaS&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;That makes it practical for real business use, not only personal experiments.&lt;/p&gt;

&lt;p&gt;For agencies, this can become a delivery advantage. You can ship faster. You can keep your codebase more consistent. You can train your team on one foundation. You can give AI coding agents a familiar structure across multiple projects.&lt;/p&gt;

&lt;p&gt;That is how you turn vibe coding from experimentation into a repeatable business process.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI Designer makes iteration faster for non-technical teams
&lt;/h2&gt;

&lt;p&gt;One of the most interesting features in Laravel SaaS Store is the AI Designer.&lt;/p&gt;

&lt;p&gt;The site describes it as a built-in tool that lets founders, marketers, clients, or non-technical team members change colors, layouts, copy, and components by describing what they want, without touching code. (&lt;a href="https://laravelsaas.store/" rel="noopener noreferrer"&gt;Laravel SaaS&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;This is important because product iteration is not only a developer task.&lt;/p&gt;

&lt;p&gt;A founder may want to test a new hero message.&lt;/p&gt;

&lt;p&gt;A marketer may want to change the CTA.&lt;/p&gt;

&lt;p&gt;A client may want a different color scheme.&lt;/p&gt;

&lt;p&gt;A team may want to update pricing copy.&lt;/p&gt;

&lt;p&gt;Normally, these changes create small development tasks. Small tasks create delays. Delays slow down experimentation.&lt;/p&gt;

&lt;p&gt;If non-technical users can safely make design and copy changes from an admin interface, the product can move faster.&lt;/p&gt;

&lt;p&gt;The documentation also mentions safety controls around AI view changes, including backup creation before write, health checks after apply, auto-rollback if checks fail, edit history, and manual rollback. (&lt;a href="https://laravelsaas.store/docs/" rel="noopener noreferrer"&gt;Laravel SaaS&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;That is the right direction for AI-assisted SaaS building.&lt;/p&gt;

&lt;p&gt;AI should not just generate code. It should help teams iterate safely.&lt;/p&gt;

&lt;h2&gt;
  
  
  A boilerplate helps you focus on distribution
&lt;/h2&gt;

&lt;p&gt;Most SaaS products do not fail because the login page was bad.&lt;/p&gt;

&lt;p&gt;They fail because nobody cared.&lt;/p&gt;

&lt;p&gt;They fail because the founder spent too much time building infrastructure and not enough time talking to customers, writing content, testing positioning, creating demos, launching campaigns, and improving onboarding.&lt;/p&gt;

&lt;p&gt;This is another reason boilerplates matter.&lt;/p&gt;

&lt;p&gt;When the foundation is already done, you can spend more time on distribution.&lt;/p&gt;

&lt;p&gt;You can write landing page copy.&lt;/p&gt;

&lt;p&gt;You can create SEO articles.&lt;/p&gt;

&lt;p&gt;You can test pricing.&lt;/p&gt;

&lt;p&gt;You can record product demos.&lt;/p&gt;

&lt;p&gt;You can launch on communities.&lt;/p&gt;

&lt;p&gt;You can talk to customers.&lt;/p&gt;

&lt;p&gt;You can improve onboarding.&lt;/p&gt;

&lt;p&gt;You can build the one feature users actually want.&lt;/p&gt;

&lt;p&gt;A vibe coder should not measure progress only by how many files were generated. The real question is whether the product is closer to revenue.&lt;/p&gt;

&lt;p&gt;A boilerplate moves you closer because it starts with the parts every paid SaaS needs.&lt;/p&gt;

&lt;p&gt;Payments are already part of the foundation.&lt;/p&gt;

&lt;p&gt;Admin is already part of the foundation.&lt;/p&gt;

&lt;p&gt;Dashboard is already part of the foundation.&lt;/p&gt;

&lt;p&gt;SEO is already part of the foundation.&lt;/p&gt;

&lt;p&gt;Legal pages are already part of the foundation.&lt;/p&gt;

&lt;p&gt;Email setup is already part of the foundation.&lt;/p&gt;

&lt;p&gt;That means your first real development sprint can focus on your unique value proposition.&lt;/p&gt;

&lt;p&gt;This is how you save weeks.&lt;/p&gt;

&lt;p&gt;This is how you save tokens.&lt;/p&gt;

&lt;p&gt;This is how you save energy.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why “from scratch” is often ego, not strategy
&lt;/h2&gt;

&lt;p&gt;Developers love building from scratch.&lt;/p&gt;

&lt;p&gt;It feels pure. It feels controlled. It feels like craftsmanship.&lt;/p&gt;

&lt;p&gt;But in SaaS, building from scratch is often not the best strategy.&lt;/p&gt;

&lt;p&gt;If your product is an authentication system, then yes, build authentication deeply.&lt;/p&gt;

&lt;p&gt;If your product is a billing platform, then yes, build billing deeply.&lt;/p&gt;

&lt;p&gt;If your product is an admin builder, then yes, build admin deeply.&lt;/p&gt;

&lt;p&gt;But if your product is a marketing automation tool, a CRM, an AI writing app, a booking platform, a client portal, a reporting dashboard, or a niche business SaaS, then authentication and billing are not your innovation.&lt;/p&gt;

&lt;p&gt;They are infrastructure.&lt;/p&gt;

&lt;p&gt;Infrastructure should be reliable, boring, and already working.&lt;/p&gt;

&lt;p&gt;Your creativity should go into the product experience, the market insight, the workflow, the automation, the data, the integrations, and the outcome you deliver to users.&lt;/p&gt;

&lt;p&gt;A boilerplate does not make you less technical.&lt;/p&gt;

&lt;p&gt;It makes you more strategic.&lt;/p&gt;

&lt;p&gt;It lets you build where it matters.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to look for in a SaaS boilerplate
&lt;/h2&gt;

&lt;p&gt;Not every boilerplate is worth using.&lt;/p&gt;

&lt;p&gt;Some are too simple. Some are outdated. Some are beautiful but shallow. Some give you a nice landing page but no real business logic. Some include payments but no admin. Some include admin but no customer dashboard. Some include code but no documentation.&lt;/p&gt;

&lt;p&gt;A useful SaaS boilerplate should include the things that actually block launch.&lt;/p&gt;

&lt;p&gt;It should have authentication, dashboards, billing, admin controls, email setup, page management, SEO settings, legal pages, reusable components, documentation, and clear installation steps. It should be built on a stack you understand. It should give you source code, not lock you into someone else’s hosted system. It should be flexible enough for your own SaaS and client work.&lt;/p&gt;

&lt;p&gt;Laravel SaaS Store checks these boxes for Laravel developers. It offers full source code, documentation, commercial license, admin dashboard, Stripe integration, affiliate management, user subscription and whitelist features, email management, dynamic pages, Tailwind components, and a professional landing page depending on plan. (&lt;a href="https://laravelsaas.store/" rel="noopener noreferrer"&gt;Laravel SaaS&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;That makes it a practical starting point for vibe coded SaaS projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  The best way to use a boilerplate with AI
&lt;/h2&gt;

&lt;p&gt;A boilerplate becomes even more powerful when you combine it with a disciplined AI workflow.&lt;/p&gt;

&lt;p&gt;Do not ask the AI to randomly rewrite the whole project.&lt;/p&gt;

&lt;p&gt;Do not ask it to replace the architecture.&lt;/p&gt;

&lt;p&gt;Do not ask it to generate huge features without reading the existing structure.&lt;/p&gt;

&lt;p&gt;Instead, use the boilerplate as the source of truth.&lt;/p&gt;

&lt;p&gt;Ask the AI to inspect the current models before adding new ones.&lt;/p&gt;

&lt;p&gt;Ask it to follow the existing admin patterns.&lt;/p&gt;

&lt;p&gt;Ask it to reuse the current dashboard layout.&lt;/p&gt;

&lt;p&gt;Ask it to add settings using the existing settings system.&lt;/p&gt;

&lt;p&gt;Ask it to connect new features to the current subscription logic.&lt;/p&gt;

&lt;p&gt;Ask it to create tests for new behavior.&lt;/p&gt;

&lt;p&gt;Ask it to keep changes small and reviewable.&lt;/p&gt;

&lt;p&gt;This is how professional vibe coding should work.&lt;/p&gt;

&lt;p&gt;The boilerplate gives the structure.&lt;/p&gt;

&lt;p&gt;The AI adds speed.&lt;/p&gt;

&lt;p&gt;The developer gives direction.&lt;/p&gt;

&lt;p&gt;The product gets shipped.&lt;/p&gt;

&lt;h2&gt;
  
  
  A practical example
&lt;/h2&gt;

&lt;p&gt;Imagine you want to build a SaaS that helps small businesses generate social media posts.&lt;/p&gt;

&lt;p&gt;If you start from scratch, your first tasks might look like this:&lt;/p&gt;

&lt;p&gt;Create Laravel project.&lt;/p&gt;

&lt;p&gt;Install frontend stack.&lt;/p&gt;

&lt;p&gt;Build landing page.&lt;/p&gt;

&lt;p&gt;Build login and registration.&lt;/p&gt;

&lt;p&gt;Build customer dashboard.&lt;/p&gt;

&lt;p&gt;Build admin panel.&lt;/p&gt;

&lt;p&gt;Set up Stripe.&lt;/p&gt;

&lt;p&gt;Create plans.&lt;/p&gt;

&lt;p&gt;Create webhooks.&lt;/p&gt;

&lt;p&gt;Add email settings.&lt;/p&gt;

&lt;p&gt;Add SEO.&lt;/p&gt;

&lt;p&gt;Create legal pages.&lt;/p&gt;

&lt;p&gt;Create user profile.&lt;/p&gt;

&lt;p&gt;Create subscription checks.&lt;/p&gt;

&lt;p&gt;Add prompt templates.&lt;/p&gt;

&lt;p&gt;Add AI provider settings.&lt;/p&gt;

&lt;p&gt;Create usage limits.&lt;/p&gt;

&lt;p&gt;Build the actual social media tool.&lt;/p&gt;

&lt;p&gt;That is too much foundation before reaching the product.&lt;/p&gt;

&lt;p&gt;With Laravel SaaS Store, many of these foundation parts already exist. The documentation includes AI settings, AI Studio, AI prompt templates, AI requests, AI view designer, billing, teams, social login, content management, affiliate, whitelist, reviews, and operations checklist. (&lt;a href="https://laravelsaas.store/docs/" rel="noopener noreferrer"&gt;Laravel SaaS&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Now your first real tasks become different.&lt;/p&gt;

&lt;p&gt;You can add the social post generator as a product module.&lt;/p&gt;

&lt;p&gt;You can connect it to existing AI settings.&lt;/p&gt;

&lt;p&gt;You can show generated content inside the customer dashboard.&lt;/p&gt;

&lt;p&gt;You can limit usage based on the existing subscription plan.&lt;/p&gt;

&lt;p&gt;You can manage plans in the admin.&lt;/p&gt;

&lt;p&gt;You can update landing page copy from the admin.&lt;/p&gt;

&lt;p&gt;You can launch faster.&lt;/p&gt;

&lt;p&gt;That is the difference between building infrastructure and building a business.&lt;/p&gt;

&lt;h2&gt;
  
  
  Boilerplates reduce abandoned projects
&lt;/h2&gt;

&lt;p&gt;Many vibe coded projects die in the middle.&lt;/p&gt;

&lt;p&gt;Not because the idea was bad.&lt;/p&gt;

&lt;p&gt;They die because the project becomes messy.&lt;/p&gt;

&lt;p&gt;The founder asks for too many changes. The AI generates too much inconsistent code. Bugs appear. The context window gets too large. The structure becomes unclear. The developer loses confidence. The project feels heavy before launch.&lt;/p&gt;

&lt;p&gt;A boilerplate reduces this risk because it gives the project a stable center.&lt;/p&gt;

&lt;p&gt;Even if you add features quickly, the core remains understandable.&lt;/p&gt;

&lt;p&gt;You know where billing lives.&lt;/p&gt;

&lt;p&gt;You know where settings live.&lt;/p&gt;

&lt;p&gt;You know where admin lives.&lt;/p&gt;

&lt;p&gt;You know where pages live.&lt;/p&gt;

&lt;p&gt;You know where email configuration lives.&lt;/p&gt;

&lt;p&gt;You know where AI settings live.&lt;/p&gt;

&lt;p&gt;That makes the project easier to continue.&lt;/p&gt;

&lt;p&gt;For vibe coders, continuity is everything. The first day is easy. The fifth day is harder. The third week is where structure matters. A boilerplate helps you survive the third week.&lt;/p&gt;

&lt;h2&gt;
  
  
  Boilerplates help with client trust
&lt;/h2&gt;

&lt;p&gt;If you are building for clients, a boilerplate can also improve trust.&lt;/p&gt;

&lt;p&gt;Clients do not care that you hand-coded every login screen.&lt;/p&gt;

&lt;p&gt;They care that the system works.&lt;/p&gt;

&lt;p&gt;They care that it is secure.&lt;/p&gt;

&lt;p&gt;They care that it has billing.&lt;/p&gt;

&lt;p&gt;They care that they can manage content.&lt;/p&gt;

&lt;p&gt;They care that they can update settings.&lt;/p&gt;

&lt;p&gt;They care that users can register and pay.&lt;/p&gt;

&lt;p&gt;They care that the product can launch.&lt;/p&gt;

&lt;p&gt;When you use a proven SaaS foundation, you can explain the value clearly:&lt;/p&gt;

&lt;p&gt;“We are not starting from zero. We are starting from a Laravel SaaS foundation with admin, billing, dashboard, email, SEO, and content management already included. That means your budget goes into the custom business features, not repeated setup work.”&lt;/p&gt;

&lt;p&gt;That is a strong sales argument.&lt;/p&gt;

&lt;p&gt;It also protects your margin as a developer or agency.&lt;/p&gt;

&lt;h2&gt;
  
  
  The future of vibe coding is not blank prompts
&lt;/h2&gt;

&lt;p&gt;The future of vibe coding is not just opening a chat and asking it to build an app from nothing.&lt;/p&gt;

&lt;p&gt;That is the beginner version.&lt;/p&gt;

&lt;p&gt;The professional version is different.&lt;/p&gt;

&lt;p&gt;The professional version uses boilerplates.&lt;/p&gt;

&lt;p&gt;It uses specifications.&lt;/p&gt;

&lt;p&gt;It uses existing architecture.&lt;/p&gt;

&lt;p&gt;It uses reusable modules.&lt;/p&gt;

&lt;p&gt;It uses tests.&lt;/p&gt;

&lt;p&gt;It uses clear prompts.&lt;/p&gt;

&lt;p&gt;It uses source control.&lt;/p&gt;

&lt;p&gt;It uses admin systems.&lt;/p&gt;

&lt;p&gt;It uses deployment workflows.&lt;/p&gt;

&lt;p&gt;It uses AI as an accelerator, not as a replacement for foundation.&lt;/p&gt;

&lt;p&gt;This is where the market is going.&lt;/p&gt;

&lt;p&gt;The people who get the best results from AI coding will not be the people who ask for the most code. They will be the people who give AI the best starting point.&lt;/p&gt;

&lt;p&gt;A Laravel SaaS boilerplate is one of those starting points.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Laravel SaaS Store is built for this moment
&lt;/h2&gt;

&lt;p&gt;Laravel SaaS Store is built around a simple idea:&lt;/p&gt;

&lt;p&gt;Stop vibe coding every new project from scratch.&lt;/p&gt;

&lt;p&gt;Start with a production-ready Laravel SaaS foundation and build the unique product on top.&lt;/p&gt;

&lt;p&gt;The product includes the common SaaS pieces most founders and developers need: Stripe, plans, webhooks, customer dashboard, super admin, email setup, SEO, landing page, design system, legal pages, affiliate and whitelist tools, full source code, documentation, and commercial license. (&lt;a href="https://laravelsaas.store/" rel="noopener noreferrer"&gt;Laravel SaaS&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;It also goes further with AI-focused features like AI Designer, AI settings, AI Studio, AI prompt templates, AI request tracking, and AI view designer workflows described in the documentation. (&lt;a href="https://laravelsaas.store/docs/" rel="noopener noreferrer"&gt;Laravel SaaS&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;That makes it especially relevant for vibe coders.&lt;/p&gt;

&lt;p&gt;Because vibe coders do not just need code.&lt;/p&gt;

&lt;p&gt;They need a launch system.&lt;/p&gt;

&lt;p&gt;They need a foundation that works with AI, not against it.&lt;/p&gt;

&lt;p&gt;They need structure that helps them move fast without creating a mess.&lt;/p&gt;

&lt;p&gt;Laravel SaaS Store gives them that foundation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion: stop spending AI tokens on boring work
&lt;/h2&gt;

&lt;p&gt;Vibe coding is powerful, but it becomes much more powerful when you stop using it to rebuild the same foundation over and over.&lt;/p&gt;

&lt;p&gt;Every SaaS needs auth.&lt;/p&gt;

&lt;p&gt;Every SaaS needs billing.&lt;/p&gt;

&lt;p&gt;Every SaaS needs dashboards.&lt;/p&gt;

&lt;p&gt;Every SaaS needs admin.&lt;/p&gt;

&lt;p&gt;Every SaaS needs email.&lt;/p&gt;

&lt;p&gt;Every SaaS needs SEO.&lt;/p&gt;

&lt;p&gt;Every SaaS needs legal pages.&lt;/p&gt;

&lt;p&gt;Every SaaS needs settings.&lt;/p&gt;

&lt;p&gt;Every SaaS needs structure.&lt;/p&gt;

&lt;p&gt;These are not the features that make your startup special. They are the foundation that lets your startup exist.&lt;/p&gt;

&lt;p&gt;A boilerplate lets you skip the repeated setup and focus on the product.&lt;/p&gt;

&lt;p&gt;It saves time.&lt;/p&gt;

&lt;p&gt;It saves tokens.&lt;/p&gt;

&lt;p&gt;It reduces bugs.&lt;/p&gt;

&lt;p&gt;It gives AI better patterns to follow.&lt;/p&gt;

&lt;p&gt;It gives your project a stronger security foundation.&lt;/p&gt;

&lt;p&gt;It helps you move from prototype to product faster.&lt;/p&gt;

&lt;p&gt;If you are a Laravel developer, indie hacker, agency owner, or vibe coder building SaaS products, starting from a blank project every time is no longer the smartest move.&lt;/p&gt;

&lt;p&gt;Start with a real foundation.&lt;/p&gt;

&lt;p&gt;Build the unique part.&lt;/p&gt;

&lt;p&gt;Launch faster.&lt;/p&gt;

&lt;p&gt;That is the practical advantage of using Laravel SaaS Store.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Is a boilerplate only useful for beginners?
&lt;/h3&gt;

&lt;p&gt;No. A boilerplate is often more valuable for experienced developers because they understand how much time is wasted rebuilding the same foundation. Senior developers know that speed does not come from writing everything manually. Speed comes from knowing what should be reused.&lt;/p&gt;

&lt;h3&gt;
  
  
  Will a boilerplate make my SaaS less unique?
&lt;/h3&gt;

&lt;p&gt;No. Your SaaS is not unique because of its login screen or billing flow. It is unique because of the problem it solves, the workflow it improves, the market it serves, and the result it creates for users. A boilerplate handles the standard foundation so you can focus on uniqueness.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why is a boilerplate useful for AI coding?
&lt;/h3&gt;

&lt;p&gt;AI coding assistants work better when they have existing patterns to follow. A boilerplate gives the AI structure, naming conventions, layouts, models, settings, and workflows. This reduces random code generation and helps keep the project maintainable.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does a boilerplate reduce AI token usage?
&lt;/h3&gt;

&lt;p&gt;Yes. Instead of spending prompts and tokens generating standard SaaS infrastructure, you can spend them building product-specific features. This is especially important when using AI tools with limited context windows or token-based pricing.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is Laravel a good framework for vibe coded SaaS products?
&lt;/h3&gt;

&lt;p&gt;Yes. Laravel gives developers and AI agents a structured, well-documented framework with strong conventions. This makes it easier to build, extend, and maintain SaaS applications compared to starting with a less opinionated or random structure.&lt;/p&gt;

&lt;h3&gt;
  
  
  Who should use Laravel SaaS Store?
&lt;/h3&gt;

&lt;p&gt;Laravel SaaS Store is a strong fit for Laravel developers, indie hackers, agencies, startup founders, and vibe coders who want to launch SaaS products faster without rebuilding the same foundation each time.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
