Readit News logoReadit News
Posted by u/cpcloud 21 days ago
Show HN: Micasa – track your house from the terminalmicasa.dev...
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.

kadrian12 · 21 days ago
This is quite cool. Makes me philosophical: isn't it odd, that this is like an Excel template? Like a "domain model" template? In this case, presented nicely in a TUI that makes basic CRUD workflows work.

Most SaaS companies are just that: 1) Curated domain model (stored in their cloud db) 2) Some way for users do to almost raw CRUD on the tables 3) Curated high-level domain specific workflows that do n CRUD calls underneath

So many of these SaaS apps could have been a simple Excel / domain model template like Micasa.

But it seems like we haven't "cracked" the perfect UI on top of relational DBs.

Excel: Good: raw CRUD. Bad: too many degrees of freedom + the possibility to edit the domain model itself. That's too much for most users.

TUI: Good: raw CRUD with some guardrails, limited possibility to adjust the domain model / not by accident. Keyboard shortcuts, for professionals. Bad: inaccessible for non-tech end users + hard to build good UX for high-level domain specific workflows.

Full Web UI: Good: accessible for all. Great for high-level domain-specific workflows. Bad: looks and works different every time. Raw CRUD possible, but always a compromise with editable data grid libraries.

apsurd · 21 days ago
I've always stubbornly bemoaned how everyone seems to love to work in spreadsheets. Undeniably the world's power-tool.

I've never liked them, never learned to work with them, and instead spent 20 years learning to program and make my own db-backed crud interfaces.

Your points are spot on. But I'd like to defend a sliver of my stubbornness about it all; a product built for a specific use or domain exports the _education_ and information architecture of that domain. Sure it's all rows and columns in a db, and a spreadsheet is just that exposed to the user, but a "product" and its creator/company gets to design and prescribe a learning experience. And I think that's the magic and the value. That's what I'm holding onto!

iguana_shine · 21 days ago
There was once a time when tools like Microsoft Access and FileMaker Pro were common. These were a database and custom GUI designed using a drag and drop editor. I don't know whether these apps ever had network server capability or if they were always offline or why they died out. It was a bit before my time
tjohns · 21 days ago
FileMarker Pro had a dedicated server product (FileMaker Server) that you could use for multi-user access. Claris still sells it: https://www.claris.com/filemaker/

Microsoft Access was strictly file based. You could drop the .mdb/.accdb file on a SMB share and it would support basic concurrency via lock files. However, you could also swap out the internal database engine (Jet) with anything else via ODBC, so your Access database could connect to a remote Microsoft SQL Server instance - or even MySQL/Postgres.

Back in high school, I even wired up an Access database to give a graphical frontend to an accounting app running on an IBM AS/400 mainframe. ODBC made it easy, and Access itself didn't really care where the data lived.

CobrastanJorji · 21 days ago
I wonder what the state of workflow engines is these days. Back in the (distant, distant) past, everything seemed to use Lotus Notes. Today, there are oodles of workflow engines of all shapes and sizes, but asides from domain-specific stuff like Salesforce, I hardly hear anyone mention them.
harikb · 20 days ago
I’ve lived the Microsoft Access times. The downfall of those tools was the refusal to keep the interface simple. They kept layering on features and UI cruft until they became massive apps pretending to be databases
designerarvid · 19 days ago
Yes, this is a spreadsheet-like model with crud. Most software is.

Users don't care whether a product is "just crud" or not. The value comes from what the spreadsheet-like model looks like, and how it and its associated crud operators map onto the real world, helping a real human being to get things done. It's never about "the technology".

Many developers dislike this fact about the world because they are more interested in technology than solving people's problems.

Developing that well-working model and ux takes time and effort. Without an associated business model you cannot spend thousands of man hours to do that. Hence software tend to be for-profit saas, and not open source TUI apps.

Many developers dislike this fact about the world because they wish they could work on technology and not have to care about economic reality.

virgil_disgr4ce · 21 days ago
> Full Web UI: Good: accessible for all. Great for high-level domain-specific workflows. Bad: looks and works different every time. Raw CRUD possible, but always a compromise with editable data grid libraries.

I'm not a Notion booster, and I know there are many other solutions with similar tools/features.

But I'd argue that Notion databases are a very good balance of all of these things. It can be raw CRUD if you want it to be, but it's easy to create custom views that accomplish often exactly what you need.

Not exactly sure what you mean by "looks and works different every time" w.r.t. web apps.

