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.
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
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.
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.
I helped a legacy Lotus Notes application reincarnate once, and it was impressive how reasonably solid it's ability was to be offline-first, and mobile first, and how fewer sychronization/replication errors there were than I expected.
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!
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.
> 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)
> 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.
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
This is amazing and exactly the problem we have been trying to solve with a friend. We also considered the terminal but people give up on maintenance because they forgot to buy that replacement filter, or never got a reminder when they actually had time. Also, it is not uncommon for families to divide these as chores among different family members.
I personally love the TUI but I also know that for most homeowners this is too “advanced”. This is why we built our solution as a simple web app [1]
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.
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.
First, I've spent a ton of time becoming opinionated about a normalized data model that supports the product experience I'm trying to build. This applies both to the extraction (line items, warranty sections, vendors, etc.) and the analysis portion. The latter is imperfect, but aligns philosophically with what I'm willing to stand behind. For example
- building outputs for price fairness (based on publicly available labor data)
- scope match (is vendor over/under scoping user's intent)
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.
Thank you for ironically proving my point, I guess. The main value add here is everything is integrated into one app. I always wonder if folks said the same thing when Salesforce or SAP were created.
Kindly -- I think this is a symptom of the larger issue, right?
You shouldn't need a document to help persuade the consumer (or the more technically inclined ones anyway). That magic should just be self evident. We don't need a document to understand why the iPhone was a hit, right?
Doesn't matter if you have the greatest app in the world. If it overwhelms the user on first use, it's simply not going to be used.
I agree at first glance it is overwhelming unfortunately.
> You shouldn't need a document to help persuade the consumer
For the most part we don't. They get it, they have the frustration with duplication, and they see the value of our pricing being the same or cheaper than one or two of the apps their paying for.
The harder part as I said in the original comment is no one is searching for a household data solution. It's not a thing that exists to people, and we don't advertise (mostly) as "a budgeting app" or "a to-do app", so the persuading if you want to call it that comes from catching these buyers and showing them that yea, we do that, and so much more.
> 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.
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).
As I understand it (which probably isn’t well), expectation of privacy on private spaces in the US gets pretty wonky. Like being in plain view on a front lawn wouldn’t have expectation of privacy but being behind a fence would even if the fence doesn’t do a good job of blocking sight lines.
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?
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!
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.
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.
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.
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!
Sorry for the late reply, this was for when you're adding a renovation for instance and there is a section for "notes" - you can hit `ctrl+e` and it will open in an editor.
Looks like it doesn't register `$VISUAL` but does use `$EDITOR` not sure if that is a `xdg-open` behavior though.
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).
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.
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'm similarly unpredictable in my home. Add to that the others in my house, and it's impossible to even guess what everyone's intentions are at any given time.
Sometimes I daydream about a "solo mode" where the timings on lights are tighter and my music can follow me around the house when I'm up at night and nobody else is. But most times I'm trying to find the get-out-of-way averages that keep everyone happy.
Some things work great: Automated lights everywhere. Automated dimming of lights at night or sunset or whatever. Notifications when the laundry is done, or the cat litter is ready to be changed, or someone is at the door, or the garage door has been left open - all great. What music to play in what room at any time? Always changes. When to "dim all the lights" because Plex started a movie? But my son is building Legos in the dining room, and my wife is knitting and needs the couch light on. Sometimes I want it, but not every time.
For those things having a single button press is still a huge win over opening multiple apps and getting the right things set the right way for each participant.
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.
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.
Funny enough, Saul and I recently hacked on getting visidata's Ibis integration updated, so you can use visidata for poking around databases of any size, really. You might like that, but also visidata has non-ibis support for SQLite I believe.
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."
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.
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.
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 your-phone-number@vztext.com (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.
Many have removable filters that you're supposed to clean periodically. If there's nothing obviously removable in yours then it might have a "self-cleaning" system that would be harder to take out and clean yourself.
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 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
The hallucination-in-analysis problem is real and often undersold. Pattern that works well: use the LLM only to structure already-extracted data (parse fields, normalize formats), then apply deterministic logic for anything numerical. That way the LLM is doing classification/extraction where it's reliable, and you're not trusting it to compute or compare values where it isn't.
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.
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.
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".
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.
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 UX was a bit iffy for me, but I thought I'd experiment with it and decided to go with it.
When you edit an ID column, it opens a form editor to edit the entire row at once.
The thinking was to make all columns editable _in some way_, but ID columns are autogenerated and thus not designed to be directly manipulated.
I thought: since the ID represents a unique entity, in this case document, then it made some sense to make editing that editing the whole row.
That said, this is a bug even with the explanation I just gave: editing on the ID column of Docs doesn't show all the row's data in the form. Will fix that shortly.
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 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.
Yes, one of the other comments alluded to this as well. I am also in this boat, so other than bizarroland LLM ingest stuff, I'll probably work on this next. Having never written a mobile app, I'm sure it'll be fine.
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.
Heh, I actually turned that off because I kept getting confused about where I was. Perhaps there's a better UX there, or better styling that would make me less confused and keep the nav wrapping.
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!
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.
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.
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.
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.
I started a golang TUI last summer with Codex Web/Cloud because it felt more like a closed loop. It was able to manage pretty well end to end.
Every additional complexity hop probably increases the attrition rate for successful development, so TUIs end up the most frequent bean to bar currently possible for hobbyists.
I really wanted an iOS app. I considered a web app, or a localhost app. Each additional hurdle (containers, packages, builds, testing, running, OSes, browser integration, computer use) feels like upping the required power of the models.
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?
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.
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.
That was exactly my first thought. Could I mod this use with boats.
I already have some spreadsheets for tracking engine maintenance, etc, but this looks really cool.
I'm building a Home vault like this currently. With the new obsidian cli, you can do a lot more with letting an agent manage things and update dashboards, etc. for you.
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?
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!
Valid question. Mostly because I wanted linking and couldn't be bothered to lookup vlookup. Naturally, the first alternative approach I considered was build a terminal app.
The business is strong with Maximo: "Optimize asset investments with AI insights to cut lifecycle costs, align budgets and achieve your goals smarter and faster".
Optimizing with insights to cut lifecycle costs? Where do I sign up??
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.
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.
I should probably give it a shot.
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!
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)
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.
"I’ve been using the demo data for three weeks. I don’t own a house. — Aspiring Homeowner"
I personally love the TUI but I also know that for most homeowners this is too “advanced”. This is why we built our solution as a simple web app [1]
Great project! Best of luck.
[1] www.wellrun.house
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).
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
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.
- building outputs for price fairness (based on publicly available labor data)
- scope match (is vendor over/under scoping user's intent)
- risk (vendor risk, timeline, price variability, etc.)
- value (some combination of price, service, longevity, etc.)
I don't get much hallucinations in my testing, but overall it's pretty complex pipeline since it is broken down into so many steps.
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.
Anyways we document our reasoning here: https://homechart.app/docs/explanations/architecture/#separa...
You shouldn't need a document to help persuade the consumer (or the more technically inclined ones anyway). That magic should just be self evident. We don't need a document to understand why the iPhone was a hit, right?
Doesn't matter if you have the greatest app in the world. If it overwhelms the user on first use, it's simply not going to be used.
I agree at first glance it is overwhelming unfortunately.
For the most part we don't. They get it, they have the frustration with duplication, and they see the value of our pricing being the same or cheaper than one or two of the apps their paying for.
The harder part as I said in the original comment is no one is searching for a household data solution. It's not a thing that exists to people, and we don't advertise (mostly) as "a budgeting app" or "a to-do app", so the persuading if you want to call it that comes from catching these buyers and showing them that yea, we do that, and so much more.
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.
Not a legal expert just what I’ve heard.
Bricks are there (Home assistant, Frigate, Pihole,...)
So, yeah. This would obviously be called micarro.
[0] https://github.com/gristlabs/grist-core
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.
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.
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!
Did you hit this in the Docs open flow?
micasa will call xdg-open (linux)/open (mac)/cmd (windows) when opening a document, but there's nothing that's explicitly opening a text editor.
Looks like it doesn't register `$VISUAL` but does use `$EDITOR` not sure if that is a `xdg-open` behavior though.
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.
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.
Sometimes I daydream about a "solo mode" where the timings on lights are tighter and my music can follow me around the house when I'm up at night and nobody else is. But most times I'm trying to find the get-out-of-way averages that keep everyone happy.
Some things work great: Automated lights everywhere. Automated dimming of lights at night or sunset or whatever. Notifications when the laundry is done, or the cat litter is ready to be changed, or someone is at the door, or the garage door has been left open - all great. What music to play in what room at any time? Always changes. When to "dim all the lights" because Plex started a movie? But my son is building Legos in the dining room, and my wife is knitting and needs the couch light on. Sometimes I want it, but not every time.
For those things having a single button press is still a huge win over opening multiple apps and getting the right things set the right way for each participant.
[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/
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.
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.
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.
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.
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.
Dishwashers have filters??!?
More than you ever wanted to know about dishwashers: https://www.youtube.com/watch?v=_rBO8neWw04
It practice it alternates between annoying thing I dismiss the notifications from or use obsessively. Doesn't seem to be much in between
Being able to launch it with:
Is super convenient.Actually we could go further and serve `micasa` via ssh:
Then we could put this in a nixosModule in your flake.nix. Would you be interested in a PR which does this?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.
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.
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.
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.
In my wildest dreams, your project would turn into a jira that devs love.
When you edit an ID column, it opens a form editor to edit the entire row at once.
The thinking was to make all columns editable _in some way_, but ID columns are autogenerated and thus not designed to be directly manipulated.
I thought: since the ID represents a unique entity, in this case document, then it made some sense to make editing that editing the whole row.
That said, this is a bug even with the explanation I just gave: editing on the ID column of Docs doesn't show all the row's data in the form. Will fix that shortly.
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.
Not necessarily houses, but there are some old buildings around almost everywhere: https://en.wikipedia.org/wiki/List_of_oldest_extant_building...
Need to revisit it and update it based on a lot of feedback I've received.
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.
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.
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.
mise use -g github:cpcloud/micasa
and just start typing. I wish it had metric units and was translated, though!
Here it an important th… |
Why?
go run github.com/cpcloud/micasa/cmd/micasa@latest
Every additional complexity hop probably increases the attrition rate for successful development, so TUIs end up the most frequent bean to bar currently possible for hobbyists.
I really wanted an iOS app. I considered a web app, or a localhost app. Each additional hurdle (containers, packages, builds, testing, running, OSes, browser integration, computer use) feels like upping the required power of the models.
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?
I also personally wouldn’t trust the database of all my important home info to a vibe-coded program.
I do like it. I just hope I don't have that many things that I have to fix in my house that I need a DB to track them.
Great work.
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?
Now I kind of want custom themes...
Optimizing with insights to cut lifecycle costs? Where do I sign up??