Loading…
Latest reads
Every post, summarised
Grounded summaries of engineering blogs, newest first. Each links to the original.
- 4,671 posts
- 20 companies
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
Latest posts
Crafting feature announcements that spur action - The Intercom Blog
A feature’s value depends on showing customers how it solves their problem, not on development effort. Intercom recommends targeting the right customers using message filters, such as those with access, those without (upsell), those who requested the feature, or those taking related actions, while excluding recently contacted (within 3 days) and new users (signed up less than 30 days ago). Choose the medium based on context: in-app for active users on relevant pages, email for re-engaging inactive users, and time announcements between 10am-2pm on weekdays for best open rates. The message should focus on customer benefits, be concise, include visuals, and stay personal. After announcing, track usage via events and gather feedback to inform future iterations.
Embracing a human tone in customer support - The Intercom Blog
The post argues that making customer support conversations more human, by acknowledging emotions and personal context, is key to delivering next-level service, especially on chat platforms like Intercom. It advises support reps to recognize ‘signs of life’ such as crying emojis or a simple ‘how are you?’, and to respond truthfully rather than with a robotic script. When agents inevitably make mistakes, such as sending the wrong link, they should own the error transparently and use humor or emoji to diffuse tension. Emoji and GIFs are encouraged in light moments, but the human tone should not be forced; it works best when natural and when reps look beyond conversations to gather candid product feedback. Over the long term, personal interactions make support faster by building familiarity with customers, allowing reps to recall context at a glance.
Learn How To Nurture New Signups Beyond The Free Trial
The SaaS law of averages suggests 40-60% of free trial signups use the product once and never return, often due to lack of perceived value or mismatched expectations. The Nurture Starter Kit is a guide for designing messaging campaigns to convert these signups into paying customers through improved communication. It advocates behavior-based triggered messages over timed drips, tailored to each customer’s definition of success, and includes half a dozen example messages. The kit also provides advice on measuring campaign effectiveness through actions that lead to conversions, not just macro-level rates. The goal is to make becoming a paying customer the obvious choice, avoiding radio silence followed by a last-minute expiration email.
What we shipped: 20 new features and counting - The Intercom Blog
Intercom shipped over 20 new features in the first half of 2017, reflecting its philosophy that shipping is the beginning of iteration. Support enhancements include office hours and away mode, an Articles autoresponder that guides customers to the help center while they wait with localization in 38 languages and a link back to the website, animated GIF support, and mobile app additions for articles, images, GIFs, and saved replies. Inbox improvements let teams sort by longest waiting, group conversations, and snooze conversations for follow-up, while integrations added Microsoft Teams and a new developer dashboard that puts everything in one place. The API added Leads and Companies to the Scroll API, and outbound messaging gained engagement-based targeting, the ability to stop a message once it starts sending, and mobile delivery windows for push notifications. These smaller improvements aim to make support more personal and scalable without requiring major announcements.
Using Intercom to design Intercom - The Intercom Blog
A designer at Intercom explains how the team uses their own product to gather data-driven insights for design decisions, replacing intuition with evidence from real customer interactions. Support team members tag feature requests and confusing conversations, which the research team organizes by topic for easy access. In one example, the designer analyzed 120 conversations about multi-person messaging and found only 33% actually wanted that feature, while others needed handoff or transfer capabilities. In another, an automated message targeting users who sent one-to-one messages via the fully featured editor revealed within hours that the ability to duplicate messages was the missing feature. This approach ensures design solutions are based on real customer needs rather than surface-level requests.
Does your support team know more about your product than you?
Customer support teams interact with customers daily and possess valuable product and customer insights that product teams often overlook. Treating support as an outsourced function or ignoring their conversations wastes unsolicited feedback that differs from survey data. Intercom tags every support conversation with team and category tags to make feedback actionable, enabling product teams to create dashboards, spot trends, and explore conversations for insights. For example, tagging ‘product confusion’ revealed an onboarding issue where customers saw nothing if they only completed one of two setup steps, leading to a pop-up that told customers exactly what they needed to do and reduced those conversations. Product teams also use tags like ‘unaware’ to improve feature discoverability, track bug reports via a GitHub integration, and compile quarterly ‘customer voice reports’ of top feature requests while closing the feedback loop with customers.
Opening up the power of Intercom's platform - The Intercom Blog
Intercom announced the launch of its Developer Program, opening its platform for third-party integrations. The company positions Intercom as the single source of truth for customer data, with data flowing in and out to other tools. It emphasizes flexibility, acknowledging it cannot build every feature customers need, that it is naive to believe every customer uses the product the same way, and that it relies on a developer community to extend its capabilities. The program helps developers build successful integrations and helps customers discover quality tools, with approved members listed on the website alongside built-by-Intercom integrations like Slack, Facebook, and more. The first eight approved members include Aircall, AskNicely, ChargeDesk, FullStory, productboard, SatisMeter, Statbot, and Wootric, and Intercom plans further ecosystem support as the developer community grows.
Your product is already obsolete - The Intercom Blog
Technology products inevitably become obsolete as industries shift, and failing to adapt can kill a business faster than most founders expect. Success breeds complacency, which breeds failure, making paranoia a necessary survival trait for everyone in tech. Historical examples like satnav manufacturers gutted by the iPhone and telcos disrupted by WhatsApp show that customers will abandon an incumbent for a simpler, faster way to achieve their goals. To avoid this fate, Intercom advocates thinking of a product as a flexible system rather than a set of screens or user flows, allowing it to integrate across new mediums. This systems approach enables the product to remain relevant through multiple technology cycles by focusing on helping customers make progress in their lives.
The golden mean of design and engineering - The Intercom Blog
The post draws on Aristotle’s golden mean to argue that great products require a balance between design and engineering, not compromise. Engineers naturally focus on functionality and performance, wanting to ship features and increase speed often without customer requests, while designers aim for optimal user flows and catch subtle interaction details. The OAuth implementation exemplifies this, with engineers building the technical side and designers crafting user flows, each pursuing their own self-interest through daily stand-ups and whiteboard sessions rather than compromising. This self-interest, guided by Adam Smith’s invisible hand, yields superior products than continual compromise, which leads to mediocrity. The post recommends embedding designers in product teams via a hub-and-spoke model, and leaders trusting their teams to find equilibrium rather than imposing rules.
Empathy: the key to better support content - The Intercom Blog
As businesses scale, they risk losing touch with customer problems, which becomes apparent in support content. The post argues that empathy—both cognitive and emotional—is essential for creating effective help content. Cognitive empathy involves understanding customer perspectives by surrounding oneself with customer information, as Harley Davidson does with bike trip photos, and by staying informed about product evolution through conversations with design, support, and engineering teams. Emotional empathy requires experiencing the frustrations customers face, such as imagining a world without the product’s key features or actively finding and reporting bugs to understand user pain, as encouraged by Intercom’s “if you find something broken, you now own fixing it” poster. By combining both types of empathy, support writers can produce content that resonates with users and addresses their real needs, as shown in Intercom’s Smart Campaigns and User Map documentation.
Build a Secure TypeScript MCP Client with Cross App Access (XAA)
The post presents a tutorial for building a TypeScript Model Context Protocol (MCP) client that uses Cross App Access (XAA) to securely bridge enterprise apps across trust domains. The sample app is an employee onboarding dashboard that signs in through an identity provider, exchanges identity for an Identity Assertion JWT Authorization Grant (ID-JAG), trades it for an access token, and fetches data from a protected MCP server. The tutorial uses the MCP TypeScript SDK’s CrossAppAccessProvider to automate the four-step XAA flow, including token exchange and retry on 401 responses. Developers test against xaa.dev, a free playground that hosts the IdP, authorization server, and a todo MCP server. The post explains key concepts like ID-JAG claims, separate client credentials per trust domain, and how XAA enables AI agents and enterprise apps to act on behalf of users without OAuth consent screens.
Lakebase and Agentic SDLC: Branching Databases for Coding Agents
Coding agents working in parallel on shared databases create schema conflicts, test interference, and data exposure risks. Lakebase Postgres solves this with database branching, which creates an isolated copy of an entire database in under a second using copy-on-write. Each agent gets its own database branch via a post-checkout Git hook tied to a worktree, and each pull request gets an ephemeral branch through CI tooling. Schema changes are tracked in code with migration tools such as Drizzle or Alembic and promoted to the parent branch during deployment, not by merging database branches. Idle branches scale to zero, so running many concurrent agents incurs no compute cost for unused branches.
Introducing Funke: Native HL7v2 Parsing on Databricks
HL7v2 is the dominant healthcare messaging standard but is difficult to parse due to its nested, delimiter-encoded structure. Existing workarounds like converting to FHIR or using third-party engines add cost and latency. Funke, the successor to the open-source Smolder library, is a new open-source Python and PySpark library under the Databricks License that parses HL7v2 messages directly into native Spark types, preserving the full hierarchy losslessly. It deploys as a Databricks Asset Bundle with a Declarative Pipeline that uses Auto Loader to ingest raw messages into a Unity Catalog volume, then parses them into structured silver tables following the medallion pattern. The library supports all HL7 message types and versions, includes accessor helpers for extracting fields by segment and component, and ships with a demo using synthetic ADT events to illustrate end-to-end ingestion and gold table creation, including a live census and bed utilization dashboard.
Fine-tuning LLMs for risk assessment
Stripe makes thousands of near real-time risk decisions every second, balancing fraud detection against false positives that disrupt legitimate businesses. Zero-shot prompting achieved 0.487 precision, domain-guided prompting 0.706, and human reviewers 0.790 at the same recall. The team applied supervised fine-tuning (SFT) to an open-weight 4B-parameter LLM, serializing features like card payments and account activity into text records, training it on labels, and deriving a continuous fraud score from the next-token probabilities normalized over two label tokens. SFT increased average precision by approximately 24% over domain-guided prompting and 70% over zero-shot prompting, and consistently outperformed XGBoost across multiple risk tasks. Linear probing of hidden states showed that SFT made benign signals more linearly decodable, with ROC-AUC improving from 0.583 to 0.642, indicating the model better recognizes legitimate business activity and reduces false positives.
Sentry JavaScript SDK v11 adds tracing for all JS platforms
Sentry JavaScript SDK v11 replaces OpenTelemetry-based tracing with a code transformer from the apm-js-collab packages that injects diagnostics channels into supported modules at load time. The transform wraps target functions in tracingChannel() calls, and Sentry integrations subscribe to those channels to create native spans directly from the events. This approach works both at runtime via Module.registerHooks and at build time through bundler plugins for Vite, esbuild, webpack, and others, with no risk of double-wrapping. The previous OpenTelemetry instrumentation required Node-specific loader hooks, could not instrument bundled dependencies, and had ordering issues with ESM imports, limiting support to Node.js. v11 extends automatic tracing to Cloudflare Workers, Deno, Bun, and bundled server deployments while offering three OpenTelemetry integration modes: Sentry only, OpenTelemetry-compatible, or custom OTel with OTLP export.
Multi-Tenant SaaS Apps with Auth0 Organizations — Part One
Auth0 Organizations provide an isolated workspace per tenant with dedicated members, identity provider connections, metadata, and role-based access control, addressing enterprise requirements like Acme Corp’s SSO ultimatum. Login flows differentiate between B2C users (no organization parameter) and B2B users (organization parameter scopes connections, branding, and token claims including org_id). Home Realm Discovery automatically matches users to their enterprise IdP by email domain when an organization is set, requiring the Identifier First authentication profile and eliminating password prompts. Authorization is per-organization via org_id claims in access tokens, with organization-level roles and permissions resolved through RBAC. The post also covers invitation tickets, tenant context switching where users obtain new tokens with a different org_id, recommends one Auth0 Organization per app tenant, describes Auth0 Actions for custom metadata, and introduces this as part one of a five-part series on B2B identity.
Biomedical Imaging's Real Bottleneck Is the Data, Not the Model
Medical imaging’s real bottleneck is not model architecture but data access. Hospitals, academia, medtech, and pharma all struggle to extract, de-identify, and query imaging data locked inside PACS and vendor archives. The approach proposed is a data lakehouse model on Databricks using a medallion architecture that ingests raw DICOM into Bronze, extracts de-identified metadata into Silver, and curates queryable Delta tables in Gold. This foundation unifies imaging with multi-omics, clinical-trial, and real-world data under a single governance model. The algorithms exist; the missing piece is a governed, queryable, and linkable data layer that makes the model the easy 10% again.
5 Steps to Create SimReady Assets for Robotics with Frontier AI Models
The post presents a five-step workflow for converting CAD assets into SimReady assets for robotics simulation using NVIDIA Omniverse tools and frontier AI models such as GPT-6 Astra. The workflow begins with importing STEP files into OpenUSD and matching visual appearance using reference images and videos from ABB Robotics. Physics properties including joints, collision geometry, mass, and friction are then configured, with the AI model interpreting manufacturer datasheets and URDF descriptions to set correct axes and limits. SimReady Foundation validation checks are run to ensure the asset meets simulation requirements, flagging issues for correction. A final pick-and-place task in NVIDIA Isaac Sim demonstrates successful simulation of the ABB YuMi robot, with both arms and grippers completing four cycles using cubes and a Sharpie marker.
How we migrated Clera’s 500 GB production database to ClickHouse Managed Postgres overnight
Clera, an AI talent agent representing 200,000+ candidates, migrated its 500 GB production Postgres database to ClickHouse Managed Postgres after outgrowing its previous provider. The previous database suffered from point lookups taking multiple seconds, 100% CPU for six straight days, and timeouts. Clera evaluated Supabase, Neon, PlanetScale, and ClickHouse, choosing ClickHouse for its local NVMe storage that avoids network-attached disk latency. In sysbench TPC-C testing, ClickHouse showed 16–42% higher throughput than the runner-up. The team migrated 500+ tables from the EU to the US overnight using ClickPipes and manual replay, with production traffic still hitting the database. After migration, CPU usage dropped to 10–20%, and no settings have been changed since the cutover.
Production-grade LLMs and agents: a field guide
Production-grade LLM agents require deterministic machinery around the probabilistic model, not a larger model. A maturity model defines six levels: determinism, evaluation, confidence, safety and governance, operability, and production-grade build, each assuming the one below. Teams should fix their weakest level in order, starting with determinism before evals, and contain the model to a single node in a fixed graph where it proposes actions a separate component applies after approval. A self-assessment checklist with items like evals as a CI gate and layered guardrails helps teams identify their current level, with fewer than half ticked indicating they are earlier than the demo suggests. The post links to a series of 25 deep-dive articles covering each rung of the maturity model.
Top topics
- Architecture834
- Performance816
- LLMs660
- Machine Learning622
- Open Source563
- AI Agents553
- AI470
- Developer Experience448
Weekly digest
The best engineering reads, once a week.