Non-Developers Built laracon.us/photos with Claude &amp; Laravel | Mohamed Said        [  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MH.png)   Mohamed Said Laravel Backend Engineer  ](https://msaied.com) [ Home ](https://msaied.com) [ Projects ](https://msaied.com/projects) [ Articles  ](https://msaied.com/articles) [ Certificates ](https://msaied.com/certificates) [ Contact ](https://msaied.com#contact-section) 

       [  ](https://github.com/EG-Mohamed)       

 [ Home ](https://msaied.com) [ Projects ](https://msaied.com/projects) [ Articles ](https://msaied.com/articles) [ Certificates ](https://msaied.com/certificates) [ Contact ](https://msaied.com#contact-section) 

  [ home ](https://msaied.com)    [ articles ](https://msaied.com/articles)    How Two Non-Developers Built laracon.us/photos with Claude, Laravel, and Laravel Cloud        On this page       1. [  The Problem: Hundreds of Photos, No Good Way to Share Them ](#the-problem-hundreds-of-photos-no-good-way-to-share-them)
2. [  Defining Scope Before Writing (or Generating) a Single Line ](#defining-scope-before-writing-or-generating-a-single-line)
3. [  Why Laravel Made the Difference ](#why-laravel-made-the-difference)
4. [  The Two-Screen Workflow ](#the-two-screen-workflow)
5. [  Debugging in Production: The Real Work ](#debugging-in-production-the-real-work)
6. [  Key Takeaways ](#key-takeaways)
7. [  The Result ](#the-result)

  ![How Two Non-Developers Built laracon.us/photos with Claude, Laravel, and Laravel Cloud](https://cdn.msaied.com/561/aa231bfcc6b487d352abf7be487875d3.png)

 [  Laravel ](https://msaied.com/articles?category=laravel) [  AI ](https://msaied.com/articles?category=ai)  #Laravel Cloud   #Claude AI   #AI-assisted development   #Laravel   #non-developer builders   #Laracon  

 How Two Non-Developers Built laracon.us/photos with Claude, Laravel, and Laravel Cloud 
========================================================================================

     17 Aug 2026      4 min read    ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MJ.jpg)  Mohamed Said  

       Table of contents

1. [  01   The Problem: Hundreds of Photos, No Good Way to Share Them  ](#the-problem-hundreds-of-photos-no-good-way-to-share-them)
2. [  02   Defining Scope Before Writing (or Generating) a Single Line  ](#defining-scope-before-writing-or-generating-a-single-line)
3. [  03   Why Laravel Made the Difference  ](#why-laravel-made-the-difference)
4. [  04   The Two-Screen Workflow  ](#the-two-screen-workflow)
5. [  05   Debugging in Production: The Real Work  ](#debugging-in-production-the-real-work)
6. [  06   Key Takeaways  ](#key-takeaways)
7. [  07   The Result  ](#the-result)

 The Problem: Hundreds of Photos, No Good Way to Share Them
----------------------------------------------------------

After Laracon US 2026 wrapped, the Laravel marketing team faced a familiar post-event headache: hundreds of community photos and no elegant way to distribute them. A Google Drive link felt underwhelming. Pulling an engineer off product work felt worse.

So [Abby](https://x.com/abbygilson28) and Sam — Laravel's two field marketers — decided to build [laracon.us/photos](http://laracon.us/photos) themselves, with Claude as their coding partner, Laravel as the framework, and Laravel Cloud as the host.

Defining Scope Before Writing (or Generating) a Single Line
-----------------------------------------------------------

Before touching any tooling, the team defined a clear, constrained objective: let community members view, download, and share Laracon photos as easily as possible. Nothing more.

Abby's opening prompt to Claude reflected that discipline:

> "I need to make an app, built on Laravel. I want a place where I can dump all of the photos from an event and share it publicly, and people can go in and download each photo one by one super easily. What would we do to make this work? How hard is it? Ask me questions, just a planning stage. Call it 'laracon-photos.'"

Claude asked clarifying questions about scale, flow, and UX before generating anything. That planning phase turned out to be one of the most valuable parts of the process.

Why Laravel Made the Difference
-------------------------------

Choosing Laravel wasn't just brand loyalty. For non-developers, Laravel's opinionated defaults meant fewer decisions to make from scratch:

- **Authentication** — handled out of the box
- **Database conventions** — consistent and predictable
- **Queue system** — ready to configure, not build
- **AI-coding guidelines** via [Laravel Boost](https://laravel.com/docs/boost) — gave Claude a structured target to code against

Even without understanding every line generated, working within Laravel's conventions meant the output was organized and coherent.

The Two-Screen Workflow
-----------------------

Sam developed a practical dual-tool setup:

1. **Claude Code** in the terminal for generating and applying changes to the codebase
2. **Claude Desktop** on a second screen for explaining error messages, drafting prompts, and thinking through next steps

When something broke in the terminal, Sam would screenshot it, ask Claude Desktop to explain the error, then have Claude Desktop write a prompt to feed back into Claude Code. Not the most efficient workflow, but deliberately chosen to maximize learning alongside building.

Debugging in Production: The Real Work
--------------------------------------

Everything ran perfectly locally. Production was another story — a rite of passage that felt surprisingly familiar.

Here is the exact sequence of failures and fixes:

1. **No database** on first deploy → added one via Laravel Cloud
2. **No shared storage** between upload and processing machines → added a Cloud storage bucket
3. **Queue workers misconfigured** → configured correctly in Laravel Cloud's dashboard
4. **Memory exhaustion** on large image rotation → fixed by resizing images before rotation
5. **Cleared failed jobs** → everything worked

None of these fixes required writing code from scratch. They required reading error messages, understanding what they meant, and knowing what to ask Claude next.

Key Takeaways
-------------

- **Scope constraints matter as much with AI agents as with human developers** — vague prompts produce vague results
- **Laravel's opinions are a feature for non-developers**, not just experienced engineers; they reduce decision fatigue significantly
- **AI pair programming is iterative**, not one-shot; debugging, verifying, and caring about the outcome are still human responsibilities
- **Laravel Cloud handles the infrastructure complexity** that would otherwise block non-technical builders (queues, storage buckets, environment config)
- **Putting your name on the work** — even AI-assisted work — is what separates a real project from a throwaway demo

The Result
----------

The app is live at [laracon.us/photos](http://laracon.us/photos). Chip Needham, a developer at Laravel, helped get the project into Laravel's official GitHub organization and set up the custom URL. The community can now view, download, and share photos from Laracon US 2026 freely.

Marketers built it. Laravel structured it. Claude coded it. Laravel Cloud ran it.

---

*Source: [We built laracon.us/photos. We're not developers.](https://laravel.com/blog/we-built-laraconusphotos-were-not-developers) — Laravel Blog, August 17, 2026*

 Found this useful?

          [  ](https://twitter.com/intent/tweet?url=https%3A%2F%2Fmsaied.com%2Farticles%2Fhow-two-non-developers-built-laraconusphotos-with-claude-laravel-and-laravel-cloud&text=How+Two+Non-Developers+Built+laracon.us%2Fphotos+with+Claude%2C+Laravel%2C+and+Laravel+Cloud) [  ](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fmsaied.com%2Farticles%2Fhow-two-non-developers-built-laraconusphotos-with-claude-laravel-and-laravel-cloud) 

 Frequently Asked Questions 
----------------------------

  3 questions  

     Q01  Can you build a production Laravel app without knowing how to code?        Yes, as demonstrated by Laravel's field marketers who built laracon.us/photos using Claude AI for code generation and Laravel for its opinionated structure. However, you still need to define scope clearly, read and understand error messages, and verify that fixes work — the human judgment layer remains essential. 

      Q02  What deployment issues should non-developers expect when launching a Laravel app on Laravel Cloud?        Common issues include missing database configuration, lack of shared storage between upload and processing services, misconfigured queue workers, and memory exhaustion during image processing. Laravel Cloud provides the tooling to address all of these, but you need to diagnose each failure and apply the correct fix. 

      Q03  Why did the team choose Laravel specifically when using Claude to generate the code?        Laravel's opinionated defaults — authentication, database conventions, queues, and AI-coding guidelines via Laravel Boost — meant that Claude had a well-defined target to code against. This reduced ambiguity and produced more organized, maintainable output even without the team reviewing every line. 

  Continue reading

 More Articles 
---------------

 [ View all    ](https://msaied.com/articles) 

 [ ![Laravel Lock: Distributed Locks for Models and Routes](https://cdn.msaied.com/562/7649de72113e99332a9f7e25015f9397.png) Laravel Distributed Locks Composer Package 

### Laravel Lock: Distributed Locks for Models and Routes

Laravel Lock is a package by Md Mahedi Zaman Zaber that wraps distributed locking behind a fluent builder, a H...

  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MJ.jpg)  Mohamed Said 

 17 Aug 2026     4 min read  

  Read    

 ](https://msaied.com/articles/laravel-lock-distributed-locks-for-models-and-routes) [ ![Job Batching with Laravel Concurrency: Parallel Work Without the Chaos](https://cdn.msaied.com/559/d55e86a2ecbe32de5e2196f5be63511d.png) laravel concurrency queues 

### Job Batching with Laravel Concurrency: Parallel Work Without the Chaos

Learn how to combine Laravel's Concurrency facade with job batching to run parallel workloads safely, avoid sh...

  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MJ.jpg)  Mohamed Said 

 17 Aug 2026     4 min read  

  Read    

 ](https://msaied.com/articles/job-batching-with-laravel-concurrency-parallel-work-without-the-chaos) [ ![NativePHP v4: Build Real Native iOS and Android UI with Blade and SuperNative](https://cdn.msaied.com/560/3f885ba0bc9406711e8a9cde2a61faba.png) NativePHP Laravel Mobile 

### NativePHP v4: Build Real Native iOS and Android UI with Blade and SuperNative

NativePHP v4 introduces SuperNative, rendering Blade components as genuine SwiftUI and Jetpack Compose views—n...

  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MJ.jpg)  Mohamed Said 

 17 Aug 2026     4 min read  

  Read    

 ](https://msaied.com/articles/nativephp-v4-build-real-native-ios-and-android-ui-with-blade-and-supernative) 

   [  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MH.png)   Mohamed Said Laravel Backend Engineer  ](https://msaied.com)Senior Backend Engineer specializing in Laravel, scalable SaaS platforms, APIs, and cloud infrastructure. I build secure, high-performance web applications that help businesses grow.

Explore

- [Home](https://msaied.com)
- [Projects](https://msaied.com/projects)
- [Articles](https://msaied.com/articles)
- [Certificates](https://msaied.com/certificates)
- [Contact](https://msaied.com#contact-section)

Connect

- [   hello@msaied.com ](mailto:hello@msaied.com)
- [   +20 109 461 9204 ](tel:+201094619204)

© 2026 Mohamed Said. All rights reserved.

 [  ](https://github.com/EG-Mohamed) [  ](https://www.linkedin.com/in/msaiedm/) [  ](https://wa.me/201094619204) [  ](mailto:hello@msaied.com) [  ](https://drive.google.com/file/u/0/d/1MF20IPRJyzfy32mhEutjL5EpSls0w2Q8/view)
