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
Clarifying our pricing
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
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
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
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
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
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
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
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)
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.
Brand Audit: The 7-Step Process (With Checklist)
A brand audit evaluates internal and external branding against strategy, customer perceptions, web and social performance, financial outcomes, and competitors. The seven-step framework begins by defining mission, vision, values, objectives, roles, and data access, then gathering quantitative and qualitative customer feedback through surveys, interviews, focus groups, feedback forms, and social listening. It then reviews traffic sources, engagement, conversions, SEO rankings, social reach, sentiment, mentions, audience makeup, sales, revenue, market share, acquisition cost, repeat purchases, customer lifetime value, and loyalty measures. Competitor benchmarking compares offerings, pricing, messaging, visual branding, channels, SEO, and share of voice, with SWOT analysis providing a relative view of strengths, weaknesses, opportunities, and threats. Finally, findings become an action plan with specific KPIs and timelines, while ongoing monitoring and annual or bi-annual audits support continuous improvement.
Counter Service: How we rewrote it in Rust
The Integrity Data Platform team rewrote Counter Service, a high-QPS Golang microservice that consumes streams, writes counts to Scylla, and exposes gRPC queries backed by Scylla and Redis. They selected it because BatchRead reached tens of thousands of QPS while remaining constrained in functionality, making infrastructure savings potentially worth the rewrite effort and Rust learning curve. Rather than translating code line by line, the team treated the existing service as a black box, preserved its interfaces and contracts, and rebuilt the application logic from scratch; it also assessed Rust ecosystem support for dependencies including tonic, Actix Web, Fred, and the Scylla driver. The rewrite delivered similar performance with 70% infrastructure savings, according to the abstract. The conclusion reports the service as 80% cheaper, endorses Rust for new services, and cautions that async Rust is challenging.
Measuring Commercial Impact at Scale at Canva
Canva needed a scalable, standardized way to calculate the commercial impact of thousands of annual experiments on key business metrics like Monthly Active Users and Annual Recurring Revenue. Previously, disparate teams spent over six hours per experiment performing manual, error-prone calculations across fragmented spreadsheets and inconsistent data models. To resolve this, Canva built the IMPACT app using Snowflake, Streamlit, Snowpark, and Cortex to provide a self-serve platform tied directly to its central finance model. The application scales local uplift by actual audience exposure and supports pre-experiment scenario modeling alongside post-experiment tracking. A custom deployment workflow generates pull-request-isolated Streamlit environments in Snowflake stages, reducing time-to-insight to under ten minutes while enabling multiple developers to safely build and demo features in parallel.
Phoenix.new – The Remote AI Runtime for Phoenix
Phoenix.new is presented as a batteries-included, fully online coding agent designed for Elixir and Phoenix, after an initial weekend project grew into a system that generated Phoenix applications and drove an in-browser IDE. It runs in an ephemeral Fly Machine, giving the agent and user a shared root shell while isolating local machines; applications launch in the cloud with preview URLs, GitHub integration, and Fly.io infrastructure guardrails. A headless Chrome browser lets the agent inspect page content and JavaScript state, interact with front ends, and correlate changes with server-side logs while testing applications. The system already handles full-stack applications using WebSockets, Phoenix Presence, and real databases, can work with other installed languages and frameworks, and is being used to triage GitHub issues and produce pull requests asynchronously.
The Future of React Native Graphics: WebGPU, Skia, and Beyond
React Native WebGPU and React Native Skia are presented as a graphics stack for advanced 2D, 3D, and general-purpose GPU workloads in native applications. The work uses Skia Graphite with Dawn, Google’s open-source WebGPU implementation, to replace separate OpenGL and Metal backend implementations with a unified architecture, while enabling Three.js, React Three Fiber, TensorFlow.js, and compute shaders. Three.js Shading Language lets the same shaders target WebGPU and WebGL, and Shopify’s Black Friday globe prototypes run natively with identical results to the web version. Architectural changes in React Native Skia moved from a mutable SkiaDOM to an immutable fabric reconciler, producing reported animation gains of up to 50% on iOS and nearly 200% on Android, plus 98% of reported Android crashes fixed. Graphite remains experimental, but adds dedicated-thread canvases and bidirectional 2D/3D composition, while Skia also supports macOS, tvOS, and headless Node.js rendering.
Introducing Roast: Structured AI workflows made easy
Shopify’s Augmented Engineering Developer Experience team built and open-sourced Roast to make AI-assisted developer workflows more reliable than free-form agents operating across large codebases. Roast is a convention-oriented orchestration framework that combines non-deterministic AI behavior with ordinary code execution through YAML workflows, Markdown prompts, shell commands, Ruby steps, and parallel or conditional control flow. Its shared context, built-in tools, Claude Code integration through CodingAgent, and automatic session replay support workflows that are version-controlled, testable, resumable, and adaptive within defined guardrails. Shopify reports using it to analyze test quality at scale, add Sorbet annotations through the Boba workflow, aggregate competitive intelligence, and research code history, while the project is distributed as a Ruby gem and supports AI providers through Raix.
First Block with Michael Truell, Co-founder and CEO of Cursor
Michael Truell, co-founder and CEO of Cursor, recounts the company’s path from an initial mechanical-engineering AI project to an AI code editor and developer tool. He describes the pivot, the decision to fork VS Code, and the challenge of building AI-native coding tools while balancing speed with control. Cursor initially prioritized product quality over networking, speaking events, and hiring, then added roughly one person every two to three months while scrutinizing its first hires for belief in the vision and dissatisfaction with the current state. Truell argues that founders should question startup orthodoxy rather than follow universal rules, citing Cursor’s solution-first origin, four-person founding team, and deliberately slow hiring before its reported rapid growth.
How Ramp Fixes Merchant Matches with AI
Ramp describes the difficulty of mapping payment-processor card acceptor data to useful merchant records when names, MCCs, and locations are vague, misleading, or affected by rebranding. Users can submit a replacement merchant name, website, and category, but deciding whether the request is legitimate and whether to update an existing record or create one requires additional context from related receipts, extracted line items, and transaction memos. Ramp addresses this with an AI agent built around an LLM, embeddings, rapid online analytical processing queries, multimodal retrieval-augmented generation, and guardrails that constrain permitted changes. The agent handles requests in under 10 seconds, and monitoring indicates it improves nearly 99% of transaction classifications, while fewer than 10% receive a second correction request. The same flow has also been extended to batch remapping and credit-card statement matching.
Superheroes, Startups, and Security: Sohail's Path to Developer Advocacy at Okta
Sohail Pathan describes his path from Android development to a Senior Developer Advocate role at Okta, tracing how curiosity about technology grew into community and developer relations work. After studying Computer Science and adopting Kotlin for Android app projects, he moved from an EdTech startup’s Android team into its first Developer Community Manager role, organizing meetups, answering forum questions, and supporting learners. At a deeptech startup, he led Developer Relations for a cloud-based Android Studio tool, using meetups, hackathons, and feedback to seek product-market fit before technical roadblocks and limited demand forced closure after four months. At ApyHub, he created Go and Node.js tutorials, sample apps, API documentation, and community programs while gaining hands-on experience with REST architecture, microservices, API gateways, containers, load balancing, DevOps, OAuth, and identity management. He says that exposure led him to Okta, where he plans to share API and identity knowledge with its community.
How Notion helped a college “tools guy” build a business serving 150+ clients
Tem Nugmanov turned his reputation as a college “tools guy” into Optemization, a consultancy built around improving companies’ collaboration and productivity tools. The business began when an entrepreneur asked him to help move a startup to Notion, and five years later it had served more than 150 clients, including Discord, CashApp, and Metalab, while becoming a million-dollar agency. For Blank Street, Optemization rebuilt the Notion workspace with individual team pages, cross-functional databases, and automated processes to support onboarding, store expansion, and information access. The redesigned workspace became the coffee chain’s digital office, housing its newsletter, resource hub, and location information, while Tem reports that the consultancy now makes over $80,000 a month. He attributes the company’s development to starting before he felt ready, maintaining self-belief, and returning to hands-on building.
The complete stream processing journey on FlinkSQL
The post describes replacing per-user Zeppelin notebooks with a shared FlinkSQL gateway to improve interactive stream processing over Kafka data and support production pipelines. Zeppelin notebooks were limited by support for Flink 1.17, roughly five-minute cold starts, and isolation from internal platforms, while current Flink was 1.20. The replacement uses compute, integration, and query layers: a shared FlinkSQL gateway submits SQL through its REST API to session-cluster jobs, while a custom control plane handles authentication, authorization, session management, orchestration, and paginated results for UI and headless API clients. An interactive UI uses a Hive Metastore catalog to expose Kafka topics as tables, and the platform returns results in one minute rather than five; a configuration-based deployment tool provisions resources and deploys SQL-defined Flink pipelines within ten minutes. After release, the post reports an uptick in created pipelines and interactive queries, but it does not quantify that increase.
Top topics
- Architecture834
- Performance816
- LLMs660
- Machine Learning622
- Open Source563
- AI Agents553
- AI470
- Developer Experience448
Weekly digest
The best engineering reads, once a week.