Loading…
Browse by type
Tutorial reads
Tutorial posts on Yomu, summarised newest first.
- 615 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.
Tutorial posts
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.
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.
Stop juggling multiple POS devices with Stripe Terminal
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.
Extending Docusign with Stripe to automate complex billing workflows
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
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.
OpenTelemetry Basics on Heroku Fir
Heroku Fir includes OpenTelemetry as a built-in observability capability, addressing the need to monitor increasingly distributed and complex applications. The post introduces OpenTelemetry’s logs, metrics, and traces, while noting that events and profiles are under development. It distinguishes application-embedded SDKs, which generate and process telemetry, from standalone collectors that receive, process, and export data, although Fir acts as the central hub for telemetry pipelines. The walkthrough uses the Go getting-started app in a Fir space, creates Grafana Cloud credentials and environment variables, converts OTLP headers to JSON, and adds an HTTP Heroku Telemetry Drain with the CLI. After deployment and browser refreshes, application metrics appear in Grafana Cloud, followed by traces and logs.
Deploying a Simple Go/Gin Application on Heroku
Deploying a Go/Gin application can be simple locally but requires explicit preparation for cloud deployment, including dependency management, environment configuration, and a process definition. The guide initializes a Go module, adds Gin with go get, runs main.go locally, and verifies the API with curl, using Go 1.24.0 in its example. It then creates a Heroku app, adds a Procfile with web: go run main.go, runs go mod tidy, commits the project, and pushes the main branch to the Heroku remote. Heroku detects the Go app through go.mod, installs Go 1.24.0 and dependencies, builds ./bin/go-gin, and launches the web process; the deployed /quote endpoint returns JSON, while heroku logs --tail confirms a successful request.
SignalR Scalability: Scaling Real-Time SignalR Applications on Heroku
Scaling a SignalR application beyond one server requires coordination because each server maintains its own connected-client list. The guide builds a .NET 9.0 chat application, adds the Microsoft.AspNetCore.SignalR.StackExchangeRedis package, and configures Redis as a backplane with a SignalRChat channel prefix and environment-specific connection settings. It deploys the application to Heroku, changes the dyno type to standard-1x, and runs three web dynos; without session affinity, WebSocket startup fails because the connection may be routed to a different dyno. Enabling Heroku’s http-session-affinity feature keeps requests on one dyno, after which both browsers establish stable WebSocket connections and exchange chat messages successfully across the scaled deployment.
How to easily charge customers across accounts in an organization
Stripe’s Organizations customer and payment method sharing addresses the difficulty of giving customers a unified checkout when a business uses separate accounts for business lines or countries. After access is enabled, all new and existing customers and their saved card payment methods can be shared between selected accounts, using the same IDs, so a saved card can be charged in another account without recollection. Only selected customer fields—such as name, email, phone, tax IDs, and preferred locales—are shared; metadata, shipping, and other fields remain account-specific, while non-card payment methods cannot be charged cross-account. The guide demonstrates testing in an organization sandbox, creating Checkout Sessions with the shared customer ID, viewing organization-wide transactions, and using a single organization webhook; sharing is in preview and requires customer consent.
How I Improved My Productivity with Cursor and the Heroku MCP Server
Cursor is presented as the author’s primary AI coding companion, with inline suggestions, quick edits, and agentic features supporting coding, testing, design, and deployment from one editor. Connecting it to Heroku through the Model Context Protocol (MCP) enables an assistant to deploy apps, scale dynos, fetch logs, and update configuration without opening the Heroku dashboard or terminal. The article explains MCP’s host–client–server model and gives Cursor setup configurations for the Heroku MCP Server, LangChain MCPDoc, and Figma MCP Server, including required Heroku authorization and tool commands. It reports that this workflow reduced context-switching, saved minutes on tasks, reduced errors from recalling commands, and helped the author stay focused while building and deploying demos.
Retargeting Marketing: A 7-Step Campaign Guide
Retargeting marketing re-engages people who have previously interacted with a brand, including website visitors, cart abandoners, and social users who have not purchased. The guide explains how cookies, tracking pixels, email engagement, and mobile device IDs supply advertising platforms with behavioral data for follow-up campaigns. It recommends segmenting audiences by actions, tailoring creative and offers, maintaining consistent messaging, applying frequency caps, and using burn pixels to exclude purchasers across display, social, search, email, video, and mobile channels. It also covers measurement, privacy-aware first-party and cookieless approaches, AI-driven personalization, and coordination with other touchpoints, while describing Brandwatch tools for audience insights, segmentation, analytics, and integrations. The conclusion positions retargeting as part of a broader, regularly optimized marketing strategy.
How to Add the Moesif API Observability Add-On to Your Heroku Applications
Heroku applications can add the Moesif API Observability add-on to analyze API traffic and support monetization. The setup uses either the Heroku CLI or Dashboard: the CLI command is heroku addons:create moesif, while the UI path goes through Resources, Find more add-ons, and Metrics and Analytics. Provisioning creates a MOESIF_APPLICATION_ID config variable, and the application then requires the Moesif SDK initialized with that value. The guide also covers copying the variable into a local .env file with Heroku Local and excluding that file from Git through .gitignore. Once configured, API events should flow into Moesif for live logs, time-series metrics, funnels, retention, alerting, and billing features, while Heroku handles add-on billing and user management.
Using GitHub Actions with Heroku Flow for additional Security Control
The pattern combines GitHub Actions with Heroku Flow for private repositories and stricter security requirements when GitHub organization IP restrictions cannot use Heroku IP ranges. A custom self-hosted GitHub Runner runs as a Docker image on Heroku, while the Platform API and Source Endpoint API upload source code to ephemeral storage, build and deploy apps, and manage Review Apps. Event-specific workflows handle pushes, manual runs, schedules, and pull requests; a weekly workflow rebuilds and autodeploys the runner image within GitHub’s 30-day update window. Setup uses a Heroku Private Space, its outbound IPs, a GitHub access token, and organization name, but omits the repository URL in the Review App UI, does not run conventional Heroku CI tests, and is incompatible with Fir.
Unlocking powerful analytics with Stripe Data Pipeline and Google BigQuery
As businesses scale, the post addresses the need to move Stripe revenue data into BigQuery for recurring reporting and analysis. It describes configuring Stripe Data Pipeline to export transactions, invoices, subscriptions, and payments to Google Cloud Storage, then using a Python-based Google Cloud Run Job to discover the latest snapshot through data_load_times.json and enumerate each table’s Parquet files. The loader sends those files to BigQuery with the Google Cloud clients, creates missing tables, uses WRITE_TRUNCATE to retain the latest snapshot, and parallelizes table loads with ThreadPoolExecutor while collecting errors. After deployment and a test execution, the workflow is verified in BigQuery and scheduled to run every six hours, providing an automated path to refreshed Stripe data for analytics.
Real-time payment analytics: Building a data pipeline from Stripe to AWS
Payment processors such as Stripe emit numerous transaction events, while dashboard and API-based or batch approaches can limit historical analysis, real-time visibility, and correlation with business metrics as volumes grow. The proposed pipeline sends signed Stripe webhooks through API Gateway to Lambda for validation and enrichment, buffers them in Kinesis Data Streams, and uses a second Lambda to transform and index records in OpenSearch. OpenSearch Dashboards provides visualizations, while CloudWatch tracks pipeline health; Kinesis retention and replay support recovery and reprocessing. The post also describes a Kinesis Data Firehose route that can remove the consumer Lambda and reduce costs but may add batching latency. The resulting design is presented as scalable to millions of transactions per day, with sub-minute payment metrics visibility and flexible historical querying, while security guidance includes encryption, IAM configuration, and regular audits.
Puzzle’s Notion Playbook: Eight Startup Hacks to Save 8+ Hours Weekly
Puzzle presents Notion as the central operating system for its startup, using it as a single source of truth for company knowledge, workflows, and collaboration. The playbook describes eight practices, including integrating tools and legacy content, standardizing recruiting and onboarding, supporting asynchronous communication, organizing teamspaces, building documentation habits, applying AI, and connecting task management to strategic priorities. Its implementation relies on templates, checklists, permissions, comments, @mentions, automations, relations, rollups, database views, formulas, and verification controls. For a team of 50+ employees, Notion AI reportedly saves about ten minutes per query; five daily queries per person are calculated as more than twenty-one hours saved weekly across the company. The conclusion recommends starting with one area, such as meeting documentation or onboarding guides, before expanding.
Load balancing Stripe API calls from multiple AWS regions
The guide describes a multi-region payment-processing architecture for applications that use Stripe’s API and need resilience against regional outages, latency, rate limits, and payment-data compliance constraints. It routes requests with Amazon Route 53 health checks and configurable latency-based, weighted, or geolocation policies, while identical regional API Gateway and Lambda deployments process payments. DynamoDB Global Tables replicate payment state and support distributed rate limiting, with optimistic locking, regional token-bucket allocation, retries, and exponential backoff for Stripe requests. The sample Lambda records a payment as PENDING, creates and confirms a Stripe PaymentIntent, then updates the state with the Stripe payment ID and returned status; the conclusion presents the design as a foundation for regional resilience, state consistency, and API-rate management.
Boolean Query Operators Guide, With Examples
Social listening queries filter relevant brand, product, industry, or consumer mentions from large volumes of online conversation, beginning with the research questions the analysis should answer. The guide explains Boolean operators including quotation marks for exact phrases, OR for alternatives, AND for context, NEAR/x for proximity, NOT for exclusions, wildcards for variations, and brackets for grouping. It recommends adding misspellings, hashtags, account handles, websites, and exclusions, then testing and adjusting the query while keeping its structure simple where possible. Brandwatch Consumer Research offers Boolean, non-Boolean, and blank query options, with editor validation and Iris AI suggestions for entities, keywords, hashtags, subreddits, and multilingual terms.
Top topics
- Architecture830
- Performance812
- LLMs648
- Machine Learning617
- Open Source561
- AI Agents542
- AI454
- Developer Experience446
Weekly digest
The best engineering reads, once a week.