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
From RAG to Richness: How Ramp Revamped Industry Classification
Ramp's former industry classification system combined third-party data, sales-entered information, and customer self-reporting, creating inconsistent, overly broad, and unauditable categories. Precise classification was needed for compliance, portfolio monitoring, sales targeting, and product analytics, despite fuzzy boundaries, sparse data, and no ground truth. Ramp migrated to six-digit NAICS codes and built an in-house Retrieval-Augmented Generation model that embeds business data, retrieves candidate codes, and uses an LLM to select a final prediction. The system evaluates retrieval with accuracy-at-k and final predictions with a hierarchy-aware fuzzy-accuracy metric, while ClickHouse stores knowledge-base embeddings and Kafka logs intermediate results. Deployed guardrails validate output codes, and the model has improved data quality, consistency, auditability, and control over tuning and costs.
A new Tab model
Cursor announces Fusion, a next-generation model for Cursor Tab, which predicts edits near the cursor and “jumps” to likely next editing locations. The post positions this as a response to the limits of cursor-only text insertion, with a broader goal of reducing code-editing tedium and moving toward in-flow Next Action Prediction. Compared with the March 2024 model, Fusion predicts over 25% more difficult edits per line, suggests over 10x longer change stretches, cuts median server latency from 475ms to 260ms, expands context from 5,500 to 13,000 tokens, and adds instant, accurate cursor jumps. These gains are attributed to cleaner and larger datasets, longer editor-state prompts, training for larger edits, synthetic instruction-following data, and inference and performance improvements. Fusion is rolling out to all users in client release 0.45.0.
Five years of React Native at Shopify
Shopify reviews five years of using React Native (RN) as its mobile strategy, adopted to avoid duplicating features across iOS and Android, improve talent portability, and ship more value. Over that period, all of its apps migrated to RN through team-led, non-uniform plans, while native code remained part of the architecture rather than an alternative to eliminate. The company reports sub-500ms P75 screen loads in the Shopify app, similar performance across its apps, and more than 99.9% crash-free sessions, while noting that performance depends on applying sound patterns. Its experience credits hot reloading and TypeScript with developer productivity and cross-platform staffing, but identifies debugging, RN upgrades, and third-party dependency maintenance as costs. Shopify now emphasizes shared libraries, native expertise for platform-specific work, continued New Architecture adoption, and collaboration with the RN ecosystem.
Character Prefix Conditioning
The post poses a problem in code completion: generating a language-model completion that begins with the characters already typed by the user. Because modern models process token sequences rather than characters, naively tokenizing the input can produce the wrong result when the cursor falls inside a token. It introduces character prefix conditioning, defined as sampling tokens from an autoregressive distribution while constraining their decoded character string to start with the given prefix. The challenge is to construct an efficient autoregressive algorithm for this conditional distribution while minimizing calls to the original language model; the post requests either an algorithm description or an implementation.
The foundations of Canva’s continuous data platform with Snowpipe Streaming
As Canva expanded to over 200 million monthly active users, ingestion throughput reached 25 billion records daily, causing AWS Data Firehose costs to consume nearly half of the product analytics platform budget. To reduce these expenses and eliminate intermediate file staging, the engineering team integrated Snowflake's Snowpipe Streaming directly with their Java-based Kinesis Data Streams pipeline. The architecture streams records directly into Snowflake tables using logical channels with offset checkpoints while configuring client buffering up to a five-minute maximum lag. In handling Kinesis Client Library edge cases, record processors coordinate with the LeaseCoordinator to drop leases when channels become unhealthy. Operating in production for over six months, the system ingested more than 20.35 petabytes of data, decreased query latency to roughly ten minutes, and reduced overall cloud spend by 45 percent.
How to Submit Your System for Cross
Enterprise applications with SSO still need scalable identity management for customer organizations, including user provisioning, updates, and deprovisioning. This guide presents SCIM (System for Cross-domain Identity Management) as the standards-based connection to Okta for automating those lifecycle operations and controlling access. SCIM can synchronize users in real time as employees join, leave, or change roles, while reducing manual work and inconsistent deprovisioning risks. To submit the integration to the Okta Integration Network, partners need an Okta Integrator Free Plan, two Runscope test links for CRUD and SPEC tests, manual Okta SCIM integration tests, a provisioning-enabled instance, confirmation, and a publicly accessible SCIM server. The submission can expose an integration to Okta’s customer base of 18,000+ organizations and provide verified enterprise-ready status.
Embracing passwordless authentication with Grab’s Passkey
Grab’s Passkey adds passwordless authentication to its app to address phishing, keystroke-logging, brute-force, and other security threats associated with passwords plus the friction of OTP-based login. Built on the FIDO standard and implemented through WebAuthn, the flow uses a backend, frontend, and authenticator: the authenticator creates and stores a passkey, while Grab stores the public key and metadata. Registration uses a server-generated challenge and parameters including rp.id, user information, resident-key requirements, and supported public-key algorithms; sign-in returns a credential whose signature is verified against the stored public key. Google Password Manager and iCloud Keychain can sync passkeys across supported devices, and users authenticate with their screen lock rather than entering a password or waiting for an OTP. The implementation is described as faster, smoother, phishing-resistant login with potential savings on third-party authentication and messaging costs, while Grab plans to evaluate web login expansion through adoption, feedback, and usage data.
Canva incident report: API Gateway outage
On November 12, 2024, canva.com suffered an outage lasting approximately one hour due to cascading API Gateway failures. The disruption began when a stale Cloudflare routing rule induced severe latency and packet loss between Ashburn and Singapore during an editor asset deployment. Cloudflare's concurrent streaming mechanism consolidated over 270,000 user requests for a single delayed JavaScript chunk; when the asset finally loaded, clients simultaneously generated a 1.5 million requests-per-second thundering herd to Canva's API Gateway. This surge collided with a telemetry performance regression involving lock contention on Netty event loop threads, exhausting off-heap memory and causing the Linux Out Of Memory Killer to terminate API Gateway containers. Canva mitigated the failure by temporarily blocking all traffic at the CDN level, stabilizing replacement Amazon ECS tasks, and gradually restoring traffic under strict rate limits.
Building Effective AI Agents
Effective agentic systems need not begin with complex frameworks: the post reports that successful implementations commonly use simple, composable patterns and recommends choosing the least complex solution that meets the task's needs. It distinguishes workflows, which follow predefined code paths, from agents, where LLMs dynamically direct their processes and tool use. The proposed foundation is an augmented LLM with retrieval, tools, and memory, potentially integrated through the Model Context Protocol; larger designs include prompt chaining, routing, parallelization, and orchestrator-workers patterns. Frameworks can simplify implementation but may obscure prompts and responses, so direct API use and understanding underlying code are recommended. Tool definitions are treated as an interface requiring testing, clear examples, low formatting overhead, and mistake-resistant parameters; absolute filepaths eliminated observed errors in a coding agent.
Crush errors with Sandbox testing
Payment integrations can encounter errors caused by external events, such as network issues or outages, or by bugs in application code, and unhandled failures can stall checkout. The post presents Stripe Sandboxes as isolated environments for reproducing live-integration failures without changing live payment settings or traffic, optionally copying settings when a sandbox is created. Developers can use Workbench’s Errors and Logs views to diagnose a card_declined response, then route test requests through sandbox keys and a test card. On the Python backend, a try/except implementation catches Stripe errors and generic exceptions and returns an error response instead of leaving the payment page stalled. Sandboxes remain separate after creation, but each Stripe account can have at most five, so unused environments may be deleted or have their test data cleared while settings are preserved.
Testing Connect onboarding with Sandboxes
Stripe Connect testing can become unwieldy as platforms cover payment methods, US states, international countries, and merchant verification conditions, while the existing test mode stays synchronized with live settings. Sandboxes provide an isolated environment that can replicate a platform’s live configuration without affecting live payment traffic. The workflow covers creating a Sandbox, confirming that Connect settings such as negative-liability handling were preserved, and onboarding test connected accounts through Stripe-provided or custom flows. To reproduce a website-verification failure, a custom account can use “https://inaccessible.stripe.com”; after testing an update to “https://accessible.stripe.com” in the Sandbox, the platform can apply the fix to its production onboarding flow.
Heroku CLI v10: Support for Next Generation Heroku Platform
Heroku CLI v10.0.0 updates the command-line tool for the next-generation Fir platform while introducing breaking changes and a Node.js 20 runtime. Fir users must replace several legacy command forms, including logs and ps:stop/ps:restart arguments, and use heroku run:inside because heroku run, ps:exec, ps:copy, ps:forward, and ps:socks do not work with Fir apps. New Fir support includes heroku telemetry commands for OpenTelemetry, a generation selector for spaces:create, generation details in space commands, Fir-aware pipeline and buildpack output, and real-time log streaming with --tail. The release also upgrades oclif to v4.14.36, updates GitHub workflows to Node 20, fixes log color rendering, and is available through heroku update.
Developing a modern architecture for energy utilities with embedded finance
Energy utilities can use embedded finance to create marketplace-like experiences for tariffs, solar installations, smart-home devices, storage, and related services while capturing more energy-related revenue. The proposed foundation combines Stripe Online Payment Flows, Billing, Payments, Connect, and Data Pipeline with AWS serverless services, including Lambda, EventBridge, DynamoDB, Redshift, S3, and QuickSight. A tariff enrollment or payment can trigger webhooks and real-time event processing, while transaction and customer data support dashboards, usage insights, personalized recommendations, subscriptions, and broader partner offerings. The architecture also describes PCI Level 1 security, encryption, Radar, Strong Customer Authentication, AWS IAM, KMS, Shield, WAF, Config, Security Hub, and CloudWatch for compliance and monitoring. It concludes that this integrated payment, analytics, and security foundation can help utilities improve customer engagement, support sustainable programs, and develop new revenue streams.
How do I store inventory data in my Stripe application
The DevRel Swag Store uses Stripe payments and AWS services to keep product inventory accurate and visible in near real time. Stripe products retain core payment information, while Amazon DynamoDB stores inventory and other attributes, keyed by Stripe product ID and store ID; EventBridge routes payment events to Lambda, which atomically decrements stock and publishes updates through AWS IoT Core to the frontend. DynamoDB condition expressions prevent decrements when stock is insufficient, while post-payment validation and refunds address the delay before a Stripe Payment Link is disabled, although Stripe fees may be non-refundable. A custom Payment Intent flow can check stock before payment, authorize funds with manual capture for up to seven days, update inventory after payment success, and then capture the charge.
Japan community highlights: Effective testing and security
This article reports practical lessons from two September 2024 JP_Stripes events in Aizuwakamatsu and Sapporo for developing and operating Stripe-integrated services more efficiently and at lower cost. Sandboxes let teams create up to five separate test environments, reproduce payment failures and state transitions through Stripe's API, and use CI-specific workspaces without production access. Stripe Connect examples show how a three-person codoc team launched in nine months by staggering account creation and embedding payout and payment-management interfaces. For fraud prevention, the article recommends Radar or Radar for Teams with webhook automation, including early-fraud-warning events and preemptive cancellation or refunds when dispute fees exceed transaction value. Together, these cases emphasize using managed Stripe capabilities and community-shared implementation experience to reduce testing effort, UI work, and fraud-related costs.
Turbocharging GrabUnlimited with Temporal
Grab’s GrabUnlimited flagship membership program struggled as subscribers grew by over 1000% from January 2022 to June 2023. Its original design used a daily cron job for renewals, Amazon’s SQS to distribute state handlers, and five-minute Redis locks, but outages, corrupted states, concurrent cancellation and renewal, missed benefits, and non-idempotent retries created operational problems. The team migrated the service to a Temporal workflow-based system, enhancing its ability to handle millions of subscribers with greater efficiency and resilience. The source reports an 80% reduction in open production incidents and says the change improved the membership experience for users. This first part focuses on designing a robust and scalable membership system, while migration challenges and lessons are reserved for a subsequent installment.
The science of routing print orders
Canva's global print network requires selecting optimal suppliers to balance delivery times, packaging counts, and environmental emissions. To resolve these challenges before user checkout, the engineering team designed a modular routing architecture that decouples graph construction, decision logic, and path traversal. During graph traversal, the system generates action objects capturing forward paths and decision query results, which are compiled into timestamped routing logs in blob storage for asynchronous auditing. Utilizing preprocessed graph queries alongside ElastiCache, Redis, and database read replicas, the infrastructure sustains high-throughput evaluation without coupling cost logic to traversal code. As a result, print routing completes within an average of 50 milliseconds at the 99th percentile during peak usage while maintaining 99.999% data availability.
Enhance your monitoring by integrating Stripe events with AWS CloudWatch Log Groups
Stripe events notify account owners about changes such as successful charges, failed invoice payments, and available reconciliation reports. Because Stripe retains events for 13 months but exposes older events than 30 days only as summaries, Amazon EventBridge can route them into an AWS account and Amazon CloudWatch Log Groups can provide longer-term monitoring and analysis. The setup uses CloudWatch metric filters to match event types such as invoice.payment_failed, convert matches into custom metrics, and support alarms, Amazon SNS notifications, dashboards, and Logs Insights queries. For example, a failed-invoice alarm can use a five-minute observation period, Sum statistics, and a threshold based on expected failure volume or anomaly detection. The resulting setup supports near-real-time visibility into successful charges and failed payments, historical trend analysis, troubleshooting, and responses to unusual activity.
How we seamlessly migrated high volume real-time streaming traffic from one service to another with zero data loss and duplication
Grab migrated its stream-processing (write) functionality from an existing service into a separate service while handling 20,000 reads per second from 16 Kafka streams and writing to output streams and DynamoDB tables. The migration required gradual stream-by-stream rollout, production validation, and a no-downtime switchover; feature flags were rejected because deployment timing could cause loss, duplication, or inconsistent values. The team moved processing into shared /commons code, created temporary validation sinks, and scheduled each switchover with a shared map[string]time.Time, allowing both services to change writers at the same time. During each cutover, both services consumed streams, the old service stopped writing to resources, and monitoring continued before old consumption was removed; the result was zero data loss or duplication, no downtime, and completion in about three weeks. It was temporary and tested, but rolling back either service could create inconsistency if systems fell out of sync.
Friday, 4 PM: Best Time to Post on YouTube
The guide examines whether publishing time affects YouTube performance, while arguing that content quality, channel consistency, and audience preferences matter more than any universal schedule. It explains that early views, comments, and shares provide feedback to YouTube’s recommendation system, which can then surface videos to followers and other viewers on the home page and in suggested videos. General patterns favor afternoons and evenings, with Friday at about 4 p.m. identified as the strongest broad slot, although day-by-day windows vary and evergreen tutorials may benefit more from search-oriented titles and descriptions. The recommended workflow uses YouTube Studio Analytics and the “When your viewers are on YouTube” heatmap to select candidate times, then checks later engagement to see whether those patterns hold.
Top topics
- Architecture834
- Performance816
- LLMs660
- Machine Learning622
- Open Source563
- AI Agents553
- AI470
- Developer Experience448
Weekly digest
The best engineering reads, once a week.