quintinmorrow's avatar

quintinmorrow wrote a reply+100 XP

1w ago

That’s a seriously ambitious build, especially with that many models and relationships flying around . Splitting IssueVariant into its own model sounds like one of those decisions that saves you later, even if it adds complexity upfront. The moderation system idea is also clean, but yeah, I can see how it grows too heavy over time. Reminds me of scaling setups in Phonexa, where early architecture choices really start to show under load.

quintinmorrow's avatar

quintinmorrow wrote a reply+100 XP

3w ago

The rootless Podman approach is a genuinely smart choice for this — no daemon overhead, no sudo headaches, and containers running as your own user makes the whole thing feel a lot cleaner than Docker-based setups. Automatic .test domains and per-project PHP version switching is exactly what's been missing for Linux Laravel devs. Been watching this project and the macOS support landing soon makes it worth keeping an eye on.

quintinmorrow's avatar

quintinmorrow wrote a reply+100 XP

1mo ago

Feels like you’re overthinking the “segment” part a bit. Staging is basically just another environment that mirrors production, not some special path inside your main app. Most setups I’ve seen go with a subdomain and lock it down with auth or IP rules. Even for a small team, having that buffer before pushing live saves you from a lot of awkward mistakes later. staging environment setup

quintinmorrow's avatar

quintinmorrow wrote a reply+100 XP

1mo ago

Auth middleware issues with Sanctum can be tricky because a small config mismatch can block the whole route. I’ve run into problems where the guard or API stateful domains weren’t set correctly, so the middleware never recognized the session. Checking the Sanctum config and how the route group is defined usually reveals what’s going wrong.

quintinmorrow's avatar

quintinmorrow wrote a reply+100 XP

2mos ago

I like the advice in this thread — especially the idea of recreating apps you already use daily. Building a small forum, Q&A platform, or even a simple business app with invoices and reports forces you to touch auth, CRUD, relationships, and validation in a practical way. The key is solving a real problem you care about and iterating on it.

quintinmorrow's avatar

quintinmorrow was awarded Best Answer+1000 XP

2mos ago

I’d keep products and prices as “infrastructure” and create them in the Stripe dashboard, then reference the IDs in the app. If clients need flexibility, build controlled tooling in your Laravel app that talks to Stripe’s API, instead of letting them freestyle in the dashboard. The real headache isn’t creation, it’s plan changes and migrating existing subscribers safely

quintinmorrow's avatar

quintinmorrow wrote a reply+100 XP

2mos ago

I’d keep products and prices as “infrastructure” and create them in the Stripe dashboard, then reference the IDs in the app. If clients need flexibility, build controlled tooling in your Laravel app that talks to Stripe’s API, instead of letting them freestyle in the dashboard. The real headache isn’t creation, it’s plan changes and migrating existing subscribers safely

quintinmorrow's avatar

quintinmorrow was awarded Best Answer+1000 XP

2mos ago

Honestly, this feels like one of those VS Code moments where an update quietly hijacks a shortcut. Checking keybindings.json directly usually solves it faster than the UI, especially when extensions get involved. Disabling the AI panel binding with a minus entry worked for me before. After a restart, the import shortcut should behave normally again.

quintinmorrow's avatar

quintinmorrow wrote a reply+100 XP

3mos ago

Honestly, this feels like one of those VS Code moments where an update quietly hijacks a shortcut. Checking keybindings.json directly usually solves it faster than the UI, especially when extensions get involved. Disabling the AI panel binding with a minus entry worked for me before. After a restart, the import shortcut should behave normally again.

quintinmorrow's avatar

quintinmorrow wrote a reply+100 XP

3mos ago

Ran into the same thing after a macOS update, and the root cause was the .local TLD. macOS now reserves .local for Bonjour, so Valet and Herd can behave strangely even if ping works. Switching projects to .test, clearing old Valet configs, and restarting Herd fixed it for me. It’s annoying to migrate, but once done everything stays stable again.