micasa 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 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).
files are stored as BLOBs inside the SQLite database, so cp micasa.db backup.db backs up everything – no sidecar files
SQLite is just so cool. Anyway, this whole project looks amazing. I can't wait to kick tires (and then track when I last changed my tires... wait, can it do that?!)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?
Thank you for the `nix app`!
Being able to launch it with:
nix run github:cpcloud/micasa
Is super convenient.Actually we could go further and serve `micasa` via ssh:
users.users.micasa = {
isNormalUser = true;
shell = pkgs.bashInteractive;
openssh.authorizedKeys.keys = ...
};
services.openssh.extraConfig = ''
Match User micasa
ForceCommand ${micasaPkg}/bin/micasa
AllowTcpForwarding no
X11Forwarding no
'';
Then we could put this in a nixosModule in your flake.nix. Would you be interested in a PR which does this? services.micasa-ssh = {
enable = true;
authorizedKeys = [ "ssh-ed25519 AAAA..." ];
port = 2222;
};This is awesome, love the sense of humor and just downloaded it and started adding data.
Only small piece of feedback is that I would use `$VISUAL` when opening the editor. When I tried to use `Ctrl+e` it opened nano which I haven't used in ages.
Edit: Oh looks like you use `$EDITOR` - I just didn't have that set. Awesome!
These are the projects which make me love Show HN!
I didn't see it on the feature list, but it might be nice to allow it to run as a cron job and send email for reminders. These days, most mobile phones have an associated email like [email protected] (depending on carrier), so you can send yourself text messages about chores and whatnot.
Or, perhaps just as good, have a way for it to dump out data as json, and could be consumed by some other send-the-email tool. There is the "-json" sqlite option, of course, but I'm not sure if your schema is meant to be stable.
I have a perl script for reminders like this that has been super handy over the 10+ years I've been using it. Never bit the bullet to put it in a nice UI or have a backing DB like this project, though.
I think this is neat. I use org-mode for pretty much everything, which has all of these features I think, but sometimes there is nothing more motivating than a quick responsive UI to actually do something. This looks motivational.
My only pushback is using sqlite. I am a big fan of just using simple (structured) text files that can be edited by hand when needed. Your computer is more than capable of doing all the joining/querying/aggregating/whatever with the text file itself rather than relying on a database. I personally find these sort of file structures comforting as it means they can be easily modified in unsupported ways.
Praise be to projects that use xdg paths before posting it to hn.
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.
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.
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.
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
> When do I need to clean the dishwasher filter?
Dishwashers have filters??!?
It think this could be extended to other areas, like car (services, new lease etc), health (dentist, doctor etc), vacations, tax, banking... Basically a personal assistant like app that handles "life".
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.
Very cool! When on docs column, and pressing e to edit, it seems to just take you to edit the entire project, with no way to edit docs (which I am not sure what that even is supposed to be, I assume a way to attach files?).
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.
Super cool. Installed. It would be great if the f and b keys for moving between navigation elements circle back to the first element once reached its end.
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?
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.
Pretty slick! And I really enjoyed the interactive, destructible house at the top :-)
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 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.
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.
> 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...
Pretty cool
mise use -g github:cpcloud/micasa
and just start typing. I wish it had metric units and was translated, though!
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
This is looking pretty good. Going to run some sample data runs + might try this out.
This looks incredible
Is there even a Wichita, Arkansas?
That is a beautiful TUI!
Looks really cool. Agree on comments related to TUI. Maybe a simple interface running locally would be better.
TUIs have gotten so good lately. I love the design on this
This is dope.
I wouldn’t want to use a terminal-only tool with no affordances for cloud sync for home management, something that inherently is likely to involve all members of a household who are likely not all proficient with terminal usage. You should ask your LLM to make something that can run as a home server and have different clients.
I also personally wouldn’t trust the database of all my important home info to a vibe-coded program.
You can also run directly:
go run github.com/cpcloud/micasa/cmd/micasa@latest
Any ideas why Claude forces TUI application development?
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.
Your quotes are great.
This is probably the most beautiful homepage + docs combo I’ve ever seen. The copy is awesome too. It feels human.
Great work.
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?
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
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?
why not just use a spreadsheet?
[flagged]
Someone has a sense of humor in the reviews section:
"I’ve been using the demo data for three weeks. I don’t own a house. — Aspiring Homeowner"