justbees 1 day ago

Oh man! I made an app for my family too. They have an antiques/book selling business on eBay so I made an app for them to actually keep track of things as they buy them.

That was where their process was breaking down - When did we buy this? How much was it? The sort of things that are semi-difficult to keep track of when you're going to A LOT of estate sales and then basically need to enter all the stuff into a spreadsheet when you get home.

So the concept was - take pics and enter simple data as you're out and about and then export the data when you get home.

I ended up going way down some deep rabbit holes because I didn't want to host any data (my goal was to actual release the app and hosting people's shopping trips wasn't something I wanted to take on).

So it's all local storage and for sharing between family members I ended up embedding the data in a pdf that you can send in a text and then import - so if x people are at the same sale they can all add to the same "trip" at the same time and then combine the trip when they're all finished shopping.

So image and data optimization were big concerns since it's all on your phone until you export it/delete the trip.

I was a fun process until it wasn't :P

I did end up getting to 1.0 and shipping to the app store, which was really my goal -> make an app and go all the way through the process. So in that way it was a success.

  • ball_of_lint 11 hours ago

    Why PDF for the data format instead of, say, CSV?

    • mjamil 11 hours ago

      I’m speculating it’s because most phones know how to natively handle PDFs (and not CSVs).

      • justbees 28 minutes ago

        I actually ended up with pdf because I could brand it and my parents (who are in their 70s) understood it better than seeing a CSV. That was REALLY throwing them off. We went through rounds and rounds with the sharing. So instead they just get a little image that they can import and then all the data is embedded in the pdf along with tiny images, but it just looks like a little thumbnail file.

chabad360 1 day ago

Hi HN! OP here. This is my first post and I'm very grateful to see it on the front page. This app was a lot of fun to build, and I really enjoyed putting together the writeup. I've been very inspired by the other stories shared here to write my own, so seeing the comments has been very validating.

I guess I'll be around answering questions and comments as I see them. Thanks for reading and responding.

  • teejmya 14 hours ago

    Hey, cool thing! Personal apps are awesome, and I really enjoyed your story.

    I hadn't seen you mention OBD in this article, which is built in to most cars from the past 25 years.

    If your shared car has it, you could put one of those Bluetooth LE readers in the port, and have copies of your app connect to the BLE signal on "vehicle return" to calculate milegae driven and maybe more, depending on what the car reports!

    Might be worth playing around with, either way congrats on your cool thing

ahaferburg 1 day ago

Fun project. The article is a bit light on details. I find it astonishing that a project like this runs into performance issues. I would have liked to learn more about what these resource-constrained widgets looked like, what they did, and what caused the performance issues.

  • chabad360 1 day ago

    Agreed. Perhaps I'll write a follow up that talks about the actual technical details more. I didn't want to lose sight of the story by getting bogged down in the technical details too much, but there are so many good little technical bits to share.

fmajid 1 day ago

Manual data entry is just too unreliable and time-consuming. I don't see how this could work short of integrating OBD-II fuel consumption data combined with some sort of presence tracking.

  • chabad360 1 day ago

    I agree with you that at a large scale this is a problem. The one thing I decided very early on (when thinking about if/how I would grow this app beyond my family), is that this is for people who trust each other. If you don't trust the other people in your group to be responsible with the vehicle, then this app isn't gonna help. I'm trying to make the experience more smooth, not necessarily completely painless.

    Regarding automatic tracking tho, the easiest option is Bluetooth based, the app knows the identity of the car, when the phone connects, it knows you're probably starting a trip. And the same goes for connected car APIs, those can much easier take the place of an OBD-II reader.

    • fmajid 14 hours ago

      Obviously you trust your family, but some members may be more absent-minded than others and forget to record their trips.

  • smileysteve 17 hours ago

    It's more hardware intense, but yes, add an rfid tag to each key, use a btle obd dongle, centralize computing in an arduino; phone home to a webserver the last logs.

    Then at the end of the month debit each account that used negative gas.

    The only thing this misses is encouraging fill-up before empty, but it could give notice when the tank is below ¼ before a trip

DreaminDani 1 day ago

