ProjectsPredictWind

Modernizing PredictWind's Satellite Communication Platform

As part of my role as a Senior Software Engineer, I led the redevelopment of PredictWind's satellite communication servive; a platform that enables offshore sailors worldwide to activate, manage, and monitor satellite devices and services at sea. From migrating a legacy Laravel/Angular system to a modern TypeScript stack, to architecting new admin and customer features, I've been responsible for both the technical direction and delivery of this mission-critical software.

PredictWind Gallery

PredictWind is a leader in providing weather forecasting and communication solutions for offshore sailors and adventurers. One of their core offerings is satellite communication services; hardware and software that allow sailors to make calls, send SMS, and access data in the middle of the ocean. To support this, PredictWind offers a software platform where customers can register their devices, activate or cancel services, manage billing, and subscribe to additional tools like GPS tracking and PredictMail (a dedicated mail system optimized for low-bandwidth satellite connections).

When I joined the project, the platform was built on a legacy Laravel/Angular stack that had become brittle and difficult to extend. I led the migration to a modern, modular TypeScript stack, scoping and managing the project end-to-end. This involved coordinating with stakeholders, planning the migration roadmap, and ensuring that critical systems, such as service activations, device management, usage monitoring, and billing integrations were rebuilt without disruption.

The new platform now runs on a Next.js + Nx monorepo architecture, with tRPC for type-safe APIs, Drizzle for data modeling, Inngest for background jobs and retries, and a streamlined CI/CD pipeline with Vercel. I also introduced strict TypeScript typing, Tailwind CSS for UI consistency, and enhanced monitoring and alerting with Axios and Sentry. These upgrades transformed the codebase into something both scalable and maintainable, significantly improving developer experience while ensuring reliability for thousands of active users.

Beyond the migration, I've continuously worked on feature development and support tools; building admin dashboards that empower PredictWind's support team to troubleshoot issues, analyze customer data, and manage accounts with ease. These custom-built features have streamlined support workflows, reduced manual overhead, and improved customer satisfaction.

This project represents the breadth of my contributions as a senior engineer: architecture, migration strategy, stakeholder management, feature development, DevOps, and ongoing client collaboration. It's also been rewarding to see my work directly support sailors worldwide who rely on PredictWind's communication services for safety and connectivity far from shore.

FAQs about Branding

Why was the migration from Laravel/Angular to a TypeScript stack necessary?

The legacy stack was difficult to maintain and extend, especially given the complexity of satellite service activations and integrations. Migrating to a TypeScript-based monorepo gave us strict typing, modularity, and faster development velocity. It also ensured a long-term foundation that PredictWind could continue to grow on.

How did you ensure reliability during the migration?

This was a mission-critical platform, downtime could mean sailors losing communication at sea. I approached the migration with careful scoping, phased rollouts, and extensive testing. Inngest provided job retries and resilience, while strict typing and monitoring caught issues early. The migration was delivered without disruption to customers.

What was your role in the project beyond coding?

I took a leadership role, managing both project planning and technical direction. This included stakeholder communication, roadmap definition, coordinating with PredictWind's support and product teams, and reviewing developer work. I also made decisions around stack choice, architecture, and development practices.

How did you improve the developer and support experience?

For developers, I set up a CI/CD pipeline, preview environments strict typing for confidence in deployments, and refeshed the staging environment to make it easier to test and deploy. For support teams, I built custom admin tools that automated manual tasks, provided better visibility into customer accounts, and allowed quick intervention when customers needed help.

What technologies and third-party services were involved?

The stack included Next.js, Nx, tRPC, Prisma, Tailwind, Inngest, Vercel, Axios, and Sentry. On the service side, we integrated with T-Mobile, Cloudloop, and other satellite providers for device activation, usage tracking, and billing. Together, these tools formed a robust, modern stack that could handle complex workflows with reliability.

Tools of Choice

TYPESCRIPT
NEXT
DRIZZLE
TAILWIND
TRPC
VERCEL
MYSQL
STRIPE
PHP
INNGEST
SENTRY

© 2025 Brady Edgar. All rights reserved.