In my experience this is a good example of where the UX details matter significantly. Yes, Airtable exists. But a Notion database row being its own first-class "Page" is a *massive* deal for me. (Again: I'm aware Notion is not the only thing)

apsurd · 21 days ago
> Not exactly sure what you mean by "looks and works different every time" w.r.t. web apps.

Not the parent but I take it to mean _across_ web-apps from various services the UI looks and works differently, vs every spreadsheet is a spreadsheet and works like a spreadsheet.

sgt · 20 days ago
Web UI's for power tools are generally not a good idea. A browser will always have limitations and not quite reach the level of e.g. a TUI. On the other hand, TUI's as you point out has some serious limitations on its own.

So the answer is native app - I think what the world need is a super fast native spreadsheet that is NOT Excel. Kinda like a combination of Excel, TUI, and MS Access in one. Fast like Numbers.app, not sluggish like Excel is.

I'd use that. But it needs to have a keyboard centric operation, and be faster and a very solid, near industrial design, no "the latest flavor of someone's Figma design". I'm having a tough time explaining this.

What do you guys think?

misiek08 · 20 days ago
Good to see (although I was more than sure there are) people thinking about this same thing.

I’m using Google Sheets for house and cars. Columns that should be easily grouped are using data validation and yes - few times deep into the experiment (because I’m sometimes lazy and miss some data - so experiment is good name) I’ve changed domain a little by adding columns. It meant empty values for existing rows - that I couldn’t fill in most cases, because a lot of time passed.

Reading many comments here I think we will create multiple frameworks/standards like always and some tools will be missing things others have :(

Funny thing is sheets works good and with scripts I can (still for free in terms of money) send notifications to selected channels or do some automated actions (like check disks status or order something automatically)

Edit: sheets have sync across devices too. Single SQLite for this specific case, having less nerdy people at home is an disadvantage.

pjc50 · 20 days ago
> A browser will always have limitations and not quite reach the level of e.g. a TUI

There's no reason you can't jam a TUI into a browser. Perhaps to the surprise of both kinds of user, but it's possible.

> I think what the world need is a super fast native spreadsheet that is NOT Excel.

> I'd use that. But it needs to have a keyboard centric operation

You should boot up an emulator and check out the OG: Lotus 1-2-3. Keyboard driven, extremely fast, all written in 16-bit assembler for the original IBM PC running at, what, 4MHz?

It's because of Lotus 1-2-3's use of F2 for "edit cell" that F2 is still "edit" or "rename" in most applications.

(you can then continue the tour with WordPerfect and Borland Turbo Pascal, if you like light blue)

donatj · 20 days ago
Back at a job I had in ~2008 we built a library to convert an Excel spreadsheet into a fully functional web based configurator. I've talked about it here previously[1].

I have always thought that it was a missed opportunity that we'd never reused it nor turned it into any sort of SaaS. It seems to me like such an obvious and easy way to let your clients define their own business logic without having to maintain it yourself.

1. https://news.ycombinator.com/item?id=20793043

StopDisinfo910 · 20 days ago
Considering Cognite made a fortune in the oil and gas industry by basically allowing companies to toss them all their data, them automatically linking and contextualizing everything using a tunable knowledge graph and then giving access this domain model, I think you are onto something. A bit late to the party but yes, this party exists and LLM are useful there for once.

Amusingly most of this data then end up back into Excel or PowerBi but the unbundling and contextualizing itself is worth the price.

Semantic mapping was the answer all along. It just failed on the open web. The idea never died in the industrial world.

astatine · 21 days ago
dBase was the gold standard for this back in the 80s, early 90s. Great tool. Both the "dev" part and how it could be made available to non developers. The freedom of spreadsheets when developing and the constraints of a TUI (or just UI in those days) for users.
sabas_ge · 20 days ago
Our ERP is dBase+SQL server with Harbour executables, until I don't move all the database to SQL server it will be like that
sgt · 20 days ago
Maybe we need a new dBase.
gleenn · 21 days ago
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"

kayge · 21 days ago
I didn't see that review in the 4 shown in that section until I refreshed the page... there are some good ones in there, including a Hacker News shoutout :D
avarun · 21 days ago
I guarantee that's an AI-written joke.
fragmede · 20 days ago
Does it make it less funny? Do you find yourself laughing, but then you get soured because although the chuckle that was made was genuine, it came about from something that was created by a computer, so we have to hate ourselves for chuckling. Is that how it works?
aitchnyu · 20 days ago
Did I miss the innovation in AI humor? I searched for AI written jokes and they all seem like Markhov chain output.
cpcloud · 20 days ago
It is.

Deleted Comment

pjc50 · 20 days ago
While we're in the joke thread, I was expecting that "mi casa es su casa" was going to turn into "sudo fix my house" somewhere in the docs.
cpcloud · 17 days ago
Pretty good. Might have to find a way to incorporate that.
fudged71 · 21 days ago
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).

candiddevmike · 21 days ago
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.

rocketpastsix · 21 days ago
I checked out HomeChart, and boy howdy it feels like its doing way too much.
PunchyHamster · 21 days ago
It's just hard sell vs the free of just having a spreadsheet
erader · 21 days ago
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

fudged71 · 21 days ago
This is in line with my thinking, can you say more about how intent changes how you would use a system like this?

I had a really complex negotiation for car repairs (goodwill warranty, balancing a long list of repairs/recalls etc) which was pretty time sensitive. If I had already had my service record in a structured format along with the manufacturer's policies I feel like I could have responded with better preparation. Same for any other big maintenance items on the house, mortgage, insurance, etc.

And then there's the flip side--what do my policies and healthcare/loyalty plans cover that I'm not taking advantage of? What can be combined towards my goals etc.

order-matters · 21 days ago
how do you handle the LLM hallucinations in analysis? I like it for data extraction but i never trust it to analyze anything
stillforest · 21 days ago
I’ve built https://manor.app with the intention of it fitting the “user-friendly mass-market interface” you suggest. It’s essentially a “second brain” app for your home(s), covering inventory, documents, tasks/reminders, notes, etc. The inspiration is tools like Asana, Linear, etc I used in my career as a software engineer, tailored for the home.

It’s my sole area of focus, with more document retrieval and analysis (and UI polish) on the way.

mrchumbastic · 18 days ago
This might be a personal preference, but I think you should put the demo (either a gif, video, or the button) front and center on your landing page. I was about to leave until I saw the demo option at the bottom, then almost left again until I noticed the demo persona that I could test without a login. Once I got into the demo I was hooked. Clean design and intuitive UI that shows me everything I'd be looking for in this type of app.

So many landing pages just explain things with text then jump straight to a signup or pricing page, but what I want to know at a glance is what does your app do. Again, might be a personal preference and I don't know how well this fits with the "call to action" rules people normally have for landing pages, but I typically ignore any site that can't show me what it does before it asks me to give information.

embedding-shape · 21 days ago
> 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.

subscribed · 20 days ago
I've got several cameras outside my house, but these recording 24/7 are adjusted to capture my property only (garden, front drive, entrances etc)

That's legal.

If someone gets recorded that's because they left the public land and entered mine.

matthewfcarlson · 21 days ago
The US gives you no expectation of privacy in public places and private property is generally do what you want. It gets murkier if your cameras are pointed at other private property (your neighbors).

Not a legal expert just what I’ve heard.

homarp · 21 days ago
I call this the "Home Resource Planner"

Bricks are there (Home assistant, Frigate, Pihole,...)

sourcegrift · 21 days ago
Grocey

Dead Comment

thomascountz · 21 days ago

   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?!)

