Show HN: Micasa – track your house from the terminal
micasa.devmicasa is a terminal UI that helps you track home stuff, in a single SQLite file. No cloud, no account, no subscription. Backup with cp.
I built it because I was tired of losing track of everything in notes apps, and "I'll remember that"s. When do I need to clean the dishwasher filter? What's the best quote for a complete overhaul of the backyard. Oops, found some mold behind the trim, need to address that ASAP. That sort of stuff.
Another reason I made micasa was to build a (hopefully useful) low-stakes personal project where the code was written entirely by AI. I still review the code and click the merge button, but 99% of the programming was done with an agent.
Here are some things I think make it worth checking out:
- Vim-style modal UI. Nav mode to browse, edit mode to change. Multicolumn sort, fuzzy-jump to columns, pin-and-filter rows, hide columns you don't need, drill into related records (like quotes for a project). Much of the spirit of the design and some of the actual design choices is and are inspired by VisiData. You should check that out too. - Local LLM chat. Definitely a gimmick, but I am trying preempt "Yeah, but does it AI?"-style conversations. This is an optional feature and you can simply pretend it doesn't exist. All features work without it. - Single-file SQLite-based architecture. Document attachments (manuals, receipts, photos) are stored as BLOBs in the same SQLite database. One file is the whole app state. If you think this won't scale, you're right. It's pretty damn easy to work with though. - Pure Go, zero CGO. Built on Charmbracelet for the TUI and GORM + go-sqlite for the database. Charm makes pretty nice TUIs, and this was my first time using it.
Try it with sample data: go install github.com/cpcloud/micasa/cmd/micasa@latest && micasa --demo
If you're insane you can also run micasa --demo --years 1000 to generate 1000 years worth of demo data. Not sure what house would last that long, but hey, you do you.
I built something somewhat similar to this that's web app based (honeydew) but it's much more focused on DIY and doesn't include any of the quote/contractor stuff. It's absolutely focused on powering through a huge pile of todos from a home inspection with dependency tracking as well as remembering stuff (when was the last time you empty the washing machine filter).
It practice it alternates between annoying thing I dismiss the notifications from or use obsessively. Doesn't seem to be much in between
Pretty cool
mise use -g github:cpcloud/micasa
and just start typing. I wish it had metric units and was translated, though!
One of my first thoughts after getting a working prototype was: "Doesn't the car battery need to be replaced?"
So, yeah. This would obviously be called micarro.
I think/hope the whole "home manager" category is going to take off soon.
On a cost basis, it no longer makes sense--practically--not to use visual/text/audio intelligence to manage such a large asset. We just don't have the user-friendly mass-market interfaces for it just yet.
It's possible to scan every manual, every insurance policy, ingest every local bylaw. It's possible to take a video of your home and transform it into a semantically segmented Gsplat of [nearly] everything you own. It's possible to do sensor fusion of all the outward facing cameras from your home. And obviously agents like OpenClaw can decide what to do with all of this (inventory, security, optimization, etc).
I've been working on something like this the last few months specifically around service quote analysis (repairs, construction, hvac, auto, etc.) and it's really cool. I think LLM analysis is the way to go because the amount of complexity is absolutely staggering - just to start the difference in quality and information available on a quote is drastically different between vendors within the SAME vertical. Then to do actual do analysis on local laws, the details of your property (not just photos/videos, but zoning and lot details), vendor analysis, etc.
On top of it all, the most important thing to consider is intent -> An emergency plumbing visit is often very different than a proactive upgrade.
edit: spelling
We've been building https://homechart.app for years (without GenAI...) and folks just don't realize that home managers exist as an app. They're too used to single purpose solutions, so they don't think to look for more comprehensive options.
There's also the inherit struggle of being everything for everyone with an app like this, and focusing on features 80% of your users want and leaving the other 20% niche features on the backlog upsets people, mostly the power users.
> It's possible to do sensor fusion of all the outward facing cameras from your home
Is that legal though? I'm guessing it the US it might be, given the amount of cameras of public places you can see in various communities, but wonder how common that is. Where I live (Spain) it's not legal to just stick a camera on your house and record public places, you need to put the camera in a way so you're only filming your private property or similar.
I call this the "Home Resource Planner"
Bricks are there (Home assistant, Frigate, Pihole,...)
Just want to say, I appreciate your work on Ibis. I’ve been looking into building sort of a dbt-esque alternative on top of it and noticed how involved you’ve been with its development. I think it’s a cool piece of tech that deserves more attention.
I love TUIs and I love the way this looks and the concept behind it, but often I'm doing household stuff on my phone because I'm walking around checking on things or just taking photos of things.
Heck yeah! Love the VisiData shoutout. Echoing other people's desire for a web UI, mostly so I don't have to be the sole Maintainer of the Truth as the only resident household technomancer.
EDIT: alternatively, exposing the data/functionality via MCP or similar would allow me to connect this to an agent using Home Assistant Voice, so anybody in the house could ask for changes or add new information.
This is super interesting. I do have a GitHub issue for LLM-powered data entry: "Add a landscaping project to do the backyard. Still ideating, thinking a budget of $40k."
Thinking of this it would be amazing to have a TUI for home assistant. It's already so good at doing all the nuts and bolts of control and interacting with everything. But its UI is super heavy loaded JavaScript. It doesn't run well on old tablets either for this reason, sadly.
My overall philosophy for (my quite extensive) Home Assistant setup is “amy time a human interacts with the HA UI in any way whatsoever, that is a failure.” I don’t want dashboards, I don’t want a user interface at ALL other than for setting up new automation. The point of HA for me is the house should feel like the correct things happen by magic (and should be essentially unobtrusive and natural).
Oh that's not my philosophy at all. I don't like too much automation because I'm very fussy as to what I want at one moment. It all depends on my mood which home assistant doesn't know. Sometimes when I enter a room I want the lights on, other times I don't, stuff like that. Like when the curtains are open and I'm walking around half naked. And sometimes I just like the dark and sometimes I need bright lights. Sometimes I need heat and sometimes sitting in 16 degrees (C) is totally fine. Yeah I'm weird I know :)
Also I'm really chaotic in terms of schedule. My mood and behaviour changes by the day.
I use it more as a monitoring and control tool.
Not saying your way is bad, it's more as HA is intended. But I'm just saying it won't work for me.
I've honestly never explored HA. Is there a world where HA obviates micasa. That seems like a win, at least in terms of not having yet another piece of software duplicating an existing thing.
There's a CLI [1], LLM API [2], and REST API [3].
[1]: https://github.com/home-assistant-ecosystem/home-assistant-c...
[2]: https://developers.home-assistant.io/docs/core/llm/
[3]: https://developers.home-assistant.io/docs/api/rest/
I would love to have a TUI for Home Assistant!
I feel like a lot of these types of apps could just be spreadsheets. Maybe a "smart" spreadsheet like Grist[0] executing Python code. Am I off-base there?
[0] https://github.com/gristlabs/grist-core
Probably right. My brain is probably stuck in old-man spreadsheet land and I did not explore any new horizons that might have obviated micasa. That said, I also didn't want to invest a bunch of time in developing a domain specific app using spreadsheets as the API, I wanted to invest a bunch of time developing a domain specific app using AI. Might end up being a choice I regret!
I will say that I am slowly becoming a convert to 'talk to data' approach. Still, it is not without its flaws. At the end of the day, it still requires the user to update stuff and, from experience, this is where I fail and render all those project apps useless..for me specifically.
It sucks, because it sounds like what I really need is for someone to track it for me so that i can just review it if needed.
Looks good - I like the TUI a lot. The only thing with that type of interface is that there is no chance my wife would use it via the terminal. It would be cool if there was a web UI as well - so other members of the household could access and use it.
This looks awesome but I think I might still prefer to have an agent make these changes. Not sure though.
In general, I love the juxtaposition of the most advanced computer technology ever (AI) causing an explosion in one of the OLDEST computer technology we've ever had (terminals).
I spend most of my day in a terminal now. It's just funny.
> This looks awesome but I think I might still prefer to have an agent make these changes. Not sure though.
Not entirely sure what you mean here, but the next big feature for micasa is an autopopulation pipeline. Upload a quote PDF and populate the project, quote, and vendor tables. It might not be viable ultimately, but I would love to see how far I can get.
Overkill? Definitely.
Yep that's exactly what I'm talking about. I don't think it's overkill. It feels very natural and filling out forms feels archaic to me (unless it's a "edit this quickly" where that's almost always faster than asking an agent.)
So I've been building a full piece of software to manage my small business. And it looks like traditional software (forms, tables, etc). But every single thing also has an MCP tool.
So then I find myself just talking to the agent especially as an input mechanism way more than clicking around and editing a form.
I'm just saying, as an input method, I think forms, TUIs, etc will be good as a backup. Over time, as you've outlined, we'd just say "here's a PDF, figure it out" and the agent just inputs the right values into the right fields.
That's how I've approached my run-my-business app. I have models/tables for clients, purchase orders, invoices, support tasks, everything. But my interaction is more like "Add me to all the active projects, set my cost rate to __" and it'll run 15 MCP calls and put the data where it belongs.
Or I'll ask "what invoices are way overdue?" and it'll run the MCP calls to get it, even though I have pretty dashboards.
Glad to see you're already thinking of it.
Wow! This is so cool. I really need to get my hands on TUI. It seems to be a growing trend. Maybe it's a stupid question, because I know about family members that have never opened a terminal - can a TUI app bundled with an icon to simply click and start it?
> can a TUI app bundled with an icon to simply click and start it?
Almost certainly. I personally don't use clicky things to the extent that I am able to avoid them, so I can't describe the specific mechanism or name any of the nouns/tools involved, but I'm pretty sure this exists.
This looks so much better than most project/product management tools out there.
In my wildest dreams, your project would turn into a jira that devs love.
This is basically what I want, but with a UI that non-techie spouse wouldn’t mind using. Though that doesn't seem to be your intended direction, which is fair.
We use Apple Reminders for grocery lists and Paprika for recipes, but something a little more organized than just a shared note for these sorts of things would be great.
I will probably check it out for myself though.
I created a basic site to do some similar things as well: https://homemaintlist.com/
Need to revisit it and update it based on a lot of feedback I've received.
I definitely waffled a bit on multi-property support, but decided against it for initial launch. Multi-property avid terminal users seems even more niche!
Pretty slick! And I really enjoyed the interactive, destructible house at the top :-)
I love the logo, go ahead and click it!
Looks nice, I like this TUI aesthetic, but I’m not sure I could use it on a daily basis. A self-hosted app or phone app might be more convenient
100% on the phone app. Maybe the web app is the phone app? Dunno. Being able to enter information as close to receiving as possible seems key actually. I'll probably poke on this soon.
It could be a native mobile app, but in that case you’d need to think about platforms, the App Store, and so on.
A progressive web app could be a nice alternative: just add the website icon to your phone, and you can open it in seconds.
The app could be self-hosted on a home server, and solutions like Tailscale would let you easily access it outside the house as well. A big plus is that you can open it on all your devices and have a unified database across them.
With a web app, you could even keep the TUI aesthetic - just style it like a CLI interface.
TUIs have gotten so good lately. I love the design on this
Why not keep everything in a simple text file?
I'm not sure if you're asking whether micasa should use a text file as its format, or if you're suggesting that a text file can be a substitute for micasa.
The latter.
I do things in my house too infrequently that I don't want to have to re-learn the UI of a tool again and again.
But maybe I'm not the target audience.
I often find myself wanting answers to questions that require linking data, and I also want to codify those links somehow, so a single-file, row-oriented database seemed like the appropriate way to get that.
You might actually be able to get away with less structure and just dumps thoughts and ideas, statuses, and documents into $AI and have it generate ad-hoc reports.
In which case, a text file might be the right interface.
Kind of a non-answer, I realize.
I suppose the answer is: because I had a relatively specific idea of what I wanted to build and I didn't consider not building it.
Cool! Although I'd rather use Obsidian with the Tables stuff, so I get everything in my UI with photos, and I can share with mobile
> Not sure what house would last that long
Not necessarily houses, but there are some old buildings around almost everywhere: https://en.wikipedia.org/wiki/List_of_oldest_extant_building...
Looks really cool. Agree on comments related to TUI. Maybe a simple interface running locally would be better.
Wow, this took me BACK!
My first computer was a 486, I was running MS-DOS (iirc) and there was an app that did just that with a very similar (Text)UI, anyone else used it/remembers the name?
That is a beautiful TUI!
The same way that Gen Z wants shitty blurry photos of everything, I want more terminal UIs for everyday life. AI isn't going to give us beautiful native swift apps, it just gives us more garbage electron ones. So TUI would be a better aspiration I guess.
Any ideas why Claude forces TUI application development?
Maybe it's that TUIs feel manageable with an agent. They can be well scoped without a ton of effort, which at least for me makes me a tiny bit more comfortable letting them write code.
It feels like something to do with front-end development limitations. I noticed a wave of TUI applications, all written by Claude from the initial commit.
It’s easy then run a web server for a web UI, but it still looks better than a regular CLI
It's pretty good at building TUIs. Although it's not bad at Swift/macOS either. But really I think the problem is that we don't have a great solution right now for cross platform native UIs that isn't a WebView (or entire Chrome browser), which doesn't feel very native. But every platform has a pretty good terminal now, even Windows.
Recently I asked Claude to build a communication tool and TUI was its first proposal. When I had a similar request with ChatGPT previously, it proposed node.js, I assume because there are more examples in its training data.
The pairing of Claude and TUI doesn't seem like a coincidence to me, perhaps there are fewer moving parts that are easy to coordinate?
This is looking pretty good. Going to run some sample data runs + might try this out.
You can also run directly:
go run github.com/cpcloud/micasa/cmd/micasa@latest
Your quotes are great.
The testimonials cracked me up. I'm still managing my house maintenance on a spreadsheet like an absolute barbarian. I mean I was, until now. Does it come in Catpuccin?
I hadn't considered theming it differently, though in theory it should be adaptive to light versus dark terminals. I only use dark terminals and I couldn't be bothered to test that before there were any users, so if it doesn't work, I will happily task it out to an agent!
Now I kind of want custom themes...