Category: Engineering

  • Inside Our Engineering Culture (Vol. 6)

    Inside Our Engineering Culture (Vol. 6)

    Bringing this back around with a couple of updates worth sharing.

    We’re a fully remote team spread across nine time zones, which means most of what makes our engineering culture work has to happen asynchronously. Pull requests carry more context than a typical Slack thread would, and design docs are written assuming the reader wasn’t in the room when the idea started.

    We also protect focus time aggressively. Engineers get two meeting-free days a week by default, and any recurring meeting has to justify its existence every quarter or it gets cut. It’s not a perfect system, but it’s one that’s let a fourteen-person engineering team ship faster than teams three times our size.

  • How We Cut Dashboard Load Times by 80% (Vol. 6)

    How We Cut Dashboard Load Times by 80% (Vol. 6)

    We’re revisiting this topic after hearing from more of you — here’s the updated take.

    Six months ago, loading a busy CloudPulse dashboard with more than a dozen widgets took anywhere from four to seven seconds. That’s an eternity for a product built around real-time decision-making. Our engineering team set an aggressive target: get every dashboard under one second, no matter how much data it’s pulling.

    The fix wasn’t one big rewrite — it was a series of smaller wins. We moved widget queries to a shared cache layer, cut the number of round trips per page load from nine to two, and started streaming partial results instead of waiting for every widget to finish. The result: median load time dropped from 4.2 seconds to 780 milliseconds, and the slowest dashboards in our fleet are now faster than the fastest ones were a year ago.

  • The Hidden Cost of Manual Reporting (Vol. 5)

    The Hidden Cost of Manual Reporting (Vol. 5)

    We keep coming back to this topic because it keeps mattering.

    Ask most operations teams how long the monthly report takes and you’ll get an answer somewhere between four and twelve hours. Multiply that across a year and you’re looking at one to three full work-weeks spent assembling numbers that, in most cases, already exist somewhere in a connected tool.

    The real cost isn’t just the hours — it’s the lag. A report that takes a week to assemble is describing a business that no longer exists by the time anyone reads it. Automating the pipeline doesn’t just save time; it makes the numbers useful again.

  • 5 Signs Your Team Has Outgrown Spreadsheets (Vol. 5)

    5 Signs Your Team Has Outgrown Spreadsheets (Vol. 5)

    This one keeps coming up in questions, so we’re bringing it back with more detail.

    Spreadsheets are a great way to start tracking metrics. They’re also a terrible way to keep tracking them once more than two people depend on the numbers. If any of this sounds familiar — a shared sheet with seventeen tabs, a formula nobody wants to touch, a weekly ritual of copy-pasting numbers from three different tools — you’ve probably outgrown the spreadsheet stage.

    The clearest signal is usually trust. When people start double-checking the numbers before a meeting, or two team leads show up with different totals for the same metric, the problem usually isn’t the data — it’s that no single source of truth exists. That’s the exact gap a connected analytics layer is built to close.

  • Building a Data-Driven Team from Scratch (Vol. 4)

    Building a Data-Driven Team from Scratch (Vol. 4)

    Same topic, new angle — here’s what’s changed.

    Becoming data-driven isn’t a tooling decision, even though it’s tempting to treat it like one. The teams that make the shift successfully usually start with a habit, not a dashboard: every recommendation in a meeting gets a follow-up question — “what does the data say?” — until asking it becomes reflexive.

    Only after that habit is in place does the tooling matter. A single shared dashboard that everyone trusts beats five sophisticated ones that only the analytics team understands. Start smaller than feels comfortable, and expand once people are actually using what you’ve built.

  • Customer Spotlight: Scaling Support with Real-Time Metrics (Vol. 4)

    Customer Spotlight: Scaling Support with Real-Time Metrics (Vol. 4)

    Another look at this, prompted by a wave of recent questions.

    When Nova Freight’s support team doubled in size last year, their biggest problem wasn’t headcount — it was visibility. Team leads couldn’t tell which queues were backing up until customers were already complaining. Within six weeks of connecting CloudPulse to their support stack, that changed.

    “We went from finding out about a bad queue an hour late to catching it in real time,” says their director of support operations. “The dashboards aren’t fancy, but they’re the first thing every lead checks in the morning now.” Nova Freight’s average response time dropped 34% in the following quarter.

  • Announcing Webhooks 2.0 (Vol. 4)

    Announcing Webhooks 2.0 (Vol. 4)

    A few things have changed since we first covered this, so here’s a fresh pass.

    Webhooks have been part of CloudPulse since our earliest beta, but the original implementation had rough edges — no retry logic, no delivery logs, and payloads that didn’t always match what the API returned elsewhere. Webhooks 2.0 fixes all three.

    Every event now retries with exponential backoff for up to 24 hours, delivery logs are visible directly in your dashboard, and payloads are versioned so future changes won’t break your integration without warning. Existing webhook endpoints will keep working exactly as before — the new behavior is opt-in until we fully deprecate v1 next year.

  • API Rate Limits, Explained (Vol. 3)

    API Rate Limits, Explained (Vol. 3)

    An update on something we’ve talked about before, with new context.

    Every CloudPulse plan includes a rate limit, and every few months someone asks us why. The short answer: rate limits protect the reliability of the platform for everyone, including you, during traffic spikes that would otherwise slow down queries for every other customer sharing the same infrastructure.

    Standard plans are capped at 600 requests per minute per API key, with burst headroom for short spikes. If you’re regularly hitting the ceiling, that’s usually a sign to batch requests or move to webhook-based updates instead of polling — both of which we’re happy to help you set up.

  • Inside Our Engineering Culture (Vol. 3)

    Inside Our Engineering Culture (Vol. 3)

    Bringing this back around with a couple of updates worth sharing.

    We’re a fully remote team spread across nine time zones, which means most of what makes our engineering culture work has to happen asynchronously. Pull requests carry more context than a typical Slack thread would, and design docs are written assuming the reader wasn’t in the room when the idea started.

    We also protect focus time aggressively. Engineers get two meeting-free days a week by default, and any recurring meeting has to justify its existence every quarter or it gets cut. It’s not a perfect system, but it’s one that’s let a fourteen-person engineering team ship faster than teams three times our size.

  • How We Cut Dashboard Load Times by 80% (Vol. 3)

    How We Cut Dashboard Load Times by 80% (Vol. 3)

    We’re revisiting this topic after hearing from more of you — here’s the updated take.

    Six months ago, loading a busy CloudPulse dashboard with more than a dozen widgets took anywhere from four to seven seconds. That’s an eternity for a product built around real-time decision-making. Our engineering team set an aggressive target: get every dashboard under one second, no matter how much data it’s pulling.

    The fix wasn’t one big rewrite — it was a series of smaller wins. We moved widget queries to a shared cache layer, cut the number of round trips per page load from nine to two, and started streaming partial results instead of waiting for every widget to finish. The result: median load time dropped from 4.2 seconds to 780 milliseconds, and the slowest dashboards in our fleet are now faster than the fastest ones were a year ago.