---
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

### [Brand Audit: The 7-Step Process (With Checklist)](https://yomu.fyi/post/brand-audit-the-7-step-process-with-checklist.md)
- Company: [Brandwatch](https://yomu.fyi/company/brandwatch.md)
- Author: Content Bot
- Published: Jun 20, 2025
- Type: Tutorial

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](https://yomu.fyi/post/counter-service-how-we-rewrote-it-in-rust.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Jia Long Loh
- Published: Jun 20, 2025
- Type: Problem & solution

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](https://yomu.fyi/post/measuring-commercial-impact-at-scale-at-canva.md)
- Company: [Canva](https://yomu.fyi/company/canva.md)
- Author: Jun Ye
- Published: Jun 20, 2025
- Type: Problem & solution

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](https://yomu.fyi/post/phoenix-new-the-remote-ai-runtime-for-phoenix.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: Jun 20, 2025
- Type: Announcement

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](https://yomu.fyi/post/the-future-of-react-native-graphics-webgpu-skia-and-beyond.md)
- Company: [Shopify](https://yomu.fyi/company/shopify.md)
- Author: 2023-10-18
- Published: Jun 20, 2025
- Type: Announcement

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](https://yomu.fyi/post/introducing-roast-structured-ai-workflows-made-easy.md)
- Company: [Shopify](https://yomu.fyi/company/shopify.md)
- Author: 2023-10-18
- Published: Jun 18, 2025
- Type: Announcement

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](https://yomu.fyi/post/first-block-with-michael-truell-co-founder-and-ceo-of-cursor.md)
- Company: [Notion](https://yomu.fyi/company/notion.md)
- Author: Anastasia Crew
- Published: Jun 17, 2025
- Type: Explainer

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](https://yomu.fyi/post/how-ramp-fixes-merchant-matches-with-ai.md)
- Company: [Ramp](https://yomu.fyi/company/ramp.md)
- Author: Chami Lamelas, Anton Biryukov
- Published: Jun 16, 2025
- Type: Problem & solution

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](https://yomu.fyi/post/superheroes-startups-and-security-sohail-s-path-to-developer-advocacy.md)
- Company: [Okta](https://yomu.fyi/company/okta.md)
- Author: Sohail Pathan
- Published: Jun 16, 2025
- Type: Announcement

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](https://yomu.fyi/post/how-notion-helped-a-college-tools-guy-build-a-business-serving-150-cli.md)
- Company: [Notion](https://yomu.fyi/company/notion.md)
- Published: Jun 13, 2025
- Type: Explainer

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](https://yomu.fyi/post/the-complete-stream-processing-journey-on-flinksql.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Calvin Tran
- Published: Jun 12, 2025
- Type: Problem & solution

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.


### [What are MCP Servers?](https://yomu.fyi/post/what-are-mcp-servers.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: Jun 12, 2025
- Type: Explainer

This explainer clarifies what Model Context Protocol (MCP) servers do and where they differ from conventional APIs, serverless functions, and standalone appliances. It frames MCP servers as Alexa Skills that connect capabilities to an LLM, then as JSON-based APIs with multiplexing, server push, and built-in introspection for discovering tools, arguments, and usage descriptions. The post cautions that blindly generating an MCP server from an OpenAPI schema may expose low-level calls rather than agent-oriented workflows, and notes that MCP servers have a long-lived initialization, operation, and shutdown lifecycle rather than a serverless one. It also argues that MCP is not inherently secure or private, recommending remotely hosted servers protected by revocable bearer tokens, and envisions customized MCP-based agents becoming family-like assistants rather than mere appliances.


### [Introducing the commerce payments protocol](https://yomu.fyi/post/introducing-the-commerce-payments-protocol.md)
- Company: [Shopify](https://yomu.fyi/company/shopify.md)
- Author: 2023-10-18
- Published: Jun 12, 2025
- Type: Announcement

Coinbase and Shopify are launching the Commerce Payments Protocol to support real-world commerce onchain, where direct token transfers do not handle checkout, settlement, fulfillment, cancellations, and refunds. The protocol uses an escrow smart contract to authorize payments by moving funds from the payer into escrow, then capture funds for the receiver later or in multiple partial increments. An operator role submits transactions for the parties, while payer-signed payment details constrain fields such as the receiver, token, maximum amount, and expiries. The protocol is available on Base and powers Shopify’s new USDC payment method, which is rolling out to millions of Shopify Payments stores; its six core operations include authorize, charge, void, reclaim, and refund, with the source also describing capture.


### [Stop juggling multiple POS devices with Stripe Terminal](https://yomu.fyi/post/stop-juggling-multiple-pos-devices-with-stripe-terminal.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Andrew Robinson
- Published: Jun 12, 2025
- Type: Tutorial

Traditional point-of-sale workflows often collect signatures, contact details, receipt preferences, and other customer information through separate devices, verbal input, or manual entry, creating errors, delays, and clutter. Stripe Terminal’s on-screen input collection lets businesses request this data on a compatible reader, supporting selection, signature, email, phone, text, and numeric fields before or after payment. Developers configure forms with the Stripe API or Terminal SDKs, can sequence multiple inputs and attach metadata, and receive responses through terminal.reader.action\_succeeded webhooks; signature files are returned by file ID and need to be downloaded within 24 hours. The rental-car example uses selection and email forms for reservation lookup, followed by an on-reader agreement signature, replacing a separate signature pad and manual transcription while giving the POS more accurate data for receipts, lookups, and loyalty interactions.


### [Yes, You Can Use AI in Our Interviews. In fact, we insist](https://yomu.fyi/post/yes-you-can-use-ai-in-our-interviews-in-fact-we-insist.md)
- Company: [Canva](https://yomu.fyi/company/canva.md)
- Author: Simon Newton
- Published: Jun 11, 2025
- Type: Announcement

Canva has updated its technical hiring process to require backend, machine learning, and frontend engineering candidates to utilize artificial intelligence tools such as Copilot, Cursor, and Claude during interviews. The transition addresses the limitations of traditional computer science fundamentals tests, which focused on writing algorithmic code from scratch even though AI assistants can generate complete solutions in seconds. To better evaluate on-the-job engineering capabilities, the company replaced its legacy screening with an AI-assisted coding competency that features complex, ambiguous product challenges such as designing an airport control system. Interviewers assess how candidates clarify requirements, guide tools on subtasks, debug flawed output, and verify that AI-generated code meets production quality standards. Candidates receive advance notice of these expectations, helping ensure prospective hires demonstrate strong engineering judgment when collaborating with assistive coding technologies.


### [Local Speed, Smooth Deploys: Heroku Adds Support for uv](https://yomu.fyi/post/local-speed-smooth-deploys-heroku-adds-support-for-uv.md)
- Company: [Heroku](https://yomu.fyi/company/heroku.md)
- Author: Ken W. Alger
- Published: Jun 4, 2025
- Type: Announcement

Heroku now natively supports uv, a Rust-written Python package manager presented as a faster alternative to pip for dependency resolution, installation, and virtual-environment management. The post connects this support to recurring problems in modern Python projects, including slow installs, complex dependency trees, version pinning, and tooling that may struggle to keep pace with current standards. It walks through installing uv, running uv init, adding Flask and Gunicorn with uv add, and deploying a basic Flask application using a Procfile, pyproject.toml, uv.lock, and .python-version. Heroku detects the Python app, installs dependencies from these project files, and starts it with gunicorn main:app after a Git push. The stated outcome is faster local development, more consistent environments, reduced onboarding time, fewer flaky builds, and improved pipeline performance, while uv remains relatively new.


### [Navigating The AI Revolution: The Importance Of Adaptation](https://yomu.fyi/post/navigating-the-ai-revolution-the-importance-of-adaptation.md)
- Company: [MongoDB](https://yomu.fyi/company/mongodb.md)
- Published: Jun 4, 2025
- Type: Problem & solution

A TDWI survey conducted with MongoDB and Capgemini found that only 11% of companies have AI applications in production, despite widespread recognition of AI’s value. The report identifies data readiness challenges including managing diverse data types, ensuring accessibility, and providing sufficient compute power, with less than half of companies managing newer data formats and only 41% feeling they have enough compute. The post argues that AI applications are dynamic, continuously adapting and learning from user behavior, requiring a flexible data foundation unlike traditional static software. MongoDB positions its modern database solutions as essential, citing examples like Lombard Odier’s modernization with generative AI tooling and Victoria’s Secret’s AI-powered visual search using MongoDB Atlas Vector Search. The post concludes that organizations must modernize their tech stacks and execution to keep pace with AI-driven change, or risk being left behind.


### [My AI Skeptic Friends Are All Nuts](https://yomu.fyi/post/my-ai-skeptic-friends-are-all-nuts.md)
- Company: [Fly.io](https://yomu.fyi/company/fly-io.md)
- Published: Jun 2, 2025
- Type: Explainer

The essay argues that skepticism about LLMs for software development often reflects outdated experience with chat-based code generation rather than current agent workflows. Modern coding agents inspect repositories, edit files, invoke Unix tools and MCP calls, use Git, and run linters, compilers, tests, and model checkers, turning feedback into iterative repairs. The author says these systems can automate tedious typing, lookup, bookkeeping, test refactoring, and edit-compile-test-debug cycles while developers retain responsibility for curation, judgment, direction, and reviewing merged code. Hallucinations are presented as substantially mitigated by tool-based validation, although the author notes that agents remain unsuitable for some trusted operations and that effectiveness depends on language, tooling, prompts, indices, and guardrails. The conclusion is that AI-assisted programming is already materially changing developer productivity, despite its noise and unresolved limitations.


### [Extending Docusign with Stripe to automate complex billing workflows](https://yomu.fyi/post/extending-docusign-with-stripe-to-automate-complex-billing-workflows.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Paige Rossi
- Published: Jun 2, 2025
- Type: Tutorial

Docusign’s Stripe extension app addresses agreement workflows that continue beyond eSignature, where customer and billing data previously required manual transfer or complex integrations between platforms. The post shows how to install the app, start from the “Send new customer data to Stripe for invoicing” Maestro workflow template, and map web-form data to Stripe Customer, Invoice, InvoiceItem, and Email Invoice steps. It also explains how developers can switch the workflow to an API trigger, retrieve trigger requirements, and launch an instance with two authenticated API calls: one GET and one POST. The resulting flow collects customer information, creates a Stripe customer and draft invoice, adds an invoice item, and sends the invoice, while the returned instance URL can be opened or embedded for participants.


### [Heroku Postgres Upgrade Guide: Simplify Your Move to Version 17](https://yomu.fyi/post/heroku-postgres-upgrade-guide-simplify-your-move-to-version-17.md)
- Company: [Heroku](https://yomu.fyi/company/heroku.md)
- Author: Kavya Premkumar
- Published: May 29, 2025
- Type: Tutorial

Heroku Postgres 17 is now available, and the platform introduces a simplified, self-service path for upgrading managed databases. The new heroku pg:upgrade:\* commands cover preparation, manual execution, cancellation, dry runs, and progress tracking, while email notifications report major stages and detected issues. Essential-tier databases can be upgraded directly with pg:upgrade:run; Standard-tier and higher databases can use a dry run, schedule an upgrade for the next maintenance window, or run it manually, with followers upgraded automatically. The in-place workflow uses an internal replica, leaves DATABASE\_URL and other config vars unchanged, and typically reduces downtime to about five to ten minutes. The legacy heroku pg:upgrade command will be deprecated soon, although the traditional follower approach remains available.


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