Great writeup and also a great example of where LLMs can step in to help fill the gaps in areas where you don't have as much skill or interest. For instance, your wife used ChatGPT to come up with a name and you used AI to generate the admin flows that you weren't interested in building.

Sounds like Flutter was a good technology choice too, given its flexibility across platforms. As a designer, I know how frustrating it can be that the Google and Apple interface guidelines aren't too prescriptive but patterns vary so much across domains, that it's better to do what you did and evaluate what others do to solve similar problems. Great work!

  • avicado0o 1 day ago

    Flutter was good, but now with Liquid Glass™ I find react native (specifically expo) using expo-ui far far better at designing apps that match their native look and feel.

    • chabad360 1 day ago

      Heh, this is indeed rather unfortunate. Right as I finally got the look and feel to a relatively polished point, Liquid Glass dropped, making it rather obsolete. But to be honest, the app doesn't feel that out of place anyway. I don't know if that says something about me or about Liquid Glass, but it does say something.

    • realusername 2 hours ago

      Native look is just a debate among developers, none of the top 10 apps use native look and I never heard any user care either.

      Personally I find that it's not using Liquid Glass an advantage, at least I don't need to worry about contrasts.

reesexu 11 hours ago

Most of the friction I’ve hit with tiny household setups isn’t “what does the gauge say”—it’s who last updated shared state (trips, refuels, keys) and whether the next driver can rely on it. A rough UI everyone actually opens can beat a neat paper log maintained by one person.

The pencil‑and‑notepad takes make sense once the ritual is already mutual; the failure mode I see is partial adherence, where informal notes silently diverge. A purpose‑built helper can be the workflow, not only the record of it.

I’ve shipped a couple of relatives‑only gadgets; “it worked” usually meant routines lined up across people, not that the tech was flashy.

pavel_lishin 16 hours ago

We own a Subaru, and the app has all sorts of data in it: the car's current location, the odometer reading, and fuel status, sort of - it only displays the "until empty" distance, and the average MPG. I'm surprised it doesn't show even an estimate of how much gasoline is in it.

So if I were to do this, I'd find a way to read that data somehow, and then I'd just need to know who was driving. (Which, as someone pointed out, I'd probably do with some sort of RFID tag on everyone's keys.)

But yeah, the manual entry part would absolutely be the biggest drag here.

  • SirFatty 15 hours ago

    "I'd find a way to read that data somehow..."

    Kind like the ? before Profit!

  • Natfan 15 hours ago

    i have found a surprisingly large amount of success in uploading an .apk to Claude and asking it to extract all HTTP endpoint used and to display them as a Swagger document. most apps use HTTP(S) to communicate with their APIs, so reverse engineering is relatively trivial

  • chabad360 15 hours ago

    I would like to offer that as a feature. There are some companies that sell access to connected car APIs, so I would probably go through that route.

bnj 1 day ago

Plenty of comments about using an LLM to assist with this, and I was happy to be able to read about a learning experience where the stakes were pretty low and the feedback loop pretty tight. Thanks for writing it up; for me, it reminds me that some of the use cases where an LLM might be an efficient tool are also the places where it can be wise to take the opportunity to learn and sharpen new skills.

  • chabad360 1 day ago

    I totally agree. Don't get me wrong, LLMs helped a lot here, Copilot has been my trusty tool from the day it hit the market, But agents were not really a thing then. In general, my policy is to do it myself until it stops being fun, so as long as stuff doesn't feel like a slog, I'm still pretty productive all on my own.

tantalor 17 hours ago

Good example of over-engineering.

