# Apartment 304

Recent content from Apartment 304. Apartment 304 offers software architecture, DevOps, and software engineering services. Our experienced team can help you build innovative solutions to accelerate your business.

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

## Containing Locally Running AI Agents with Layered Security Controls

DevFeed: [Containing Locally Running AI Agents with Layered Security Controls](<https://devfeed.tech/articles/agent-lockdown-37513.md>)

Original publisher: [Read original article](<https://blog.apartment304.com/agent-lockdown/>)

Author: Spencer Reeves

Published: 2026-08-10T18:00:00Z

Content type: tutorial

Language: en

Sources: [Apartment 304](<https://devfeed.tech/sources/apartment-304.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Security](<https://devfeed.tech/topics/security.md>), [Containers](<https://devfeed.tech/topics/containers.md>), [virtualization](<https://devfeed.tech/topics/virtualization.md>), [macOS](<https://devfeed.tech/topics/macos.md>), [npm](<https://devfeed.tech/topics/npm.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [apartment-304](<https://devfeed.tech/tags/apartment-304.md>), [apple](<https://devfeed.tech/tags/apple.md>), [credentials](<https://devfeed.tech/tags/credentials.md>), [custom-software-solutions](<https://devfeed.tech/tags/custom-software-solutions.md>), [devops](<https://devfeed.tech/tags/devops.md>), [devops-engineer](<https://devfeed.tech/tags/devops-engineer.md>), [macos](<https://devfeed.tech/tags/macos.md>), [networking](<https://devfeed.tech/tags/networking.md>), [npm](<https://devfeed.tech/tags/npm.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [sandboxing](<https://devfeed.tech/tags/sandboxing.md>), [security](<https://devfeed.tech/tags/security.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [software-development](<https://devfeed.tech/tags/software-development.md>), [software-engineer](<https://devfeed.tech/tags/software-engineer.md>)

### AI overview

This article presents a layered security approach for running AI agents locally. It focuses on sandboxing the agent, restricting internet access, and protecting secrets and environment files, with container isolation as the foundation.

### Source excerpt

Running an agent locally gives it a foothold on your machine -- here's how we keep it contained.

## Building a Multi-Theme Design System in Figma

DevFeed: [Building a Multi-Theme Design System in Figma](<https://devfeed.tech/articles/building-a-multi-theme-design-system-in-figma-37516.md>)

Original publisher: [Read original article](<https://blog.apartment304.com/figma-design-system/>)

Author: Jacqueline Rhoda

Published: 2026-07-27T18:53:49Z

Content type: tutorial

Language: en

Sources: [Apartment 304](<https://devfeed.tech/sources/apartment-304.md>)

Topics: [Design system](<https://devfeed.tech/topics/design-system.md>), [Figma](<https://devfeed.tech/topics/figma.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [color](<https://devfeed.tech/topics/color.md>)

Tags: [apartment-304](<https://devfeed.tech/tags/apartment-304.md>), [color](<https://devfeed.tech/tags/color.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [custom-software-solutions](<https://devfeed.tech/tags/custom-software-solutions.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>), [devops](<https://devfeed.tech/tags/devops.md>), [devops-engineer](<https://devfeed.tech/tags/devops-engineer.md>), [figma](<https://devfeed.tech/tags/figma.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [software-development](<https://devfeed.tech/tags/software-development.md>), [software-engineer](<https://devfeed.tech/tags/software-engineer.md>), [tokens](<https://devfeed.tech/tags/tokens.md>)

### AI overview

This tutorial explains how to build a multi-theme design system in Figma. It describes keeping components, layouts, and patterns consistent while adapting brand identity and visual styles through variables, styles, and semantic color tokens.

### Source excerpt

Build flexible Figma design systems that scale across brands and customers.

## Closing SSE Connections: A Browser Compatibility Deep Dive

DevFeed: [Closing SSE Connections: A Browser Compatibility Deep Dive](<https://devfeed.tech/articles/closing-sse-connections-a-browser-compatibility-deep-dive-37520.md>)

Original publisher: [Read original article](<https://blog.apartment304.com/sse-close-connection/>)

Author: James Heller

Published: 2025-11-20T19:00:00Z

Content type: tutorial

Language: en

Sources: [Apartment 304](<https://devfeed.tech/sources/apartment-304.md>)

Topics: [Server-sent events (SSE)](<https://devfeed.tech/topics/server-sent-events-sse.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [htmx](<https://devfeed.tech/topics/htmx.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [Firefox](<https://devfeed.tech/topics/firefox.md>), [Chrome](<https://devfeed.tech/topics/chrome.md>)

Tags: [ajax](<https://devfeed.tech/tags/ajax.md>), [apartment-304](<https://devfeed.tech/tags/apartment-304.md>), [browser](<https://devfeed.tech/tags/browser.md>), [compatibility](<https://devfeed.tech/tags/compatibility.md>), [custom-software-solutions](<https://devfeed.tech/tags/custom-software-solutions.md>), [devops](<https://devfeed.tech/tags/devops.md>), [devops-engineer](<https://devfeed.tech/tags/devops-engineer.md>), [htmx](<https://devfeed.tech/tags/htmx.md>), [http](<https://devfeed.tech/tags/http.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [issue](<https://devfeed.tech/tags/issue.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [multiplayer](<https://devfeed.tech/tags/multiplayer.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [software-development](<https://devfeed.tech/tags/software-development.md>), [software-engineer](<https://devfeed.tech/tags/software-engineer.md>), [sse](<https://devfeed.tech/tags/sse.md>)

### AI overview

This tutorial explains how Server-Sent Events connections can remain open inconsistently across browsers when users navigate away. Using the multiplayer mystery game Whodunit with HTMX as an example, it describes SSE connection tracking and a client-side JavaScript approach for robust cleanup.

### Source excerpt

When browsers leave connections dangling, your app can get stuck waiting for users who are already gone. Let's solve the mystery of closing SSE connections.

## Whodunit: LLM Murder Mysteries

DevFeed: [Whodunit: LLM Murder Mysteries](<https://devfeed.tech/articles/whodunit-llm-murder-mysteries-37524.md>)

Original publisher: [Read original article](<https://blog.apartment304.com/whodunit-llm-murder-mysteries/>)

Author: James Heller

Published: 2025-08-26T07:00:00Z

Content type: article

Language: en

Sources: [Apartment 304](<https://devfeed.tech/sources/apartment-304.md>)

Topics: [LLM Techniques](<https://devfeed.tech/topics/llm-techniques.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>)

Tags: [ai-authored](<https://devfeed.tech/tags/ai-authored.md>), [apartment-304](<https://devfeed.tech/tags/apartment-304.md>), [custom-software-solutions](<https://devfeed.tech/tags/custom-software-solutions.md>), [devops](<https://devfeed.tech/tags/devops.md>), [devops-engineer](<https://devfeed.tech/tags/devops-engineer.md>), [go](<https://devfeed.tech/tags/go.md>), [golang](<https://devfeed.tech/tags/golang.md>), [language-models](<https://devfeed.tech/tags/language-models.md>), [large-language-models](<https://devfeed.tech/tags/large-language-models.md>), [llm](<https://devfeed.tech/tags/llm.md>), [logic](<https://devfeed.tech/tags/logic.md>), [models](<https://devfeed.tech/tags/models.md>), [puzzle](<https://devfeed.tech/tags/puzzle.md>), [puzzles](<https://devfeed.tech/tags/puzzles.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [software-development](<https://devfeed.tech/tags/software-development.md>), [software-engineer](<https://devfeed.tech/tags/software-engineer.md>), [strategies](<https://devfeed.tech/tags/strategies.md>), [test](<https://devfeed.tech/tags/test.md>)

### AI overview

This article describes building Whodunit, a low-tech murder-mystery game whose mysteries are written with large language models. It discusses developing a mental model for calling LLMs, testing LLM services and Go libraries, improving logical soundness through trial and error, and managing unreliable LLM APIs.

### Source excerpt

Can Large Language Models write engaging mysteries? Find out in this week's episode of "Whodunit?"

## Testing Tracing Locally with OpenTelemetry (OTel)

DevFeed: [Testing Tracing Locally with OpenTelemetry (OTel)](<https://devfeed.tech/articles/testing-tracing-locally-with-opentelemetry-otel-37519.md>)

Original publisher: [Read original article](<https://blog.apartment304.com/otel-telemetry-testing/>)

Author: Christian Campos

Published: 2025-06-26T13:03:08Z

Content type: tutorial

Language: en

Sources: [Apartment 304](<https://devfeed.tech/sources/apartment-304.md>)

Topics: [tracing](<https://devfeed.tech/topics/tracing.md>), [OpenTelemetry](<https://devfeed.tech/topics/opentelemetry.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Docker Compose](<https://devfeed.tech/topics/docker-compose.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [Go](<https://devfeed.tech/topics/go.md>)

Tags: [apartment-304](<https://devfeed.tech/tags/apartment-304.md>), [custom-software-solutions](<https://devfeed.tech/tags/custom-software-solutions.md>), [devops](<https://devfeed.tech/tags/devops.md>), [devops-engineer](<https://devfeed.tech/tags/devops-engineer.md>), [docker](<https://devfeed.tech/tags/docker.md>), [docker-compose](<https://devfeed.tech/tags/docker-compose.md>), [go](<https://devfeed.tech/tags/go.md>), [instrumentation](<https://devfeed.tech/tags/instrumentation.md>), [opentelemetry](<https://devfeed.tech/tags/opentelemetry.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [software-development](<https://devfeed.tech/tags/software-development.md>), [software-engineer](<https://devfeed.tech/tags/software-engineer.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tracing](<https://devfeed.tech/tags/tracing.md>)

### AI overview

This tutorial explains how to test distributed tracing locally with the OpenTelemetry Collector, Docker Compose, and a minimal Go application. It describes how local tracing avoids development friction from API keys, rate limits, network delays, and cloud-service costs.

### Source excerpt

A quick and easy way to visualize how your programs and services connect and perform.

## Using Let's Encrypt Certificates with Temporal Cloud

DevFeed: [Using Let's Encrypt Certificates with Temporal Cloud](<https://devfeed.tech/articles/using-let-s-encrypt-certificates-with-temporal-cloud-37518.md>)

Original publisher: [Read original article](<https://blog.apartment304.com/howto-letsencrypt-temporal-cloud/>)

Author: Mike Delago

Published: 2024-10-03T21:47:50Z

Content type: tutorial

Language: en

Sources: [Apartment 304](<https://devfeed.tech/sources/apartment-304.md>)

Topics: [TLS (Transport Layer Security)](<https://devfeed.tech/topics/tls.md>), [let's encrypt](<https://devfeed.tech/topics/let-s-encrypt.md>), [certificates](<https://devfeed.tech/topics/certificates.md>)

Tags: [apartment-304](<https://devfeed.tech/tags/apartment-304.md>), [certificates](<https://devfeed.tech/tags/certificates.md>), [custom-software-solutions](<https://devfeed.tech/tags/custom-software-solutions.md>), [devops](<https://devfeed.tech/tags/devops.md>), [devops-engineer](<https://devfeed.tech/tags/devops-engineer.md>), [let-s-encrypt](<https://devfeed.tech/tags/let-s-encrypt.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [software-development](<https://devfeed.tech/tags/software-development.md>), [software-engineer](<https://devfeed.tech/tags/software-engineer.md>), [tls](<https://devfeed.tech/tags/tls.md>)

### AI overview

A tutorial for configuring Temporal Cloud to use certificates from Let's Encrypt or another well-known certificate authority. It explains obtaining the CA certificate chain and adding it with certificate filters in Temporal Cloud namespace settings.

### Source excerpt

A not-so-scary serving of the horrors of x.509 certificate management.

## Streamlining Design Workflows: Best Practices and Strategies for Success

DevFeed: [Streamlining Design Workflows: Best Practices and Strategies for Success](<https://devfeed.tech/articles/streamlining-design-workflows-best-practices-and-strategies-for-success-37521.md>)

Original publisher: [Read original article](<https://blog.apartment304.com/streamlining-design-workflows/>)

Author: Jacqueline Rhoda

Published: 2024-08-21T18:53:49Z

Content type: tutorial

Language: en

Sources: [Apartment 304](<https://devfeed.tech/sources/apartment-304.md>)

Topics: [User Experience](<https://devfeed.tech/topics/user-experience.md>), [consistency](<https://devfeed.tech/topics/consistency.md>), [Users](<https://devfeed.tech/topics/users.md>), [file](<https://devfeed.tech/topics/file.md>)

Tags: [apartment-304](<https://devfeed.tech/tags/apartment-304.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [components](<https://devfeed.tech/tags/components.md>), [consistency](<https://devfeed.tech/tags/consistency.md>), [custom-software-solutions](<https://devfeed.tech/tags/custom-software-solutions.md>), [design](<https://devfeed.tech/tags/design.md>), [devops](<https://devfeed.tech/tags/devops.md>), [devops-engineer](<https://devfeed.tech/tags/devops-engineer.md>), [efficiency](<https://devfeed.tech/tags/efficiency.md>), [file](<https://devfeed.tech/tags/file.md>), [guide](<https://devfeed.tech/tags/guide.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [software-development](<https://devfeed.tech/tags/software-development.md>), [software-engineer](<https://devfeed.tech/tags/software-engineer.md>), [strategies](<https://devfeed.tech/tags/strategies.md>), [style-guide](<https://devfeed.tech/tags/style-guide.md>), [users](<https://devfeed.tech/tags/users.md>), [workflows](<https://devfeed.tech/tags/workflows.md>)

### AI overview

This article explains how to streamline design workflows by defining user objectives, using product requirement documents and low-fidelity wireframes, organizing design files, and integrating design elements into applications.

### Source excerpt

Enhance your design workflows to achieve more efficient and successful design outcomes.

## Increasing Resiliency in a Banking Sweep System

DevFeed: [Increasing Resiliency in a Banking Sweep System](<https://devfeed.tech/articles/increasing-resiliency-in-a-banking-sweep-system-37522.md>)

Original publisher: [Read original article](<https://blog.apartment304.com/temporal-banking-sweep-network/>)

Author: James Heller

Published: 2024-06-27T20:00:00Z

Content type: article

Language: en

Sources: [Apartment 304](<https://devfeed.tech/sources/apartment-304.md>)

Topics: [resiliency](<https://devfeed.tech/topics/resiliency.md>), [Networks](<https://devfeed.tech/topics/networks.md>), [Processes](<https://devfeed.tech/topics/processes.md>)

Tags: [apartment-304](<https://devfeed.tech/tags/apartment-304.md>), [banking](<https://devfeed.tech/tags/banking.md>), [custom-software-solutions](<https://devfeed.tech/tags/custom-software-solutions.md>), [devops](<https://devfeed.tech/tags/devops.md>), [devops-engineer](<https://devfeed.tech/tags/devops-engineer.md>), [financial](<https://devfeed.tech/tags/financial.md>), [insurance](<https://devfeed.tech/tags/insurance.md>), [integration](<https://devfeed.tech/tags/integration.md>), [network](<https://devfeed.tech/tags/network.md>), [operational](<https://devfeed.tech/tags/operational.md>), [resiliency](<https://devfeed.tech/tags/resiliency.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [software-development](<https://devfeed.tech/tags/software-development.md>), [software-engineer](<https://devfeed.tech/tags/software-engineer.md>), [workflows](<https://devfeed.tech/tags/workflows.md>)

### AI overview

The article describes incrementally migrating a banking sweep network system to Temporal Workflow. It explains how the approach addressed stability and operational issues while avoiding the risk of a full rewrite and its single cut-over event.

### Source excerpt

Incrementally migrate a banking sweep network system to a Temporal Workflow

## Halloween Spooktacular: Fog Machine Madness

DevFeed: [Halloween Spooktacular: Fog Machine Madness](<https://devfeed.tech/articles/halloween-spooktacular-fog-machine-madness-37517.md>)

Original publisher: [Read original article](<https://blog.apartment304.com/fog-machine-madness/>)

Author: James Heller

Published: 2023-09-26T21:50:49Z

Content type: article

Language: en

Sources: [Apartment 304](<https://devfeed.tech/sources/apartment-304.md>)

Topics: [circuit](<https://devfeed.tech/topics/circuit.md>), [Microcontroller](<https://devfeed.tech/topics/microcontroller.md>), [Reverse Engineering](<https://devfeed.tech/topics/reverse-engineering.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [MIDI](<https://devfeed.tech/topics/midi.md>), [Requirements](<https://devfeed.tech/topics/requirements.md>)

Tags: [apartment-304](<https://devfeed.tech/tags/apartment-304.md>), [circuit](<https://devfeed.tech/tags/circuit.md>), [custom-software-solutions](<https://devfeed.tech/tags/custom-software-solutions.md>), [devops](<https://devfeed.tech/tags/devops.md>), [devops-engineer](<https://devfeed.tech/tags/devops-engineer.md>), [electronics](<https://devfeed.tech/tags/electronics.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [requirements](<https://devfeed.tech/tags/requirements.md>), [reverse-engineering](<https://devfeed.tech/tags/reverse-engineering.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [software-development](<https://devfeed.tech/tags/software-development.md>), [software-engineer](<https://devfeed.tech/tags/software-engineer.md>)

### AI overview

A Halloween automation project uses reverse engineering and circuit design to control a fog machine when trick-or-treaters are nearby. The article describes investigating the machine's 5-pin MIDI remote, designing a circuit with a microcontroller and LEDs, and isolating the connections to protect the controller from potentially damaging voltages.

### Source excerpt

Go, k3s, NATS, circuit design, and fog. Oh the madness. A tale of over engineering.

## Build and Deploy a Simple ReactJS Website: Part 1

DevFeed: [Build and Deploy a Simple ReactJS Website: Part 1](<https://devfeed.tech/articles/build-and-deploy-a-simple-reactjs-website-part-1-37514.md>)

Original publisher: [Read original article](<https://blog.apartment304.com/build-simple-react-app/>)

Author: Claire Rhoda

Published: 2023-06-30T19:08:00Z

Content type: tutorial

Language: en

Sources: [Apartment 304](<https://devfeed.tech/sources/apartment-304.md>)

Topics: [React](<https://devfeed.tech/topics/react.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [CSS](<https://devfeed.tech/topics/css.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [Code](<https://devfeed.tech/topics/code.md>), [hooks](<https://devfeed.tech/topics/hooks.md>)

Tags: [apartment-304](<https://devfeed.tech/tags/apartment-304.md>), [aws](<https://devfeed.tech/tags/aws.md>), [bash](<https://devfeed.tech/tags/bash.md>), [beginners](<https://devfeed.tech/tags/beginners.md>), [css](<https://devfeed.tech/tags/css.md>), [custom-software-solutions](<https://devfeed.tech/tags/custom-software-solutions.md>), [devops](<https://devfeed.tech/tags/devops.md>), [devops-engineer](<https://devfeed.tech/tags/devops-engineer.md>), [editor](<https://devfeed.tech/tags/editor.md>), [github](<https://devfeed.tech/tags/github.md>), [guide](<https://devfeed.tech/tags/guide.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [reactjs](<https://devfeed.tech/tags/reactjs.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [software-development](<https://devfeed.tech/tags/software-development.md>), [software-engineer](<https://devfeed.tech/tags/software-engineer.md>)

### AI overview

This tutorial is the first part of a series on building and uploading a personal website. It introduces creating a ReactJS project, styling it with CSS, and using common ReactJS techniques, tools, and hooks.

### Source excerpt

The first part of this series focuses on how to code a personal portfolio using the ReactJS JavaScript framework. This project will go over techniques, tools, and hooks commonly used in ReactJS along with some basic CSS to make our website look presentable.

## Don't Migrate to Kubernetes

DevFeed: [Don't Migrate to Kubernetes](<https://devfeed.tech/articles/don-t-migrate-to-kubernetes-37515.md>)

Original publisher: [Read original article](<https://blog.apartment304.com/dont-migrate-to-kubernetes/>)

Author: Mike Delago

Published: 2023-04-26T14:23:04Z

Content type: opinion

Language: en

Sources: [Apartment 304](<https://devfeed.tech/sources/apartment-304.md>)

Topics: [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Containers](<https://devfeed.tech/topics/containers.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>), [observability](<https://devfeed.tech/topics/observability.md>), [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>)

Tags: [apartment-304](<https://devfeed.tech/tags/apartment-304.md>), [bare-metal](<https://devfeed.tech/tags/bare-metal.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [containerization](<https://devfeed.tech/tags/containerization.md>), [containers](<https://devfeed.tech/tags/containers.md>), [custom-software-solutions](<https://devfeed.tech/tags/custom-software-solutions.md>), [devops](<https://devfeed.tech/tags/devops.md>), [devops-engineer](<https://devfeed.tech/tags/devops-engineer.md>), [infrastructure-as-code](<https://devfeed.tech/tags/infrastructure-as-code.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [migrate](<https://devfeed.tech/tags/migrate.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [observability](<https://devfeed.tech/tags/observability.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [software-development](<https://devfeed.tech/tags/software-development.md>), [software-engineer](<https://devfeed.tech/tags/software-engineer.md>)

### AI overview

The article argues that organizations should not migrate to Kubernetes directly from bare-metal servers or virtual machines before establishing strong operational practices. It recommends fast infrastructure and configuration changes, efficient testing and deployment, centralized observability and monitoring, and effective container operations before migration.

### Source excerpt

Migrating to Kubernetes can be daunting for many organizations. Shifting the goal from "use Kubernetes" to having good operational practices makes for an easier, iterative transition.