Skip to content
LABS
Waydev202211 months (Oct 2021 - Aug 2022)

Waydev: lifting throughput and unifying notifications at a YC engineering-analytics startup (11 months)

Eleven months at a YC W21 startup. Migrated Laravel + Vue to Octane and shipped a notification microservice covering Slack, Teams, email, and in-app, without breaking the live product.

  • Laravel
  • Laravel Octane
  • VueJS
  • PHP
  • MySQL
Visit the live project

Challenge

Waydev (YC W21) pulls metrics from Git providers, CI systems, and project trackers to give engineering leaders a clearer picture of what their teams are shipping. By late 2021 it had two concrete problems neither could wait.

Throughput ceiling. The main Laravel + Vue application was hitting request-throughput limits under real load. Horizontal scaling was an option but an expensive one. Adding instances without addressing the per-request overhead was just paying more for the same problem.

Notification fragmentation. Notifications were inconsistent across channels. Some surfaced in-app. Some emailed. Some had ad-hoc integrations. Each product area had grown its own notification logic, and they all diverged in timing and behavior. Teams building new features were reinventing the notification wheel on every feature.

Both had to improve without breaking what customers were already using.

How the 11 months unfolded

  1. Oct 2021

    Engagement start

    Two problems that could not wait: a request-throughput ceiling on the Laravel and Vue app, and notifications fragmented across channels.

  2. Oct 2021 to Aug 2022

    Octane migration and notification microservice, in parallel

    Both shipped incrementally, behind feature flags, with a visible diff every week in rhythm with the product roadmap.

  3. Aug 2022

    Handover

    More traffic on the same hardware, and one notification abstraction across five channels, with the live product never breaking.

Solution

Laravel Octane for throughput. Octane keeps application state warm between requests, eliminating the cold-boot overhead on every hit. The migration went in incrementally behind feature flags. We ran cold-boot and Octane side-by-side under real load before cutting over, so there was no untested leap.

One notification microservice, all channels. Rather than patching each feature's notification path separately, we pulled the routing logic into a single service that owned fan-out across in-app, email, Slack, Microsoft Teams, and Google Chat. Every product area called one abstraction. Adding or changing a channel meant touching one service, not hunting down every callsite.

Weekly visible diffs. YC-backed startups run on momentum. Even when the underlying work was infrastructure, every week shipped something a customer could see. The throughput migration and the microservice both stayed in rhythm with the product roadmap, not on a separate track.

Request throughput

Before

Laravel and Vue app hitting request-throughput ceilings under real load. Horizontal scaling just pays more for the same per-request overhead.

After

Laravel Octane keeps application state warm between requests. More traffic on the same hardware, operational cost flat.

Notifications

Before

Each product area grew its own notification logic, diverging in timing and behavior. Teams reinvented the notification wheel on every feature.

After

One microservice owns fan-out across in-app, email, Slack, Microsoft Teams, and Google Chat. Every area calls one abstraction.

No benchmark numbers are published or invented; the throughput gain is qualitative.

Results

The main app moved onto Laravel Octane in production. Throughput lifted on the same hardware; operational cost stayed flat. Waydev did not publish benchmark numbers and we do not invent them. The business outcome is qualitative: the team could serve more traffic without adding infrastructure.

The notification microservice reached production carrying in-app, email, Slack, Teams, and Google Chat behind one abstraction. Teams building new features stopped reinventing notification logic.

Both changes shipped without breaking the product surface customers were using. At a YC startup that is the minimum bar, and sometimes the hardest part.

Share

Tell us what you're building.

Book a call

Pick which categories of cookies you're OK with. You can change this any time from the footer.