This could be easily solved with a pencil and notepad.

  • compiler-guy 16 hours ago

    Availability and location cannot be solved with a note pad.

    • m01 14 hours ago

      Restricting the scope to those two problems would remove 1/3 use-cases and around half of the pages required (going by the "The Birth of a Product" section's bullet point list). It's an interesting exercise to think of the absolute simplest way to solve a given problem. As the author had been "itching to build an app for a while", I think solving the problem was not the only goal here - fair enough.

    • noprocrasted 13 hours ago

      A shared AirTag could probably take care of the location issue easily. I assume that in this scenario with exclusively trusted users, trading off privacy for the convenience might be worthwhile.

      • compiler-guy 12 hours ago

        One design requirement was that the car’s location is only known when it is available, which rules out AirTags.

        And sure, relaxing that requirement would make for an easier implementation. But also worse acceptance by users.

  • InsideOutSanta 6 hours ago

    It's a personal app, a learning experience, and it was fun for OP to make it. I don't understand people's need to immediately react negatively to anything and everything they see. This isn't Adobe enshittifying their apps, it's just somebody who did a fun project, ffs.

michaelbuckbee 11 hours ago

For years the family joke has been that when we take a family picture we need to take 5 because I will inevitably have my eyes closed in the first 4.

So I made an IOS app just for us that does face detection and won't take the actual photo until all of the detected faces have their eyes open.

nottorp 1 day ago

Hmm an app where you can count the users on your fingers, and where it's not a big deal if it's slightly wrong.

Safe to LLM generate it, unless you want to learn something in the process, in which case do whatever parts you want to learn about manually.

Had an 100% generated app with one user - me - on my phone's home screen since some time last year.

  • avicado0o 1 day ago

    im curious, what did your app do?

    • nottorp 1 day ago

      It has a button, records button presses for the last 7 days, saves them to local storage. Then it presents totals per day and detailed timestamps for today's button presses.

      This is how I described it to the LLM (which wasn't even one of the coding assistants, just Gemini free). Not the exact prompt, that was more detailed, but that's the idea. I did like 3 iterations just to add features, because everything worked the first time.

      It's a javascript app configured to work as a PWA on my phone's home screen. I don't know javascript or what a PWA is, I just told the LLM make it into a PWA and it generated the extra files and told me how to set them up on my web server.

      The goal is to record when I smoke in hope that seeing the totals will help me cut down. Unfortunately what a LLM can't solve is me remembering to open the damn app and press the button every time I light one, but at least I'm trying...

      Edit: and just for the record, in spite of the above I still think 95% of the "AI" evangelism is lies, bullshit and stuff like that.

      • nkrisc 1 day ago

        Every time you finish a pack, save it. Seeing the empty packs will be more impactful. And they’ll take up space as an additional consequence of smoking more.

        • nottorp 1 day ago

          I'll try any advice but that doesn't really work for me because I already save them.

          One day I'll run into something that works for me...

      • avicado0o 1 day ago

        Oh nice! kinda funny story : I wanted the exact same thing as you a while ago so I used 'inhaler usage' on apple health app as a proxy for cigarette counter.

        Also i know cigarettes & vapers do not always mix, but man I do always dream of creating a vape that can be set to a limited number of puffs/hour. It's probably the only way of actually controlling it or at least warning you, like you mentioned.

        But still, fun that we can make these apps so easily now!

  • chabad360 1 day ago

    I don't strictly disagree, but as I mentioned in the article, those weren't really an option at the time. Claude code was nascent and not very reliable, and I actually like writing code sometimes, heck, I'm currently rewriting this site by hand.

ottomanbob 1 day ago

Interesting, was actually planning on setting up a carshare for our cul-de-sac in Honolulu. This is a great reference, thanks for sharing.

  • chabad360 1 day ago

    Glad to hear. Hey, if you want to use/try out the app, hit me up: my username @ Gmail.

avicado0o 1 day ago

also fwiw for small things like this, unless you want to really learn image recognition, just send the image to gemini-flash-3 or something. Sure it's 0.5-1s latency, still faster than entering it manually and it's pretty cheap, I'd reckon it's under the free tier at least for you and your family.

  • chabad360 1 day ago

    That's actually not a bad idea, if I pick this up again, I will definitely try that. Thanks.

benhurmarcel 23 hours ago

I’m surprised the author went for native apps rather than a PWA for this use

  • thomas_viaelo 15 hours ago

    Did you weigh home screen widgets here? For "log mileage when you refuel", a one-tap widget feels much closer to the moment than open Safari, find the bookmark, hit the button. PWAs on iOS still can't put one on the home screen. Curious if cross-platform was the call from the start, or if widgets came up at all.

    • chabad360 15 hours ago

      Widgets are possible to do with Flutter, but you have to implement them natively and do a bunch of FFI for passing data. I went cross-platform from the start because I have only so much time, and it's much easier to write 95% of the code once instead of twice.

    • motoroco 14 hours ago

      you can tap the Share button and use Add to Home Screen on any website in iOS Safari, including PWAs. it even works on hn

    • benhurmarcel 14 hours ago

      I don’t think PWA can do widgets indeed, but they can have an icon on the iOS home screen.

    • noprocrasted 13 hours ago

      Here's a low-tech approach: an SMS/WhatsApp/Telegram bot. You can just text it the info and even the location. This means all the logic is server-side and nothing on the client.

koala-news 1 day ago

Honestly, this is kind of the sweet spot for LLM-built apps.

Small thing, used by a few people, solves one annoying problem, and nobody really cares if it’s not “proper software”.

  • mettamage 1 day ago

    It's family software, haha

Theodores 1 day ago

Clearly the car was the Top Gear KIA Cee'd and you must be The Stig.

We all start pet projects with the tools we know, to learn new tools along the way. Sometimes you have a nail and the hammer is the right tool for the job. However, why use just the hammer when you can just download the whole Snap On tool inventory for the same price, in both metric and weird American units?

From your write up, I felt that the frameworks were not helping. A HTML file served as a PWA would provide everything needed, without the need to go through the hoops of app stores and debugging with those fancy AI things. To open the page an NFC sticker in the car could work.

What I am saying is 'Keep It Simple'. Oh, and get a bicycle! Most of the world uses 'active travel' for most journeys, only in America is 'active travel' effectively banned by zoning laws and whatnot. Maybe v2 of the app could be all about car dependency, which should be regarded as a chronic disease, with some of the methods used by 'quit smoking' apps to keep users motivated to ride a bicycle or walk, rather than get in the tin coffin.

  • chabad360 1 day ago

    Hahaha. I hear you. Despite the complaining (I actually forgot to talk about the week long pain that was figuring out why tracing and telemetry would break the build), this project was a lot of fun. I went with flutter (and making a whole app) very much because I wanted something that was smoother than a PWA in actual use. I think that the feeling I was able to get the app to, was much more comfortable than what is possible to do with web apps. Perhaps next time tho I'll try something else.

fragmede 1 day ago

Integrate an OBDii dongle with Bluetooth and have the app read it from there.

  • chabad360 1 day ago

    It's not a bad idea, but everything I know about those days they are not fun to work with, and I didn't have one anyway.

harrouet 1 day ago

Next: "How I made one whole website to host one HN-featured blog post"

  • chabad360 1 day ago

    Funny story, I actually used a very AI-generated Astro template made by someone else, and it's gotten me annoyed enough that I'm now making my own from scratch. So perhaps there will be a writeup about that.

gandutraveler 1 day ago

Best family app to me is home assistant.

It's so powerful and you can build so many custom UIs on it.

I started it for smart home automations but on daily basis I use it more for managing tasks,scheduling reminders.

And with Claude code remote even my not so technical wife uses it to build her tiny utility apps.

throwy98888 1 day ago

Cool, glad you had fun building it.

Notably, the only parts of this that could not have been done by a well configured agent in a weekend with SOTA today is the futzing with app stores and the UX iterations.

utopiah 1 day ago

wow... so much yak shaving, including priceless bits like "sat with ChatGPT for a bit [...] we came up with OurCar" (I mean... how original is that, clearly powerful datacenters computing over a dump of the Internet was needed), I'm impressed.

All this to avoid doing one subtraction (km before, km now) then multiplication (result times average litter/km) in your head.

That's a LOT of effort to be lazy.

  • utopiah 1 day ago

    FWIW if I were to do this I'd do

    echo <input id=kmbefore><input id=kmafter onleave='alert( (kmafter.value - kmbefore.value) * priceperlitterperkm )'>

    > index.html to make it available to anyone, Worldwide, for free!

    For the fancy version I'd make priceperlitterperkm URL parameter to make it work not just for my area. But that's like an entire additional like of code.

    My point being... I'd make a Web page, on app, no deployment, no tracking.

    • utopiah 1 day ago

      PS : echo "blabla" > index.html is actually becoming my new World reaching publishing method. I do have a home server with a Web server. I connect to it via ssh keys... so

      ssh homeserver 'echo hi >> /var/www/self-published/index.html' and voila. I'll probably share my gist this way from the CLI.

      ssh homeserver "echo '$(ls)' >> /var/www/self-published/index.html" if I want to run a command locally first, not on homeserver (notice the " vs ').

    • darkwater 1 day ago
        echo <input id=kmbefore><input id=kmafter onleave='alert( (kmafter.value - kmbefore.value) * priceperlitterperkm )'>
      
       > index.html to make it available to anyone, Worldwide, for free!
      

      You are conveniently leaving out that you already must have:

      * a server running 24/7 on the internet, paid for each month

      * purchased, setup and keep paying every year a domain name

      * configured a web server in that server, ideally with automated SSL certificate issue and renewal

      • echoangle 1 day ago

        Or just use GitHub pages.

      • utopiah 21 hours ago

        Well yes I'm indeed assuming that you have :

        - a place with electricity

        - an Internet connection

        - a computer, no matter how small (it can literally be a-cig)

        which isn't true for literally every one but clearly for OP was.

        You don't need a server in the cloud though, like I said a home server is enough.

    • NotMichaelBay 1 day ago

      The article mentions that was proposed and no one wanted to do it.

      Also, alerts are terrible UX. At least put some effort into your example.

      • utopiah 22 hours ago

        My point was precisely that no effort was needed to be usable, not that it was perfect. It's taking me longer to argue with you than making it. Again that was the point. We can endlessly make it slightly better... but then we forget why we did this in the first place, namely basic arithmetic for a dozen of people.

  • jeroenhd 1 day ago

    The log for "who took the car for how long when and did they fill it up" seems to be much more relevant.

    Nothing a notebook and a pencil can't fix, of course, but an app is more fun.

    I don't think it's laziness, I think it's an excuse to do a personal hobby project. Makes perfect sense to me.

    • chabad360 1 day ago

      This is very true, speeding tickets and parking tickets become very annoying to trackdown otherwise.

      • utopiah 21 hours ago

        That's very risky, I imagine if someone did an infraction and they are unstrustworthy they will not log in the system. It only works if people want to collaborate.

    • utopiah 21 hours ago

      > an excuse to do a personal hobby project.

      Of course, and I do things like that too. I didn't mean to be critical only to give back some perspective precisely when it's NOT about learning.

  • chabad360 1 day ago

    Haha, that's certainly one way to see it. I really enjoyed making the app, so it was less about laziness more about an itchy trigger finger.

    • utopiah 22 hours ago

      The process is the point, not the outcome. I have no doubt you had fun as I do "silly" things like that. Thanks for sharing.

  • bartvk 1 day ago

    My ex isn't good with numbers but nevertheless she has a master in education. She has helped many, many children with learning deficiencies. For lots of people, the math is a significant barrier.

    • utopiah 21 hours ago

      Very true, I don't want to presume of people ability.

      I do believe though that being able to do a subtraction and a multiplication, even if both roughly approximated, for an adult in our current societies (as in not living like an hermit in the woods) is a very useful skill, even if just not get scammed while going shopping or to know how many items one can buy.

      Again this isn't reciting the first 100 digits or Pi or doing (12345-12158) * 0.3223 in your head in .1s, rather it's about (~12300-12100) * .3 and knowing you should put about ~20 bucks in, not 1 buck nor 100, and if you want to be "safe" or "kind" to others you put 30 bucks, a very safe upper bound and be done with it.

      OK maybe the 1st time you have to write it down. Maybe you even put your phone out and use the calculator but it should after a couple of times become pretty straightforward.

      edit: if you don't have dyscalculia I think it's worth couple of seconds in your life because the ability does improve with practice and it's helpful in plenty of places.

      • bartvk 19 hours ago

        Agreed, you will get screwed some day if you aren't able to make simple calculations by heart.