We replaced a fragile, limited platform with a custom solution that automated complex user management and streamlined operations, cutting costs and creating a scalable foundation for rapid growth.

Visual Approach Analytics is a premier provider of data-driven insights for the aviation industry. Their clientele includes airlines, airports, and financial institutions who rely on their market forecasts and expert testimony for critical business decisions. As a key player in the aviation analytics market, their ability to deliver timely and accurate data is crucial to their success and that of their clients.

Plugin limitations causing instability and restricting growth
Complex user management consuming excessive resources
Manual processes inflating operational costs

We rebuilt the platform using FilamentPHP, enabling rapid development of a custom application. This included creating three distinct user panels for managing subscriptions and scalable document storage on Google Cloud.

25% boost in operational efficiency
20% reduction in operational costs
30% increase in user satisfaction
Zero downtime during data migration

Lucky Media proved to be exactly the partner we needed. Initially brought on to tackle technical debt, they quickly became an integral part of our team.

Nate Irwin
Chief Product Officer @ Trailhead Labs
Let’s chat
We partner with a limited number of brands each quarter to ensure senior-level attention on every project.


WordPress limitations were creating significant business constraints:
- Operational Inefficiency: The unstable system required constant manual workarounds and maintenance, diverting resources from core business activities and increasing costs.
- Scalability Limitations: The rigid architecture made it difficult to add new features or handle growing user demand, directly blocking growth opportunities.
- Complex User Management: Managing multiple user roles with different permissions was difficult and error-prone, creating operational overhead and security concerns.
- Revenue Risks: Migrating complex subscription data without interrupting user access posed significant revenue and client trust risks.
We delivered a tailored platform designed for performance and growth:

Visual Approach needed a custom platform, but not a six-month rebuild. Using FilamentPHP's modular architecture, we built a full admin system, complete data models, user roles, subscription tiers, and content relationships, in weeks.
Why this matters: When your business logic outgrows your CMS, the cost isn't just the rebuild. It's every month you wait while the old system slows you down. A strong framework compresses that timeline without compressing quality.
Technical deep dive: FilamentPHP's resource management system lets us define CRUD operations for research items, user roles, and subscription tiers without building scaffolding from scratch.

The old WordPress setup managed user permissions through a stack of plugins, each with its own update cycle, conflict risk, and failure mode. We replaced the entire permission layer with three purpose-built panels inside a single FilamentPHP application.
Three panels, one codebase, zero plugin dependencies.
Superadmin Panel: Provided full control over content, user management, and system settings.
Active User Panel: Offered a streamlined experience for subscribers, with access to research content based on their subscription level:
Insights
Research
Teams + Downloads
Guest Panel: Allowed non-subscribed users to access free content and previews, encouraging them to upgrade.
Why this matters: When roles are enforced at the application layer instead of the plugin layer, there's no conflict surface. Permissions don't break on update day. New tiers don't require a new plugin.
Technical deep dive: We implemented role-based authorization rules using Laravel policies integrated into Filament’s resource controllers. Tags assigned by superadmins create dynamic filters to help active users quickly find applicable research. We built three different panels for each user group.

We executed a hard cutover migration with zero revenue disruption. The client notified their subscribers in advance, giving us a clean transition window with no ambiguity about which system was live at any given moment.
Why this matters: Subscription platforms can't afford a grey period where two systems think they own billing state. A hard cutover, properly prepared, is safer than a parallel-run that creates reconciliation debt.
Technical deep dive: We mapped Stripe subscription plans to internal access tiers. Stripe webhook listeners were added to keep subscription statuses in sync.

Visual Approach distributes research reports and market data to clients across the aviation industry globally. We integrated Google Cloud Storage to handle document delivery at scale, fast, secure, and without the overhead of managing file infrastructure directly.
Why this matters: For a data business, slow or unreliable document delivery is a product failure, not an IT inconvenience. Cloud storage with proper access controls removes that risk entirely.
Technical deep dive: We used Laravel's Google Cloud Storage integration with signed, time-limited URLs for all file downloads. Subscribers get a URL that expires, preventing sharing, protecting premium content, and requiring no manual access revocation.

We ran multiple structured feedback cycles with the client throughout development, not just at handoff. Each cycle targeted specific workflows, surface bugs early, and confirmed that the platform matched how the team actually operates, not just how they described it in the brief.
Why this matters: The gap between what a client describes in a kickoff call and what they actually need only becomes visible when real people use real features. Catching that gap in a feedback cycle costs hours. Catching it post-launch costs weeks.
Let’s chat
We partner with a limited number of brands each quarter to ensure senior-level attention on every project.


The transformation delivered measurable business outcomes, but the numbers are a consequence of specific operational changes, not a happy accident.
25% efficiency boost -Before the migration, the team spent significant time on manual workarounds: managing user permissions by hand, handling access requests individually, and troubleshooting plugin conflicts. The new automated panels eliminated that entire category of work. The team now manages the same subscriber base in a fraction of the time.
20% cost reduction - WordPress's plugin dependency model has a hidden cost: maintenance. Every plugin update is a potential conflict. Every conflict is a support ticket, a developer hour, or an outage. Replacing the plugin stack with a purpose-built application removed that ongoing cost surface. Fewer failure modes means lower maintenance overhead, month after month.
30% increase in user satisfaction - Subscribers went from a fragile, inconsistently performing portal to a platform built specifically around their access model. Content loads reliably. Permissions work correctly on first login. Tier-appropriate content is surfaced automatically. The experience improved not because of cosmetic redesign, but because the underlying architecture was finally designed around the user journey.
Zero revenue disruption - Every active subscription carried over intact. No subscriber lost access on cutover day. No billing cycle was interrupted. This was the highest-risk moment of the entire project, and the one the client's leadership cared most about. We treated it accordingly.
The compounding outcome: The new system doesn't just perform better today, it scales without adding overhead. Adding a new subscription tier, a new content category, or a new user segment is now a configuration change, not a development project.
Most WordPress-to-custom migrations fail at the access control layer. Developers replicate what the plugins did, just in custom code, and inherit the same architectural debt. We designed the permission model from scratch around the three actual user types: superadmin, subscriber, and guest. Everything else, the UI, the content delivery, the Stripe integration, was built to serve that model, not the other way around. That's why the system scales without increasing operational overhead.

Let’s chat
Discuss your project with our founders and get expert advice.


AI application using Laravel and OpenAI
Tech startup saves 960 hours with AI-powered automation