{
  "name": "Atoms for Agents",
  "description": "A directory of finished hardware you can customize with coding agents. Find devices, project ideas, setup guides, and the details to check before you buy.",
  "reviewedAt": "2026-11-04",
  "notice": "Source-backed directory, not independent hardware testing. Follow each entry's compatibility notes. No affiliate tracking is enabled. Popularity scores are subjective editorial estimates, not measured sales, traffic, reviews or quality. Amazon search destinations are not verified product listings; direct listings are not live stock or compatibility checks.",
  "devices": [
    {
      "slug": "android-photo-frame",
      "name": "Android photo frame",
      "model": "Compatible Frameo hardware; verify board and firmware",
      "maker": "Multiple manufacturers",
      "category": "displays",
      "number": "01",
      "image": "/images/frame.svg",
      "imageAlt": "Illustration of a photo frame displaying a custom dashboard",
      "imageCredit": "Original concept illustration; not a product photograph",
      "headline": "A photo frame. Now your home dashboard.",
      "summary": "Put your own web dashboard on a compatible Android photo frame. Weather, calendars, transit, or whatever you want to glance at.",
      "route": "Android + web app",
      "effort": "Tinkering required",
      "evidence": "Community guide",
      "buyUrl": "https://www.amazon.com/dp/B0GHR65YYX",
      "buyLabel": "View an example on Amazon",
      "affiliate": false,
      "purchaseNote": "Example listing only, not a compatibility guarantee. The same listing can ship different boards or firmware. Check the guide's device list and the seller's return policy before buying.",
      "description": "Some digital photo frames are Android computers behind a simple photo-sharing interface. On supported hardware, Wes Bos's project installs the tools needed to display a custom web dashboard. That makes a familiar HTML/CSS project into something that lives on a wall or a desk. This is not a universal modification for every Frameo frame.",
      "projects": [
        "A family calendar beside the front door",
        "A transit and weather board",
        "A dashboard for your home or side project"
      ],
      "needs": [
        "A frame whose exact board and firmware match a supported route",
        "A laptop, Android platform tools, and a data-capable cable suitable for that frame",
        "A web dashboard and a plan for serving it on your network or online"
      ],
      "caveats": [
        "Brand name and screen size are not enough to determine compatibility. The community device list is the starting point.",
        "Enabling ADB or changing the launcher may involve security and warranty trade-offs. Never expose ADB to the public internet.",
        "An AI coding subscription can help build the dashboard; it does not guarantee that a locked-down frame can run it."
      ],
      "steps": [
        {
          "title": "Identify the hardware first",
          "body": "Read the tutorial and community device list before ordering. Once the frame arrives, confirm its board identifier, Android version, and available connections before changing anything."
        },
        {
          "title": "Follow the matching setup route",
          "body": "Use the original guide for the supported ADB and launcher setup. Do not run commands intended for a different board, and keep a record of what you change."
        },
        {
          "title": "Build one simple screen",
          "body": "Ask your coding agent for a readable dashboard at the frame's actual resolution. Start with a clock and one data source, then test that the page survives a restart."
        }
      ],
      "prompt": "Help me build a single-page dashboard for an Android photo frame. First ask for my exact screen resolution, browser version, and how I will host it. Start with a readable clock and weather using mock data, label that data as mock, and keep credentials out of the browser. Do not assume that the frame is unlocked or give device-changing commands until I provide its exact board and the matching tutorial.",
      "resources": [
        {
          "title": "Hacking smart photo frames",
          "author": "Wes Bos",
          "type": "Tutorial",
          "url": "https://wesbos.com/hacking-smart-photo-frames"
        },
        {
          "title": "Supported devices and community reports",
          "author": "Wes Bos / contributors",
          "type": "Compatibility",
          "url": "https://github.com/wesbos/photo-frame-dashboard/blob/main/docs/devices.md"
        }
      ],
      "reviewedAt": "2026-11-04",
      "displayType": "photo-frames",
      "collections": [],
      "popularity": {
        "score": 86,
        "label": "Editorial estimate",
        "factors": {
          "ecosystem": 4,
          "tutorials": 5,
          "retail": 4
        },
        "reason": "A recognizable photo-frame format with a substantial, specific community walkthrough. Compatibility varies more than the category name suggests.",
        "assessedAt": "2026-11-04",
        "measured": false
      },
      "addedAt": "2026-11-04",
      "seo": {
        "title": "Android photo frame dashboard: compatibility & setup",
        "description": "Make a family calendar or home dashboard on a compatible Android photo frame. Check boards, firmware, ADB requirements, tutorials, and the Amazon example.",
        "bestFor": "A wall or desk dashboard built with familiar web tools.",
        "notFor": "Anyone who needs guaranteed compatibility from an Amazon listing alone.",
        "runsWhere": "The dashboard runs in a browser on supported frame hardware; development stays on your laptop.",
        "faqs": [
          {
            "question": "Can I turn any Frameo photo frame into a dashboard?",
            "answer": "No. The board and firmware determine which setup route works. Check the community device list before purchasing; the same retailer listing can ship different hardware."
          },
          {
            "question": "Does this require soldering?",
            "answer": "The documented software route is the reason it is included here. If your exact board needs opening, soldering, or an undocumented recovery process, do not treat this listing as a beginner-ready recommendation."
          },
          {
            "question": "Where can I buy Android photo frame?",
            "answer": "An Amazon listing is linked as a starting point, not a guarantee of stock or compatibility. Example listing only, not a compatibility guarantee. The same listing can ship different boards or firmware. Check the guide's device list and the seller's return policy before buying."
          }
        ]
      },
      "amazon": {
        "url": "https://www.amazon.com/dp/B0GHR65YYX",
        "kind": "listing",
        "label": "View on Amazon",
        "affiliate": false,
        "note": "Example listing, not a guaranteed compatible board or firmware.",
        "discoveredAt": "2026-11-04",
        "verification": "Existing example listing"
      },
      "url": "https://atomsforagents.com/devices/android-photo-frame/",
      "markdownUrl": "https://atomsforagents.com/devices/android-photo-frame.md"
    },
    {
      "slug": "nanoleaf-floor-lamp",
      "name": "Nanoleaf Floor Lamp",
      "model": "NL72K4 · supported firmware above v3.0.10",
      "maker": "Nanoleaf",
      "category": "lights",
      "displayType": null,
      "number": "08",
      "image": "/images/nanoleaf-photo.webp",
      "imageAlt": "Nanoleaf Floor Lamp glowing in rainbow colors",
      "imageCredit": "Product image: Nanoleaf",
      "headline": "A lamp that knows when something changes.",
      "summary": "Turn a finished lamp into an ambient signal with documented color, brightness, and effect controls. No custom LED wiring.",
      "route": "Local HTTP / effects",
      "effort": "Guided setup",
      "evidence": "Official docs",
      "buyUrl": "https://nanoleaf.me/en-us/products/nanoleaf-floor-lamp",
      "buyLabel": "View at Nanoleaf",
      "affiliate": false,
      "purchaseNote": "Match model NL72K4 and the documented firmware requirements. This support claim does not apply to every Nanoleaf or Matter light. Follow normal product assembly instructions.",
      "description": "Nanoleaf lists its NL72K4 Floor Lamp among the Wi-Fi Essentials products with a documented local control interface. You can set color and brightness, select effects, and develop a small program that ties those changes to something you care about. The directory is interested in a new software behavior—not simply using the stock lighting app.",
      "projects": [
        "A gentle signal when a long-running job finishes",
        "A focus light that follows a work timer",
        "A color cue for an upcoming meeting"
      ],
      "needs": [
        "The supported NL72K4 lamp, suitable power, and Wi-Fi",
        "Nanoleaf's app for the initial pairing window",
        "A laptop or other machine to run your custom logic"
      ],
      "caveats": [
        "The official API lists exact models and requires firmware above v3.0.10. Similar-looking models can use a different route.",
        "Initial authorization uses the app's Connect to API flow and a short pairing window.",
        "Ordinary lamp assembly is still required; this is not electrical work. Avoid rapid flashing effects and do not expose the local control interface publicly."
      ],
      "steps": [
        {
          "title": "Confirm model and firmware",
          "body": "Compare the label and app details with the official supported-device table before writing code."
        },
        {
          "title": "Pair with the documented interface",
          "body": "Set the lamp up normally, then use the app's API pairing flow. Store the resulting authorization token privately."
        },
        {
          "title": "Build a gentle status cue",
          "body": "Start by changing brightness or a static color. Add a data source only after you can restore the normal scene reliably."
        }
      ],
      "prompt": "Help me control a Nanoleaf Floor Lamp NL72K4 with the official Wi-Fi Essentials API. First confirm the model and firmware and explain the pairing flow. Build a small local script that changes to a gentle static color for a timer, restores the previous state, and stores the token outside source control. Do not use rapid flashing.",
      "resources": [
        {
          "title": "Supported models, pairing, and light controls",
          "author": "Nanoleaf",
          "type": "Developer guide",
          "url": "https://nanoleaf.atlassian.net/wiki/spaces/nlapid/pages/2296381472/Nanoleaf+Matter+WiFi+Essentials+Open+API+Documentation"
        }
      ],
      "reviewedAt": "2026-11-04",
      "collections": [],
      "popularity": {
        "score": 74,
        "label": "Editorial estimate",
        "factors": {
          "ecosystem": 4,
          "tutorials": 3,
          "retail": 4
        },
        "reason": "A recognizable lighting brand with model-specific local-control documentation; firmware support matters more than broad smart-light popularity.",
        "assessedAt": "2026-11-04",
        "measured": false
      },
      "addedAt": "2026-11-04",
      "seo": {
        "title": "Nanoleaf Floor Lamp NL72K4: API projects & setup",
        "description": "Customize the Nanoleaf Floor Lamp NL72K4 with local software control. Check firmware, pairing, ambient-light project ideas, guides, and buying options.",
        "bestFor": "Gentle ambient signals, work timers, and meeting reminders.",
        "notFor": "Assuming any Matter lamp uses the same local interface.",
        "runsWhere": "Your software runs on a laptop or other host and sends local commands to the supported lamp.",
        "faqs": [
          {
            "question": "Can I control the Nanoleaf Floor Lamp locally?",
            "answer": "Nanoleaf documents local control for supported Wi-Fi Essentials hardware including NL72K4, with firmware above v3.0.10. Match the exact model and use the documented pairing flow."
          },
          {
            "question": "Does this work with every Nanoleaf light?",
            "answer": "No. Similar branding and Matter support do not establish compatibility with this interface. Check the exact supported-device table before buying or writing a controller."
          },
          {
            "question": "Where can I buy Nanoleaf Floor Lamp?",
            "answer": "Use the official buying or compatibility link below. The Amazon button opens a search, not a confirmed product listing. Match model NL72K4 and the documented firmware requirements. This support claim does not apply to every Nanoleaf or Matter light. Follow normal product assembly instructions."
          }
        ]
      },
      "amazon": {
        "url": "https://www.amazon.com/s?k=Nanoleaf+Floor+Lamp+NL72K4",
        "kind": "search",
        "label": "Search Amazon",
        "affiliate": false,
        "note": "Amazon search only: an exact matching listing has not been confirmed. Prefer the official seller if results do not match.",
        "discoveredAt": "2026-11-04",
        "verification": "Search destination only; no matching listing verified"
      },
      "imageSource": "https://nanoleaf.me/en-us/products/nanoleaf-floor-lamp",
      "imageRights": "Attributed preview; commercial permission not verified",
      "url": "https://atomsforagents.com/devices/nanoleaf-floor-lamp/",
      "markdownUrl": "https://atomsforagents.com/devices/nanoleaf-floor-lamp.md"
    },
    {
      "slug": "stream-deck-mk2",
      "name": "Stream Deck MK.2",
      "model": "MK.2 · 15 LCD keys",
      "maker": "Elgato",
      "category": "buttons-controls",
      "displayType": null,
      "number": "09",
      "image": "/images/stream-deck-photo.webp",
      "imageAlt": "Elgato Stream Deck MK.2 with 15 colorful keys",
      "imageCredit": "Product image: Elgato",
      "headline": "Make a button for the thing you do every day.",
      "summary": "A finished USB button deck with a documented plugin SDK. Build your own shortcuts, controls, and live status buttons.",
      "route": "Node.js / plugin SDK",
      "effort": "Guided setup",
      "evidence": "Official docs",
      "buyUrl": "https://www.elgato.com/de/de/p/stream-deck-white",
      "buyLabel": "View at Elgato",
      "affiliate": false,
      "purchaseNote": "The linked manufacturer page is regional; select your country before shopping. Choose MK.2, and check the current Stream Deck software and SDK requirements for your operating system.",
      "description": "Stream Deck MK.2 has fifteen customizable LCD keys and runs through Elgato's desktop software. Its official SDK lets you build a plugin that reacts to presses and updates the keys. A coding agent can help scaffold the plugin and connect it to a local tool or service; the logic runs on the attached computer, not as a standalone application inside the deck.",
      "projects": [
        "One button to start a focus session",
        "A live status key for your side project",
        "A physical control panel for your own software"
      ],
      "needs": [
        "Stream Deck MK.2 and a compatible computer",
        "Current Stream Deck desktop software",
        "Node.js and the tools in the official plugin guide"
      ],
      "caveats": [
        "The deck depends on the attached computer and Stream Deck software; it is not an autonomous network button.",
        "Check current plugin-development requirements separately from older hardware minimum specifications.",
        "Keep confirmations around destructive shortcuts, messages, payments, or actions that affect other people."
      ],
      "steps": [
        {
          "title": "Set up a normal key first",
          "body": "Install the desktop software and confirm the device works with a built-in action."
        },
        {
          "title": "Scaffold the example plugin",
          "body": "Follow Elgato's getting-started guide and keep its sample action working before adding a service."
        },
        {
          "title": "Give one button a useful job",
          "body": "Add a harmless local action, then a status indicator. Keep keys and tokens out of the distributed plugin bundle."
        }
      ],
      "prompt": "Help me create a Stream Deck MK.2 plugin with the current official SDK. First check the required desktop software and Node.js versions. Start with one harmless button and a visible success/error state. Explain where the plugin runs and require confirmation before any destructive or externally visible action.",
      "resources": [
        {
          "title": "Build your first Stream Deck plugin",
          "author": "Elgato",
          "type": "Tutorial",
          "url": "https://docs.elgato.com/streamdeck/sdk/introduction/getting-started/"
        },
        {
          "title": "MK.2 hardware specifications",
          "author": "Elgato",
          "type": "Reference",
          "url": "https://help.elgato.com/hc/en-us/articles/18208816152333-Elgato-Stream-Deck-MK-2-Technical-Specifications"
        }
      ],
      "reviewedAt": "2026-11-04",
      "collections": [],
      "popularity": {
        "score": 100,
        "label": "Editorial estimate",
        "factors": {
          "ecosystem": 5,
          "tutorials": 5,
          "retail": 5
        },
        "reason": "A familiar desktop accessory with an official plugin SDK and a dedicated getting-started tutorial.",
        "assessedAt": "2026-11-04",
        "measured": false
      },
      "addedAt": "2026-11-04",
      "seo": {
        "title": "Stream Deck MK.2 projects, plugins & setup guide",
        "description": "Build custom Stream Deck MK.2 buttons with its official plugin SDK. Explore project ideas, computer requirements, setup steps, and an Amazon listing.",
        "bestFor": "Physical shortcuts and live status buttons for software you already use.",
        "notFor": "A standalone button that works without an attached computer.",
        "runsWhere": "Your plugin runs through Stream Deck software on the connected computer, not inside the deck as an independent app.",
        "faqs": [
          {
            "question": "Can Claude Code or Cursor build a Stream Deck plugin?",
            "answer": "They can help scaffold and explain a plugin using Elgato’s current SDK. You still need the supported desktop software, Node.js tooling, and local testing on your computer."
          },
          {
            "question": "Does Stream Deck MK.2 work without a computer?",
            "answer": "Not for the plugin route described here. The deck depends on the attached computer and Stream Deck software. For hub-based logic, compare Flic Button + Hub LR."
          },
          {
            "question": "Where can I buy Stream Deck MK.2?",
            "answer": "An Amazon listing is linked as a starting point, not a guarantee of stock or compatibility. The linked manufacturer page is regional; select your country before shopping. Choose MK.2, and check the current Stream Deck software and SDK requirements for your operating system."
          }
        ]
      },
      "amazon": {
        "url": "https://www.amazon.com/Elgato-Stream-Deck-MK-2-Controller/dp/B09738CV2G",
        "kind": "listing",
        "label": "View on Amazon",
        "affiliate": false,
        "note": "Check the selected model, variant, seller, accessories, and return policy. Price and stock are not tracked here.",
        "discoveredAt": "2026-11-04",
        "verification": "Model named in indexed Amazon page; live inventory and exact variant not verified"
      },
      "imageSource": "https://www.elgato.com/de/de/p/stream-deck-white",
      "imageRights": "Attributed preview; commercial permission not verified",
      "url": "https://atomsforagents.com/devices/stream-deck-mk2/",
      "markdownUrl": "https://atomsforagents.com/devices/stream-deck-mk2.md"
    },
    {
      "slug": "home-assistant-voice",
      "name": "Home Assistant Voice",
      "model": "Preview Edition",
      "maker": "Nabu Casa",
      "category": "voice-audio",
      "number": "05",
      "image": "/images/voice.webp",
      "imageAlt": "Home Assistant Voice Preview Edition, viewed from above",
      "imageCredit": "Product image: Home Assistant / Nabu Casa",
      "headline": "Give your home a voice you can customize.",
      "summary": "A finished voice device with open firmware. Customize Home Assistant commands and automations without assembling a speaker.",
      "route": "Home Assistant / ESPHome",
      "effort": "Extra hardware needed",
      "evidence": "Official docs",
      "buyUrl": "https://www.home-assistant.io/voice-pe/",
      "buyLabel": "Find an official retailer",
      "affiliate": false,
      "purchaseNote": "A Home Assistant system is required separately. The device does not include a USB-C cable or charger; check regional retailers and accessories.",
      "description": "Home Assistant Voice Preview Edition is an enclosed voice satellite with microphones, a speaker, physical controls, and open-source ESPHome firmware. A coding agent can help write Home Assistant automations, custom sentences, and configuration. Speech processing and optional language-model services run elsewhere; this small device is not a standalone computer running a full coding agent.",
      "projects": [
        "A spoken morning routine",
        "Custom voice commands for your home",
        "A desk button that starts a focus scene"
      ],
      "needs": [
        "Voice Preview Edition, a USB-C cable, and a suitable power supply",
        "A running Home Assistant installation on another machine",
        "A local speech-processing setup or an appropriate cloud service"
      ],
      "caveats": [
        "Fully local general speech recognition can need a more powerful computer; supported languages and performance vary.",
        "Cloud speech and optional AI providers may have separate subscription or usage costs.",
        "Start with harmless automations. Keep confirmation steps around locks, alarms, heating, and other consequential actions."
      ],
      "steps": [
        {
          "title": "Prepare Home Assistant",
          "body": "Confirm that your Home Assistant installation is available and choose a supported local or cloud speech route."
        },
        {
          "title": "Follow the setup guide",
          "body": "Connect power, add the Voice device, and test a built-in command before adding custom behavior."
        },
        {
          "title": "Add a small automation",
          "body": "Have your coding agent help draft one custom sentence or automation. Test it with a light or status response before connecting more consequential devices."
        }
      ],
      "prompt": "Help me create a Home Assistant voice automation for my Voice Preview Edition. Ask for my Home Assistant version, speech setup, and the exact entity IDs first. Start with a harmless status response or light, explain the YAML, and preserve confirmation for locks, alarms, or other consequential actions. Do not assume I have paid cloud or LLM access.",
      "resources": [
        {
          "title": "Voice Preview Edition setup and support",
          "author": "Nabu Casa",
          "type": "Setup guide",
          "url": "https://support.nabucasa.com/hc/categories/24451727188125"
        },
        {
          "title": "Create an AI conversation personality",
          "author": "Home Assistant",
          "type": "Tutorial",
          "url": "https://www.home-assistant.io/voice_control/assist_create_open_ai_personality/"
        },
        {
          "title": "Open-source firmware",
          "author": "ESPHome",
          "type": "Code",
          "url": "https://github.com/esphome/home-assistant-voice-pe"
        }
      ],
      "reviewedAt": "2026-11-04",
      "displayType": null,
      "collections": [
        "desk-companions"
      ],
      "popularity": {
        "score": 86,
        "label": "Editorial estimate",
        "factors": {
          "ecosystem": 5,
          "tutorials": 4,
          "retail": 3
        },
        "reason": "A well-established home-automation ecosystem with official setup material, an AI conversation tutorial, and public firmware.",
        "assessedAt": "2026-11-04",
        "measured": false
      },
      "addedAt": "2026-11-04",
      "seo": {
        "title": "Home Assistant Voice Preview Edition: projects & setup",
        "description": "Customize Home Assistant Voice Preview Edition with automations and custom commands. See required hardware, local vs cloud speech, guides, and buying options.",
        "bestFor": "Custom voice commands in a home that already runs Home Assistant.",
        "notFor": "A standalone speaker that includes every speech or AI service.",
        "runsWhere": "Voice capture happens on the device; Home Assistant and the chosen speech services do the processing elsewhere.",
        "faqs": [
          {
            "question": "Can Home Assistant Voice work fully locally?",
            "answer": "It can use a local speech setup, but the separate host must be powerful enough for your chosen recognition tools and languages. Check current Home Assistant guidance before choosing a host."
          },
          {
            "question": "What else do I need to buy?",
            "answer": "You need a Home Assistant system plus a suitable USB-C cable and power supply. Optional cloud speech or language-model services may carry their own fees."
          },
          {
            "question": "Where can I buy Home Assistant Voice?",
            "answer": "Use the official buying or compatibility link below. The Amazon button opens a search, not a confirmed product listing. A Home Assistant system is required separately. The device does not include a USB-C cable or charger; check regional retailers and accessories."
          }
        ]
      },
      "amazon": {
        "url": "https://www.amazon.com/s?k=Home+Assistant+Voice+Preview+Edition",
        "kind": "search",
        "label": "Search Amazon",
        "affiliate": false,
        "note": "Amazon search only: an exact matching listing has not been confirmed. Prefer the official seller if results do not match.",
        "discoveredAt": "2026-11-04",
        "verification": "Search destination only; no matching listing verified"
      },
      "url": "https://atomsforagents.com/devices/home-assistant-voice/",
      "markdownUrl": "https://atomsforagents.com/devices/home-assistant-voice.md"
    },
    {
      "slug": "reolink-e1-pro",
      "name": "Reolink E1 Pro",
      "model": "E1 Pro / E330 · verify hardware revision",
      "maker": "Reolink",
      "category": "cameras-sensors",
      "displayType": null,
      "number": "11",
      "image": "/images/reolink-photo.webp",
      "imageAlt": "Reolink E1 Pro indoor camera",
      "imageCredit": "Product image: Reolink",
      "headline": "Your camera feed. Your own software around it.",
      "summary": "A finished indoor camera with documented third-party streaming and control support. Build a local viewer or a custom monitoring project.",
      "route": "RTSP / ONVIF / CGI",
      "effort": "Network setup",
      "evidence": "Official docs",
      "buyUrl": "https://reolink.com/product/e1-pro/",
      "buyLabel": "View at Reolink",
      "affiliate": false,
      "purchaseNote": "Verify E1 Pro/E330 and its hardware revision against the manufacturer's current matrix. E1 and E1 Pro are not interchangeable; some models need a hub.",
      "description": "Reolink's current compatibility matrix lists E1 Pro/E330 with standalone CGI, RTSP, and ONVIF support. That provides a documented way to connect your own software to a finished camera. Your custom viewer or processing generally runs on another machine; this is not a firmware-unlock tutorial or a claim that the camera runs arbitrary code.",
      "projects": [
        "A local camera viewer on a home dashboard",
        "A time-lapse project for your own workspace",
        "A private software experiment using a camera feed"
      ],
      "needs": [
        "A supported E1 Pro revision, power, and local network",
        "Reolink's setup tools to enable the needed protocol",
        "Another machine for your custom viewer, recording, or processing"
      ],
      "caveats": [
        "Protocol support varies by model and revision. Check the live compatibility matrix instead of assuming every Reolink camera works the same way.",
        "Use an authorized private space and respect the consent of people who could be recorded. Keep streams and passwords off public pages.",
        "Do not expose camera ports to the public internet. A continuous software project may require an always-on machine."
      ],
      "steps": [
        {
          "title": "Verify exact hardware",
          "body": "Check the device information and official compatibility table before enabling third-party access."
        },
        {
          "title": "Test the local stream",
          "body": "Use the manufacturer's VLC guide to confirm a stream on your local network, with credentials kept private."
        },
        {
          "title": "Build around a working feed",
          "body": "Ask your coding agent for a local viewer or time-lapse tool. Define where recordings live and how they are deleted before capturing anything."
        }
      ],
      "prompt": "Help me build a private local viewer for my Reolink E1 Pro. First ask for its hardware revision, confirmed protocol support, and the computer that will run the viewer. Keep camera credentials server-side, do not expose ports to the internet, and do not record audio or video until I explicitly choose storage and retention.",
      "resources": [
        {
          "title": "Exact-model protocol compatibility matrix",
          "author": "Reolink",
          "type": "Compatibility",
          "url": "https://support.reolink.com/articles/900000617826-Which-Reolink-Products-Support-CGI-RTSP-ONVIF/"
        },
        {
          "title": "View a camera stream with VLC",
          "author": "Reolink",
          "type": "Tutorial",
          "url": "https://support.reolink.com/articles/360007010473-How-to-Live-View-Reolink-Cameras-via-VLC-Media-Player/"
        }
      ],
      "reviewedAt": "2026-11-04",
      "collections": [],
      "popularity": {
        "score": 84,
        "label": "Editorial estimate",
        "factors": {
          "ecosystem": 4,
          "tutorials": 4,
          "retail": 5
        },
        "reason": "A familiar retail camera with official protocol compatibility and streaming tutorials; those are stronger signals than generic smart-camera claims.",
        "assessedAt": "2026-11-04",
        "measured": false
      },
      "addedAt": "2026-11-04",
      "seo": {
        "title": "Reolink E1 Pro: RTSP projects, compatibility & setup",
        "description": "Use a supported Reolink E1 Pro camera with RTSP, ONVIF, or CGI. Check hardware revisions, private local-viewer ideas, setup guides, and Amazon options.",
        "bestFor": "A private local viewer or time-lapse tool around a supported camera stream.",
        "notFor": "Installing arbitrary apps on the camera or exposing its feed publicly.",
        "runsWhere": "The camera supplies a stream; your viewer, recording, or analysis runs on another machine.",
        "faqs": [
          {
            "question": "Does every Reolink E1 support RTSP?",
            "answer": "No. E1 and E1 Pro are not interchangeable. Match the E1 Pro/E330 hardware revision to Reolink’s current protocol matrix before relying on standalone access."
          },
          {
            "question": "Can I use this camera feed in a web dashboard?",
            "answer": "Yes, with software that handles the confirmed stream format. A browser may need a server-side bridge; keep credentials on that server and access restricted to authorized users."
          },
          {
            "question": "Where can I buy Reolink E1 Pro?",
            "answer": "An Amazon listing is linked as a starting point, not a guarantee of stock or compatibility. Verify E1 Pro/E330 and its hardware revision against the manufacturer's current matrix. E1 and E1 Pro are not interchangeable; some models need a hub."
          }
        ]
      },
      "amazon": {
        "url": "https://www.amazon.com/REOLINK-Security-E1-Tracking-Detection/dp/B07THQDSBD",
        "kind": "listing",
        "label": "View on Amazon",
        "affiliate": false,
        "note": "Check the selected model, variant, seller, accessories, and return policy. Price and stock are not tracked here.",
        "discoveredAt": "2026-11-04",
        "verification": "Model named in indexed Amazon page; live inventory and exact variant not verified"
      },
      "imageSource": "https://reolink.com/product/e1-pro/",
      "imageRights": "Attributed preview; commercial permission not verified",
      "url": "https://atomsforagents.com/devices/reolink-e1-pro/",
      "markdownUrl": "https://atomsforagents.com/devices/reolink-e1-pro.md"
    },
    {
      "slug": "sphero-bolt-plus",
      "name": "Sphero BOLT+",
      "model": "BOLT+ · single robot",
      "maker": "Sphero",
      "category": "robots-toys",
      "displayType": null,
      "number": "12",
      "image": "/images/sphero-bolt.webp",
      "imageAlt": "Sphero BOLT+ single robot and its included accessories",
      "imageCredit": "Product image: Sphero",
      "headline": "Write a little code. Watch it roll.",
      "summary": "A ready-made programmable robot with motors, sensors, and a small screen. Create routines in Sphero's documented coding environment.",
      "route": "Sphero Edu / JavaScript",
      "effort": "Guided setup",
      "evidence": "Official docs",
      "buyUrl": "https://sphero.com/products/sphero-bolt-plus?variant=42004713078829",
      "buyLabel": "View the single robot at Sphero",
      "affiliate": false,
      "purchaseNote": "Choose the BOLT+ Single Robot rather than a classroom pack. Check your computer or tablet against the current Sphero Edu connection requirements.",
      "description": "BOLT+ is a finished rolling robot with a screen and motion sensors. Sphero documents text programming alongside beginner-friendly blocks, so a coding agent can help explain or draft a routine that you run in the supported environment. Start with a short motion sequence rather than assuming it is a general-purpose autonomous robot.",
      "projects": [
        "A small routine with movement and on-screen messages",
        "An interactive story that moves around the room",
        "A sensor-driven game on the floor"
      ],
      "needs": [
        "BOLT+ single robot and its charger",
        "A supported computer or tablet and Sphero Edu",
        "A clear, safe floor area for low-speed testing"
      ],
      "caveats": [
        "Use the current supported programming environment and device connection path; arbitrary Python or Node.js libraries are not automatically compatible.",
        "A coding-agent subscription helps write the program but does not directly pair with or control the robot.",
        "Test at low speed on the floor, away from stairs, pets, and fragile objects. Expect calibration and debugging."
      ],
      "steps": [
        {
          "title": "Connect through Sphero Edu",
          "body": "Use the official product resources to charge, connect, and run a simple built-in example."
        },
        {
          "title": "Start with one short routine",
          "body": "Choose the supported text-coding environment and have your agent explain a small movement-and-display program."
        },
        {
          "title": "Add one interaction",
          "body": "Introduce a sensor or input only after the basic routine stops reliably. Keep the first tests brief and slow."
        }
      ],
      "prompt": "Help me write a small Sphero BOLT+ program for the current Sphero Edu JavaScript environment. First confirm my app or browser platform and supported robot connection. Use the official environment's APIs, begin with a low-speed short motion and a stop, and explain how to test safely before adding a sensor response.",
      "resources": [
        {
          "title": "BOLT+ setup, supported platforms, and resources",
          "author": "Sphero",
          "type": "Setup guide",
          "url": "https://sphero.com/products/sphero-bolt-plus/"
        },
        {
          "title": "Sphero Edu web coding environment",
          "author": "Sphero",
          "type": "Coding tool",
          "url": "https://edu.sphero.com/code"
        },
        {
          "title": "BOLT+ lessons and project ideas",
          "author": "Sphero",
          "type": "Tutorial collection",
          "url": "https://edu.sphero.com/edurobots/collections?robot=BOLT%2B&page=1&startPage=1"
        }
      ],
      "reviewedAt": "2026-11-04",
      "collections": [],
      "popularity": {
        "score": 86,
        "label": "Editorial estimate",
        "factors": {
          "ecosystem": 4,
          "tutorials": 5,
          "retail": 4
        },
        "reason": "An established educational robot with an official coding environment and a collection of model-specific lessons.",
        "assessedAt": "2026-11-04",
        "measured": false
      },
      "addedAt": "2026-11-04",
      "seo": {
        "title": "Sphero BOLT+ coding projects & getting started",
        "description": "Explore Sphero BOLT+ programming projects, JavaScript setup, safe testing, device requirements, official lessons, and Amazon buying options.",
        "bestFor": "A finished robot for short motion routines and sensor-based experiments.",
        "notFor": "An unrestricted robotics computer or unattended autonomous machine.",
        "runsWhere": "Write and run programs through the supported Sphero Edu environment and its robot connection.",
        "faqs": [
          {
            "question": "Can I program Sphero BOLT+ with JavaScript?",
            "answer": "Sphero documents text coding through Sphero Edu. Use the current environment’s APIs and confirm your computer or tablet supports the required connection."
          },
          {
            "question": "Can an AI coding agent directly drive the robot?",
            "answer": "A coding subscription does not itself pair with the robot. Use the agent to draft and explain code, then test the routine in Sphero’s supported environment at low speed."
          },
          {
            "question": "Where can I buy Sphero BOLT+?",
            "answer": "An Amazon listing is linked as a starting point, not a guarantee of stock or compatibility. Choose the BOLT+ Single Robot rather than a classroom pack. Check your computer or tablet against the current Sphero Edu connection requirements."
          }
        ]
      },
      "amazon": {
        "url": "https://amazon.com/Sphero-Bolt-Programming-Javascript-Waterproof/dp/B0D3JBNLTQ",
        "kind": "listing",
        "label": "View on Amazon",
        "affiliate": false,
        "note": "Check the selected model, variant, seller, accessories, and return policy. Price and stock are not tracked here.",
        "discoveredAt": "2026-11-04",
        "verification": "Model named in indexed Amazon page; live inventory and exact variant not verified"
      },
      "url": "https://atomsforagents.com/devices/sphero-bolt-plus/",
      "markdownUrl": "https://atomsforagents.com/devices/sphero-bolt-plus.md"
    },
    {
      "slug": "lg-webos-tv",
      "name": "LG webOS TV",
      "model": "Platform guide · exact TV and firmware must be checked",
      "maker": "LG",
      "category": "displays",
      "displayType": "tvs",
      "number": "13",
      "image": "/images/tv.svg",
      "imageAlt": "Concept illustration of a TV showing a custom dashboard",
      "imageCredit": "Original concept illustration; not a product photograph",
      "headline": "That big screen can be a place for your own app.",
      "summary": "Use LG's official Developer Mode route to test a custom web app on a compatible webOS TV. Start with a TV you already own.",
      "route": "HTML / CSS / webOS CLI",
      "effort": "Developer setup",
      "evidence": "Official docs",
      "buyUrl": "https://webostv.developer.lge.com/develop/getting-started/developer-mode-app",
      "buyLabel": "Check your TV before buying",
      "affiliate": false,
      "purchaseNote": "This is a platform-specific project route, not a recommendation to buy an unverified TV model. Confirm Developer Mode availability for the exact TV, region, and firmware first.",
      "description": "LG provides an official Developer Mode app for installing, debugging, and testing webOS TV apps from a computer. Its getting-started guide uses familiar HTML, CSS, and JavaScript. A coding agent can help create a big-screen dashboard or remote-friendly app. This route does not require a rooting claim and is not equivalent to replacing the TV's operating system.",
      "projects": [
        "A big-screen family dashboard",
        "A remote-controlled personal web app",
        "A wall-sized project or event information screen"
      ],
      "needs": [
        "A compatible webOS TV with the Developer Mode app available",
        "A free LG Developer account and a computer with webOS CLI or Studio",
        "TV and computer on the same network"
      ],
      "caveats": [
        "Developer Mode is time-limited. LG says apps installed through it are removed when Developer Mode is disabled, including after session expiry and reboot.",
        "This is a development/testing route, not a promise of permanent kiosk behavior, replacement launcher, or unrestricted system access.",
        "Match browser capabilities to your TV version. Avoid leaving a static dashboard on an OLED panel for prolonged periods; follow the manufacturer's panel-care advice."
      ],
      "steps": [
        {
          "title": "Check the TV you already have",
          "body": "Read LG's prerequisites and confirm the Developer Mode app is available. Do not buy based solely on the webOS brand name."
        },
        {
          "title": "Build a small web app",
          "body": "Follow LG's first-web-app guide. Design for the actual screen and remote input rather than a laptop pointer."
        },
        {
          "title": "Test through Developer Mode",
          "body": "Connect the computer using LG's official guide, install the test app, and record the session-expiry and recovery requirements."
        }
      ],
      "prompt": "Help me build a simple webOS TV dashboard using LG's official Developer Mode workflow, not rooting. First ask for my exact TV model, webOS and firmware version, and whether Developer Mode is available. Use compatible HTML/CSS/JavaScript, support remote navigation, explain session expiry and app removal, and do not promise permanent kiosk operation.",
      "resources": [
        {
          "title": "Install and test apps with Developer Mode",
          "author": "LG",
          "type": "Tutorial",
          "url": "https://webostv.developer.lge.com/develop/getting-started/developer-mode-app"
        },
        {
          "title": "Build your first webOS TV web app",
          "author": "LG",
          "type": "Tutorial",
          "url": "https://webostv.developer.lge.com/develop/getting-started/build-your-first-web-app"
        }
      ],
      "reviewedAt": "2026-11-04",
      "collections": [],
      "popularity": {
        "score": 88,
        "label": "Editorial estimate",
        "factors": {
          "ecosystem": 5,
          "tutorials": 3,
          "retail": 5
        },
        "reason": "A widely recognizable screen category with official app-development tutorials. This score concerns the ecosystem, not a particular TV or hack.",
        "assessedAt": "2026-11-04",
        "measured": false
      },
      "addedAt": "2026-11-04",
      "seo": {
        "title": "LG webOS TV dashboard: Developer Mode & app setup",
        "description": "Build a custom LG webOS TV dashboard with official Developer Mode. Learn app setup, session-expiry limits, remote-friendly design, and what to check before buying.",
        "bestFor": "Trying a big-screen web app on a compatible television you already own.",
        "notFor": "A permanent kiosk or a promise that every LG TV supports the same setup.",
        "runsWhere": "Your HTML, CSS, and JavaScript app runs on the compatible TV; the development tools run on your computer.",
        "faqs": [
          {
            "question": "Do I need to root my LG TV to make a dashboard?",
            "answer": "The route covered here uses LG’s official Developer Mode, not rooting. It allows app testing under LG’s restrictions rather than unrestricted system access."
          },
          {
            "question": "Will the dashboard stay installed permanently?",
            "answer": "Do not assume it will. LG says Developer Mode apps are removed when the mode is disabled, including after session expiry and reboot. Plan for renewal and recovery before relying on it."
          },
          {
            "question": "Where can I buy LG webOS TV?",
            "answer": "Use the official buying or compatibility link below. The Amazon button opens a search, not a confirmed product listing. This is a platform-specific project route, not a recommendation to buy an unverified TV model. Confirm Developer Mode availability for the exact TV, region, and firmware first."
          }
        ]
      },
      "amazon": {
        "url": "https://www.amazon.com/s?k=LG+webOS+TV",
        "kind": "search",
        "label": "Search Amazon",
        "affiliate": false,
        "note": "Amazon search only: an exact matching listing has not been confirmed. Prefer the official seller if results do not match.",
        "discoveredAt": "2026-11-04",
        "verification": "Search destination only; no matching listing verified"
      },
      "url": "https://atomsforagents.com/devices/lg-webos-tv/",
      "markdownUrl": "https://atomsforagents.com/devices/lg-webos-tv.md"
    },
    {
      "slug": "busy-bar",
      "name": "BUSY Bar",
      "model": "BUSY Bar · match documentation to firmware",
      "maker": "BUSY",
      "category": "displays",
      "displayType": "pixel-status",
      "number": "07",
      "image": "/images/busy-bar.svg",
      "imageAlt": "Concept illustration of a programmable status display",
      "imageCredit": "Original concept illustration; not a product photograph",
      "headline": "Put your project status where you can see it.",
      "summary": "A finished status display with documented USB, Wi-Fi, and cloud control. Send your own text, images, and notifications.",
      "route": "HTTP / Python / TypeScript",
      "effort": "Guided setup",
      "evidence": "Official docs",
      "buyUrl": "https://busy.app/products/busy-bar",
      "buyLabel": "View at BUSY",
      "affiliate": false,
      "purchaseNote": "Check the current product, firmware, and included accessories. USB, local Wi-Fi, and cloud are different connection routes.",
      "description": "BUSY Bar is more than a preset busy light: its official HTTP interface can draw text and images, control timers and audio, and expose device state. The maker provides Python and TypeScript libraries. A coding agent can help turn one useful event into a glanceable signal without replacing the firmware.",
      "projects": [
        "A build-pass or build-fail status display",
        "A calendar-aware focus sign",
        "A tiny counter for a personal project"
      ],
      "needs": [
        "BUSY Bar and its documented USB or network connection",
        "A laptop running a small script or application",
        "An always-on process if your project needs unattended updates"
      ],
      "caveats": [
        "Local Wi-Fi API access is disabled by default and requires explicit setup and authentication.",
        "USB, LAN, and cloud connections use different authentication methods. Never publish device passwords or API tokens.",
        "The documented route changes the display and behavior; it is not a claim that arbitrary desktop software runs on the device."
      ],
      "steps": [
        {
          "title": "Start with the USB example",
          "body": "Follow the maker's HTTP guide to connect the device and read its status before changing settings."
        },
        {
          "title": "Render one message",
          "body": "Use the documented image-and-text example. Confirm your firmware's API and screen dimensions rather than assuming a normal browser canvas."
        },
        {
          "title": "Connect a useful event",
          "body": "Add one input, such as a build result or timer. Show stale or disconnected status when the script cannot reach its data source."
        }
      ],
      "prompt": "Help me make a BUSY Bar status display with the official Python or TypeScript library. First ask for my firmware version, connection method, and the event I want to show. Start with a harmless test message using the documented HTTP API. Keep credentials private and explain whether my laptop needs to stay on.",
      "resources": [
        {
          "title": "HTTP API and first Python display script",
          "author": "BUSY",
          "type": "Tutorial",
          "url": "https://docs.busy.app/bar/dev/http-api"
        },
        {
          "title": "Python library documentation",
          "author": "BUSY",
          "type": "Reference",
          "url": "https://busy-app.github.io/busylib-py/"
        }
      ],
      "reviewedAt": "2026-11-04",
      "collections": [
        "desk-companions"
      ],
      "popularity": {
        "score": 56,
        "label": "Editorial estimate",
        "factors": {
          "ecosystem": 3,
          "tutorials": 3,
          "retail": 2
        },
        "reason": "A focused developer-oriented status display with official HTTP examples and Python documentation, rather than a broad retail category.",
        "assessedAt": "2026-11-04",
        "measured": false
      },
      "addedAt": "2026-11-04",
      "seo": {
        "title": "BUSY Bar: custom display projects & HTTP API setup",
        "description": "Program BUSY Bar with text, timers, and status updates. Explore its HTTP interface, Python tools, connection requirements, project ideas, and buying options.",
        "bestFor": "A compact build-status display, meeting cue, or timer.",
        "notFor": "A general-purpose desktop screen or a device that runs desktop apps.",
        "runsWhere": "A separate script talks to the device over the documented USB, LAN, or cloud route.",
        "faqs": [
          {
            "question": "Can I show my own text on BUSY Bar?",
            "answer": "Its official HTTP interface supports display content and other device functions. Start with the maker’s text-and-image example and confirm the firmware’s supported screen format."
          },
          {
            "question": "Does BUSY Bar need custom firmware?",
            "answer": "The route here uses the documented interface rather than replacing firmware. Local Wi-Fi access still needs explicit setup and authentication; it is not open by default."
          },
          {
            "question": "Where can I buy BUSY Bar?",
            "answer": "Use the official buying or compatibility link below. The Amazon button opens a search, not a confirmed product listing. Check the current product, firmware, and included accessories. USB, local Wi-Fi, and cloud are different connection routes."
          }
        ]
      },
      "amazon": {
        "url": "https://www.amazon.com/s?k=BUSY+Bar+busy.app",
        "kind": "search",
        "label": "Search Amazon",
        "affiliate": false,
        "note": "Amazon search only: an exact matching listing has not been confirmed. Prefer the official seller if results do not match.",
        "discoveredAt": "2026-11-04",
        "verification": "Search destination only; no matching listing verified"
      },
      "url": "https://atomsforagents.com/devices/busy-bar/",
      "markdownUrl": "https://atomsforagents.com/devices/busy-bar.md"
    },
    {
      "slug": "flic-button-hub-lr",
      "name": "Flic Button + Hub LR",
      "model": "Flic 2 button with Flic Hub LR",
      "maker": "Shortcut Labs",
      "category": "buttons-controls",
      "displayType": null,
      "number": "10",
      "image": "/images/flic-button.svg",
      "imageAlt": "Concept illustration of a wireless button alongside a hub",
      "imageCredit": "Original concept illustration; not a product photograph",
      "headline": "A small button. Your own logic behind it.",
      "summary": "A finished wireless button paired with a programmable hub. Write JavaScript that responds to a press without keeping a laptop awake.",
      "route": "FlicScript / JavaScript",
      "effort": "Hub required",
      "evidence": "Official docs",
      "buyUrl": "https://flic.io/shop",
      "buyLabel": "Explore Flic buttons & hubs",
      "affiliate": false,
      "purchaseNote": "This project route requires Flic Hub LR as well as the button. Hub Mini is not compatible with Flic Hub Studio. Check the selected bundle before ordering.",
      "description": "Flic Hub Studio lets you create JavaScript modules that run on Flic Hub LR. The button becomes an input to your own logic, which can make HTTP requests or interact with supported systems. It is an approachable way to give a familiar household button a purpose beyond the built-in integration list.",
      "projects": [
        "A button that logs a completed habit",
        "A physical start/stop control for a focus timer",
        "A custom light or music scene"
      ],
      "needs": [
        "A Flic button and Flic Hub LR",
        "Hub power and a network connection",
        "A browser for Hub Studio and any external service your module calls"
      ],
      "caveats": [
        "The button alone is not the programmable hub. Budget and set up both devices.",
        "Hub Mini does not support this Studio route. Verify the precise hub rather than treating all Flic hubs alike.",
        "FlicScript is the hub's supported environment, not unrestricted desktop Node.js. Use its documented modules."
      ],
      "steps": [
        {
          "title": "Pair button and hub",
          "body": "Follow Flic's setup and confirm a normal button action works."
        },
        {
          "title": "Open Hub Studio",
          "body": "Use the official getting-started guide to connect to Hub LR and create a small module."
        },
        {
          "title": "Handle a harmless press",
          "body": "Start with logging or a status request. Add safeguards against accidental repeated presses before connecting consequential actions."
        }
      ],
      "prompt": "Help me write a Flic Hub Studio module for a Flic 2 button and Flic Hub LR. Use the documented FlicScript modules, not assumed Node.js packages. Start by logging a button press, then add my chosen harmless action with duplicate-press handling and private credential storage.",
      "resources": [
        {
          "title": "Hub Studio and compatible hardware",
          "author": "Flic",
          "type": "Developer guide",
          "url": "https://flic.io/flic-hub-studio"
        },
        {
          "title": "Create your first hub module",
          "author": "Flic",
          "type": "Tutorial",
          "url": "https://hubsdk.flic.io/static/tutorial/"
        }
      ],
      "reviewedAt": "2026-11-04",
      "collections": [],
      "popularity": {
        "score": 70,
        "label": "Editorial estimate",
        "factors": {
          "ecosystem": 4,
          "tutorials": 3,
          "retail": 3
        },
        "reason": "A recognizable smart-button family with a dedicated Hub Studio tutorial, but the precise hub is crucial.",
        "assessedAt": "2026-11-04",
        "measured": false
      },
      "addedAt": "2026-11-04",
      "seo": {
        "title": "Flic Button + Hub LR: JavaScript projects & setup",
        "description": "Create custom Flic button actions with Hub LR and FlicScript. Compare hub requirements, build a first module, and check Amazon kit options before buying.",
        "bestFor": "A wireless physical trigger with custom logic on a supported hub.",
        "notFor": "Buying only a button or substituting Hub Mini for this Studio route.",
        "runsWhere": "JavaScript modules run in the supported FlicScript environment on Hub LR.",
        "faqs": [
          {
            "question": "Can I use Flic Hub Mini for Hub Studio?",
            "answer": "Not for the route documented here. This guide calls for Flic Hub LR. A product bundle with Hub Mini is not an equivalent purchase."
          },
          {
            "question": "Do I need to leave my laptop running?",
            "answer": "Hub Studio modules run on Hub LR, not on your laptop. A module can still depend on external services or computers it calls, and those dependencies need to stay available."
          },
          {
            "question": "Where can I buy Flic Button + Hub LR?",
            "answer": "An Amazon listing is linked as a starting point, not a guarantee of stock or compatibility. This project route requires Flic Hub LR as well as the button. Hub Mini is not compatible with Flic Hub Studio. Check the selected bundle before ordering."
          }
        ]
      },
      "amazon": {
        "url": "https://amazon.com/clp/B08L6VVGPC",
        "kind": "listing",
        "label": "View on Amazon",
        "affiliate": false,
        "note": "Check the selected model, variant, seller, accessories, and return policy. Price and stock are not tracked here.",
        "discoveredAt": "2026-11-04",
        "verification": "Model named in indexed Amazon page; live inventory and exact variant not verified"
      },
      "url": "https://atomsforagents.com/devices/flic-button-hub-lr/",
      "markdownUrl": "https://atomsforagents.com/devices/flic-button-hub-lr.md"
    },
    {
      "slug": "reterminal-e1002",
      "name": "reTerminal E1002",
      "model": "E1002 · 7.3-inch color ePaper",
      "maker": "Seeed Studio",
      "category": "displays",
      "number": "02",
      "image": "/images/e1002.webp",
      "imageAlt": "Seeed Studio reTerminal E1002 color ePaper display",
      "imageCredit": "Product image: Seeed Studio",
      "headline": "A little color. A lot less screen time.",
      "summary": "A finished color e-paper display for art, a morning briefing, or a dashboard that doesn't demand your attention.",
      "route": "ESPHome / Arduino",
      "effort": "Guided setup",
      "evidence": "Official docs",
      "buyUrl": "https://www.seeedstudio.com/reTerminal-E1002-p-6533.html",
      "buyLabel": "View at Seeed Studio",
      "affiliate": false,
      "purchaseNote": "Check the manufacturer's current price, delivery region, and included accessories. Choose E1002 for color; E1001 is the monochrome model.",
      "description": "The reTerminal E1002 pairs a 7.3-inch, 800 × 480 color e-paper panel with an ESP32-S3 in a finished enclosure. It ships with SenseCraft Seeedash and also supports documented Arduino and ESPHome development routes. A coding agent can help write a dashboard layout or firmware configuration; the device is not a general-purpose browser.",
      "projects": [
        "A daily illustrated briefing",
        "A rotating collection of art",
        "A color-coded family chore board"
      ],
      "needs": [
        "The E1002 and a suitable USB-C power/data connection",
        "A laptop and the development tools for your chosen route",
        "Home Assistant if using its ESPHome integration; external data access where needed"
      ],
      "caveats": [
        "Color e-paper is for occasional updates, not animation. The manufacturer lists roughly 15–20 seconds for a full refresh.",
        "Custom firmware may replace the factory experience. Read the recovery instructions and confirm the exact model before flashing.",
        "Platform features vary: Seeed currently documents TRMNL operation on E1002 in monochrome mode."
      ],
      "steps": [
        {
          "title": "Start with the stock experience",
          "body": "Follow Seeed's E1002 getting-started guide to connect the device and confirm that the display works before changing firmware."
        },
        {
          "title": "Choose a development route",
          "body": "Use ESPHome for a Home Assistant display or Arduino for a more direct firmware project. Give your agent the official guide and the exact E1002 model."
        },
        {
          "title": "Design for slow updates",
          "body": "Start with a static layout, then add a scheduled data refresh. Keep the last successful reading and its timestamp visible when a data source is unavailable."
        }
      ],
      "prompt": "Help me design a dashboard for a Seeed reTerminal E1002, 800 by 480 color e-paper. Ask whether I want ESPHome with Home Assistant or Arduino before writing code. Use the manufacturer's E1002 documentation, account for slow full refreshes, include a last-updated timestamp, and keep private keys out of source control. Start with a mock layout, not a firmware flash.",
      "resources": [
        {
          "title": "Getting started with E1002",
          "author": "Seeed Studio",
          "type": "Setup guide",
          "url": "https://wiki.seeedstudio.com/getting_started_with_reterminal_e1002"
        },
        {
          "title": "Build an ESPHome display",
          "author": "Seeed Studio",
          "type": "Tutorial",
          "url": "https://wiki.seeedstudio.com/reterminal_e10xx_with_esphome"
        },
        {
          "title": "Draw with Arduino",
          "author": "Seeed Studio",
          "type": "Tutorial",
          "url": "https://wiki.seeedstudio.com/reterminal_e10xx_with_arduino"
        }
      ],
      "reviewedAt": "2026-11-04",
      "displayType": "e-paper",
      "collections": [
        "desk-companions"
      ],
      "popularity": {
        "score": 66,
        "label": "Editorial estimate",
        "factors": {
          "ecosystem": 3,
          "tutorials": 4,
          "retail": 3
        },
        "reason": "Model-specific manufacturer guides cover both ESPHome and Arduino. A narrower ecosystem than mainstream desktop accessories.",
        "assessedAt": "2026-11-04",
        "measured": false
      },
      "addedAt": "2026-11-04",
      "seo": {
        "title": "reTerminal E1002 color e-paper: projects & setup",
        "description": "Build a color e-paper dashboard with reTerminal E1002. Compare ESPHome and Arduino, check refresh limits, follow official guides, and find it on Amazon.",
        "bestFor": "Slow-changing color art, summaries, and Home Assistant dashboards.",
        "notFor": "Video, animation, or a web page that expects a normal browser.",
        "runsWhere": "Dashboard layouts and device behavior use the chosen supported firmware; this is not a general-purpose browser.",
        "faqs": [
          {
            "question": "Is the reTerminal E1002 suitable for live animation?",
            "answer": "No. Seeed lists roughly 15–20 seconds for a full color refresh. Plan around occasional updates and display the time of the last successful data refresh."
          },
          {
            "question": "What is the difference between E1002 and E1001?",
            "answer": "E1002 uses a 7.3-inch color panel; E1001 uses a 7.5-inch monochrome panel and supports partial refresh. Both are listed at 800 × 480, but model-specific firmware must not be swapped blindly."
          },
          {
            "question": "Where can I buy reTerminal E1002?",
            "answer": "An Amazon listing is linked as a starting point, not a guarantee of stock or compatibility. Check the manufacturer's current price, delivery region, and included accessories. Choose E1002 for color; E1001 is the monochrome model."
          }
        ]
      },
      "amazon": {
        "url": "https://www.amazon.com/reTerminal-E1002-Dashboard-SenseCraft-Compatible/dp/B0FW9XF6DG",
        "kind": "listing",
        "label": "View on Amazon",
        "affiliate": false,
        "note": "Check the selected model, variant, seller, accessories, and return policy. Price and stock are not tracked here.",
        "discoveredAt": "2026-11-04",
        "verification": "Model named in indexed Amazon page; live inventory and exact variant not verified"
      },
      "url": "https://atomsforagents.com/devices/reterminal-e1002/",
      "markdownUrl": "https://atomsforagents.com/devices/reterminal-e1002.md"
    },
    {
      "slug": "trmnl-og",
      "name": "TRMNL OG",
      "model": "OG model · ePaper display",
      "maker": "TRMNL",
      "category": "displays",
      "number": "03",
      "image": "/images/trmnl-photo.webp",
      "imageAlt": "TRMNL OG e-paper display on a table by a window",
      "imageCredit": "Product image: TRMNL",
      "headline": "Build a plugin. Give it a screen.",
      "summary": "A dedicated e-paper dashboard with custom HTML and Liquid plugins, community recipes, and tools for coding agents.",
      "route": "HTML / CSS / Liquid",
      "effort": "Guided setup",
      "evidence": "Official docs",
      "buyUrl": "https://shop.trmnl.com/collections/devices",
      "buyLabel": "Explore TRMNL devices",
      "affiliate": false,
      "purchaseNote": "Select the OG model. Confirm which developer features and service options are included in your purchase before ordering.",
      "description": "TRMNL is a finished e-paper display built around plugins: layouts that turn information into a glanceable screen. Its developer platform supports HTML, CSS, Liquid templates, shared recipes, and self-hosting routes. Official agent skills and an MCP server make it a particularly direct route from a coding-agent conversation to a physical dashboard.",
      "projects": [
        "A personal workday briefing",
        "A reading list or daily quote",
        "A single-number dashboard for a side project"
      ],
      "needs": [
        "A TRMNL OG device and Wi-Fi",
        "A TRMNL account for the hosted route, or your own supported server",
        "Access to the custom-plugin features required by your project"
      ],
      "caveats": [
        "This is a periodically refreshed e-paper screen, not an interactive browser or video display.",
        "Hosted developer features, BYOD licenses, and self-hosted setups are different options. Check the current terms for your chosen route.",
        "A Claude or Cursor subscription does not include every third-party service or data API your plugin may call."
      ],
      "steps": [
        {
          "title": "Try an existing recipe",
          "body": "Set up the finished device and install a simple plugin first. This confirms connectivity before you start debugging your own layout."
        },
        {
          "title": "Build a small custom plugin",
          "body": "Use the official developer documentation and design framework. Begin with a static HTML/Liquid layout and preview it before connecting private data."
        },
        {
          "title": "Connect one useful source",
          "body": "Add data through the documented plugin mechanism. Keep credentials in the appropriate private configuration and display a timestamp with the result."
        }
      ],
      "prompt": "Help me build a TRMNL private plugin using the official framework and agent skills. First confirm my device model, available plugin features, and chosen data source. Make an e-paper-friendly layout with strong contrast, no animation, and a last-updated label. Use mock data for the first preview and do not ask me to paste tokens into public markup.",
      "resources": [
        {
          "title": "TRMNL developer platform",
          "author": "TRMNL",
          "type": "Developer guide",
          "url": "https://trmnl.com/developers"
        },
        {
          "title": "Design framework",
          "author": "TRMNL",
          "type": "Reference",
          "url": "https://trmnl.com/framework"
        },
        {
          "title": "Official agent skills",
          "author": "TRMNL",
          "type": "Code",
          "url": "https://github.com/usetrmnl/trmnl-agent-skills"
        }
      ],
      "reviewedAt": "2026-11-04",
      "displayType": "e-paper",
      "collections": [
        "desk-companions"
      ],
      "popularity": {
        "score": 72,
        "label": "Editorial estimate",
        "factors": {
          "ecosystem": 4,
          "tutorials": 4,
          "retail": 2
        },
        "reason": "A purpose-built dashboard ecosystem with a documented framework and official agent skills; a specialist device rather than mass-market retail hardware.",
        "assessedAt": "2026-11-04",
        "measured": false
      },
      "addedAt": "2026-11-04",
      "seo": {
        "title": "TRMNL OG projects: custom plugins & agent setup",
        "description": "Build custom TRMNL OG e-paper plugins with HTML, CSS, and Liquid. Explore agent skills, hosted vs self-hosted options, setup guides, and buying links.",
        "bestFor": "Glanceable dashboards using web-style templates and a plugin ecosystem.",
        "notFor": "Interactive web browsing, animation, or assuming every developer feature is included.",
        "runsWhere": "The chosen hosted or self-hosted route prepares content for the periodically refreshed display.",
        "faqs": [
          {
            "question": "Can I build TRMNL plugins with Claude Code or Cursor?",
            "answer": "TRMNL publishes official agent skills alongside its developer documentation. An agent can help build a layout, but you must still configure data sources and the appropriate account features."
          },
          {
            "question": "Does TRMNL require a subscription?",
            "answer": "Do not infer current terms from a device listing. Hosted developer features, BYOD licenses, and self-hosting are different routes; verify the terms for the one your project needs."
          },
          {
            "question": "Where can I buy TRMNL OG?",
            "answer": "Use the official buying or compatibility link below. The Amazon button opens a search, not a confirmed product listing. Select the OG model. Confirm which developer features and service options are included in your purchase before ordering."
          }
        ]
      },
      "amazon": {
        "url": "https://www.amazon.com/s?k=TRMNL+OG+ePaper",
        "kind": "search",
        "label": "Search Amazon",
        "affiliate": false,
        "note": "Amazon search only: an exact matching listing has not been confirmed. Prefer the official seller if results do not match.",
        "discoveredAt": "2026-11-04",
        "verification": "Search destination only; no matching listing verified"
      },
      "imageSource": "https://shop.trmnl.com/collections/devices",
      "imageRights": "Attributed preview; commercial permission not verified",
      "url": "https://atomsforagents.com/devices/trmnl-og/",
      "markdownUrl": "https://atomsforagents.com/devices/trmnl-og.md"
    },
    {
      "slug": "aipi-lite",
      "name": "AiPi Lite",
      "model": "Lite · confirm revision against SDK config",
      "maker": "AiPi",
      "category": "voice-audio",
      "number": "04",
      "image": "/images/aipi.webp",
      "imageAlt": "Blue AiPi Lite enclosed desk companion",
      "imageCredit": "Product image: AiPi",
      "headline": "A tiny desk companion with a new job.",
      "summary": "An enclosed screen-and-voice gadget with a community SDK route. A more experimental pick for a custom desk companion.",
      "route": "ESP32 / community SDK",
      "effort": "Advanced setup",
      "evidence": "Community code",
      "buyUrl": "https://aipi.com/products/aipi-lite",
      "buyLabel": "View at AiPi",
      "affiliate": false,
      "purchaseNote": "Verify the exact revision against the community configuration. The listed Muse project is a separate software route, not a promise that every Lite variant works unchanged.",
      "description": "AiPi Lite is a small, finished desk device with a screen and voice features. Muse's open-source gadget SDK includes an AiPi device configuration, offering an example for developers who want to change its behavior. That is a useful starting point, but code support is not the same as an independently tested beginner tutorial.",
      "projects": [
        "A visual focus companion",
        "A push-to-talk desk assistant",
        "A small status display with personality"
      ],
      "needs": [
        "An AiPi Lite revision matching the chosen configuration",
        "A laptop, a suitable data cable, and the SDK's build tools",
        "A Muse account and SDK token for the linked Muse-specific route; check current access and costs"
      ],
      "caveats": [
        "This entry is based on community code, not a firsthand compatibility test or a complete independent walkthrough.",
        "Flashing alternate firmware can replace the stock experience. Confirm a recovery route before you proceed.",
        "The linked SDK connects to Muse. Adapting it for another service is additional development, not automatic cross-agent compatibility."
      ],
      "steps": [
        {
          "title": "Read the SDK before buying",
          "body": "Compare the device configuration and current README with the product revision being sold. Do not assume support from the enclosure's appearance."
        },
        {
          "title": "Prepare a recovery plan",
          "body": "Understand the build, flashing, and restore steps. Keep the stock experience until you are confident that the chosen firmware supports your exact device."
        },
        {
          "title": "Change one behavior",
          "body": "Start from the documented configuration rather than writing firmware from scratch. Let your coding agent help explain the project and make one small change at a time."
        }
      ],
      "prompt": "Help me evaluate the Muse gadget SDK's AiPi Lite configuration before I flash anything. First ask for my exact hardware revision, operating system, and whether I have Muse SDK access. Read the current README and configuration, list prerequisites and recovery steps, and clearly separate documented behavior from proposed modifications. Do not claim that an untested build is compatible.",
      "resources": [
        {
          "title": "Muse ESP32 gadget SDK",
          "author": "Muse / Meta contributors",
          "type": "Developer guide",
          "url": "https://github.com/facebookincubator/muse-gadget-sdk/tree/main/esp32"
        },
        {
          "title": "AiPi device configuration",
          "author": "Muse / Meta contributors",
          "type": "Code",
          "url": "https://github.com/facebookincubator/muse-gadget-sdk/blob/main/esp32/devices/sdkconfig.muse-aipi"
        }
      ],
      "reviewedAt": "2026-11-04",
      "displayType": null,
      "collections": [
        "desk-companions"
      ],
      "popularity": {
        "score": 36,
        "label": "Editorial estimate",
        "factors": {
          "ecosystem": 2,
          "tutorials": 2,
          "retail": 1
        },
        "reason": "A niche desk device with a community SDK configuration, but less documented beginner guidance in the sources linked here.",
        "assessedAt": "2026-11-04",
        "measured": false
      },
      "addedAt": "2026-11-04",
      "seo": {
        "title": "AiPi Lite desk companion: SDK, projects & setup cautions",
        "description": "Explore AiPi Lite customization through the Muse gadget SDK. Check hardware revisions, flashing risks, service dependencies, project ideas, and buying options.",
        "bestFor": "A developer comfortable reading firmware configuration and testing a community SDK.",
        "notFor": "A guaranteed beginner walkthrough or automatic compatibility with every AI service.",
        "runsWhere": "Alternate firmware uses the linked Muse-specific SDK; the connected service and device each have separate requirements.",
        "faqs": [
          {
            "question": "Can I use any AI service with AiPi Lite?",
            "answer": "Not automatically through this guide. The linked SDK targets Muse and requires its account and token. Adapting it to another provider is additional development."
          },
          {
            "question": "Should I flash AiPi Lite immediately?",
            "answer": "No. Match the hardware revision to the SDK configuration and establish a recovery route first. Community code support is not an independent compatibility test."
          },
          {
            "question": "Where can I buy AiPi Lite?",
            "answer": "Use the official buying or compatibility link below. The Amazon button opens a search, not a confirmed product listing. Verify the exact revision against the community configuration. The listed Muse project is a separate software route, not a promise that every Lite variant works unchanged."
          }
        ]
      },
      "amazon": {
        "url": "https://www.amazon.com/s?k=AiPi+Lite",
        "kind": "search",
        "label": "Search Amazon",
        "affiliate": false,
        "note": "Amazon search only: an exact matching listing has not been confirmed. Prefer the official seller if results do not match.",
        "discoveredAt": "2026-11-04",
        "verification": "Search destination only; no matching listing verified"
      },
      "url": "https://atomsforagents.com/devices/aipi-lite/",
      "markdownUrl": "https://atomsforagents.com/devices/aipi-lite.md"
    },
    {
      "slug": "reterminal-e1001",
      "name": "reTerminal E1001",
      "model": "E1001 · 7.5-inch monochrome ePaper",
      "maker": "Seeed Studio",
      "category": "displays",
      "number": "06",
      "image": "/images/e1001.webp",
      "imageAlt": "Seeed Studio reTerminal E1001 monochrome ePaper display",
      "imageCredit": "Product image: Seeed Studio",
      "headline": "Your calendar, without another glowing screen.",
      "summary": "A finished monochrome e-paper display for text-first dashboards. Write the layout, connect the data, leave it on your desk.",
      "route": "ESPHome / Arduino",
      "effort": "Guided setup",
      "evidence": "Official docs",
      "buyUrl": "https://www.seeedstudio.com/reTerminal-E1001-p-6534.html",
      "buyLabel": "View at Seeed Studio",
      "affiliate": false,
      "purchaseNote": "Choose E1001 for monochrome. Check included accessories and current delivery options at the manufacturer.",
      "description": "The reTerminal E1001 is a 7.5-inch, 800 × 480 monochrome e-paper display built around an ESP32-S3 in a finished enclosure. Its official software routes include SenseCraft Seeedash, ESPHome, and Arduino. Compared with the color E1002, it prioritizes readable text and supports partial refresh.",
      "projects": [
        "A calendar beside your coffee machine",
        "A reading queue or daily checklist",
        "Home temperature and energy at a glance"
      ],
      "needs": [
        "The E1001 and a suitable USB-C connection",
        "A laptop and the development tools for the chosen route",
        "Home Assistant if using that integration, plus access to your data sources"
      ],
      "caveats": [
        "E-paper does not behave like a normal monitor: refreshes are visible and it is not suitable for animation.",
        "The E1001 and E1002 use different panels. Do not reuse model-specific firmware blindly.",
        "Battery life depends on refresh frequency, network use, and firmware configuration."
      ],
      "steps": [
        {
          "title": "Confirm the stock display works",
          "body": "Follow the E1001 setup guide and connect to Wi-Fi before changing firmware."
        },
        {
          "title": "Choose ESPHome or Arduino",
          "body": "Use the official model-specific tutorial as your agent's reference. Start with a black-and-white layout at 800 × 480."
        },
        {
          "title": "Add useful information slowly",
          "body": "Connect one data source and choose an appropriate refresh interval. Show the data timestamp so an old reading never looks current."
        }
      ],
      "prompt": "Help me create a monochrome dashboard for a Seeed reTerminal E1001 at 800 by 480. First ask whether I use ESPHome with Home Assistant or Arduino. Follow the official E1001 documentation, make text readable from across a desk, avoid animation, and include a last-updated timestamp. Use mock data until I choose the real source.",
      "resources": [
        {
          "title": "Getting started with E1001",
          "author": "Seeed Studio",
          "type": "Setup guide",
          "url": "https://wiki.seeedstudio.com/getting_started_with_reterminal_e1001"
        },
        {
          "title": "Build an ESPHome display",
          "author": "Seeed Studio",
          "type": "Tutorial",
          "url": "https://wiki.seeedstudio.com/reterminal_e10xx_with_esphome"
        },
        {
          "title": "Draw with Arduino",
          "author": "Seeed Studio",
          "type": "Tutorial",
          "url": "https://wiki.seeedstudio.com/reterminal_e10xx_with_arduino"
        }
      ],
      "reviewedAt": "2026-11-04",
      "displayType": "e-paper",
      "collections": [
        "desk-companions"
      ],
      "popularity": {
        "score": 70,
        "label": "Editorial estimate",
        "factors": {
          "ecosystem": 3,
          "tutorials": 4,
          "retail": 4
        },
        "reason": "Clear manufacturer tutorials and a monochrome dashboard use case make it an accessible starting point within a specialist display category.",
        "assessedAt": "2026-11-04",
        "measured": false
      },
      "addedAt": "2026-11-04",
      "seo": {
        "title": "reTerminal E1001 e-paper dashboard: setup & projects",
        "description": "Make an ESPHome or Arduino dashboard with reTerminal E1001. Explore the 7.5-inch monochrome display, setup requirements, project ideas, and Amazon link.",
        "bestFor": "Readable calendars, transit boards, and quiet text-first dashboards.",
        "notFor": "Color graphics, video, or a promise of fixed battery life.",
        "runsWhere": "Your chosen ESPHome, Arduino, or supported stock route controls the display on the device.",
        "faqs": [
          {
            "question": "Can I connect reTerminal E1001 to Home Assistant?",
            "answer": "Seeed provides an ESPHome route. Use the E1001-specific instructions and confirm your Home Assistant setup and entity IDs before asking an agent to generate a configuration."
          },
          {
            "question": "How often should I refresh an e-paper dashboard?",
            "answer": "Use an interval that fits the information and panel behavior, not a monitor-style frame rate. Network use, update frequency, and firmware all affect battery life; test your actual layout."
          },
          {
            "question": "Where can I buy reTerminal E1001?",
            "answer": "An Amazon listing is linked as a starting point, not a guarantee of stock or compatibility. Choose E1001 for monochrome. Check included accessories and current delivery options at the manufacturer."
          }
        ]
      },
      "amazon": {
        "url": "https://www.amazon.com/reTerminal-E1001-Monochrome-ESP32-S3-SenseCraft/dp/B0FRFHVHNZ",
        "kind": "listing",
        "label": "View on Amazon",
        "affiliate": false,
        "note": "Check the selected model, variant, seller, accessories, and return policy. Price and stock are not tracked here.",
        "discoveredAt": "2026-11-04",
        "verification": "Model named in indexed Amazon page; live inventory and exact variant not verified"
      },
      "url": "https://atomsforagents.com/devices/reterminal-e1001/",
      "markdownUrl": "https://atomsforagents.com/devices/reterminal-e1001.md"
    }
  ]
}