cpcloud · 21 days ago
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.

kayge · 21 days ago
And for doctors appointments... micuerpo!
simjohan · 20 days ago
Cool talk with Richard Hipp, the creator of SQLite: https://corecursive.com/066-sqlite-with-richard-hipp/
aeblyve · 21 days ago
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

cpcloud · 21 days ago
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!
aeblyve · 21 days ago
That's all fair. It is a cool piece of work nonetheless.

For example I am thinking, what if I wanted to hook up my micasa instance to some other arbitrary self-hosted service? If it's an App that means bespoke code, with a spreadsheet stack it is trivial.

deeth_starr_v · 21 days ago
I agree. While I really like the idea of being able to query some of this data, it's another system to maintain. I have a system where I use a calendar, physical folder, and notes/folder in the cloud. Call me lazy.
iugtmkbdfil834 · 21 days ago
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.

mrpf1ster · 21 days ago
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.
cheema33 · 21 days ago
This.

If I am the only one who can use it and only from one computer, it would be entirely useless for my needs. I have several computers and also family members who would need access to that data. A Google Docs spreadsheet would be a better tool for my specific needs I think.

fix4fun · 21 days ago
I think the same. Why overcomplicate and just use some online Spreadsheet like from Google Docs. The same or even less effort.
tick_tock_tick · 21 days ago
> Backup with cp.

cp is not a method to backup a SQLite file unless you can guarantee there are zero transactions in progress. See https://sqlite.org/howtocorrupt.html#_backup_or_restore_whil... for safe methods and consider switching your examples to use one of those.

cpcloud · 21 days ago
Good point. I will definitely move away from cp.
wolvoleo · 21 days ago
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.
dmd · 21 days ago
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).
wolvoleo · 21 days ago
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.

gerdesj · 21 days ago
I'm pretty close to your approach too. I rather like lights, water features etc just switching themselves on and off as required. I use the UI to go off piste for me only and not for the wife (at home) or employees (at work)

HA's automations are getting rather good these days but Nodered is handy for when things get complicated. HA has a very neat Nodered integration maintained by Frenck, who is a HA dev.

My general directive is that any automation that is important should be able to work via manual means. Sadly my (Reolink) doorbell does not currently have a hard wired chime. The previous one (Doorbird) did.

At work, my office has 40 odd windows and I have slapped a zwave sensor on all of them and all doors. Its quite handy to have a blank list of open doors/windows on a panel (HA) next to the alarm panel as you set the alarm. The auto entities card is very useful.

cpcloud · 21 days ago
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.
jefurii · 21 days ago
I would love to have a TUI for Home Assistant!