---
title: "Latest reads"
description: "The engineering internet, summarised so you can actually read it."
---

# Latest reads
> The engineering internet, summarised so you can actually read it.

## Articles

### [Workflows: Automatically customize an object with metadata](https://yomu.fyi/post/workflows-automatically-customize-an-object-with-metadata.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Ashley Ansari
- Published: Jul 22, 2025
- Type: Tutorial

Stripe Workflows can customize Stripe objects with metadata, adding contextual key-value information without changing the core data model or storing it separately. The example targets customers associated with successful Payment Intents that include a tip, so a customer can be labeled for business use, such as reconciliation, reporting, or internal integrations. To build it, the workflow retrieves the customer from the Payment Intent, emails a team member, checks whether the successful Payment Intent contains a non-empty tip amount, and updates that customer with the metadata key Tier and value VIP. Workflows runs a trigger and sequential actions or conditions in a visual Stripe Dashboard builder, while metadata can carry information to later workflow steps and support automation, analytics, and debugging.


### [Heroku AppLink: Extend Salesforce with Any Programming Language](https://yomu.fyi/post/heroku-applink-extend-salesforce-with-any-programming-language.md)
- Company: [Heroku](https://yomu.fyi/company/heroku.md)
- Author: Vivek Viswanathan
- Published: Jul 17, 2025
- Type: Announcement

Heroku AppLink is now generally available from the Salesforce Setup menu, extending Salesforce with Heroku applications and code written in virtually any programming language. The initial release provides SDK support for Node.js and Python, while Java examples and direct AppLink API access demonstrate how other languages can integrate; the APIs provide authentication, authorization, connection pooling, and access to Salesforce and Data Cloud data. AppLink combines an add-on, service-mesh buildpack, dashboard, CLI, API, SDK, OpenAPI integration, and Salesforce API integration to provision connections, restrict and authenticate requests, publish services, and monitor org integrations. The add-on is free, with normal Heroku billing for compute and data resources, and published applications can extend Flow, Apex, and Agentforce while user mode is enabled by default.


### [Grab's service mesh evolution: From Consul to Istio](https://yomu.fyi/post/grab-s-service-mesh-evolution-from-consul-to-istio.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Hilman Kurniawan
- Published: Jul 16, 2025
- Type: Problem & solution

Grab describes migrating its service mesh from Consul and the Catcher fallback across a microservices ecosystem of more than 1,000 services spanning VMs, EKS clusters, AWS, and GCP. The existing setup exposed fleet-wide risk from a single Consul server issue, added fallback complexity, and lacked advanced traffic management, security controls, and robust multi-cluster support. After evaluating Application Load Balancer, Istio, AWS Lattice, and Linkerd for stability, performance, integration, and operational simplicity, the team selected Istio for its Kubernetes integration, flexible deployment models, and feature set. The design uses multiple control planes on dedicated Kubernetes clusters, active-active pairs, organization-based mesh boundaries, custom resource definitions, and cross-cluster endpoint discovery to support isolation, availability, routing, security, and observability. Migration began in Q4 2024 with GCP-to-AWS work alongside gRPC and HTTP traffic initiatives, using gradual shifting, rollback mechanisms, and performance monitoring while teams manage legacy systems and cross-mesh connectivity.


### [Leveraging multimodal LLMs for Shopify’s global catalogue: Recap of expo talk at ICLR 2025](https://yomu.fyi/post/leveraging-multimodal-llms-for-shopify-s-global-catalogue-recap-of-exp.md)
- Company: [Shopify](https://yomu.fyi/company/shopify.md)
- Author: 2023-10-18
- Published: Jul 16, 2025
- Type: Explainer

Shopify’s Global Catalogue addresses fragmented, multilingual, multimodal product data that makes semantic search, faceting, matching, and AI-driven discovery difficult across millions of merchants. The system combines product data, understanding, matching, and reconciliation layers to standardize metadata, identify duplicate listings, and create canonical records with Universal Product IDs. Shopify fine-tunes vision large language models for multiple tasks per catalogue entity, while streaming infrastructure processes more than 10 million product updates daily and serves 40 million multimodal LLM-powered inferences. The resulting data supports merchant-admin suggestions, search, recommendations, embeddings, and conversational commerce, although scalability, accuracy, latency, model consolidation, graph reasoning, and continuous retraining remain active challenges.


### [Notion’s hosted MCP server: an inside look](https://yomu.fyi/post/notion-s-hosted-mcp-server-an-inside-look.md)
- Company: [Notion](https://yomu.fyi/company/notion.md)
- Author: Kenneth Sinder
- Published: Jul 15, 2025
- Type: Explainer

Notion’s hosted Model Context Protocol (MCP) server describes its move from a downloadable MCP server to an all-in-one hosted service that lets AI clients such as Cursor and Claude Desktop interact with workspaces. The initial proof of concept generated MCP tools from Notion’s OpenAPI schema, mapping endpoints one-to-one to API calls, but setup required API keys or Docker and the approach consumed substantial context when handling hierarchical block JSON. The hosted version uses a code-generation pipeline that converts OpenAPI schemas to Zod, combines rewritten AI-oriented tools with wrappers for existing v1 APIs, and exposes them through a central integration. Users connect through one-click OAuth; the server manages sessions and tokens, with streamable HTTP and SSE supported for client compatibility. A design change is Notion-flavoured Markdown, which represents blocks including callouts, columns, pages, and databases more efficiently for agent conversations, while semantic search can span Notion and over ten third-party apps.


### [How To Build Agents Users Can Trust](https://yomu.fyi/post/how-to-build-agents-users-can-trust.md)
- Company: [Ramp](https://yomu.fyi/company/ramp.md)
- Author: CJ Enright, Will Koh, Felix Zhang
- Published: Jul 10, 2025
- Type: Explainer

Ramp describes how it built and shipped LLM-backed agents for expense management, focusing on the trust risks created by low-quality or unexpected finance outputs. It recommends choosing ambiguous, high-volume problems with asymmetric upside, then combining reasoning and citations grounded in product or user-provided context with an explicit “Needs review” path when the agent is unsure. The policy agent uses expense policies to approve, reject, or escalate expenses, while deterministic rules such as dollar limits, vendor blocklists, and category restrictions constrain autonomy. Ramp reports that more than 65% of approvals are fully handled by the agent, while users can progressively move from suggestions to autonomous actions through workflow-based controls and evaluation.


### [How we built it: Jurisdiction resolution for Stripe Tax](https://yomu.fyi/post/how-we-built-it-jurisdiction-resolution-for-stripe-tax.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Erich Rentz
- Published: Jul 10, 2025
- Type: Explainer

Stripe Tax’s jurisdiction resolution system (JRS) determines which US taxing jurisdictions apply to a transaction, a difficult task because more than 16,000 combinations of rates and rules depend on intricate, changing boundaries. Its offline geographic information system cleans and standardizes boundary data, overlays states, counties, cities, and districts, and generates time-aware Stripe places of taxation (SPOTs), while the online system matches an address to the relevant SPOT. To reduce point-in-polygon latency, JRS indexes nested bounding boxes in a balanced R-tree rebuilt with the Sort-Tile-Recursive algorithm, narrowing candidates before applying the final polygon calculation; disjoint SPOTs are split and smaller boxes prioritized. Most states achieve address matching in a few milliseconds, with 95th-percentile latency below 10 milliseconds except South Carolina, while historical SPOT data creates an ongoing memory challenge.


### [Workflows: Creating early fraud alerts for streamlined refunds](https://yomu.fyi/post/workflows-creating-early-fraud-alerts-for-streamlined-refunds.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Ashley Ansari
- Published: Jul 10, 2025
- Type: Tutorial

Stripe Workflows can automate responses to early fraud warnings so potentially fraudulent charges receive refunds when disputing them would be more costly. The workflow starts when an early fraud warning is created in Radar, retrieves the related charge using its Charge ID, and checks whether the amount is less than 15 USD. If the condition is met, it creates a refund; if it is not met, an optional branch can email a team member for manual review. Workflows uses a visual builder in the Stripe dashboard, where triggers, actions, and conditions run sequentially across multiple Stripe products, while Stripe Radar provides real-time fraud protection and Radar for Fraud Teams adds customization and deeper insights.


### [OpenTelemetry, Kubernetes, and Fir: Putting it All Together](https://yomu.fyi/post/opentelemetry-kubernetes-and-fir-putting-it-all-together.md)
- Company: [Heroku](https://yomu.fyi/company/heroku.md)
- Author: Ken W. Alger
- Published: Jul 9, 2025
- Type: Explainer

Modern cloud-native applications span distributed microservices and dynamic environments, making performance diagnosis and failure analysis dependent on observability. The post explains how Fir, Heroku’s next-generation platform, combines Kubernetes infrastructure with OpenTelemetry to provide standardized visibility while hiding Kubernetes complexity behind Heroku’s interface. Fir runs on AWS EKS, uses OCI images and Cloud Native Buildpacks, and includes a Heroku OpenTelemetry Collector that gathers telemetry from applications, the Heroku router, and the Heroku API. OpenTelemetry’s APIs, SDKs, Collector, and OTLP support logs, metrics, and traces, with drains routing data to dashboards, CLI logs, or external observability platforms. The text also distinguishes OTLP gRPC and HTTP transports, noting gRPC efficiency and features versus HTTP’s firewall compatibility, and presents Fir’s open standards as a way to support scaling, hybrid environments, and reduce lock-in.


### [How European businesses are turning company knowledge into competitive advantage](https://yomu.fyi/post/how-european-businesses-are-turning-company-knowledge-into-competitive.md)
- Company: [Notion](https://yomu.fyi/company/notion.md)
- Author: Laura Gregg
- Published: Jul 7, 2025
- Type: Explainer

European businesses hold valuable collective knowledge, but employees often spend hours searching across fragmented tools and storage systems for information that exists somewhere. The report presents a survey of 650 decision-makers across the UK, France, Germany, and eight other European countries to examine how organizations are responding to AI in knowledge management. Although 97% identify effective knowledge management as a competitive-advantage driver, only 28% use a structured, centralized approach; multiple tools cost nearly five working weeks per employee annually, while AI adopters are four times more likely to report significant cost savings. It also says 90% of respondents see Gen Z as a force for simpler, more transparent systems, and presents coordinated strategy, systems, and technology as ways to improve collaboration and decision speed.


### [DispatchGym: Grab’s reinforcement learning research framework](https://yomu.fyi/post/dispatchgym-grab-s-reinforcement-learning-research-framework.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Tan Sien Yi
- Published: Jul 7, 2025
- Type: Explainer

DispatchGym is a research framework for reinforcement learning (RL) studies in dispatch systems that match bookings with drivers. It combines an RL algorithm, a dispatch-process simulation, and a Gymnasium API interface, allowing data scientists with basic RL and Python skills to modify and test ideas independently. The simulated environment models booking creation, driver dispatch and movement, and booking completion, prioritizing directional accuracy over exact metric matching; its modular Python architecture uses Numba to reduce runtime overhead. A command-line upload launches the modified code on internal infrastructure as a Spark job, avoiding infrastructure management while preserving flexibility across simulation and optimization components. The framework supported experiments with contextual bandits, including linear, neural-linear, and Gaussian-process variants alongside several action-sampling strategies, to identify combinations of levers and reward functions for dispatch hyperparameter tuning and improved fulfilment efficiency and reliability.


### [Clarifying our pricing](https://yomu.fyi/post/clarifying-our-pricing.md)
- Company: [Cursor](https://yomu.fyi/company/cursor.md)
- Author: Michael Truell
- Published: Jul 4, 2025
- Type: Announcement

Cursor acknowledges that its individual-plan pricing changes were communicated poorly and says the rollout damaged user trust. The revised Pro plan includes unlimited Tab and Auto usage, $20 of monthly frontier-model usage at API pricing, and the option to buy additional frontier usage at cost; a spend limit is available for users who do not want Auto. The company says it replaced a 500-request monthly allowance with usage credits because token costs vary substantially across models and tasks, while Auto routes requests among frontier models based on capacity. It clarifies that unlimited usage applies only to Auto, estimating the included Pro pool covers about 225 Sonnet 4, 550 Gemini, or 650 GPT 4.1 requests at median usage. Users with unexpected charges from June 16 through July 4 can request full refunds, alongside promised clearer notices, documentation, and dashboard visibility.


### [Augmented commerce: Machine learning at Shopify](https://yomu.fyi/post/augmented-commerce-machine-learning-at-shopify.md)
- Company: [Shopify](https://yomu.fyi/company/shopify.md)
- Author: 2023-10-18
- Published: Jul 4, 2025
- Type: Explainer

Shopify frames commerce as a complex, continuous optimization problem in which merchants have different definitions of success and need support across the business lifecycle. Its machine-learning work uses a historical dataset covering millions of businesses to optimize product metadata, transaction fraud assessment, merchant assistance, product discovery, capital decisions, behavioral modeling, and search query rewriting. The systems include fine-tuned Qwen multimodal models, LLaMa models and MCPs for Sidekick, Nomic embeddings for billions of products, a tabular transformer for forecasting merchant GMV, and experiments with HSTU sequence models. To support this work, Shopify partners with GCP, Nebius, CentML, and Toloka, while providing access to GPUs, data services, frontier models, and internal tooling; the post also presents these efforts as part of its hiring pitch.


### [Stay within limits: API rate-limit-friendly pattern for Stripe webhooks](https://yomu.fyi/post/stay-within-limits-api-rate-limit-friendly-pattern-for-stripe-webhooks.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Phil Leggetter
- Published: Jul 3, 2025
- Type: Tutorial

Stripe webhook handlers that treat events as signals and fetch the latest resource can preserve correctness when payloads are stale, partial, duplicated, or out of order, but bursts of events can drive excessive API traffic. The post describes Stripe’s general limit as 100 read requests per second and notes that exceeding it produces 429 responses. Its solution places Hookdeck Event Gateway between Stripe and the application: Hookdeck authenticates and queues incoming webhooks, throttles delivery, and lets the handler retrieve the current Stripe resource at a controlled pace. The Express.js flow verifies the Hookdeck signature, checks the event and resource ID, fetches the invoice with the Stripe SDK, and supports queue monitoring, alerts, and retries for backpressure.


### [Stripe for marketplaces: Mapping commercial relationships in code](https://yomu.fyi/post/stripe-for-marketplaces-mapping-commercial-relationships-in-code.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Ana Andres
- Published: Jul 3, 2025
- Type: Tutorial

The post presents a guide to mapping marketplace relationships among buyers, sellers, and the platform in Stripe Connect, focusing on payment processing, seller onboarding, payouts, fees, refunds, and disputes. It uses Greens & Dairy Mart, a fictitious farm marketplace, to show how an unlicensed marketplace can manage payments with Stripe while meeting applicable regulatory requirements. Using the Account API, connected accounts, controller settings, KYC links, capabilities, Payment Intents, transfers, and webhooks, the implementation encodes responsibilities and money movements. Greens & Dairy Mart charges customers after farmers confirm dispatch, pays farmers after delivery confirmation, and retains 15% of the final price. The guide also shows refund and transfer reversal flows, including recovering disputed amounts from a seller’s balance, and concludes that Connect APIs can automate complex marketplace contracts and financial interactions.


### [Using Connect embedded components to streamline your Connect onboarding flow](https://yomu.fyi/post/using-connect-embedded-components-to-streamline-your-connect-onboardin.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Jorge Aguirre Gonzalez
- Published: Jul 2, 2025
- Type: Tutorial

Furever, a test Connect platform for pet grooming, needs to onboard connected accounts and keep them compliant and activated while reducing friction. It first creates Custom accounts with card\_payments and transfers requested, then contrasts Stripe-hosted account links with an embedded flow built from Account Sessions, loadConnectAndInitialize, and ConnectAccountOnboarding. The integration supports appearance variables for branding, disable\_stripe\_user\_authentication when the platform owns losses and requirement collection, and onStepChange analytics for onboarding progress. A shared connectInstance can also render ConnectPayments, which provides payment listing, refunds, and dispute management without building that interface; the source also notes localization, framework support beyond React, and additional components.


### [Cursor on web and mobile](https://yomu.fyi/post/cursor-on-web-and-mobile.md)
- Company: [Cursor](https://yomu.fyi/company/cursor.md)
- Author: Andrew Milich & Jason Ginsberg
- Published: Jun 30, 2025
- Type: Announcement

Cursor announces that its Agents are available on the web and mobile, extending the IDE-based agent to desktop, tablet, and mobile browsers. Agents can run bug fixes, build features, answer complex codebase questions, and scaffold work in the background, while users can include images, add follow-up instructions, and run multiple agents in parallel. Repository-access team members can review diffs and pull requests or create pull requests from the web interface; the service can also be installed as a Progressive Web App on iOS or Android. Slack integration sends completion notifications and lets users trigger agents with “@Cursor,” and work can later be reviewed, extended, or edited inline in Cursor on a laptop.


### [Remixing Shopify's Admin: How We Made It 30% Faster and AI-Ready](https://yomu.fyi/post/remixing-shopify-s-admin-how-we-made-it-30-faster-and-ai-ready.md)
- Company: [Shopify](https://yomu.fyi/company/shopify.md)
- Author: 2023-10-18
- Published: Jun 30, 2025
- Type: Problem & solution

Shopify rebuilt its Admin architecture to address inconsistent loading, duplicate requests, and fragmented route knowledge across a TypeScript codebase serving 67 million daily page views. With 101 teams contributing about 350 pull requests daily and the codebase containing 3,184,248 lines of TypeScript, the work adopted Remix with Vite and SPA mode. Typed route manifests, globbed by Vite, now define metadata and a single source of truth for 1,017 routes, while Remix loaders start data fetching before large component bundles finish loading. Idle-time prefetching warms the Apollo cache, and persistent IndexDB storage helps frequently visited pages load between sessions. The changes delivered a 30% improvement in perceived load times, standardized transitions, and created an architecture in which Remix actions and zod schemas let Sidekick discover forms, validate inputs, and submit tasks without loading unnecessary JavaScript.


### [Implementing scalable metered billing with Stripe: How Edgee handles billions of events](https://yomu.fyi/post/implementing-scalable-metered-billing-with-stripe-how-edgee-handles-bi.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Alex Casalboni
- Published: Jun 24, 2025
- Type: Problem & solution

Edgee needed usage-based billing for a business combining flat-rate subscriptions with charges for proxy requests and delivered data events, while processing billions of monthly requests across more than 100 edge locations. Its architecture captures web data at the edge through a proxy and records raw metering data centrally in Google BigQuery. To control several terabytes of data, Edgee aggregates usage by tenant and sends hourly Stripe meter events through AWS Lambda, with graduated pricing and idempotency handled by Stripe. A Go configuration defines meters, prices, flat-rate plans, and pricing tiers, while retry logic and idempotent updates support resilience during disruptions. The resulting billing system remains stateless and low-latency while providing accurate monthly invoicing and a simple hosted customer interface.


### [Integrate Your Enterprise AI Tools with Cross App Access (XAA)](https://yomu.fyi/post/integrate-your-enterprise-ai-tools-with-cross-app-access-xaa.md)
- Company: [Okta](https://yomu.fyi/company/okta.md)
- Author: Semona Igama
- Published: Jun 23, 2025
- Type: Explainer

Enterprise AI tools increasingly use protocols such as Model Context Protocol (MCP) to request data and resources from work applications, creating identity and authorization challenges that ordinary app-to-app consent does not expose to enterprise administrators. Cross App Access (XAA) places the enterprise identity provider between the requesting application and resource application by combining OAuth Token Exchange (RFC 8693), JWT Profile for Authorization Grants (RFC 7523), and the Identity Assertion Authorization Grant profile. In the illustrated flow, a user signs in to Agent0, the IdP issues an ID token, and Agent0 exchanges it for an ID-JAG targeted at Todo0’s authorization server. Todo0 validates that assertion and returns its normal access token, enabling MCP requests without interactive consent while allowing enterprise policy checks. The design leaves access-token format and validation with the resource application, while refresh-token behavior remains to be defined to balance policy enforcement and session continuity.


[Newer posts](https://yomu.fyi/posts/page/175.md) · [Older posts](https://yomu.fyi/posts/page/177.md)
