<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Steve McDougall — Articles</title><description>Practical engineering education, courses, and resources for the modern PHP &amp; Laravel developer.</description><link>https://www.juststeveking.com/</link><language>en-gb</language><item><title>How to Write Specs, RFCs and ADRs</title><link>https://www.juststeveking.com/articles/how-to-write-specs-rfcs-and-adrs/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/how-to-write-specs-rfcs-and-adrs/</guid><description>Spec driven development in practice: what an RFC, an ADR and a spec are each for, the templates I use, and one feature taken through all three from a blank page.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>specs</category><category>developer-experience</category><category>ai</category></item><item><title>What Actually Constrains a Coding Agent</title><link>https://www.juststeveking.com/articles/what-actually-constrains-a-coding-agent/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/what-actually-constrains-a-coding-agent/</guid><description>I had fifteen agents build the same Laravel and Slim API. Written decisions mattered most, the framework second, PSRs barely at all, and Laravel already ships the first.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>laravel</category><category>php</category><category>ai</category><category>agents</category><category>psr</category><category>frameworks</category></item><item><title>Sending And Receiving Webhooks In Laravel</title><link>https://www.juststeveking.com/articles/sending-and-receiving-webhooks-in-laravel/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/sending-and-receiving-webhooks-in-laravel/</guid><description>A webhook is a contract between two codebases that never meet. Both ends of it in plain Laravel: what to sign, how long to retry, and how the receiver avoids doing the work twice.</description><pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>webhooks</category><category>php</category><category>queues</category><category>security</category></item><item><title>My business lives in my vault now</title><link>https://www.juststeveking.com/articles/my-business-lives-in-my-vault/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/my-business-lives-in-my-vault/</guid><description>My clients, hours, invoices and articles moved out of FreeAgent, Upwork and my head into plain files in my Obsidian vault, kept by an agent, with Tabstack finding the next client.</description><pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>obsidian</category><category>agents</category><category>career</category><category>mcp</category></item><item><title>My clients live in a folder now</title><link>https://www.juststeveking.com/articles/my-clients-live-in-a-folder-now/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/my-clients-live-in-a-folder-now/</guid><description>Freelance tools are good at the books and bad at everything around them. mavis keeps clients, calls, time and invoices as Markdown files, run from one binary.</description><pubDate>Fri, 02 Oct 2026 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>obsidian</category><category>go</category><category>cli</category><category>career</category><category>agents</category><category>mcp</category></item><item><title>Building a home-education platform with Laravel 13, Inertia and React, and shipping it to Laravel Cloud</title><link>https://www.juststeveking.com/articles/building-a-home-education-platform-with-laravel/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/building-a-home-education-platform-with-laravel/</guid><description>A Laravel 13, Inertia and React platform for home educating my son: an append-only learning record, a planner, AI kept on a short lead, and what Laravel Cloud asked of the code.</description><pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>php</category><category>ai</category><category>deployment</category><category>testing</category><category>feature-flags</category></item><item><title>The Petstore scores 65</title><link>https://www.juststeveking.com/articles/the-petstore-scores-65/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/the-petstore-scores-65/</guid><description>The most copied OpenAPI document in the world is a bad API for an agent, and it takes a third of a second to find out. So I built the check I was doing by hand.</description><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>openapi</category><category>agents</category><category>go</category><category>cli</category></item><item><title>Your endpoint, as an agent sees it</title><link>https://www.juststeveking.com/articles/your-endpoint-as-an-agent-sees-it/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/your-endpoint-as-an-agent-sees-it/</guid><description>An agent never reads your API. It reads a flattened projection of it, and the flattening loses things you did not know were losable. Here is how to look at yours.</description><pubDate>Thu, 24 Sep 2026 00:00:00 GMT</pubDate><category>API Design</category><category>openapi</category><category>laravel</category><category>agents</category></item><item><title>The UK is mandating e-invoicing in 2029, and your invoicing code is not ready</title><link>https://www.juststeveking.com/articles/uk-e-invoicing-2029/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/uk-e-invoicing-2029/</guid><description>From 2029 every UK VAT invoice has to be structured data that passes about eleven hundred rules. What that means for the invoices table you already have, and the four fields that break first.</description><pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>php</category></item><item><title>Digital sovereignty is written in PHP, and the UK just made it fundable</title><link>https://www.juststeveking.com/articles/digital-sovereignty-is-written-in-php/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/digital-sovereignty-is-written-in-php/</guid><description>The PHP Foundation made the case for funding upstream maintenance through procurement. Their proposals are written against EU rules. The UK deleted the clause that was blocking them.</description><pubDate>Tue, 08 Sep 2026 00:00:00 GMT</pubDate><category>Notes</category><category>php</category><category>open-source</category></item><item><title>The Second Pattern: The Ones I Left Out</title><link>https://www.juststeveking.com/articles/the-second-pattern-the-ones-i-left-out/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/the-second-pattern-the-ones-i-left-out/</guid><description>Five patterns I know well, that come up constantly, and would not reach for in PHP. Not because they are bad ideas, but because of what the runtime does and does not give you.</description><pubDate>Sat, 05 Sep 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>php</category><category>tempest</category><category>design-patterns</category><category>event-driven</category><category>domain-driven-design</category></item><item><title>The Second Pattern: Blackboard</title><link>https://www.juststeveking.com/articles/the-second-pattern-blackboard/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/the-second-pattern-blackboard/</guid><description>A pipeline works until one step both needs and improves the same piece of information. That is a cycle, and a topological sort has exactly one contract: there are no cycles.</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>php</category><category>tempest</category><category>design-patterns</category></item><item><title>The Second Pattern: Event-Carried State Transfer</title><link>https://www.juststeveking.com/articles/the-second-pattern-event-carried-state-transfer/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/the-second-pattern-event-carried-state-transfer/</guid><description>A consumer that receives an ID and immediately asks you for the record has not been decoupled from you. It has been given a slightly slower way to call your API.</description><pubDate>Thu, 03 Sep 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>php</category><category>tempest</category><category>design-patterns</category><category>event-driven</category></item><item><title>Designing CLIs people want to use</title><link>https://www.juststeveking.com/articles/designing-clis-people-want-to-use/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/designing-clis-people-want-to-use/</guid><description>API design is a user experience problem and nobody argues any more. Then we build a CLI and forget all of it. Cobra defaults, which ones are wrong, and what I do instead.</description><pubDate>Wed, 02 Sep 2026 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>go</category><category>cli</category><category>developer-experience</category></item><item><title>The Second Pattern: Process Manager</title><link>https://www.juststeveking.com/articles/the-second-pattern-process-manager/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/the-second-pattern-process-manager/</guid><description>Everyone calls it a Saga. Most of the time it is a Process Manager, and the muddle is why teams adopt the word and then never write the compensations it never promised them.</description><pubDate>Wed, 02 Sep 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>php</category><category>tempest</category><category>design-patterns</category><category>workflows</category></item><item><title>The Second Pattern: Bulkhead</title><link>https://www.juststeveking.com/articles/the-second-pattern-bulkhead/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/the-second-pattern-bulkhead/</guid><description>Carrier B did not go down, it got slow, and every worker sat inside an eleven second call that returned a valid 200. Circuit breakers ask the wrong question about that.</description><pubDate>Tue, 01 Sep 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>php</category><category>tempest</category><category>design-patterns</category><category>resilience</category></item><item><title>The Second Pattern: Claim Check</title><link>https://www.juststeveking.com/articles/the-second-pattern-claim-check/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/the-second-pattern-claim-check/</guid><description>A payload that is 40KB almost always and 12MB occasionally cannot be sized for. Making it smaller is not the fix, because the problem is the channel it is moving through.</description><pubDate>Mon, 31 Aug 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>php</category><category>tempest</category><category>design-patterns</category><category>queues</category></item><item><title>The Second Pattern: Idempotent Receiver</title><link>https://www.juststeveking.com/articles/the-second-pattern-idempotent-receiver/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/the-second-pattern-idempotent-receiver/</guid><description>Select then insert handles the easy half of duplicate delivery and misses the concurrent case, which is the half that actually fires. This time the framework has already done it properly.</description><pubDate>Sun, 30 Aug 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>php</category><category>tempest</category><category>design-patterns</category><category>resilience</category><category>webhooks</category></item><item><title>The Second Pattern: Transactional Outbox</title><link>https://www.juststeveking.com/articles/the-second-pattern-transactional-outbox/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/the-second-pattern-transactional-outbox/</guid><description>Commit then notify loses messages. Notify then commit sends lies. The dual write problem has no clever solution, and Tempest ships more of the machinery than it advertises.</description><pubDate>Sat, 29 Aug 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>php</category><category>tempest</category><category>design-patterns</category><category>workflows</category><category>queues</category></item><item><title>The Second Pattern: Anti-Corruption Layer</title><link>https://www.juststeveking.com/articles/the-second-pattern-anti-corruption-layer/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/the-second-pattern-anti-corruption-layer/</guid><description>Carrier B speaks GraphQL, so the response arrives shaped like your query and feels like it belongs to you. It does not, and their vocabulary is now load-bearing in your domain.</description><pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>php</category><category>tempest</category><category>design-patterns</category><category>domain-driven-design</category><category>http</category></item><item><title>The Second Pattern: Specification</title><link>https://www.juststeveking.com/articles/the-second-pattern-specification/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/the-second-pattern-specification/</guid><description>Nine optional parameters is the symptom. The problem is a business rule that has to run in SQL and in memory, written twice and quietly drifting apart.</description><pubDate>Thu, 27 Aug 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>php</category><category>tempest</category><category>design-patterns</category></item><item><title>Building Research</title><link>https://www.juststeveking.com/articles/building-research/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/building-research/</guid><description>A desktop research workspace in Laravel and NativePHP. Streaming SSE into a queued job, distilling reports with a local model, and why cosine similarity cannot tell a paraphrase from a contradiction.</description><pubDate>Wed, 26 Aug 2026 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>laravel</category><category>php</category><category>frontend</category><category>queues</category><category>ai</category><category>databases</category></item><item><title>Every Feature Touches Ten Files</title><link>https://www.juststeveking.com/articles/every-feature-touches-ten-files/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/every-feature-touches-ten-files/</guid><description>Ten files open for a one line change is either layering working correctly or one idea smeared across a codebase. The count does not tell you which, and git history does.</description><pubDate>Wed, 26 Aug 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>laravel</category><category>code-organization</category><category>refactoring</category><category>eloquent</category></item><item><title>It Was Fine Until We Added A Second One</title><link>https://www.juststeveking.com/articles/it-was-fine-until-we-added-a-second-one/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/it-was-fine-until-we-added-a-second-one/</guid><description>Every trigger in this series has been a second something. That is not a coincidence, and it is the only signal in here reliable enough to act on.</description><pubDate>Wed, 26 Aug 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>laravel</category><category>refactoring</category><category>multi-tenancy</category><category>code-organization</category></item><item><title>Nobody Wants To Touch That Model</title><link>https://www.juststeveking.com/articles/nobody-wants-to-touch-that-model/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/nobody-wants-to-touch-that-model/</guid><description>Every Laravel codebase has a model people route around. Counting its lines is the least useful thing you can do to it, and extracting traits is how the count gets hidden rather than fixed.</description><pubDate>Wed, 26 Aug 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>laravel</category><category>eloquent</category><category>code-organization</category><category>refactoring</category><category>object-oriented-design</category></item><item><title>The Interface With One Implementation</title><link>https://www.juststeveking.com/articles/the-interface-with-one-implementation/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/the-interface-with-one-implementation/</guid><description>You added it so the thing could be swapped out later. Later arrived and nothing was. Counting implementations is the wrong test, and where the interface lives tells you far more.</description><pubDate>Wed, 26 Aug 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>laravel</category><category>object-oriented-design</category><category>refactoring</category></item><item><title>The Job And The Controller Disagree</title><link>https://www.juststeveking.com/articles/the-job-and-the-controller-disagree/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/the-job-and-the-controller-disagree/</guid><description>The same operation runs from two entry points and they have quietly drifted. In Laravel that drift has a predictable shape, because validation lives at the edge and only one edge has it.</description><pubDate>Wed, 26 Aug 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>laravel</category><category>data-objects</category><category>queues</category><category>code-organization</category><category>refactoring</category></item><item><title>The Rewrite You Should Not Do</title><link>https://www.juststeveking.com/articles/the-rewrite-you-should-not-do/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/the-rewrite-you-should-not-do/</guid><description>You have run the diagnostics and you have a list. Now price the three options honestly, including the one where you do nothing, which is right more often than the other two put together.</description><pubDate>Wed, 26 Aug 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>laravel</category><category>refactoring</category></item><item><title>Your Test Suite Is an Architecture Report</title><link>https://www.juststeveking.com/articles/your-test-suite-is-an-architecture-report/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/your-test-suite-is-an-architecture-report/</guid><description>A slow Laravel test suite gets treated as a tooling problem. It is usually a coupling measurement, and the number worth watching is not how long the suite takes.</description><pubDate>Wed, 26 Aug 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>laravel</category><category>testing</category><category>code-organization</category><category>refactoring</category></item><item><title>Accepting Data You Don&apos;t Control</title><link>https://www.juststeveking.com/articles/accepting-data-you-dont-control/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/accepting-data-you-dont-control/</guid><description>Webhooks and callbacks you did not design. An ingest server in Laravel 13 that owns the envelope, stores the payload whole, and validates where failure means a retry, not data loss.</description><pubDate>Mon, 24 Aug 2026 00:00:00 GMT</pubDate><category>API Design</category><category>laravel</category><category>event-driven</category><category>webhooks</category><category>databases</category></item><item><title>Queues you can pause and buckets you can walk away from</title><link>https://www.juststeveking.com/articles/queues-you-can-pause-and-buckets-you-can-walk-away-from/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/queues-you-can-pause-and-buckets-you-can-walk-away-from/</guid><description>[Automatically generated using robots and AI, accuracy may not be 100%] Two weeks of Laravel 13: a read-through filesystem driver for zero-downtime storage migrations, a global queue pause switch, debounced listeners, and Redis cluster fixes worth upgrading for.</description><pubDate>Mon, 24 Aug 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>laravel</category><category>queues</category><category>databases</category><category>open-source</category><category>ai-generated</category></item><item><title>Controlling Code Quality When an Agent Writes Your Laravel</title><link>https://www.juststeveking.com/articles/controlling-code-quality-when-an-agent-writes-your-laravel/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/controlling-code-quality-when-an-agent-writes-your-laravel/</guid><description>Specs, ADRs and path-scoped rules. The three layers of context I build around an agent so it writes Laravel the way my codebase does, not the way every tutorial does.</description><pubDate>Mon, 17 Aug 2026 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>laravel</category><category>ai</category><category>agents</category><category>code-organization</category></item><item><title>Eighteen Files And One Nix Module: How My Brain Works</title><link>https://www.juststeveking.com/articles/how-my-brain-works/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/how-my-brain-works/</guid><description>The Obsidian vault I use as a system of record for every project, why the checkouts inside it are gitignored, and why half of it is generated from my NixOS flake.</description><pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>obsidian</category><category>linux</category><category>workflows</category><category>agents</category></item><item><title>MCP Goes Stateless: What Changed and Why It Matters</title><link>https://www.juststeveking.com/articles/mcp-goes-stateless/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/mcp-goes-stateless/</guid><description>The Streamable HTTP transport replaced HTTP+SSE and quietly made MCP servers stateless. Here is what that means, how the new transport works, and why it unlocks serverless and edge deployments.</description><pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>mcp</category><category>ai</category><category>http</category><category>deployment</category></item><item><title>One Host, Twenty-One Files: A NixOS Flake That Stays Out Of Your Way</title><link>https://www.juststeveking.com/articles/a-nixos-flake-that-stays-out-of-your-way/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/a-nixos-flake-that-stays-out-of-your-way/</guid><description>How auto-imported flake-parts modules, wrapped desktop packages, and a single base16 palette file shape one NixOS config - and where each one bites.</description><pubDate>Tue, 04 Aug 2026 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>linux</category></item><item><title>Seven Days in Ten Milliseconds</title><link>https://www.juststeveking.com/articles/seven-days-in-ten-milliseconds/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/seven-days-in-ten-milliseconds/</guid><description>A workflow that sleeps for three days is not a workflow you can test by waiting. Owning the clock, asserting on absence, and the races you only get one shot at.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>laravel</category><category>workflows</category><category>testing</category></item><item><title>Building an order fulfilment workflow in Laravel</title><link>https://www.juststeveking.com/articles/building-an-order-fulfilment-workflow/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/building-an-order-fulfilment-workflow/</guid><description>Build a real order fulfilment workflow in Laravel: signals from webhooks, timeouts, retries, branching, sleep and saga compensation, one step at a time.</description><pubDate>Fri, 24 Jul 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>laravel</category><category>php</category><category>workflows</category></item><item><title>Building Bulletproof Laravel APIs using Schema-First Contract Validation</title><link>https://www.juststeveking.com/articles/bulletproof-laravel-apis-schema-first-contract-validation/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/bulletproof-laravel-apis-schema-first-contract-validation/</guid><description>Stop letting undocumented fields into your Laravel API. Write the JSON Schema first, then enforce it in middleware, DTOs, and your Pest test suite.</description><pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate><category>API Design</category><category>laravel</category><category>openapi</category><category>testing</category></item><item><title>Strangling Procedural Legacy PHP into Laravel</title><link>https://www.juststeveking.com/articles/strangling-legacy-php-into-laravel/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/strangling-legacy-php-into-laravel/</guid><description>Replace a procedural PHP monolith with Laravel one route at a time. Nginx ingress, session bridging that actually works, and Eloquent on a legacy schema.</description><pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>laravel</category><category>refactoring</category><category>php</category></item><item><title>Give your Laravel AI agent real-time web knowledge</title><link>https://www.juststeveking.com/articles/real-time-web-knowledge/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/real-time-web-knowledge/</guid><description>The Laravel AI SDK is provider-agnostic, but its built-in web tools aren&apos;t. Here&apos;s how to give your agent real-time web knowledge without losing that independence.</description><pubDate>Thu, 16 Jul 2026 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>laravel</category><category>ai</category><category>api-integration</category><category>agents</category></item><item><title>The Right Agent at the Right Time</title><link>https://www.juststeveking.com/articles/the-right-agent-at-the-right-time/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/the-right-agent-at-the-right-time/</guid><description>How to run AI across the whole dev lifecycle: the right agent at each stage, human gates on judgement, and decision records that keep architecture honest.</description><pubDate>Wed, 15 Jul 2026 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>ai</category><category>specs</category><category>planning</category></item><item><title>Fibers Plus the Polling API: What Async PHP Actually Looks Like Now</title><link>https://www.juststeveking.com/articles/async-php/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/async-php/</guid><description>Fibers give PHP concurrency. The Polling API gives it native epoll and kqueue. Here&apos;s how to build on both, with honest benchmarks.</description><pubDate>Wed, 01 Jul 2026 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>php</category><category>queues</category></item><item><title>The Polling API Is the Most Underrated RFC PHP Has Shipped in Years</title><link>https://www.juststeveking.com/articles/php-8-6-polling-api-rfc/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/php-8-6-polling-api-rfc/</guid><description>The Polling API gives PHP 8.6 native epoll and kqueue at last. Here&apos;s why the RFC nobody discussed is the most consequential in years.</description><pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>php</category><category>queues</category><category>specs</category></item><item><title>A Proper Look at Tabstack</title><link>https://www.juststeveking.com/articles/tabstack-review/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/tabstack-review/</guid><description>A developer&apos;s review of Tabstack, the Mozilla-backed web API that gives AI agents clean extraction, browser automation, and cited research without a scraper.</description><pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>agents</category></item><item><title>Giving your agents a terminal: a first look at the tabstack CLI</title><link>https://www.juststeveking.com/articles/tabstack-cli/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/tabstack-cli/</guid><description>A hands-on look at Mozilla&apos;s tabstack CLI: a single Go binary that turns any URL into clean Markdown or JSON, runs browser automation, and scripts neatly.</description><pubDate>Tue, 16 Jun 2026 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>agents</category><category>go</category><category>cli</category></item><item><title>The Tips Behind API Artisan: Building Laravel APIs Developers Actually Want to Use</title><link>https://www.juststeveking.com/articles/api-tips-and-tricks-from-my-book/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/api-tips-and-tricks-from-my-book/</guid><description>Practical tips for building Laravel APIs developers trust: contract-first design, versioning, RFC 9457 errors, idempotency and more. Free book inside.</description><pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate><category>API Design</category><category>laravel</category><category>rest-api</category><category>php</category></item><item><title>Testing Actions, Not Mocks</title><link>https://www.juststeveking.com/articles/testing-actions-not-mocks/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/testing-actions-not-mocks/</guid><description>Mocking your own Actions tests the wiring, not the behaviour. How I test Laravel Action classes for real with Pest, and where fakes still belong.</description><pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>testing</category></item><item><title>Meet Sevalla; Cloud Hosting Without the Headache</title><link>https://www.juststeveking.com/articles/sevalla-101/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/sevalla-101/</guid><description>Sevalla simplifies cloud hosting by providing intuitive app deployment, database hosting, and object storage. No infrastructure to manage.</description><pubDate>Thu, 28 May 2026 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>deployment</category><category>devops</category></item><item><title>Server-Side Rate Limiting in Laravel with Fingerprint.dev</title><link>https://www.juststeveking.com/articles/server-side-rate-limiting-with-laravel-and-fingerprint-dev/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/server-side-rate-limiting-with-laravel-and-fingerprint-dev/</guid><description>Learn how to build device-based rate limiting in Laravel with Fingerprint.dev, Redis caching, and custom middleware to avoid the limits of IP-based throttling.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><category>API Design</category><category>laravel</category><category>resilience</category><category>security</category><category>databases</category><category>authentication</category></item><item><title>The Reason I Love Tempest for APIs</title><link>https://www.juststeveking.com/articles/the-reason-i-love-tempest-for-apis/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/the-reason-i-love-tempest-for-apis/</guid><description>Tempest makes API development feel lightweight by combining typed request objects, attribute-based validation, discovery-driven routing, and built-in mapping with minimal ceremony.</description><pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate><category>API Design</category><category>tempest</category><category>php</category><category>data-objects</category><category>rest-api</category></item><item><title>The Art Of Keeping Business Logic Honest</title><link>https://www.juststeveking.com/articles/the-art-of-keeping-business-logic-honest/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/the-art-of-keeping-business-logic-honest/</guid><description>Use state machines and workflow engines in Laravel to keep business rules explicit, auditable, and resilient across async processes.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>laravel</category><category>workflows</category><category>domain-driven-design</category></item><item><title>From Diagram To Implementation Plan</title><link>https://www.juststeveking.com/articles/from-diagram-to-implementation-plan/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/from-diagram-to-implementation-plan/</guid><description>Turn your diagrams and design notes into a clear build order that respects dependencies.</description><pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>planning</category><category>open-source</category></item><item><title>Introduction To Systems Architecture</title><link>https://www.juststeveking.com/articles/introduction-to-systems-architecture/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/introduction-to-systems-architecture/</guid><description>Learn how to map application components, layers, and dependencies before you start building.</description><pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>distributed-systems</category><category>code-organization</category><category>planning</category></item><item><title>Reading Between the Lines</title><link>https://www.juststeveking.com/articles/reading-between-the-lines/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/reading-between-the-lines/</guid><description>Learn how to spot hidden assumptions in a brief before you turn it into code.</description><pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>requirements</category></item><item><title>Relationships, Cardinality, and the Questions Your Schema Is Asking</title><link>https://www.juststeveking.com/articles/relationships-cardinality/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/relationships-cardinality/</guid><description>Understand relationship types and cardinality so your schema reflects how your data really connects.</description><pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>databases</category></item><item><title>Shaping Before You Build</title><link>https://www.juststeveking.com/articles/shaping-before-you-build/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/shaping-before-you-build/</guid><description>Shape features before coding so scope, approach, and boundaries are clear from the start.</description><pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>planning</category></item><item><title>Stop Writing Code First</title><link>https://www.juststeveking.com/articles/stop-writing-code-first/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/stop-writing-code-first/</guid><description>Think through requirements, assumptions, and structure before you open your editor.</description><pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>requirements</category><category>planning</category></item><item><title>The Mid-Level Mindset</title><link>https://www.juststeveking.com/articles/the-mid-level-mindset/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/the-mid-level-mindset/</guid><description>A practical mindset shift for turning thinking-first habits into mid-level engineering judgment.</description><pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>career</category><category>requirements</category></item><item><title>Thinking In Layers</title><link>https://www.juststeveking.com/articles/thinking-in-layers/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/thinking-in-layers/</guid><description>Use layered thinking to place logic in the right part of your application before it turns into a mess.</description><pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>code-organization</category><category>domain-driven-design</category><category>laravel</category></item><item><title>Writing Features Not Tasks</title><link>https://www.juststeveking.com/articles/writing-features-not-tasks/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/writing-features-not-tasks/</guid><description>Turn vague tasks into user-focused features with clearer outcomes and better stories.</description><pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>requirements</category><category>planning</category></item><item><title>Your First ERD</title><link>https://www.juststeveking.com/articles/your-first-erd/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/your-first-erd/</guid><description>Map entities and relationships before you write migrations so your schema starts on solid ground.</description><pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>databases</category></item><item><title>The PSR Standards You Are Probably Ignoring</title><link>https://www.juststeveking.com/articles/the-psr-standards-you-are-probably-ignoring/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/the-psr-standards-you-are-probably-ignoring/</guid><description>Five PSR standards that most PHP developers skip. Master them and write code that works anywhere, tested easily, and tied to nothing.</description><pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>php</category><category>psr</category></item><item><title>When CRUD Isn&apos;t Enough: How Real APIs Outgrow Their Design</title><link>https://www.juststeveking.com/articles/dont-build-crud-apis/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/dont-build-crud-apis/</guid><description>Most Laravel APIs start as clean CRUD systems. This article walks through why that breaks down, and how an action-based design fixes the mess.</description><pubDate>Wed, 06 May 2026 00:00:00 GMT</pubDate><category>API Design</category><category>laravel</category><category>rest-api</category></item><item><title>Introducing Signal: documentation that lives in your code</title><link>https://www.juststeveking.com/articles/signal/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/signal/</guid><description>Signal is a PHP library that generates living documentation from native attributes. Annotate your classes, run one command, get accurate docs.</description><pubDate>Thu, 30 Apr 2026 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>php</category><category>developer-experience</category><category>object-oriented-design</category></item><item><title>Building Modern Laravel APIs: Lead Scoring and Prioritisation</title><link>https://www.juststeveking.com/articles/lead-scoring-and-prioritisation/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/lead-scoring-and-prioritisation/</guid><description>Building a configurable lead scoring engine in Laravel 13 - config-driven weights, query objects for prioritised retrieval, rescoring commands, and a top leads endpoint.</description><pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate><category>API Design</category><category>laravel</category><category>rest-api</category></item><item><title>Building Modern Laravel APIs: The Action Pattern</title><link>https://www.juststeveking.com/articles/the-action-pattern/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/the-action-pattern/</guid><description>Building a lead enrichment and scoring pipeline in Laravel 13 using the AI SDK, structured agents, composable Action classes, and PHP enums for type-safe status management.</description><pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate><category>API Design</category><category>laravel</category><category>rest-api</category></item><item><title>Building Modern Laravel APIs: Authentication with JWT</title><link>https://www.juststeveking.com/articles/authentication-with-jwt/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/authentication-with-jwt/</guid><description>Add JWT auth to a Laravel API with register, login, refresh, and logout flows using Form Request DTOs, Action classes, and auth:api middleware.</description><pubDate>Sat, 11 Apr 2026 00:00:00 GMT</pubDate><category>API Design</category><category>laravel</category><category>rest-api</category></item><item><title>Building Modern Laravel APIs: Foundations and Project Structure</title><link>https://www.juststeveking.com/articles/foundations-introducing-pulse-link/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/foundations-introducing-pulse-link/</guid><description>Start the Modern Laravel APIs series by structuring Pulse-Link for production with clear layers, ULIDs, action classes, DTO requests, and versioning.</description><pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate><category>API Design</category><category>laravel</category><category>rest-api</category></item><item><title>Building Modern Laravel APIs: Ingesting Leads</title><link>https://www.juststeveking.com/articles/ingesting-leads/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/ingesting-leads/</guid><description>Implement lead ingestion in Laravel with Form Request validation, typed DTO payloads, Action classes, and JSON:API responses for POST /v1/leads.</description><pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate><category>API Design</category><category>laravel</category><category>rest-api</category></item><item><title>Managing Expectations in the AI Era</title><link>https://www.juststeveking.com/articles/managing-expectations-in-the-ai-era/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/managing-expectations-in-the-ai-era/</guid><description>How to have honest conversations with stakeholders about AI productivity - what actually changes, what doesn&apos;t, and how to set realistic expectations.</description><pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>planning</category><category>ai</category></item><item><title>Building Modern Laravel APIs: Routing, Versioning, and API Contracts</title><link>https://www.juststeveking.com/articles/routing-versioning-and-api-contracts/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/routing-versioning-and-api-contracts/</guid><description>Learn how to version Laravel API routes, signal deprecations with Sunset headers, and keep API contracts aligned with your implementation.</description><pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate><category>API Design</category><category>laravel</category><category>rest-api</category></item><item><title>Running A Better Table</title><link>https://www.juststeveking.com/articles/running-a-betting-table/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/running-a-betting-table/</guid><description>How to run a Shape Up betting table - the planning meeting where pitches get selected and cycles begin or quietly collapse.</description><pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>planning</category><category>ai</category></item><item><title>Redefining Engineering Roles in the AI Era</title><link>https://www.juststeveking.com/articles/redefining-engineering-roles/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/redefining-engineering-roles/</guid><description>AI makes implementation cheaper and judgment more valuable. Learn how engineering roles, hiring, and team design are changing.</description><pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>planning</category><category>ai</category></item><item><title>Reviewing AI Generated Work</title><link>https://www.juststeveking.com/articles/reviewing-ai-generated-work/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/reviewing-ai-generated-work/</guid><description>How to review AI-generated code effectively, what failure modes to watch for, and how to maintain quality standards as code volume increases.</description><pubDate>Tue, 07 Apr 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>planning</category><category>ai</category></item><item><title>Spec Driven Development With LLMs</title><link>https://www.juststeveking.com/articles/spec-driven-development-with-llms/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/spec-driven-development-with-llms/</guid><description>How to write specifications that produce useful LLM output, covering interface definitions, edge cases, and why the spec is your highest-leverage artifact.</description><pubDate>Sun, 05 Apr 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>planning</category><category>ai</category></item><item><title>Shape Up: A Practical Introduction</title><link>https://www.juststeveking.com/articles/shape-up/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/shape-up/</guid><description>A practical introduction to Shape Up - the planning methodology built on appetite over estimation, fixed time with flexible scope, and small autonomous teams.</description><pubDate>Sat, 04 Apr 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>planning</category><category>ai</category></item><item><title>Writing Pitches That Work</title><link>https://www.juststeveking.com/articles/writing-pitches-that-work/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/writing-pitches-that-work/</guid><description>How to write Shape Up pitches that give engineering teams real clarity - problem definition, appetite, solution shaping, rabbit holes, and no-gos explained.</description><pubDate>Sat, 04 Apr 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>planning</category><category>ai</category></item><item><title>Why Sprints Are Broken</title><link>https://www.juststeveking.com/articles/why-sprints-are-broken/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/why-sprints-are-broken/</guid><description>Technical debt is inevitable. What matters is whether you manage it deliberately. A practical framework for prioritisation and stakeholder communication</description><pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>planning</category><category>ai</category></item><item><title>Career Growth: From Junior to Staff Engineer</title><link>https://www.juststeveking.com/articles/career-growth/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/career-growth/</guid><description>A practical guide to engineering career progression, from junior to staff, covering promotion criteria and the conversations that move careers forward.</description><pubDate>Thu, 02 Apr 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>remote-work</category><category>team-culture</category></item><item><title>Leading Through Uncertainty: Crisis Management for Tech Teams</title><link>https://www.juststeveking.com/articles/leading-through-uncertainty/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/leading-through-uncertainty/</guid><description>How engineering leaders make decisions under pressure, communicate through uncertainty, and keep teams focused when the path forward is not clear.</description><pubDate>Wed, 01 Apr 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>remote-work</category><category>team-culture</category></item><item><title>Technical Debt: When to Fix, When to Ship</title><link>https://www.juststeveking.com/articles/technical-debt/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/technical-debt/</guid><description>Technical debt is inevitable. What matters is managing it deliberately. Here is a practical framework for prioritisation and stakeholder communication.</description><pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>career</category><category>team-culture</category></item><item><title>The Engineering Manager as Coach, Not Boss</title><link>https://www.juststeveking.com/articles/manager-as-coach/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/manager-as-coach/</guid><description>How to develop your coaching skills as an engineering manager, with practical techniques for performance conversations, growth planning, and career development.</description><pubDate>Mon, 30 Mar 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>remote-work</category><category>team-culture</category></item><item><title>Strategy vs. Execution: How Leaders Set Technical Vision</title><link>https://www.juststeveking.com/articles/strategy-vs-execution/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/strategy-vs-execution/</guid><description>Why technical vision matters, how to set it, and how to maintain it over time in the face of changing circumstances and competing priorities.</description><pubDate>Sun, 29 Mar 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>remote-work</category><category>team-culture</category></item><item><title>Building Psychological Safety in Engineering</title><link>https://www.juststeveking.com/articles/psychological-safety/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/psychological-safety/</guid><description>How to create a culture where engineers feel safe to take risks, speak up, and make mistakes without fear of punishment.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>remote-work</category><category>team-culture</category></item><item><title>Scaling Engineering Teams Without Losing Velocity</title><link>https://www.juststeveking.com/articles/scaling-engineering-teams/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/scaling-engineering-teams/</guid><description>How to design org structure, hiring, and coordination to avoid the common traps that kill velocity as engineering teams scale.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>career</category><category>team-culture</category></item><item><title>Hiring Engineers: A Manager&apos;s Playbook</title><link>https://www.juststeveking.com/articles/hiring-engineers/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/hiring-engineers/</guid><description>A practical guide to hiring engineers - covering role definition, structured interviews, technical assessment, values alignment, and onboarding.</description><pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>career</category><category>team-culture</category></item><item><title>From IC to Manager: First Steps for New Engineering Leads</title><link>https://www.juststeveking.com/articles/ic-to-manager/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/ic-to-manager/</guid><description>A practical guide for engineers moving into management - covering mindset shifts, letting go of coding, time management, feedback, and building leadership skills.</description><pubDate>Wed, 25 Mar 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>career</category><category>team-culture</category></item><item><title>How to Lead a Remote Engineering Team</title><link>https://www.juststeveking.com/articles/how-to-lead-remote-engineering-teams/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/how-to-lead-remote-engineering-teams/</guid><description>A practical guide to leading remote engineering teams - covering async rhythms, documentation, trust-building, and cross-timezone collaboration.</description><pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>remote-work</category><category>team-culture</category></item><item><title>Building Real Applications with TempestPHP</title><link>https://www.juststeveking.com/articles/building-real-applications-with-tempestphp/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/building-real-applications-with-tempestphp/</guid><description>How to structure TempestPHP applications with domain-first folders, repositories, command handlers, and thin controllers that stay maintainable.</description><pubDate>Mon, 09 Mar 2026 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>php</category><category>tempest</category><category>domain-driven-design</category></item><item><title>Implementing the Saga Pattern in a Laravel Monolith</title><link>https://www.juststeveking.com/articles/implementing-the-saga-pattern-laravel/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/implementing-the-saga-pattern-laravel/</guid><description>Learn how to implement the Saga pattern in Laravel to coordinate external APIs, recover from failures, and keep data consistent.</description><pubDate>Mon, 09 Mar 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>laravel</category><category>workflows</category><category>api-integration</category></item><item><title>Building production ready APIs with kit</title><link>https://www.juststeveking.com/articles/building-production-ready-apis-with-kit/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/building-production-ready-apis-with-kit/</guid><description>A practical guide to shaping production-ready APIs using kit, from contracts and validation to observability and rollout.</description><pubDate>Fri, 27 Feb 2026 00:00:00 GMT</pubDate><category>API Design</category><category>deployment</category><category>performance</category><category>laravel</category></item><item><title>Why your Laravel controllers should be almost empty</title><link>https://www.juststeveking.com/articles/why-your-laravel-controllers-should-be-almost-empty/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/why-your-laravel-controllers-should-be-almost-empty/</guid><description>Controllers are a transport layer, not a home for business logic. How I keep Laravel controllers down to a handful of lines using Form Requests, payloads, and Action classes.</description><pubDate>Fri, 27 Feb 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>laravel</category><category>code-organization</category><category>testing</category></item><item><title>Building polished CLI tools with MiniCLI v5</title><link>https://www.juststeveking.com/articles/building-polished-cli-tools-with-minicli-v5/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/building-polished-cli-tools-with-minicli-v5/</guid><description>Transform PHP scripts into professional CLI products with MiniCLI v5&apos;s zero-dependency architecture and instant boot times.</description><pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>php</category><category>cli</category></item><item><title>How to choose the right build strategy for your application</title><link>https://www.juststeveking.com/articles/choose-right-build-strategy/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/choose-right-build-strategy/</guid><description>Compare Nixpacks, Buildpacks, and Dockerfiles on Sevalla so you can pick the right build strategy for your stack, control needs, and deployment workflow.</description><pubDate>Tue, 24 Feb 2026 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>devops</category><category>deployment</category><category>docker</category><category>sevalla</category></item><item><title>Building a Go microservice using gRPC for image metadata extraction</title><link>https://www.juststeveking.com/articles/go-grpc-microservice-image-metadata/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/go-grpc-microservice-image-metadata/</guid><description>Learn how to build a production-grade Go microservice that extracts EXIF and image metadata using gRPC, complete with S3/R2 integration.</description><pubDate>Fri, 20 Feb 2026 00:00:00 GMT</pubDate><category>API Design</category><category>go</category><category>http</category><category>distributed-systems</category><category>performance</category></item><item><title>The overlooked Git feature every Laravel developer should be using</title><link>https://www.juststeveking.com/articles/git-worktrees-laravel-developers/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/git-worktrees-laravel-developers/</guid><description>Use Git worktrees to maintain multiple isolated Laravel environments simultaneously without stashing or reinstalling dependencies.</description><pubDate>Wed, 18 Feb 2026 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>laravel</category><category>workflows</category><category>devops</category></item><item><title>The Object Design Style Guide for PHP 8.5 - Discipline without friction</title><link>https://www.juststeveking.com/articles/php-object-design-style-guide-php-8-5/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/php-object-design-style-guide-php-8-5/</guid><description>How PHP 8.5 absorbs Noback&apos;s Object Design Style Guide patterns directly into syntax, eliminating ceremony.</description><pubDate>Mon, 16 Feb 2026 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>php</category><category>object-oriented-design</category><category>code-quality</category></item><item><title>The Pattern-First Trap in PHP</title><link>https://www.juststeveking.com/articles/pattern-first-trap-php/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/pattern-first-trap-php/</guid><description>Why starting with design patterns too early can overcomplicate PHP apps, and a practical way to design from constraints instead.</description><pubDate>Sun, 15 Feb 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>php</category><category>design-patterns</category><category>code-organization</category></item><item><title>Your PHP application is not stateless</title><link>https://www.juststeveking.com/articles/php-applications-are-not-stateless/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/php-applications-are-not-stateless/</guid><description>Understanding statelessness in PHP: filesystem assumptions, session state, and building truly stateless applications with Zero Trust principles.</description><pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>php</category><category>rest-api</category><category>authentication</category><category>security</category></item><item><title>Recalibrated</title><link>https://www.juststeveking.com/articles/recalibrated/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/recalibrated/</guid><description>From clearing IEDs in Afghanistan to clearing pull requests. A raw look at navigating PTSD and finding a new mission through Linux and logic.</description><pubDate>Tue, 03 Feb 2026 00:00:00 GMT</pubDate><category>Notes</category><category>career</category><category>linux</category><category>php</category></item><item><title>Relay: Building a Fiber-Native HTTP Layer for Modern PHP</title><link>https://www.juststeveking.com/articles/relay-fiber-native-http-for-modern-php/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/relay-fiber-native-http-for-modern-php/</guid><description>Explore the design and implementation of Relay, a new HTTP transport layer for PHP 8.5+.</description><pubDate>Tue, 03 Feb 2026 00:00:00 GMT</pubDate><category>API Design</category><category>php</category><category>http</category><category>queues</category></item><item><title>Building a Claude Code skill</title><link>https://www.juststeveking.com/articles/building-claude-code-skill/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/building-claude-code-skill/</guid><description>Create portable instruction manuals for Claude to teach domain-specific approaches, with a deep dive into building a production-grade Laravel API skill.</description><pubDate>Fri, 30 Jan 2026 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>ai</category><category>agents</category><category>laravel</category><category>sevalla</category></item><item><title>Streaming responses in Laravel without WebSockets</title><link>https://www.juststeveking.com/articles/streaming-responses-laravel/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/streaming-responses-laravel/</guid><description>Learn how to implement server-sent events (SSE) in Laravel for streaming AI responses, avoiding the complexity of WebSockets.</description><pubDate>Wed, 21 Jan 2026 00:00:00 GMT</pubDate><category>API Design</category><category>laravel</category><category>ai</category><category>http</category><category>php</category><category>sevalla</category></item><item><title>Kubernetes for Laravel developers</title><link>https://www.juststeveking.com/articles/kubernetes-laravel-developers/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/kubernetes-laravel-developers/</guid><description>Learn how Laravel developers can leverage Kubernetes for scalable and efficient application deployment.</description><pubDate>Mon, 19 Jan 2026 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>devops</category><category>laravel</category><category>sevalla</category></item><item><title>Event-driven architecture with domain-driven design</title><link>https://www.juststeveking.com/articles/event-driven-architecture-ddd/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/event-driven-architecture-ddd/</guid><description>Learn how to implement event-driven architecture using domain-driven design principles to build scalable and maintainable systems.</description><pubDate>Mon, 12 Jan 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>domain-driven-design</category><category>event-driven</category><category>sevalla</category></item><item><title>Isolated local development without Docker</title><link>https://www.juststeveking.com/articles/isolated-development-without-docker/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/isolated-development-without-docker/</guid><description>Learn how to use Devbox to create isolated local development environments for Laravel projects without the overhead of Docker.</description><pubDate>Wed, 07 Jan 2026 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>devops</category><category>laravel</category><category>docker</category><category>sevalla</category></item><item><title>Automate local API testing with Bash</title><link>https://www.juststeveking.com/articles/automate-api-testing-with-bash/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/automate-api-testing-with-bash/</guid><description>This article shows how to automate a complete authentication workflow using Bash, curl, and jq.</description><pubDate>Tue, 16 Dec 2025 00:00:00 GMT</pubDate><category>API Design</category><category>testing</category><category>linux</category><category>sevalla</category></item><item><title>Building AI Powered Applications in Laravel</title><link>https://www.juststeveking.com/articles/building-ai-powered-applications-in-laravel/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/building-ai-powered-applications-in-laravel/</guid><description>This guide walks through prompt organization, structured outputs, and AI-discoverable capabilities using Prism and Laravel MCP.</description><pubDate>Fri, 12 Dec 2025 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>laravel</category><category>ai</category><category>mcp</category></item><item><title>Building A TypeScript API That Doesn&apos;t Suck</title><link>https://www.juststeveking.com/articles/building-a-typescript-api-that-doesnt-suck/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/building-a-typescript-api-that-doesnt-suck/</guid><description>Learn how to build a TypeScript SDK the right way: ditching axios for ofetch, using factory patterns, and creating production-ready code.</description><pubDate>Wed, 03 Dec 2025 00:00:00 GMT</pubDate><category>API Design</category><category>api-integration</category></item><item><title>API-First Laravel Projects</title><link>https://www.juststeveking.com/articles/api-first-laravel-projects/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/api-first-laravel-projects/</guid><description>Beginner-friendly, API-first Laravel path: 10 progressive projects covering resources, auth, search, multi-tenancy, webhooks, rate limits, and GraphQL.</description><pubDate>Tue, 18 Nov 2025 00:00:00 GMT</pubDate><category>API Design</category><category>laravel</category><category>authentication</category><category>security</category><category>eloquent</category><category>multi-tenancy</category><category>webhooks</category><category>resilience</category><category>http</category></item><item><title>Building your first MCP server with Laravel</title><link>https://www.juststeveking.com/articles/building-your-first-mcp-server-with-laravel/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/building-your-first-mcp-server-with-laravel/</guid><description>Learn how to build a Laravel MCP server for task management with tools, resources, prompts, Sanctum auth, Pest testing, and Claude integration.</description><pubDate>Thu, 09 Oct 2025 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>laravel</category><category>mcp</category><category>ai</category><category>authentication</category><category>testing</category><category>sevalla</category></item><item><title>An open, modern approach to HR &amp; PeopleOps</title><link>https://www.juststeveking.com/articles/an-open-modern-approach-to-hr-and-peopleops/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/an-open-modern-approach-to-hr-and-peopleops/</guid><description>Discover how modern companies are rethinking HR to attract, retain, and empower top developer talent.</description><pubDate>Wed, 08 Oct 2025 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>team-culture</category><category>laravel</category><category>frontend</category><category>open-source</category><category>sevalla</category></item><item><title>Building APIs that scale with Nitro, Drizzle, and unstorage</title><link>https://www.juststeveking.com/articles/building-apis-that-scale-with-nitro-drizzle-and-unstorage/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/building-apis-that-scale-with-nitro-drizzle-and-unstorage/</guid><description>Discover how Nitro, Drizzle ORM, and unstorage create a modern TypeScript API stack that&apos;s faster to build, easier to scale, and ready for edge deployments.</description><pubDate>Wed, 08 Oct 2025 00:00:00 GMT</pubDate><category>API Design</category><category>sevalla</category><category>eloquent</category><category>performance</category></item><item><title>Building modular systems in Laravel - A practical guide</title><link>https://www.juststeveking.com/articles/building-modular-systems-in-laravel-a-practical-guide/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/building-modular-systems-in-laravel-a-practical-guide/</guid><description>Learn how modular architecture transforms Laravel apps into scalable, maintainable systems.</description><pubDate>Wed, 08 Oct 2025 00:00:00 GMT</pubDate><category>Architecture</category><category>laravel</category><category>php</category><category>code-organization</category><category>distributed-systems</category><category>design-patterns</category><category>sevalla</category><category>testing</category></item><item><title>Building a production-ready Go service with Go Blueprint</title><link>https://www.juststeveking.com/articles/building-production-ready-go-service-with-go-blueprint/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/building-production-ready-go-service-with-go-blueprint/</guid><description>Learn how Go Blueprint transforms your workflow for building production-ready microservices.</description><pubDate>Wed, 08 Oct 2025 00:00:00 GMT</pubDate><category>API Design</category><category>go</category><category>distributed-systems</category><category>devops</category><category>sevalla</category><category>docker</category></item><item><title>Dockerizing Laravel queues, workers, and schedulers</title><link>https://www.juststeveking.com/articles/dockerizing-laravel-queues/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/dockerizing-laravel-queues/</guid><description>Learn to containerize Laravel queues, workers, and schedulers for production with isolation and scalability.</description><pubDate>Wed, 08 Oct 2025 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>laravel</category><category>docker</category><category>queues</category><category>devops</category><category>sevalla</category><category>distributed-systems</category></item><item><title>JSON Resume - The future of career data is here</title><link>https://www.juststeveking.com/articles/json-resume-the-future-of-career-data/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/json-resume-the-future-of-career-data/</guid><description>A hands-on guide to implementing JSON Resume with PHP, from basic concepts to advanced usage with type-safe Laravel integration.</description><pubDate>Wed, 08 Oct 2025 00:00:00 GMT</pubDate><category>Engineering Leadership</category><category>php</category><category>laravel</category><category>career</category><category>data-objects</category><category>sevalla</category></item><item><title>Modern PHP development with FrankenPHP and Docker</title><link>https://www.juststeveking.com/articles/modern-php-development-with-frankenphp-and-docker/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/modern-php-development-with-frankenphp-and-docker/</guid><description>A hands-on guide to deploying PHP applications with FrankenPHP and Docker, from simple containers to standalone binaries.</description><pubDate>Wed, 08 Oct 2025 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>php</category><category>docker</category><category>performance</category><category>devops</category><category>deployment</category><category>sevalla</category><category>http</category></item><item><title>Static site generation in PHP with Tempest</title><link>https://www.juststeveking.com/articles/static-site-generation-in-php-with-tempest/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/static-site-generation-in-php-with-tempest/</guid><description>Learn how Tempest brings static site generation to PHP, making it easy to build fast, secure, and scalable sites with familiar patterns.</description><pubDate>Wed, 08 Oct 2025 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>php</category><category>static-sites</category><category>tempest</category><category>performance</category><category>sevalla</category></item><item><title>How I Would Have Built Laravel Cloud</title><link>https://www.juststeveking.com/articles/how-i-would-have-built-laravel-cloud/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/how-i-would-have-built-laravel-cloud/</guid><description>Explore an alternative approach to Laravel Cloud architecture, balancing simplicity with flexibility.</description><pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate><category>Architecture</category><category>laravel</category><category>deployment</category><category>devops</category><category>distributed-systems</category></item><item><title>An educational look into the Tempest PHP framework</title><link>https://www.juststeveking.com/articles/an-educational-look-into-the-tempest-php-framework/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/an-educational-look-into-the-tempest-php-framework/</guid><description>Discover how Tempest, a modern PHP framework, uses code discovery and the latest PHP features to simplify app development and boost productivity.</description><pubDate>Tue, 15 Jul 2025 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>php</category><category>frameworks</category><category>tempest</category></item><item><title>Multi-tenancy Without the Hassle</title><link>https://www.juststeveking.com/articles/multi-tenancy-without-the-hassle/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/multi-tenancy-without-the-hassle/</guid><description>Learn how to build a multi-tenant application in Laravel using Sprout, avoiding the common pitfalls of manual tenant management.</description><pubDate>Tue, 01 Jul 2025 00:00:00 GMT</pubDate><category>Architecture</category><category>laravel</category><category>multi-tenancy</category></item><item><title>Building and Deploying an Astro Website - A Deep Dive</title><link>https://www.juststeveking.com/articles/building-and-deploying-an-astro-website/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/building-and-deploying-an-astro-website/</guid><description>Learn how I built my personal dashboard using Astro, integrating dynamic content and productivity features, and deployed it with Sevalla and Cloudflare.</description><pubDate>Thu, 19 Jun 2025 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>static-sites</category><category>obsidian</category><category>deployment</category></item><item><title>What are MCP Servers, and why should I care?</title><link>https://www.juststeveking.com/articles/what-are-mcp-servers-and-why-should-i-care/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/what-are-mcp-servers-and-why-should-i-care/</guid><description>Discover how Model Context Protocol servers revolutionize Laravel development with AI integration.</description><pubDate>Fri, 06 Jun 2025 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>mcp</category><category>laravel</category><category>ai</category></item><item><title>Nuxt and why you should be using it</title><link>https://www.juststeveking.com/articles/nuxt-and-why-you-should-be-using-it/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/nuxt-and-why-you-should-be-using-it/</guid><description>Discover the power of Nuxt.js for building modern web applications. Learn why you should consider using it for your next project.</description><pubDate>Thu, 05 Jun 2025 00:00:00 GMT</pubDate><category>Notes</category><category>frontend</category><category>frameworks</category></item><item><title>Sevalla on the Command Line</title><link>https://www.juststeveking.com/articles/sevalla-on-the-command-line/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/sevalla-on-the-command-line/</guid><description>Build a beautiful Go-powered CLI tool to manage your Sevalla apps directly from the terminal - no browser, just clean, fast, TUI driven control.</description><pubDate>Tue, 20 May 2025 00:00:00 GMT</pubDate><category>API Design</category><category>go</category><category>cli</category><category>api-integration</category></item><item><title>Advanced Authorization methods in Laravel</title><link>https://www.juststeveking.com/articles/advanced-authorization-methods-in-laravel/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/advanced-authorization-methods-in-laravel/</guid><description>Unravel Laravels authorization built-in Gates, Policies &amp; advanced ReBAC, ABAC, PBAC methods for secure, scalable app access control.</description><pubDate>Thu, 13 Feb 2025 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>security</category></item><item><title>Deploying Laravel on Sevalla - A No-Nonsense Guide</title><link>https://www.juststeveking.com/articles/deploying-laravel-on-sevalla/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/deploying-laravel-on-sevalla/</guid><description>Deploy your Laravel app with Sevalla using Docker &amp; FrankenPHP for seamless, zero-downtime releases. Say goodbye to server hassles and Kubernetes headaches!</description><pubDate>Mon, 10 Feb 2025 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>laravel</category><category>sevalla</category><category>docker</category><category>deployment</category></item><item><title>Diving into Notifications</title><link>https://www.juststeveking.com/articles/diving-into-notifications/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/diving-into-notifications/</guid><description>Learn to send multi-channel notifications in Laravel with email, Slack, and in-app alerts.</description><pubDate>Mon, 10 Feb 2025 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>testing</category></item><item><title>The definitive Guide to Webhooks in Laravel</title><link>https://www.juststeveking.com/articles/the-definitive-guide-to-webhooks-in-laravel/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/the-definitive-guide-to-webhooks-in-laravel/</guid><description>Master webhooks in Laravel with this definitive guide. Learn setup, security, event handling, and more to build powerful real-time integrations.</description><pubDate>Fri, 20 Dec 2024 00:00:00 GMT</pubDate><category>API Design</category><category>laravel</category><category>webhooks</category><category>api-integration</category><category>security</category></item><item><title>API Experience</title><link>https://www.juststeveking.com/articles/api-experience/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/api-experience/</guid><description>Discover how API Experience affects adoption and why you should prioritize it for your APIs.</description><pubDate>Fri, 05 Jul 2024 00:00:00 GMT</pubDate><category>API Design</category><category>developer-experience</category></item><item><title>API Ops</title><link>https://www.juststeveking.com/articles/api-ops/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/api-ops/</guid><description>Discover how API Ops revolutionizes API development, deployment, and management, fostering efficiency, collaboration, and excellence in the digital world.</description><pubDate>Wed, 03 Apr 2024 00:00:00 GMT</pubDate><category>API Design</category><category>devops</category></item><item><title>Building a Homelab Dashboard with Laravel and Livewire</title><link>https://www.juststeveking.com/articles/homelab-dashboard/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/homelab-dashboard/</guid><description>Follow my journey as I build a powerful homelab dashboard using Laravel and Livewire, automating and monitoring my setup along the way.</description><pubDate>Thu, 01 Feb 2024 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>frontend</category><category>linux</category><category>deployment</category></item><item><title>API Versioning in Laravel - All you need to know</title><link>https://www.juststeveking.com/articles/api-versioning-in-laravel/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/api-versioning-in-laravel/</guid><description>All you need to know about API Versioning. What is it, what types of versioning exist, how are they used and why you might need it?</description><pubDate>Sat, 25 Nov 2023 00:00:00 GMT</pubDate><category>API Design</category><category>laravel</category><category>rest-api</category></item><item><title>What are the different parts of a URL?</title><link>https://www.juststeveking.com/articles/what-are-the-different-parts-of-a-url/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/what-are-the-different-parts-of-a-url/</guid><description>We all use URLs in our day-to-day lives, whether we are technical or not. But what are the different parts of a URL? Read on the learn more.</description><pubDate>Mon, 20 Nov 2023 00:00:00 GMT</pubDate><category>API Design</category><category>rest-api</category><category>http</category><category>frontend</category></item><item><title>Making APIs the Right Way</title><link>https://www.juststeveking.com/articles/making-apis-the-right-way/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/making-apis-the-right-way/</guid><description>Discover why API Platform is a game-changer for building APIs in PHP and Symfony, challenging common misconceptions.</description><pubDate>Mon, 30 Oct 2023 00:00:00 GMT</pubDate><category>API Design</category><category>php</category><category>frameworks</category></item><item><title>Modelling Business Processes in Laravel</title><link>https://www.juststeveking.com/articles/modelling-business-processes-in-laravel/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/modelling-business-processes-in-laravel/</guid><description>Simplify complex business processes in Laravel using pipelines for clean and elegant code.</description><pubDate>Fri, 24 Mar 2023 00:00:00 GMT</pubDate><category>Architecture</category><category>laravel</category><category>design-patterns</category><category>workflows</category><category>code-organization</category></item><item><title>Passwordless Authentication in Laravel</title><link>https://www.juststeveking.com/articles/passwordless-authentication-in-laravel/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/passwordless-authentication-in-laravel/</guid><description>Learn how to implement secure passwordless authentication in Laravel using magic links for user access. Follow this tutorial for a step-by-step guide.</description><pubDate>Tue, 21 Mar 2023 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>authentication</category><category>security</category></item><item><title>Laravel Response Classes</title><link>https://www.juststeveking.com/articles/laravel-response-classes/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/laravel-response-classes/</guid><description>Laravel Response Classes; Simplify API responses, maintain code quality with custom response classes.</description><pubDate>Tue, 14 Mar 2023 00:00:00 GMT</pubDate><category>API Design</category><category>laravel</category><category>rest-api</category><category>code-organization</category></item><item><title>Laravel CI with GitHub Actions</title><link>https://www.juststeveking.com/articles/laravel-ci-with-github-actions/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/laravel-ci-with-github-actions/</guid><description>Automate Laravel CI with GitHub Actions - Learn testing, PHPStan static analysis setup in this tutorial.</description><pubDate>Thu, 23 Feb 2023 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>laravel</category><category>devops</category><category>code-quality</category></item><item><title>Managing Routes in a large Laravel Application</title><link>https://www.juststeveking.com/articles/managing-routes/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/managing-routes/</guid><description>Learn strategies like Route Service Provider, File Requires, and Route Groups for managing routes in a large Laravel application.</description><pubDate>Fri, 17 Feb 2023 00:00:00 GMT</pubDate><category>Architecture</category><category>laravel</category><category>rest-api</category><category>code-organization</category><category>distributed-systems</category></item><item><title>Getting started with PHPInsights</title><link>https://www.juststeveking.com/articles/getting-started-with-phpinsights/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/getting-started-with-phpinsights/</guid><description>Use PHPInsights to enhance PHP code in Laravel and others - A guide to optimal code style and architecture.</description><pubDate>Thu, 16 Feb 2023 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>code-quality</category><category>php</category></item><item><title>Laravel Pennant</title><link>https://www.juststeveking.com/articles/laravel-pennant/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/laravel-pennant/</guid><description>Laravel Pennant in Laravel 10; Manage Feature Flags easily. Perfect for A/B testing, incremental rollouts, and more.</description><pubDate>Fri, 10 Feb 2023 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>feature-flags</category></item><item><title>Testing JSON:API Endpoints with PestPHP</title><link>https://www.juststeveking.com/articles/testing-json-api-endpoints-with-pestphp/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/testing-json-api-endpoints-with-pestphp/</guid><description>Efficient JSON:API Endpoint Testing with pestPHP - Learn how to effectively test JSON:API endpoints in Laravel using pestPHP.</description><pubDate>Fri, 10 Feb 2023 00:00:00 GMT</pubDate><category>API Design</category><category>testing</category><category>rest-api</category><category>laravel</category></item><item><title>Building APIs in Laravel</title><link>https://www.juststeveking.com/articles/building-apis-in-laravel/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/building-apis-in-laravel/</guid><description>Explore effective API design in Laravel; Learn to focus on integration, eliminate pain points, and create user-centered, scalable APIs with practical examples.</description><pubDate>Tue, 31 Jan 2023 00:00:00 GMT</pubDate><category>API Design</category><category>laravel</category><category>rest-api</category></item><item><title>Reducing code duplication</title><link>https://www.juststeveking.com/articles/reducing-code-duplication/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/reducing-code-duplication/</guid><description>Learn to reduce code duplication in Laravel using artisan commands and services for better code quality.</description><pubDate>Thu, 26 Jan 2023 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>code-organization</category><category>refactoring</category><category>design-patterns</category></item><item><title>Learn all about Laravel&apos;s dependency injection container</title><link>https://www.juststeveking.com/articles/leaning-on-the-container/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/leaning-on-the-container/</guid><description>Learn how Laravel&apos;s dependency injection container simplifies code organization and optimization for efficient Laravel applications</description><pubDate>Fri, 20 Jan 2023 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>object-oriented-design</category><category>code-organization</category></item><item><title>Configuring Laravel Pint</title><link>https://www.juststeveking.com/articles/configuring-laravel-pint/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/configuring-laravel-pint/</guid><description>Discover how to tailor Laravel Pint, a PHP CS Fixer wrapper, to your coding standards with a personal guide on rule implementation and customization.</description><pubDate>Thu, 12 Jan 2023 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>php</category><category>code-quality</category></item><item><title>Using OpenAI in Laravel</title><link>https://www.juststeveking.com/articles/using-open-ai-in-laravel/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/using-open-ai-in-laravel/</guid><description>Discover how to harness the potential of OpenAI in Laravel for AI-driven applications, from natural language processing to text generation.</description><pubDate>Fri, 06 Jan 2023 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>laravel</category><category>ai</category></item><item><title>Effective Eloquent</title><link>https://www.juststeveking.com/articles/effective-eloquent/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/effective-eloquent/</guid><description>Explore advanced Eloquent querying in Laravel with a focus on efficient ORM usage for a banking app, including user accounts and transactions management.</description><pubDate>Tue, 20 Dec 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>eloquent</category><category>design-patterns</category></item><item><title>Steve vs Matt - How two developers approach the same problem</title><link>https://www.juststeveking.com/articles/two-developers-approach-the-same-problem/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/two-developers-approach-the-same-problem/</guid><description>Steve vs Matt; Two Developers, One Problem - Witness two programmers tackle the same challenge with contrasting approaches</description><pubDate>Thu, 15 Dec 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>php</category><category>object-oriented-design</category><category>code-organization</category></item><item><title>Eloquent API Calls</title><link>https://www.juststeveking.com/articles/eloquent-api-calls/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/eloquent-api-calls/</guid><description>Discover advanced techniques for API integration in Laravel, focusing on configuring GitHub API calls, utilizing Enums, and creating efficient client resources.</description><pubDate>Fri, 09 Dec 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>api-integration</category><category>object-oriented-design</category></item><item><title>Creating a Password Generator</title><link>https://www.juststeveking.com/articles/creating-a-password-generator/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/creating-a-password-generator/</guid><description>Explore creating a memorable yet secure password generator with Laravel, focusing on framework-agnostic implementation and customization options.</description><pubDate>Fri, 25 Nov 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>php</category><category>authentication</category><category>laravel</category></item><item><title>Fun with Refactoring</title><link>https://www.juststeveking.com/articles/fun-with-refactoring/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/fun-with-refactoring/</guid><description>Master the art of Laravel refactoring with Laravel Shift Blueprint, optimizing code for improved performance and management in a real-world Laravel project.</description><pubDate>Thu, 24 Nov 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>refactoring</category><category>php</category><category>code-quality</category></item><item><title>Your first Laravel 9 Application</title><link>https://www.juststeveking.com/articles/your-first-laravel-9-application/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/your-first-laravel-9-application/</guid><description>If you have never built a Laravel application, let me take a walk-through with you from scratch - with no perceived knowledge. Follow along to learn Laravel.</description><pubDate>Tue, 22 Nov 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category></item><item><title>Valid validators validating data</title><link>https://www.juststeveking.com/articles/validation/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/validation/</guid><description>Explore Laravel data validation methods, from form requests to centralizing rules with validators and Eloquent Models for cleaner, efficient code.</description><pubDate>Thu, 17 Nov 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>data-objects</category><category>code-organization</category></item><item><title>Composition over inheritance in final classes</title><link>https://www.juststeveking.com/articles/composition-over-inheritance-in-final-classes/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/composition-over-inheritance-in-final-classes/</guid><description>Learn how to integrate final PHP classes using composition over inheritance in your apps.</description><pubDate>Thu, 10 Nov 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>php</category><category>object-oriented-design</category></item><item><title>Reaching for Facades</title><link>https://www.juststeveking.com/articles/facade/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/facade/</guid><description>Demystify Laravel Facades and harness them for clear, efficient code and Laravel&apos;s unique features.</description><pubDate>Fri, 04 Nov 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>design-patterns</category><category>php</category></item><item><title>Modern PHP features explained - PHP 8.0 and 8.1</title><link>https://www.juststeveking.com/articles/modern-php-features-explained/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/modern-php-features-explained/</guid><description>Explore PHP 8.0 and 8.1 features including constructor promotion, union types, and match expressions.</description><pubDate>Thu, 27 Oct 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>php</category></item><item><title>Automating your OpenAPI Documentation</title><link>https://www.juststeveking.com/articles/automating-your-openapi-documentation/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/automating-your-openapi-documentation/</guid><description>Learn to automate API documentation in Laravel with a design-first approach using OpenAPI, Scribe, and efficient pagination in this practical tutorial.</description><pubDate>Fri, 21 Oct 2022 00:00:00 GMT</pubDate><category>API Design</category><category>laravel</category><category>openapi</category><category>devops</category></item><item><title>Learn how to upload files in Laravel like a Pro</title><link>https://www.juststeveking.com/articles/uploading-files-laravel/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/uploading-files-laravel/</guid><description>Learn expert Laravel file uploads; validate, store, and optimize with UploadService and Livewire integration.</description><pubDate>Mon, 17 Oct 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>frontend</category></item><item><title>Building a slide-over panel component with Livewire</title><link>https://www.juststeveking.com/articles/building-a-slide-over-panel-component-with-livewire/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/building-a-slide-over-panel-component-with-livewire/</guid><description>Learn to build a versatile slide-over component in Laravel Livewire for TALL Stack applications, enhancing UI with a simple, reusable solution.</description><pubDate>Thu, 06 Oct 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>frontend</category></item><item><title>Writing to the Database with Eloquent</title><link>https://www.juststeveking.com/articles/writing-to-the-database-with-eloquent/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/writing-to-the-database-with-eloquent/</guid><description>Learn methods of writing to the database using Laravel&apos;s Eloquent ORM for effective database interactions.</description><pubDate>Thu, 29 Sep 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>eloquent</category><category>databases</category><category>design-patterns</category></item><item><title>Simple one-time password authentication in Laravel</title><link>https://www.juststeveking.com/articles/simple-one-time-password-authentication-in-laravel/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/simple-one-time-password-authentication-in-laravel/</guid><description>Learn how to implement one-time password authentication in Laravel. Secure and streamlined user authentication.</description><pubDate>Fri, 23 Sep 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>authentication</category><category>security</category></item><item><title>Setting up your Data Model in Laravel</title><link>https://www.juststeveking.com/articles/setting-up-your-data-model-in-laravel/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/setting-up-your-data-model-in-laravel/</guid><description>Master the art of Laravel data modeling and build a meeting room booking system with this comprehensive tutorial.</description><pubDate>Tue, 20 Sep 2022 00:00:00 GMT</pubDate><category>Architecture</category><category>laravel</category><category>databases</category><category>eloquent</category></item><item><title>Behavioural Driven Development in Laravel</title><link>https://www.juststeveking.com/articles/behavioral-driven-development/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/behavioral-driven-development/</guid><description>Discover how Laravel can embrace BDD with the &apos;Given When Then&apos; approach, uniting teams and creating a ubiquitous testing language without new syntax.</description><pubDate>Tue, 06 Sep 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>testing</category></item><item><title>From idea, to blog, to live without leaving your IDE</title><link>https://www.juststeveking.com/articles/from-idea-to-blog-to-live-without-leaving-your-ide/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/from-idea-to-blog-to-live-without-leaving-your-ide/</guid><description>Build a live blog with Statamic in Laravel and deploy to Digital Ocean from your IDE.</description><pubDate>Fri, 02 Sep 2022 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>static-sites</category><category>laravel</category><category>deployment</category><category>devops</category></item><item><title>Working with OS Process in PHP</title><link>https://www.juststeveking.com/articles/working-with-os-process-in-php/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/working-with-os-process-in-php/</guid><description>Learn how to manage and interact with OS processes in PHP for advanced scripting and automation.</description><pubDate>Tue, 30 Aug 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>php</category><category>linux</category><category>cli</category><category>developer-experience</category></item><item><title>Working with Laravel Model Events</title><link>https://www.juststeveking.com/articles/working-with-laravel-model-events/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/working-with-laravel-model-events/</guid><description>Learn how to work with Laravel Model Events and explore different approaches to handle them efficiently. Discover pros and cons of each method.</description><pubDate>Thu, 25 Aug 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>eloquent</category><category>event-driven</category></item><item><title>Event Sourcing in Laravel</title><link>https://www.juststeveking.com/articles/event-sourcing-in-laravel/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/event-sourcing-in-laravel/</guid><description>Master Event Sourcing in Laravel with this comprehensive guide, perfect for enhancing PHP projects with advanced data tracking and state management techniques.</description><pubDate>Fri, 12 Aug 2022 00:00:00 GMT</pubDate><category>Architecture</category><category>laravel</category><category>event-driven</category><category>php</category><category>domain-driven-design</category></item><item><title>Zero Hassle CLI Application with Laravel Zero</title><link>https://www.juststeveking.com/articles/zero-hassle-cli-application-with-laravel-zero/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/zero-hassle-cli-application-with-laravel-zero/</guid><description>How can I put this? CLI apps are cool. The ability to open a terminal anywhere and just run a command to do a job that might have taken you much longer.</description><pubDate>Fri, 12 Aug 2022 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>laravel</category><category>cli</category><category>php</category><category>api-integration</category></item><item><title>How I develop applications with Laravel</title><link>https://www.juststeveking.com/articles/how-i-develop-applications-with-laravel/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/how-i-develop-applications-with-laravel/</guid><description>Learn a unique Laravel development workflow building a to-do API with step-by-step guidance and systematic approach.</description><pubDate>Thu, 11 Aug 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>domain-driven-design</category></item><item><title>JSON API Resources in Laravel</title><link>https://www.juststeveking.com/articles/json-api-resources-in-laravel/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/json-api-resources-in-laravel/</guid><description>Master JSON API Resources in Laravel. Learn to create consistent, compliant API responses with Tim MacDonald&apos;s package.</description><pubDate>Tue, 09 Aug 2022 00:00:00 GMT</pubDate><category>API Design</category><category>laravel</category><category>rest-api</category></item><item><title>Building your own Laravel Packages</title><link>https://www.juststeveking.com/articles/building-your-own-laravel-packages/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/building-your-own-laravel-packages/</guid><description>Master building Laravel packages with step-by-step guidance on design, commands, DTOs, and testing.</description><pubDate>Fri, 05 Aug 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>open-source</category><category>php</category><category>data-objects</category></item><item><title>Using Laravel Model Factories in your tests</title><link>https://www.juststeveking.com/articles/laravel-model-factories/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/laravel-model-factories/</guid><description>Master the use of Laravel Model Factories for predictable test data. Learn how to define and modify states for various scenarios in your app.</description><pubDate>Thu, 28 Jul 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>eloquent</category><category>testing</category><category>databases</category></item><item><title>Working with Data in your API Integrations</title><link>https://www.juststeveking.com/articles/working-with-data-in-api-integrations/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/working-with-data-in-api-integrations/</guid><description>Enhance your API experience with contextual data objects. Learn how to build clean and developer-friendly integrations with third-party APIs using PHP.</description><pubDate>Wed, 20 Jul 2022 00:00:00 GMT</pubDate><category>API Design</category><category>api-integration</category><category>php</category><category>data-objects</category></item><item><title>Using Route Registrars in your Laravel application</title><link>https://www.juststeveking.com/articles/using-route-registrars-in-your-laravel-application/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/using-route-registrars-in-your-laravel-application/</guid><description>Enhance Laravel route management with Route Registrars. Simplify route registration and organization for cleaner and more efficient code.</description><pubDate>Tue, 19 Jul 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>rest-api</category><category>code-organization</category><category>design-patterns</category></item><item><title>Building your website using Jigsaw</title><link>https://www.juststeveking.com/articles/building-your-website-using-jigsaw/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/building-your-website-using-jigsaw/</guid><description>Learn to build a markdown-based personal website with Jigsaw, Laravel&apos;s static site generator.</description><pubDate>Tue, 12 Jul 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>static-sites</category><category>laravel</category><category>obsidian</category></item><item><title>The State of Laravel Survey 2022</title><link>https://www.juststeveking.com/articles/state-of-laravel-survey-2022/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/state-of-laravel-survey-2022/</guid><description>Laravel&apos;s 10th Anniversary; Insights from the State of Laravel Survey 2022 - Community trends, experience levels, PHP versions, code editors, and more.</description><pubDate>Mon, 04 Jul 2022 00:00:00 GMT</pubDate><category>Notes</category><category>laravel</category><category>open-source</category><category>developer-experience</category><category>php</category></item><item><title>Eloquent Attribute Casting</title><link>https://www.juststeveking.com/articles/eloquent-attribute-casting/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/eloquent-attribute-casting/</guid><description>Learn Eloquent Castable attributes in Laravel with practical examples for enhanced applications.</description><pubDate>Mon, 27 Jun 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>eloquent</category><category>data-objects</category></item><item><title>Laravel Pint</title><link>https://www.juststeveking.com/articles/laravel-pint/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/laravel-pint/</guid><description>Laravel Pint; CLI Tool for PHP Code Styling. Zero dependencies, PSR-12 compliance, effortless operation.</description><pubDate>Wed, 22 Jun 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>php</category><category>code-quality</category><category>psr</category></item><item><title>Getting started with Laravel Scout and Meilisearch</title><link>https://www.juststeveking.com/articles/getting-started-laravel-scout-meilisearch/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/getting-started-laravel-scout-meilisearch/</guid><description>Boost your Laravel app&apos;s search with Scout and Meilisearch for powerful, efficient capabilities.</description><pubDate>Tue, 21 Jun 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category></item><item><title>Logging external HTTP Requests with Laravel Telescope</title><link>https://www.juststeveking.com/articles/logging-external-http-requests-with-laravel-telescope/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/logging-external-http-requests-with-laravel-telescope/</guid><description>Track and debug third-party API requests with Laravel Telescope for improved visibility in your Laravel application.</description><pubDate>Tue, 21 Jun 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>performance</category><category>api-integration</category></item><item><title>Running PHPStan on max with Laravel</title><link>https://www.juststeveking.com/articles/running-phpstan-on-max-with-laravel/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/running-phpstan-on-max-with-laravel/</guid><description>Discover how to enhance your Laravel project with static analysis using Larastan. Add confidence and type safety to your code.</description><pubDate>Mon, 20 Jun 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>code-quality</category><category>data-objects</category></item><item><title>API Integrations using Saloon in Laravel</title><link>https://www.juststeveking.com/articles/api-integrations-using-saloon-in-laravel/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/api-integrations-using-saloon-in-laravel/</guid><description>Discover easy API integration in Laravel with Saloon; a tutorial on creating a GitHub API connection to manage workflows from the command line.</description><pubDate>Tue, 14 Jun 2022 00:00:00 GMT</pubDate><category>API Design</category><category>laravel</category><category>api-integration</category></item><item><title>Laravel subdomains in Docker</title><link>https://www.juststeveking.com/articles/laravel-subdomains-in-docker/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/laravel-subdomains-in-docker/</guid><description>Learn how to set up subdomain support for your Laravel app using Docker. Configure Nginx, Redis, MySQL, and Traefik for seamless subdomain management.</description><pubDate>Tue, 07 Jun 2022 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>laravel</category><category>docker</category><category>multi-tenancy</category><category>devops</category></item><item><title>Sauber PHP</title><link>https://www.juststeveking.com/articles/sauber-php/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/sauber-php/</guid><description>Explore Sauber PHP, a clean micro-framework with routing, dependency injection, and custom Command Bus.</description><pubDate>Mon, 30 May 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>php</category><category>frameworks</category><category>psr</category></item><item><title>Building a CLI application in 2022</title><link>https://www.juststeveking.com/articles/building-a-cli-application-in-2022/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/building-a-cli-application-in-2022/</guid><description>Explore the best options for building CLI apps in 2022, including Laravel Zero, Symfony Console, and more, suitable for both PHP and Rust developers.</description><pubDate>Fri, 27 May 2022 00:00:00 GMT</pubDate><category>Shipping &amp; Tooling</category><category>cli</category><category>php</category></item><item><title>Laravel Command Bus</title><link>https://www.juststeveking.com/articles/laravel-command-bus/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/laravel-command-bus/</guid><description>Implement Command Bus in Laravel for efficient code management. Learn to create command handlers and integrate them seamlessly into your projects.</description><pubDate>Fri, 13 May 2022 00:00:00 GMT</pubDate><category>Architecture</category><category>laravel</category><category>design-patterns</category></item><item><title>Adapter Pattern</title><link>https://www.juststeveking.com/articles/adapter-pattern/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/adapter-pattern/</guid><description>Explore the adapter design pattern in coding through a practical example of building a versatile social poster class, adaptable for different social networks.</description><pubDate>Thu, 12 May 2022 00:00:00 GMT</pubDate><category>Architecture</category><category>design-patterns</category><category>php</category><category>object-oriented-design</category></item><item><title>Testing API responses in PestPHP</title><link>https://www.juststeveking.com/articles/testing-api-responses-in-pest-php/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/testing-api-responses-in-pest-php/</guid><description>Efficient API Response Testing in Laravel with pestPHP - Learn to test Laravel API responses effectively using pestPHP and fixtures.</description><pubDate>Wed, 11 May 2022 00:00:00 GMT</pubDate><category>API Design</category><category>testing</category><category>laravel</category></item><item><title>Tappable Query Scopes in Laravel</title><link>https://www.juststeveking.com/articles/tappable-query-scopes-in-laravel/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/tappable-query-scopes-in-laravel/</guid><description>Enhance Laravel Query Scopes with Tappable Query Scopes - Learn about tappable query scopes in Laravel, a clean way to apply multiple scopes.</description><pubDate>Fri, 06 May 2022 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>eloquent</category></item><item><title>Routing within our Domain</title><link>https://www.juststeveking.com/articles/routing-within-our-domain/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/routing-within-our-domain/</guid><description>Learn how to manage routes in Laravel DDD by creating domain-specific route files and using service providers for cleaner and more organized code.</description><pubDate>Wed, 04 May 2022 00:00:00 GMT</pubDate><category>Architecture</category><category>laravel</category><category>domain-driven-design</category><category>rest-api</category></item><item><title>Getting started with DDD in Laravel</title><link>https://www.juststeveking.com/articles/getting-started-with-ddd-in-laravel/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/getting-started-with-ddd-in-laravel/</guid><description>Master Laravel DDD with ease; Learn how to enhance your Laravel applications by implementing Domain Driven Design for improved structure and maintainability.</description><pubDate>Tue, 03 May 2022 00:00:00 GMT</pubDate><category>Architecture</category><category>laravel</category><category>domain-driven-design</category><category>code-organization</category><category>php</category></item><item><title>Querying Records in our Domain</title><link>https://www.juststeveking.com/articles/querying-records-in-our-domain/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/querying-records-in-our-domain/</guid><description>Learn how to leverage Laravel DDD for efficient record queries. Simplify read actions in your application.</description><pubDate>Tue, 03 May 2022 00:00:00 GMT</pubDate><category>Architecture</category><category>laravel</category><category>domain-driven-design</category><category>event-driven</category><category>eloquent</category></item><item><title>Starting our Domain Code; Data Objects and Factories</title><link>https://www.juststeveking.com/articles/starting-our-domain-code-with-data-objects-and-factories/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/starting-our-domain-code-with-data-objects-and-factories/</guid><description>Enhance code consistency and safety in Domain-Driven Design with Laravel DDD. Learn about Data Objects &amp; Factories.</description><pubDate>Tue, 03 May 2022 00:00:00 GMT</pubDate><category>Architecture</category><category>laravel</category><category>domain-driven-design</category><category>data-objects</category><category>design-patterns</category></item><item><title>Using Data Objects; Domain Commands</title><link>https://www.juststeveking.com/articles/using-data-objects-in-domain-commands/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/using-data-objects-in-domain-commands/</guid><description>Laravel DDD; Use Data Objects and Domain Commands to escape &apos;array hell&apos; and perform clean write operations in your application.</description><pubDate>Tue, 03 May 2022 00:00:00 GMT</pubDate><category>Architecture</category><category>laravel</category><category>domain-driven-design</category><category>data-objects</category><category>design-patterns</category></item><item><title>Quick Look into Laravel Feature Flags</title><link>https://www.juststeveking.com/articles/quick-look-into-laravel-feature-flags/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/quick-look-into-laravel-feature-flags/</guid><description>Discover Laravel Feature Flags, a powerful package for feature flag management in Laravel applications. Control feature access with ease.</description><pubDate>Tue, 28 Sep 2021 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>laravel</category><category>feature-flags</category><category>security</category></item><item><title>Introducing - Laravel Transporter</title><link>https://www.juststeveking.com/articles/introducing-laravel-transporter/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/introducing-laravel-transporter/</guid><description>Streamline API requests with Laravel Transporter using a powerful OOP approach with class-based configuration.</description><pubDate>Tue, 08 Jun 2021 00:00:00 GMT</pubDate><category>API Design</category><category>laravel</category><category>api-integration</category><category>php</category></item><item><title>Working with third party services in Laravel</title><link>https://www.juststeveking.com/articles/working-with-third-party-services-in-laravel/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/working-with-third-party-services-in-laravel/</guid><description>Learn how to work with 3rd party services in Laravel, focusing on connecting to the PingPing API. Improve your Laravel skills today!</description><pubDate>Fri, 30 Apr 2021 00:00:00 GMT</pubDate><category>API Design</category><category>laravel</category><category>api-integration</category><category>design-patterns</category></item><item><title>Adventures in PHP - PHP SDK Builder</title><link>https://www.juststeveking.com/articles/adventures-in-php-php-sdk-builder/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/adventures-in-php-php-sdk-builder/</guid><description>Learn how to build efficient, interoperable PHP SDKs using Laravel Forge and PSR-18 standards.</description><pubDate>Mon, 26 Oct 2020 00:00:00 GMT</pubDate><category>API Design</category><category>php</category><category>api-integration</category><category>psr</category></item><item><title>Adventures in PHP - PHP URI Builder</title><link>https://www.juststeveking.com/articles/adventures-in-php-php-uri-builder/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/adventures-in-php-php-uri-builder/</guid><description>Introducing &apos;uri-builder&apos;, a PHP package with a fluent interface for easy URI string creation, simplifying API calls and URL manipulation.</description><pubDate>Tue, 13 Oct 2020 00:00:00 GMT</pubDate><category>API Design</category><category>php</category><category>rest-api</category><category>open-source</category><category>api-integration</category></item><item><title>PHP Online - The Story So Far</title><link>https://www.juststeveking.com/articles/phponline-the-story-so-far/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/phponline-the-story-so-far/</guid><description>Discover the journey of PHP Online, a community hub for PHP enthusiasts. Join us in shaping the future of PHP.</description><pubDate>Wed, 07 Oct 2020 00:00:00 GMT</pubDate><category>Notes</category><category>php</category><category>open-source</category></item><item><title>Building a REST API in GoLang</title><link>https://www.juststeveking.com/articles/building-a-rest-api-in-golang/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/building-a-rest-api-in-golang/</guid><description>Discover the process of building a REST API in GoLang, from setting up Docker containers to structuring and scaling your application effectively.</description><pubDate>Fri, 24 Jul 2020 00:00:00 GMT</pubDate><category>API Design</category><category>go</category><category>rest-api</category><category>docker</category></item><item><title>My First Go Module - go api problem</title><link>https://www.juststeveking.com/articles/my-first-go-module-go-api-problem/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/my-first-go-module-go-api-problem/</guid><description>Explore the journey of building the first Go Module for error handling in APIs. Simplify error handling in GoLang with this module.</description><pubDate>Thu, 09 Jul 2020 00:00:00 GMT</pubDate><category>API Design</category><category>go</category><category>rest-api</category></item><item><title>Embracing The Tall Stack with Event Sourcing, an adventure into the unknown</title><link>https://www.juststeveking.com/articles/embracing-the-tall-stack-with-event-sourcing-an-adventure-into-the-unknown/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/embracing-the-tall-stack-with-event-sourcing-an-adventure-into-the-unknown/</guid><description>Dive into blending Laravel&apos;s TALL stack with event sourcing, learning to create efficient and reactive PHP applications with modern web development techniques.</description><pubDate>Thu, 04 Jun 2020 00:00:00 GMT</pubDate><category>Architecture</category><category>frontend</category><category>event-driven</category><category>laravel</category><category>php</category></item><item><title>Embracing PSRs to build an interoperable HTTP Client</title><link>https://www.juststeveking.com/articles/embracing-psrs-to-build-an-interoperable-http-client/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/embracing-psrs-to-build-an-interoperable-http-client/</guid><description>Learn to build a PSR-18 compliant HTTP client in PHP, enhancing web development through interoperability and efficient request handling.</description><pubDate>Fri, 29 May 2020 00:00:00 GMT</pubDate><category>API Design</category><category>php</category><category>psr</category><category>api-integration</category></item><item><title>An adventure with Graph Databases</title><link>https://www.juststeveking.com/articles/an-adventure-with-graph-databases/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/an-adventure-with-graph-databases/</guid><description>Explore open-source PHP packages for Neo4j graph database, offering fresh solutions to outdated or abandoned integrations.</description><pubDate>Thu, 28 May 2020 00:00:00 GMT</pubDate><category>Architecture</category><category>databases</category><category>php</category><category>open-source</category></item><item><title>ParameterBag - My latest open source package</title><link>https://www.juststeveking.com/articles/parameterbag-my-latest-open-source-package/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/parameterbag-my-latest-open-source-package/</guid><description>Discover ParameterBag, a PHP package that simplifies data handling by replacing arrays on objects, making code cleaner and more efficient.</description><pubDate>Sat, 23 May 2020 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>php</category><category>open-source</category></item><item><title>Slim PHP 4 - A lightweight breath of fresh air</title><link>https://www.juststeveking.com/articles/slim4-a-lightweight-breath-of-fresh-air/</link><guid isPermaLink="true">https://www.juststeveking.com/articles/slim4-a-lightweight-breath-of-fresh-air/</guid><description>Discover the power of Slim4, a lightweight PHP framework offering control and customization. Ideal for flexible application architecture.</description><pubDate>Sat, 23 May 2020 00:00:00 GMT</pubDate><category>PHP &amp; Laravel</category><category>frameworks</category><category>domain-driven-design</category></item></channel></rss>