Emma Moore

Design inspiration.

Building a Home Dashboard with Claude

17 Mar 2026

With the rapidly increasing relevance of AI, specifically LLMs, in the software development industry (and pretty much every industry), I’ve been feeling the pressure to integrate AI in my workflow for own projects. This is not without some apprehensiveness on my part for many reasons I’m sure anyone familiar with the discourse around AI can guess. Amongst these reasons, one of my biggest concerns as is how AI could change my skillset and whether over-reliance on AI could cause me to lose some of the problem-solving skills I’ve worked hard to develop over the last few years. But I want to make sure I’m familiar with how AI is changing the industry so that I can stay informed and aware of the tools that are available and how they work.

Over the last few years, my partner and I have been wanting to build a display for our kitchen to help with household management. We were inspired by tools like Home Assistant, but wanted to build something tailored to our own needs, which we decided was less focused on managing smart house features such as smart bulb brightness but more about reducing the mental load associated with organising our day-to-day lives, like keeping track of which colour bin needs to go out, what the current UV index is, or what’s for dinner. The idea was to have a display that shows us this information at a glance, so we don’t need to individually track each piece of information with our phones or computers across a range of different platforms. Initially, my partner set up the codebase skeleton with the help of Claude Code to get us started with some basic components like a clock and a module wrapper component to style components consistently. I then started working on building up the functionality from the existing structure.

Previously, I’ve mostly approached LLMs as an advanced version of Google, for example, to double check syntax or troubleshoot an npm error code. I’ve been reluctant to lean on LLMs more heavily than that because of the issues I briefly touched on in the introduction to this post. But I’ve been aware of the quickly improving capabilities of AI with the introduction of tools like Claude Code, and with my partner kicking off this project with Claude, it seemed like a good time to trial integrating AI more fully into my development process. I’ll also admit that one of my priorities with this project was getting it up and running quickly so that we could start using it, and I knew that using Claude to draft components or API endpoints instead of manually typing them myself would likely do that, and allow me to focus my thoughts on how to best tailor the user experience and design of the app to our needs.

In about a day of prompting Claude, I had a minimum viable product up and running on our kitchen bench on an old Raspberry Pi and second-hand monitor, displaying a clock, calendar, current and forecast weather, and meal suggestions. Over the next week I added a chores list with recurring tasks, a module displaying the upcoming bin day and which colour bin needs to go out, individual pages for our personal todo lists that we can access on our phones, and a workout module that displays the next workout in a YouTube playlist I’ve been following, with all information stored in an SQLite database on the backend. Some of the work was reduced because we already had a home server running Proxmox for things like Mealie, a home weather station API and occasionally hosting game servers for our friends, so we had the infrastructure there to quickly self-host the home dashboard app. But there’s no doubt that using Claude drastically reduced the time and effort that would have been involved in getting the project up and running.

My workflow was still more limited than what I have seen some developers doing online, using singular prompts to create entire apps and programs. I used Claude in the browser and where needed copy-pasted code to and from the browser in an iterative process. Sometimes the prompts were to create entire components, and sometimes I broke it down into smaller steps when I wanted to make sure I understood the process properly. Here are some examples of prompts I used:

  • Update the handleSave function to incorporate a check if a chore exists to PATCH, rather than POST (quick refactoring after adding editable chores)
  • Explain what each command you suggest does (making sure I’m not blindly copy-pasting commands into the Linux server that I don’t understand)
  • Help me separate the “current” weather and “forecast” weather components into two separate modules (refactoring for more organised code)
  • I want to display the high/low forecast temperatures for the week as horizontal lines with colour gradients (brainstorming how to visualise data and saving time on building an SVG - this would have been fun to try to build myself, but it would have taken me much longer to build without Claude)

  • This is the code I have so far, am I on the right track or is there a simpler way? (checking code I manually wrote to learn as I went - I tended to manually write code I was less familiar with, such as SQL queries, to make sure I learn how to do it without an LLM)

Part of my reason for doing things this way rather than in one giant prompt was because I still have concerns around losing my skills if I no longer have to manually type out JSX or CSS and don’t pay attention to all the details of the project, and part of it was because I wanted the dashboard to have a human touch. There’s an uncanny valley effect that I think is particularly obvious in art or “photos” or writing that has been produced by AI. But I worry about a similar subtle effect occurring with codebases and apps produced with AI. I know that a Todo list app or a weather app are not exactly groundbreaking projects, but since we planned to use this dashboard every day, I wanted to oversee the design decisions (both architecturally and aesthetically) to make sure that it feels personal and works for our preferences, and that I can understand the codebase and how to build upon it moving forward.

I think there are still many ethical considerations to keep in mind when using AI, which I’m still learning about as AI continues to evolve and might explore in a future blog post. I also want to make sure that regardless of how AI is integrated in the workforce in the future that I maintain my ability to problem-solve and be creative, which is exactly why I got into programming in the first place.