# Components

Published articles for Components.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Making thumbnails fast

DevFeed: [Making thumbnails fast](<https://devfeed.tech/articles/making-thumbnails-fast-27392.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/making-thumbnails-fast.htm>)

Author: Khan Academy

Published: 2015-09-14T22:00:00Z

Content type: tutorial

Language: en

Sources: [Khan Academy](<https://devfeed.tech/sources/khan-academy.md>)

Topics: [Image](<https://devfeed.tech/topics/image.md>), [pixel](<https://devfeed.tech/topics/pixel.md>), [Server](<https://devfeed.tech/topics/server.md>), [Software](<https://devfeed.tech/topics/software.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [blog](<https://devfeed.tech/tags/blog.md>), [code](<https://devfeed.tech/tags/code.md>), [color](<https://devfeed.tech/tags/color.md>), [components](<https://devfeed.tech/tags/components.md>), [design](<https://devfeed.tech/tags/design.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [image](<https://devfeed.tech/tags/image.md>), [images](<https://devfeed.tech/tags/images.md>), [news](<https://devfeed.tech/tags/news.md>), [rgb](<https://devfeed.tech/tags/rgb.md>), [software](<https://devfeed.tech/tags/software.md>), [web-frontend](<https://devfeed.tech/tags/web-frontend.md>)

### AI overview

Khan Academy explains how it generated custom video thumbnails by resizing, desaturating, lightening, color-tinting, and overlaying text and branding on source images. The post also explains pixel multiplication and why the team implemented the image operations themselves because its server infrastructure could not use available libraries.

### Source excerpt

Note: This post contains quite a bit of LaTeX notation, which is not supported right now on this ... Read more

## How to upgrade hundreds of React components without breaking production

DevFeed: [How to upgrade hundreds of React components without breaking production](<https://devfeed.tech/articles/how-to-upgrade-hundreds-of-react-components-without-breaking-production-27417.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/upgrade-buttons-links.htm>)

Author: Khan Academy

Published: 2019-09-23T22:00:00Z

Content type: tutorial

Language: en

Sources: [Khan Academy](<https://devfeed.tech/sources/khan-academy.md>)

Topics: [React](<https://devfeed.tech/topics/react.md>), [Design system](<https://devfeed.tech/topics/design-system.md>), [upgrade](<https://devfeed.tech/topics/upgrade.md>), [Accessibility](<https://devfeed.tech/topics/accessibility.md>), [consistency](<https://devfeed.tech/topics/consistency.md>), [test](<https://devfeed.tech/topics/test.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [components](<https://devfeed.tech/tags/components.md>), [consistency](<https://devfeed.tech/tags/consistency.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [design-system](<https://devfeed.tech/tags/design-system.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [news](<https://devfeed.tech/tags/news.md>), [production](<https://devfeed.tech/tags/production.md>), [react](<https://devfeed.tech/tags/react.md>), [test](<https://devfeed.tech/tags/test.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>), [web-frontend](<https://devfeed.tech/tags/web-frontend.md>)

### AI overview

This article explains how Khan Academy upgraded hundreds of React buttons and links to components from its Wonder Blocks design system. It describes using a prop-conversion guide, organizing small team-owned changes, deploying often, and validating the migration with detailed test plans and responsive screenshots.

### Source excerpt

By Jangmi Jo Background In 2018, we started renewing our color system using our new shared design system, ... Read more

## Redesigning a popular robotic arm

DevFeed: [Redesigning a popular robotic arm](<https://devfeed.tech/articles/redesigning-a-popular-robotic-arm-13654.md>)

Original publisher: [Read original article](<https://blog.arduino.cc/2026/09/10/redesigning-a-popular-robotic-arm/>)

Author: Arduino Team

Published: 2026-09-10T17:48:41Z

Content type: article

Language: en

Sources: [Arduino Blog](<https://devfeed.tech/sources/arduino-blog.md>)

Topics: [ESP32](<https://devfeed.tech/topics/esp32.md>), [3D](<https://devfeed.tech/topics/3d.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [3d](<https://devfeed.tech/tags/3d.md>), [3d-printer](<https://devfeed.tech/tags/3d-printer.md>), [arduino](<https://devfeed.tech/tags/arduino.md>), [components](<https://devfeed.tech/tags/components.md>), [design](<https://devfeed.tech/tags/design.md>), [nano-esp32](<https://devfeed.tech/tags/nano-esp32.md>), [robot-arm](<https://devfeed.tech/tags/robot-arm.md>), [robotic-arm](<https://devfeed.tech/tags/robotic-arm.md>), [robotics](<https://devfeed.tech/tags/robotics.md>), [robots](<https://devfeed.tech/tags/robots.md>)

### AI overview

Arduino Blog describes Kelton Serra's redesigned robotic arm, which uses puppet-style control through potentiometers, an Arduino Nano ESP32, servo motors, and a servo driver board. The redesign aims to make the arm more affordable, easier to build, and better performing, with 3D-printable parts and upgraded wrist and gripper mechanics.

### Source excerpt

Robotic arms are extremely versatile, which is the entire point. But that versatility comes at the cost of complexity when it comes to programming and control. A few years ago, Kelton Serra from the Build Some Stuff YouTube channel simplified the situation by giving his custom robotic arm a puppet-style controller. Now he's back with [...] The post Redesigning a popular robotic arm appeared first on Arduino Blog.

## What N, N+1, 2N, and 2(N+1) Mean in a Data Center

DevFeed: [What N, N+1, 2N, and 2(N+1) Mean in a Data Center](<https://devfeed.tech/articles/what-n-n-1-2n-and-2-n-1-mean-in-a-data-center-40160.md>)

Original publisher: [Read original article](<https://blog.j2sw.com/netops/data-center-redundancy-n-n1-2n/>)

Author: j2sw

Published: 2026-08-27T13:59:08Z

Content type: tutorial

Language: en

Sources: [Justin Wilson (j2sw)](<https://devfeed.tech/sources/justin-wilson-j2sw.md>)

Topics: [datacenter](<https://devfeed.tech/topics/datacenter.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [2n-redundancy](<https://devfeed.tech/tags/2n-redundancy.md>), [capacity](<https://devfeed.tech/tags/capacity.md>), [colocation](<https://devfeed.tech/tags/colocation.md>), [components](<https://devfeed.tech/tags/components.md>), [cooling](<https://devfeed.tech/tags/cooling.md>), [data-center](<https://devfeed.tech/tags/data-center.md>), [data-center-power](<https://devfeed.tech/tags/data-center-power.md>), [equipment](<https://devfeed.tech/tags/equipment.md>), [internet-architecture](<https://devfeed.tech/tags/internet-architecture.md>), [maintenance](<https://devfeed.tech/tags/maintenance.md>), [n-plus-1-redundancy](<https://devfeed.tech/tags/n-plus-1-redundancy.md>), [network-operations](<https://devfeed.tech/tags/network-operations.md>), [power-distribution](<https://devfeed.tech/tags/power-distribution.md>), [system](<https://devfeed.tech/tags/system.md>), [ups](<https://devfeed.tech/tags/ups.md>)

### AI overview

This article explains what data center redundancy ratings N, N+1, N+2, 2N, and 2(N+1) indicate about component capacity, failures, maintenance, cooling, and alternate paths.

### Source excerpt

Have you ever looked at a data center marketing slick and wondered what N, N+1, 2N, and 2(N+1) actually mean? The main thing they tell you is how many components can fail before the system drops below the capacity needed to support the load. When I evaluate a data center, I want to know what ... Read more The post What N, N+1, 2N, and 2(N+1) Mean in a Data Center appeared first on Justin Wilson (j2sw).

## Project Phoenix: Everything We Know So Far About Meta's Next Headset

DevFeed: [Project Phoenix: Everything We Know So Far About Meta's Next Headset](<https://devfeed.tech/articles/project-phoenix-everything-we-know-so-far-about-meta-s-next-headset-17296.md>)

Original publisher: [Read original article](<https://www.uploadvr.com/phoenix-everything-we-know-so-far-meta-next-headset/>)

Author: Luna

Published: 2026-08-24T17:04:15Z

Content type: article

Language: en

Sources: [UploadVR](<https://devfeed.tech/sources/uploadvr.md>)

Topics: [Meta](<https://devfeed.tech/topics/meta.md>), [phoenix](<https://devfeed.tech/topics/phoenix.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>)

Tags: [components](<https://devfeed.tech/tags/components.md>), [devices](<https://devfeed.tech/tags/devices.md>), [headsets-tech](<https://devfeed.tech/tags/headsets-tech.md>), [meta](<https://devfeed.tech/tags/meta.md>), [prototype](<https://devfeed.tech/tags/prototype.md>), [tech](<https://devfeed.tech/tags/tech.md>)

### AI overview

The article reviews reported details about Meta's Project Phoenix, a premium, ultralight passthrough VR/MR headset with computing and battery hardware offloaded to a tethered puck. It describes the project's origins in the earlier Puffin prototype, possible eye-and-hand tracking, and Meta's reported emphasis on comfort and wearability over maximum specifications.

### Source excerpt

Here's everything we know (so far) about Project Phoenix, Meta's next headset.

## How Kubernetes Actually Works

DevFeed: [How Kubernetes Actually Works](<https://devfeed.tech/articles/how-kubernetes-actually-works-18027.md>)

Original publisher: [Read original article](<https://blog.levelupcoding.com/p/how-kubernetes-actually-works>)

Author: Nikki Siapno

Published: 2026-08-21T12:52:09Z

Content type: tutorial

Language: en

Sources: [Level Up Coding System Design Newsletter](<https://devfeed.tech/sources/level-up-coding-system-design-newsletter.md>)

Topics: [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Containers](<https://devfeed.tech/topics/containers.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [API](<https://devfeed.tech/topics/api.md>), [Replication](<https://devfeed.tech/topics/replication.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [components](<https://devfeed.tech/tags/components.md>), [containers](<https://devfeed.tech/tags/containers.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [health](<https://devfeed.tech/tags/health.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [reconciliation](<https://devfeed.tech/tags/reconciliation.md>), [replication](<https://devfeed.tech/tags/replication.md>)

### AI overview

A tutorial explaining Kubernetes as a platform that continuously reconciles desired and actual cluster state. It covers Pods, scheduling, container health monitoring, failure recovery, and the roles of the control plane and worker nodes.

### Source excerpt

The mental model that makes Kubernetes click.

## wasmCloud 2.6: Trigger services, host component plugins, and warm instance pooling

DevFeed: [wasmCloud 2.6: Trigger services, host component plugins, and warm instance pooling](<https://devfeed.tech/articles/wasmcloud-2-6-trigger-services-host-component-plugins-and-warm-instance-pooling-15442.md>)

Original publisher: [Read original article](<https://wasmcloud.com/blog/wasmcloud-2-6-release/>)

Author: Eric Gregory

Published: 2026-08-03T00:00:00Z

Content type: release

Language: en

Sources: [wasmCloud Blog](<https://devfeed.tech/sources/wasmcloud-blog.md>)

Topics: [WebAssembly](<https://devfeed.tech/topics/web-assembly.md>), [Messaging](<https://devfeed.tech/topics/messaging.md>), [Latency](<https://devfeed.tech/topics/latency.md>)

Tags: [components](<https://devfeed.tech/tags/components.md>), [dns](<https://devfeed.tech/tags/dns.md>), [latency](<https://devfeed.tech/tags/latency.md>), [plugins](<https://devfeed.tech/tags/plugins.md>), [services](<https://devfeed.tech/tags/services.md>), [stateful](<https://devfeed.tech/tags/stateful.md>), [streaming](<https://devfeed.tech/tags/streaming.md>), [wasmcloud](<https://devfeed.tech/tags/wasmcloud.md>), [webassembly](<https://devfeed.tech/tags/webassembly.md>)

### AI overview

wasmCloud 2.6.0 and patch 2.6.1 introduce trigger services, host component plugins, warm-instance pooling, default NATS consumer groups for replicas, per-component DNS allowlists, Wasmtime 47 updates, and direct WASI 0.3 component builds.

### Source excerpt

wasmCloud 2.6 ships trigger services, host component plugins (WebAssembly components that extend the host), warm-instance pooling, consumer groups by default for NATS messaging, and per-component DNS allowlists.

## Chat SDK adds Discord Components V2 support

DevFeed: [Chat SDK adds Discord Components V2 support](<https://devfeed.tech/articles/chat-sdk-adds-discord-components-v2-support-834.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/chat-sdk-adds-discord-components-v2-support>)

Author: Ben Sabic

Published: 2026-07-15T00:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [Discord](<https://devfeed.tech/topics/discord.md>), [Discord bot](<https://devfeed.tech/topics/discord-bot.md>), [Bot](<https://devfeed.tech/topics/bot.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [Markdown](<https://devfeed.tech/topics/markdown.md>)

Tags: [announcements](<https://devfeed.tech/tags/announcements.md>), [bots](<https://devfeed.tech/tags/bots.md>), [community](<https://devfeed.tech/tags/community.md>), [components](<https://devfeed.tech/tags/components.md>), [config](<https://devfeed.tech/tags/config.md>), [discord](<https://devfeed.tech/tags/discord.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [release](<https://devfeed.tech/tags/release.md>), [sdk](<https://devfeed.tech/tags/sdk.md>)

### AI overview

Chat SDK now supports Discord Components V2, an opt-in layout system for arranging text, images, files, buttons, and other native Discord components. The release also adds thread renaming, improved global-mention handling, and more precise bot-mention detection.

### Source excerpt

You can now send Discord bot messages with Components V2, an opt-in layout system that treats text, images, files, and buttons as flexible components you can arrange in any order. Set the adapter's contentFormat option to ComponentsV2 and cards render with native containers, sections, media galleries, separators, buttons, and string selects. Embeds remain the default, so existing bots work unchanged. Individual sections can carry their own actions, markdown renders correctly inside components, and the adapter enforces Discord's platform limits for you, including the 40-component cap per message. This release also includes several other Discord adapter improvements: Rename threads: A new setThreadTitle()method renames native Discord thread channels. Your bot needs the Manage Threads permission to use it. Ignore global pings: Bots running in gateway mode no longer treat @everyone and @here announcements as mentions. A new respondToGlobalMentions config option (default false) lets you opt back in. Direct mentions, role mentions, and replies to the bot are unaffected. Precise mention detection: Mentions of similarly named users no longer trigger false matches. A message with @bot-dev no longer counts as a bot tag. Read the documentation to get started or browse the adapter directory. Special thanks to community contributors DeanMauro, onmax, FarazPatankar, and sivchari for laying the groundwork for these improvements. Read more

## When Duplicated Code Is the Better Tradeoff

DevFeed: [When Duplicated Code Is the Better Tradeoff](<https://devfeed.tech/articles/when-to-repeat-yourself-18209.md>)

Original publisher: [Read original article](<https://newsletter.francofernando.com/p/when-to-repeat-yourself>)

Author: Franco Fernando

Published: 2026-07-04T06:05:31Z

Content type: opinion

Language: en

Sources: [The Polymathic Engineer](<https://devfeed.tech/sources/the-polymathic-engineer.md>)

Topics: [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>), [Code](<https://devfeed.tech/topics/code.md>), [distributed-systems](<https://devfeed.tech/topics/distributed-systems.md>), [Microservice](<https://devfeed.tech/topics/microservice.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [abstraction](<https://devfeed.tech/tags/abstraction.md>), [bugs](<https://devfeed.tech/tags/bugs.md>), [code](<https://devfeed.tech/tags/code.md>), [components](<https://devfeed.tech/tags/components.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [reusable-code](<https://devfeed.tech/tags/reusable-code.md>), [services](<https://devfeed.tech/tags/services.md>), [software](<https://devfeed.tech/tags/software.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [teams](<https://devfeed.tech/tags/teams.md>)

### AI overview

This article examines when following the DRY principle creates more cost than value. It argues that duplicated code can be reasonable when abstraction adds coordination overhead, tight coupling, or inflexibility, especially across distributed services and teams whose code may evolve differently.

### Source excerpt

When duplicated code is the better tradeoff.

## Resend joins the Vercel Marketplace

DevFeed: [Resend joins the Vercel Marketplace](<https://devfeed.tech/articles/resend-joins-the-vercel-marketplace-1072.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/resend-vercel-marketplace>)

Author: Hedi Zandi

Published: 2026-07-01T00:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [Vercel](<https://devfeed.tech/topics/vercel.md>), [API](<https://devfeed.tech/topics/api.md>), [React](<https://devfeed.tech/topics/react.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [api](<https://devfeed.tech/tags/api.md>), [cli](<https://devfeed.tech/tags/cli.md>), [components](<https://devfeed.tech/tags/components.md>), [integration](<https://devfeed.tech/tags/integration.md>), [react](<https://devfeed.tech/tags/react.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [vercel](<https://devfeed.tech/tags/vercel.md>)

### AI overview

Resend is now available in the Vercel Marketplace, allowing developers to provision and manage email delivery from Vercel. The integration supports transactional and marketing email through an API or SMTP relay, React-based templates, real-time delivery webhooks, and sending emails with an agent through the Chat SDK adapter or eve channel.

### Source excerpt

You can now provision and manage Resend directly from the Vercel Marketplace. This integration helps developers start sending messages within minutes, build emails as React components, and track delivery events in real time. Key capabilities include: Send transactional and marketing emails through an API or SMTP relay Build email templates as React components with React Email Track opens, clicks, bounces, and deliveries with real-time webhooks Use the Chat SDK adapter or eve channel to send emails with your agent Install Resend on the Vercel Marketplace or with the Vercel CLI: Read more

## Start Anywhere, a magazine by Figma

DevFeed: [Start Anywhere, a magazine by Figma](<https://devfeed.tech/articles/start-anywhere-a-magazine-by-figma-10069.md>)

Original publisher: [Read original article](<https://www.figma.com/blog/start-anywhere/>)

Author: Amber Bravo

Published: 2026-06-29T21:22:00Z

Content type: article

Language: en

Sources: [Figma Blog](<https://devfeed.tech/sources/figma-blog.md>)

Topics: [Figma](<https://devfeed.tech/topics/figma.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [components](<https://devfeed.tech/tags/components.md>), [design](<https://devfeed.tech/tags/design.md>), [figma](<https://devfeed.tech/tags/figma.md>)

### AI overview

Figma's Start Anywhere magazine explores how new tools and materials are changing design workflows. It highlights Figma Motion, which adds a timeline to the canvas, and code layers in Figma Design, which let teams explore code alongside design.

### Source excerpt

New tools and materials make it easier to build anything and start anywhere. The question now is, where do you want to go?

## Introducing Composables UI

DevFeed: [Introducing Composables UI](<https://devfeed.tech/articles/introducing-composables-ui-28456.md>)

Original publisher: [Read original article](<https://composables.com/blog/introducing-composables-ui>)

Author: Alex Styl

Published: 2026-06-22T00:00:00Z

Content type: release

Language: en

Sources: [Composables - Concise, no-fluff video tutorials for Android developers](<https://devfeed.tech/sources/composables-concise-no-fluff-video-tutorials-for-android-developers.md>)

Topics: [compose-multiplatform](<https://devfeed.tech/topics/compose-multiplatform.md>), [Library](<https://devfeed.tech/topics/library.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Design system](<https://devfeed.tech/topics/design-system.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>)

Tags: [components](<https://devfeed.tech/tags/components.md>), [compose](<https://devfeed.tech/tags/compose.md>), [compose-multiplatform](<https://devfeed.tech/tags/compose-multiplatform.md>), [design-system](<https://devfeed.tech/tags/design-system.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [library](<https://devfeed.tech/tags/library.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

Composables UI is a fully accessible component library for Compose Multiplatform. It provides adaptive components for different device capabilities, consistent states and theming with dark mode, and options to use it as a Gradle dependency or copy individual component source. The article also describes upgrades to Compose Unstyled developed through testing Composables UI.

### Source excerpt

A modern, fully-accessible component library for Compose Multiplatform.

## Custom Scopes in Koin: A Practical Example

DevFeed: [Custom Scopes in Koin: A Practical Example](<https://devfeed.tech/articles/custom-scopes-in-koin-a-practical-example-22968.md>)

Original publisher: [Read original article](<https://blog.insert-koin.io/custom-scopes-in-koin-a-practical-example-79cc1188810f?source=rss----925561f2ecdf---4>)

Author: Gabriel Bronzatti Moro

Published: 2026-06-19T12:01:01Z

Content type: tutorial

Language: en

Sources: [Koin developers - Medium](<https://devfeed.tech/sources/koin-developers-medium.md>)

Topics: [App](<https://devfeed.tech/topics/app.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [components](<https://devfeed.tech/tags/components.md>), [compose-multiplatform](<https://devfeed.tech/tags/compose-multiplatform.md>), [data](<https://devfeed.tech/tags/data.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [koin](<https://devfeed.tech/tags/koin.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [lifecycle](<https://devfeed.tech/tags/lifecycle.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [project](<https://devfeed.tech/tags/project.md>), [scopes](<https://devfeed.tech/tags/scopes.md>), [state](<https://devfeed.tech/tags/state.md>), [stateless](<https://devfeed.tech/tags/stateless.md>), [user-experience](<https://devfeed.tech/tags/user-experience.md>)

### AI overview

A practical tutorial on using custom scopes in Koin to keep a selected user profile image available across an application. It demonstrates a session scope, session data, and a stateless session manager using StreamPlayerApp as the example.

### Source excerpt

Hey friends 👋 Today, we are going to explore how we can create a custom scope, one of the powerful features provided by Koin. To make things practical 🔨, we'll walk through a real-world use case from the open-source project StreamPlayerApp (created by CodandoTV). Wireframes of a mobile app -- Unsplash by @alvarordesignWhat is the problem? StreamPlayerApp is an open-source project that aims to recreate the core experience of Netflix. One of its features allows users to select a profile, similar to the profile selection screen found in streaming platforms. The selected profile image needs to be accessible across the entire application, ensuring a consistent user experience on every screen. Whenever a user changes their profile, the updated image should be immediately reflected throughout the app, allowing all screens to stay synchronized with the current profile selection. Screenshots demonstrating the user profile selection feature.How we solve this problem using Custom Scopes? First, we create a class that represents the scope of a user session: class SessionScope Next, we create a lightweight data class containing only the information that needs to be kept in memory throughout the user session: data class UserSessionInfo( // represents the time user changed the profile val userTimestamp: Instant, // represents the selected picture url val profileImageUrl: String ) We then created a dedicated class responsible for managing the user's session lifecycle and state. class SessionManager { private val scopeId: String = "user_session" /** * Create custom scope and hold the user's session data */ fun openSession(imageUrl: String) { closeSession() val koin = KoinPlatform.getKoin() val scope = koin.createScope<SessionScope>( scopeId = scopeId, ) scope.declare( UserSessionInfo( userTimestamp = Clock.System.now(), profileImageUrl = imageUrl ) ) } /** * Retrieve the current user session */ fun userSessionInfo(): UserSessionInfo? { return KoinPlatform.getKoin() .getScopeOrNull(sc

## How Design Systems Help Designers Work More Effectively on Agile Teams

DevFeed: [How Design Systems Help Designers Work More Effectively on Agile Teams](<https://devfeed.tech/articles/the-agile-trap-designers-fall-into-feeding-the-beast-9087.md>)

Original publisher: [Read original article](<https://uxmag.com/articles/the-agile-trap-designers-fall-into-feeding-the-beast>)

Author: Paivi Salminen

Published: 2026-06-18T04:35:20Z

Content type: article

Language: en

Sources: [UX Magazine](<https://devfeed.tech/sources/ux-magazine.md>)

Topics: [Agile](<https://devfeed.tech/topics/agile.md>), [Design system](<https://devfeed.tech/topics/design-system.md>), [User experience (UX)](<https://devfeed.tech/topics/ux.md>), [User Interfaces](<https://devfeed.tech/topics/user-interfaces.md>)

Tags: [agile](<https://devfeed.tech/tags/agile.md>), [components](<https://devfeed.tech/tags/components.md>), [consistency](<https://devfeed.tech/tags/consistency.md>), [design](<https://devfeed.tech/tags/design.md>), [design-system](<https://devfeed.tech/tags/design-system.md>), [design-systems](<https://devfeed.tech/tags/design-systems.md>), [interface](<https://devfeed.tech/tags/interface.md>), [teams](<https://devfeed.tech/tags/teams.md>), [ux](<https://devfeed.tech/tags/ux.md>)

### AI overview

The article examines how agile teams' continuous feature work can leave designers with too little time. It explains that design systems reduce repetitive visual-design decisions and help designers focus more on how interfaces support users' goals.

### Source excerpt

One of the most common complaints designers have about working on agile teams is the feeling that there's never enough time. There's always another feature to design. Another sprint is starting. Another ticket is waiting for input. Even when a feature ships, the work doesn't necessarily stop. Agile teams are supposed to observe how the The post The Agile Trap Designers Fall into: Feeding the Beast appeared first on UX Magazine.

## Building a design system specced for engineers and agents

DevFeed: [Building a design system specced for engineers and agents](<https://devfeed.tech/articles/building-a-design-system-specced-for-engineers-and-agents-19780.md>)

Original publisher: [Read original article](<https://evilmartians.com/chronicles/building-a-design-system-specced-for-engineers-and-agents>)

Author: Travis Turner (richardturner@evilmartians.com)

Published: 2026-06-17T00:00:00Z

Content type: article

Language: en

Sources: [Evil Martians](<https://devfeed.tech/sources/evil-martians.md>)

Topics: [Design system](<https://devfeed.tech/topics/design-system.md>), [User interface design](<https://devfeed.tech/topics/ui-design.md>), [AI-assisted coding](<https://devfeed.tech/topics/ai-assisted-coding.md>), [cursor](<https://devfeed.tech/topics/cursor.md>), [Claude](<https://devfeed.tech/topics/claude.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-assisted-coding](<https://devfeed.tech/tags/ai-assisted-coding.md>), [claude](<https://devfeed.tech/tags/claude.md>), [components](<https://devfeed.tech/tags/components.md>), [cursor](<https://devfeed.tech/tags/cursor.md>), [design](<https://devfeed.tech/tags/design.md>), [design-system](<https://devfeed.tech/tags/design-system.md>), [devtools](<https://devfeed.tech/tags/devtools.md>), [dx](<https://devfeed.tech/tags/dx.md>), [figma](<https://devfeed.tech/tags/figma.md>), [llms](<https://devfeed.tech/tags/llms.md>), [ui-design](<https://devfeed.tech/tags/ui-design.md>)

### AI overview

Evil Martians describes how it built a design system for Currents in seven weeks. The system standardized UI decisions and was structured to be readable by engineers and AI-assisted coding tools, including Cursor and Claude, helping the lean team reuse components and maintain a consistent product interface.

### Source excerpt

Coding without design guidelines can leave teams with an inconsistent UI design and a complex feature development process. Here's how we built a design system for Currents that's readable by engineers and AI agents.

## When React compound components are a poor fit for data-driven lists

DevFeed: [When React compound components are a poor fit for data-driven lists](<https://devfeed.tech/articles/you-re-using-react-compound-components-wrong-18121.md>)

Original publisher: [Read original article](<https://thetshaped.dev/p/you-are-using-react-compound-components-wrong-type-safe-typescript>)

Author: The T-Shaped Dev

Published: 2026-06-16T10:19:04Z

Content type: tutorial

Language: en

Sources: [The T-Shaped Dev](<https://devfeed.tech/sources/the-t-shaped-dev.md>)

Topics: [React](<https://devfeed.tech/topics/react.md>), [Tutorial](<https://devfeed.tech/topics/tutorial.md>)

Tags: [components](<https://devfeed.tech/tags/components.md>), [react](<https://devfeed.tech/tags/react.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

The article argues that React compound components are often misapplied to data-driven lists. It explains that when items come from an array, a plain props-based API better supports operations such as sorting, filtering, virtualization, and keyboard navigation, while avoiding unnecessary TypeScript complexity.

### Source excerpt

The most-copied example in every tutorial is the one place you shouldn't use them.

## Commercial Invoice: Definition, Required Fields, and Template (2026)

DevFeed: [Commercial Invoice: Definition, Required Fields, and Template (2026)](<https://devfeed.tech/articles/commercial-invoice-definition-required-fields-and-template-2026-9767.md>)

Original publisher: [Read original article](<https://dodopayments.com/blogs/commercial-invoice-guide/>)

Author: Aarthi Poonia

Published: 2026-06-12T00:00:00Z

Content type: tutorial

Language: en

Sources: [Dodo Payments Blog](<https://devfeed.tech/sources/dodo-payments-blog.md>)

Topics: [Software as a service](<https://devfeed.tech/topics/saas.md>), [Finance](<https://devfeed.tech/topics/finance.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [accounting](<https://devfeed.tech/tags/accounting.md>), [b2b](<https://devfeed.tech/tags/b2b.md>), [billing](<https://devfeed.tech/tags/billing.md>), [compliance](<https://devfeed.tech/tags/compliance.md>), [components](<https://devfeed.tech/tags/components.md>), [consulting](<https://devfeed.tech/tags/consulting.md>), [cross-border](<https://devfeed.tech/tags/cross-border.md>), [india](<https://devfeed.tech/tags/india.md>), [invoicing](<https://devfeed.tech/tags/invoicing.md>), [payment](<https://devfeed.tech/tags/payment.md>), [saas](<https://devfeed.tech/tags/saas.md>), [services](<https://devfeed.tech/tags/services.md>), [tax](<https://devfeed.tech/tags/tax.md>), [us](<https://devfeed.tech/tags/us.md>), [usb](<https://devfeed.tech/tags/usb.md>)

### AI overview

This guide explains commercial invoices, the fields they require, and when SaaS businesses use them for cross-border B2B contracts, professional services, trade finance, and hardware-related shipments. It also describes how modern SaaS billing handles international invoicing.

### Source excerpt

Commercial invoice explained. What it is, what fields are mandatory, when SaaS sellers use them, and how MoR billing handles cross-border invoicing.

## WASI 0.3 Launched

DevFeed: [WASI 0.3 Launched](<https://devfeed.tech/articles/wasi-0-3-launched-15134.md>)

Original publisher: [Read original article](<https://bytecodealliance.org/articles/WASI-0.3>)

Author: \["Bailey Hayes", "Yosh Wuyts"\]

Published: 2026-06-11T00:00:00Z

Content type: release

Language: en

Sources: [Bytecode Alliance](<https://devfeed.tech/sources/bytecode-alliance.md>)

Topics: [WebAssembly](<https://devfeed.tech/topics/web-assembly.md>), [toolchain](<https://devfeed.tech/topics/toolchain.md>)

Tags: [async](<https://devfeed.tech/tags/async.md>), [component](<https://devfeed.tech/tags/component.md>), [components](<https://devfeed.tech/tags/components.md>), [native](<https://devfeed.tech/tags/native.md>), [support](<https://devfeed.tech/tags/support.md>), [toolchain](<https://devfeed.tech/tags/toolchain.md>), [wasi](<https://devfeed.tech/tags/wasi.md>), [webassembly](<https://devfeed.tech/tags/webassembly.md>)

### AI overview

WASI 0.3.0 has been ratified as a stable specification. It rebases WASI on the WebAssembly Component Model's native async primitives, making most changes from WASI 0.2 mechanical and simplifying interface signatures. Runtime and toolchain support is beginning to land.

### Source excerpt

WASI 0.3 is official, and async is now native to WebAssembly Components. The WASI Subgroup voted to ratify WASI 0.3.0, rebasing WASI onto the WebAssembly Component Model's async primitives. The 0.3.0 specification is now stable, and runtime and toolchain support is landing now.

## Vulkan SC SDK Released: An Integrated Toolchain for Vulkan Safety-Critical Development

DevFeed: [Vulkan SC SDK Released: An Integrated Toolchain for Vulkan Safety-Critical Development](<https://devfeed.tech/articles/vulkan-sc-sdk-released-an-integrated-toolchain-for-vulkan-safety-critical-development-15123.md>)

Original publisher: [Read original article](<https://www.khronos.org/blog/vulkan-sc-sdk-released-an-integrated-toolchain-for-vulkan-safety-critical-development>)

Author: Khronos Group (webservices@khronosgroup.org)

Published: 2026-05-06T13:00:00Z

Content type: release

Language: en

Sources: [Blogs Khronos Blog](<https://devfeed.tech/sources/blogs-khronos-blog.md>)

Topics: [SDK](<https://devfeed.tech/topics/sdk.md>), [toolchain](<https://devfeed.tech/topics/toolchain.md>), [Development](<https://devfeed.tech/topics/development.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Windows](<https://devfeed.tech/topics/windows.md>), [CMake](<https://devfeed.tech/topics/cmake.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [blog-vulkans](<https://devfeed.tech/tags/blog-vulkans.md>), [building](<https://devfeed.tech/tags/building.md>), [cmake](<https://devfeed.tech/tags/cmake.md>), [components](<https://devfeed.tech/tags/components.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [developer-experience](<https://devfeed.tech/tags/developer-experience.md>), [developers](<https://devfeed.tech/tags/developers.md>), [development](<https://devfeed.tech/tags/development.md>), [download](<https://devfeed.tech/tags/download.md>), [ecosystem](<https://devfeed.tech/tags/ecosystem.md>), [getting-started](<https://devfeed.tech/tags/getting-started.md>), [install](<https://devfeed.tech/tags/install.md>), [installation](<https://devfeed.tech/tags/installation.md>), [integration](<https://devfeed.tech/tags/integration.md>), [linux](<https://devfeed.tech/tags/linux.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [toolchain](<https://devfeed.tech/tags/toolchain.md>), [tools](<https://devfeed.tech/tags/tools.md>), [vulkan](<https://devfeed.tech/tags/vulkan.md>), [vulkan-sc](<https://devfeed.tech/tags/vulkan-sc.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

The Vulkan SC SDK is a unified installer for tools supporting safety-critical application development. It provides Linux and Windows installers, optional environment setup, CMake integration, pipeline cache compiler discovery, and components including the Vulkan SC loader, emulation and validation layers, device simulation, utilities, and samples. Version 1.0.21 is available on GitHub.

### Source excerpt

Developers building safety-critical applications can now get started with Vulkan® SC faster than ever. The new Vulkan SC SDK is a simpler way to install and use a comprehensive set of tools and utilities to leverage the Vulkan SC ecosystem. With installers for Linux and Windows, the SDK makes it easy for developers to get up and running quickly, whether they are just getting started with Vulkan SC or building on existing deployments.

## Inside the New ESP-Brookesia v0.7 Architecture

DevFeed: [Inside the New ESP-Brookesia v0.7 Architecture](<https://devfeed.tech/articles/inside-the-new-esp-brookesia-v0-7-architecture-13768.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/2026/05/esp-brookesia-new-architecture-0-7/>)

Author: John Lee

Published: 2026-05-04T00:00:00Z

Content type: article

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [Framework](<https://devfeed.tech/topics/framework.md>), [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [Development](<https://devfeed.tech/topics/development.md>), [MCP](<https://devfeed.tech/topics/mcp.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>)

Tags: [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [aiot](<https://devfeed.tech/tags/aiot.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [blog](<https://devfeed.tech/tags/blog.md>), [components](<https://devfeed.tech/tags/components.md>), [esp-brookesia](<https://devfeed.tech/tags/esp-brookesia.md>), [framework](<https://devfeed.tech/tags/framework.md>), [hmi](<https://devfeed.tech/tags/hmi.md>), [llms](<https://devfeed.tech/tags/llms.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [modules](<https://devfeed.tech/tags/modules.md>), [orchestration](<https://devfeed.tech/tags/orchestration.md>), [product-development](<https://devfeed.tech/tags/product-development.md>)

### AI overview

This article introduces the redesigned ESP-Brookesia v0.7 architecture for building AIoT interaction products. It describes the framework's layered structure, including hardware abstraction, device services, AI Agent and AI Expression modules, and application layers. It also explains how Function Calling and MCP connect LLMs with device-side functionality.

### Source excerpt

This article introduces the redesigned ESP-Brookesia v0.7 architecture, from Utils, HAL, and General Service to AI Agent and AI Expression. It explains how these modules fit together and highlights two examples that help you quickly understand how to build AIoT interaction products on top of the framework.

## Community Champion Spotlight: Jason Lee

DevFeed: [Community Champion Spotlight: Jason Lee](<https://devfeed.tech/articles/community-champion-spotlight-jason-lee-13442.md>)

Original publisher: [Read original article](<https://zed.dev/blog/community-champion-jason-lee>)

Author: Joseph Lyons

Published: 2026-04-27T00:00:00Z

Content type: article

Language: en

Sources: [Zed Industries - Blog](<https://devfeed.tech/sources/zed-industries-blog.md>)

Topics: [pull-requests](<https://devfeed.tech/topics/pull-requests.md>), [Framework](<https://devfeed.tech/topics/framework.md>), [ui](<https://devfeed.tech/topics/ui.md>), [GPU](<https://devfeed.tech/topics/gpu.md>), [Electron](<https://devfeed.tech/topics/electron.md>)

Tags: [bug-fixes](<https://devfeed.tech/tags/bug-fixes.md>), [community](<https://devfeed.tech/tags/community.md>), [components](<https://devfeed.tech/tags/components.md>), [electron](<https://devfeed.tech/tags/electron.md>), [framework](<https://devfeed.tech/tags/framework.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [improvements](<https://devfeed.tech/tags/improvements.md>), [pull-requests](<https://devfeed.tech/tags/pull-requests.md>), [spotlight](<https://devfeed.tech/tags/spotlight.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

Zed spotlights Jason Lee's contributions to its GPU-powered UI framework, including 115 merged pull requests and a component library built for Longbridge Pro.

### Source excerpt

115 PRs, a component library, and a stunning app built with gpui.

## C++ Components for ESP-IDF

DevFeed: [C++ Components for ESP-IDF](<https://devfeed.tech/articles/c-components-for-esp-idf-13759.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/2026/04/cpp-components-for-esp-idf/>)

Author: John Lee

Published: 2026-04-13T00:00:00Z

Content type: tutorial

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [ESP-IDF](<https://devfeed.tech/topics/esp-idf.md>), [ESP32](<https://devfeed.tech/topics/esp32.md>), [Wi-Fi](<https://devfeed.tech/topics/wi-fi.md>), [Networks](<https://devfeed.tech/topics/networks.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [beginner](<https://devfeed.tech/tags/beginner.md>), [blog](<https://devfeed.tech/tags/blog.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [components](<https://devfeed.tech/tags/components.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [esp-idf](<https://devfeed.tech/tags/esp-idf.md>), [esp32](<https://devfeed.tech/tags/esp32.md>), [flash](<https://devfeed.tech/tags/flash.md>), [guide](<https://devfeed.tech/tags/guide.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [interface](<https://devfeed.tech/tags/interface.md>), [wifi](<https://devfeed.tech/tags/wifi.md>)

### AI overview

This tutorial explains how to structure and use C++ components for ESP-IDF on ESP32 systems. It demonstrates a Wi-Fi manager that connects to a local network through a setup access point and stores credentials in flash, and introduces a Deep Sleep component with step-by-step examples.

### Source excerpt

This article presents two C++ ESP32 components: wifi_manager for seamless network connection and Deep Sleep for power-saving operation, both easily integrated using provided code examples. It also lists additional ESP-IDF components to streamline development.

## Introducing Compose Loaders: a curated collection of copy-paste animated loaders for Jetpack Compose 🌀

DevFeed: [Introducing Compose Loaders: a curated collection of copy-paste animated loaders for Jetpack Compose 🌀](<https://devfeed.tech/articles/introducing-compose-loaders-a-curated-collection-of-copy-paste-animated-loaders-for-jetpack-compose-37918.md>)

Original publisher: [Read original article](<https://newsletter.jorgecastillo.dev/p/introducing-compose-loaders-a-curated>)

Author: Jorge Castillo

Published: 2026-04-03T13:37:34Z

Content type: release

Language: en

Sources: [Effective Android](<https://devfeed.tech/sources/effective-android.md>)

Topics: [Compose](<https://devfeed.tech/topics/compose.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [React](<https://devfeed.tech/topics/react.md>)

Tags: [animation](<https://devfeed.tech/tags/animation.md>), [collection](<https://devfeed.tech/tags/collection.md>), [components](<https://devfeed.tech/tags/components.md>), [compose](<https://devfeed.tech/tags/compose.md>), [copy](<https://devfeed.tech/tags/copy.md>), [free](<https://devfeed.tech/tags/free.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>)

### AI overview

Compose Loaders is a free collection of copy-paste animated loader components for Jetpack Compose, created by porting loading animations originally built for React.

### Source excerpt

A few days ago I stumbled upon a sick loading animation someone built for React... so I decided to port it to Jetpack Compose.

## How to Add Payments to a Next.js App in 2026

DevFeed: [How to Add Payments to a Next.js App in 2026](<https://devfeed.tech/articles/how-to-add-payments-to-a-next-js-app-in-2026-9591.md>)

Original publisher: [Read original article](<https://dodopayments.com/blogs/add-payments-nextjs-app/>)

Author: Ayush Agarwal

Published: 2026-03-23T00:00:00Z

Content type: tutorial

Language: en

Sources: [Dodo Payments Blog](<https://devfeed.tech/sources/dodo-payments-blog.md>)

Topics: [Next.js](<https://devfeed.tech/topics/next-js.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [Access Control](<https://devfeed.tech/topics/access-control.md>), [Software as a service](<https://devfeed.tech/topics/saas.md>)

Tags: [access-control](<https://devfeed.tech/tags/access-control.md>), [backend](<https://devfeed.tech/tags/backend.md>), [billing](<https://devfeed.tech/tags/billing.md>), [checkout](<https://devfeed.tech/tags/checkout.md>), [components](<https://devfeed.tech/tags/components.md>), [developer-tools](<https://devfeed.tech/tags/developer-tools.md>), [guide](<https://devfeed.tech/tags/guide.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [next-js](<https://devfeed.tech/tags/next-js.md>), [payments](<https://devfeed.tech/tags/payments.md>), [router](<https://devfeed.tech/tags/router.md>), [saas](<https://devfeed.tech/tags/saas.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [security](<https://devfeed.tech/tags/security.md>), [server](<https://devfeed.tech/tags/server.md>), [subscription](<https://devfeed.tech/tags/subscription.md>), [webhooks](<https://devfeed.tech/tags/webhooks.md>)

### AI overview

A guide to integrating Dodo Payments into a Next.js App Router application. It covers SDK setup, overlay checkout, webhook handling, subscription state, and route protection, including the Merchant of Record model for tax and compliance responsibilities.

### Source excerpt

Complete guide to integrating payments in Next.js using Dodo Payments. Covers App Router, Server Components, overlay checkout, webhooks, and subscription billing.

[Next page](<https://devfeed.tech/tags/components.md?cursor=WyIyMDI2LTAzLTIzVDAwOjAwOjAwKzAwOjAwIiwgImUxNmI3MDI1LTVmYzEtNDAxMC1iNzNmLTNhMWY0NGQwYWEyNiJd>)