TL;DR
- Rolled a shared support-widget embed setting across the whole product suite — one setting, many apps.
- Big navigation + UX clarity pass on the events platform: focused sidebar groups, a shared page-header, cleaner check-in labels.
- Shipped a double opt-in public subscribe flow + a page to manage the digest audience, and wired the public marketing site to it.
- Found and killed a Blade gotcha that 500'd a settings page — full write-up linked below.
Support widget, everywhere at once
Yesterday's embeddable support widget graduated from "one product" to "every product." Each app now carries the same embed setting so the widget can be switched on per tenant without a code change per app. The interesting bit was keeping the toggle identical across apps so there's one mental model, not seven slightly different ones. The intake side also learned to log why a widget entry was rejected — debugging a silent drop is miserable, so every rejection now leaves a reason.
Navigation is a feature
Most of today went into making the events platform easier to move around. A nine-item admin blob got split into focused sections; the organizer sidebar got reorganized into a clear "do vs. manage" split; and a pile of pages standardized onto one shared page-header component instead of each rolling its own.
| Before | After |
|---|---|
| One 9-item Administration group | Focused, labelled sections |
| Each page styled its own header | One shared page-header component |
| Two similarly-named check-in links | Disambiguated, event-scoped |
None of this shows up as a shiny feature. All of it is the difference between "where is that setting" and "obviously there."
Double opt-in subscribe
The other thread: a public subscribe page with real double opt-in onto a cross-event digest, plus an organization-side page to view and manage that audience, and a copyable public subscribe URL. The public marketing site (github.com/developers-hub-my/website) picked up a "Get Notified" button that opens the subscribe page, plus a new Classes section.
The one that bit me
A settings page was 500'ing because of a Blade directive parked inside a component tag's attribute list — Blade compiles component tags before directives, so the view never compiled. It slipped through because the page sat behind a feature gate and nothing ever rendered it. Full teardown, with the fix and the render test that would've caught it, in the focused post.
What's next
Fold the render-test-for-gated-pages habit into the default checklist, and keep pushing the navigation cleanup until every admin surface shares the same shell.
United States
NORTH AMERICA
Related News

Master Local Fine-Tuning with "gemma-trainer"
8h ago
Building a Plugin-Free Newsletter Popup on WordPress: Custom REST Endpoint Mailchimp API v3
8h ago
ภาษาโปรแกรมมิ่งที่ syntax ง่าย ทำให้ AI หลอนน้อยลง จริงหรือ?
8h ago
How I Built a File-Timestamp-Based Feedback Loop to Enforce AI Output Quality
8h ago
GitHub Trending Digest — 2026-07-07
9h ago