This is poetry. I have been working on a personal project for the last 10 years that replaces every other app I used to use - E-mail, calendar, and all the others we all use on a daily basis - and every time someone sees me using it they ask "Wow, this is amazing, how do I download it!?", and the answer is always the same: you don't.
There's a beauty to engineering something having yourself as the target user, and no one else. I'm 100% convinced this project single-handedly keep my mental wellbeing in check, and it provides me with a constant source of hopefulness and happiness to the future - that no company/salary could ever offer me. My exclusive, differential, unique characteristic against the world, my joker card.
> There's a beauty to engineering something having yourself as the target user, and no one else.
100%, I'm following a similar approach to you with yet another notes app solely for my own use.
Have you written more about your personal project anywhere?
One thing I only realised once I started building my own tools, is that you become - from day one - an unmatched world-class expert in using that tool. This seems obvious and inconsequential on the face of it, but how many pieces of software do you use where you can say with 100% certainty that you know every single thing about it?
Every feature, every shortcut, how it all works internally...
It's only when you use something self-crafted that you realise what this actually means. If it's a tool that you use for work or productivity - you can become exceptionally productive with it due to this from-day-one "total mastery".
This compounds if you iterate. Using the tool daily and feeding back in little fixes and optimisations as you go. The tool grows with you and molds to your use of it over time.
It's obvious that the tool is going to be well suited to your needs if you built it - but it was less obvious to me ahead of time what benefits the side effect of "total mastery" would also bring.
For me, my notes app is now used as my personal knowledge base, project management tool, todo list, daily planning tool and for journalling. Because I built it, I'm extremely effective at using it - and it's lean and fast - only with the features that I know I need.
In addition to being a very fulfilling project - it has created a degree of leverage and efficiency that I didn't expect!
My conclusion is that we should all experiment more with creating our own tools.
I wish more people would take stuff like this, oss it, and disable PR requests and issues. Let others use it / learn / build on it with the clear expectation that feedback and contributions are unwanted.
> I have been working on a personal project for the last 10 years that replaces every other app I used to use - E-mail, calendar, and all the others we all use on a daily basis
Would you be willing to describe how it works / record a video of how you use it? But maybe that goes against your last sentence:
> My exclusive, differential, unique characteristic against the world, my joker card.
?
I guess the idea is that you integrated all the apps with each other, such that you can create an event from a text message, forward an email to a Signal contact, this kind of things?
I quickly write scripts to automate things I do several times, but I didn't go as far as integrating all my scripts into a single one. Having things decoupled reduces the maintenance burden, such that I'm not sure I'd want to go that way either.
I write programs mainly for myself but also usually (not always) make them available for other people to use too in case they find it useful (or want to modify it, use a part of the code, criticize it, make backup copies, or anything else they might want to do with it). If I am annoyed by something someone else writes about it, I can just ignore it; it doesn't affect how I will use it for myself, and other people can still do what they want. (And, if someone does not want to allow others to criticize it and submit patches and bug reports and stuff like that, then you can still make the file available without allowing comments to be written about it, without discussion forums, without issues and pull requests in GitHub or similar, etc.)
Similarly, albeit with much less effort, I configured (neomutt) into the most beautiful and best, rapid UX mail client ever. I use it at work and for private purposes.
People are impressed when looking at it. A handful of them asked for the config. Don't think any one ever got used to it.
I love it. I have a couple similar projects I've worked on in the past (a couple of which were what got me into engineering in the first place) and the clarity of vision you can achieve when you're really truly building something just for yourself is unparalleled. What follows is also a very unique sense of fulfillment; as you've eliminated all the societal contributors to the sense of fulfillment (which are of course fickle), what you're left with is something that by definition had to be made to make you and only you happy, and it lasts over time in a way that is durable and pure.
My greatest regret these days is how often it feels like I lack the time to do such projects -- but that of course is a cop out on my end! The hard part is only getting started and being consistent; you don't need to do that much on a week to week basis to get to somewhere really meaningful after a few years.
Tell us more about your project! Did you start it from scratch? Or did you use another opensource app as starting point and developed it further for yourself? What language is your app written in? Where do you run it? In CLI? or desktop GUI? The more you can share about it the merrier. I am sure others want to learn more about this too.
For my job, I've created a python ask and CLI that meets the exact needs of how I need to communicate with our API. It's leaps and bounds better than any postman collection my employees use
The code is a mess so I haven't shared, but it is something that makes me more productive every day.
Why would you want to combine it all into one app? Having seperate apps for those things (maybe besides having calendar and email together) sounds proper to me. Seems odd to put it all together into one.
Curious, how deep does the DIY go? I am curious what tools you currently leverage to support your tool? For example, instead of using ripgrep, did you create your own easy-grep program? Or anything in that similar vein? Just curious of anything you’d like to share :)
I have often thought about creating an everything app for myself. Do you have it as a desktop app, or is it a web app you host somewhere? Would love to read a blog post about it if you have one or would like to write one.
Great read! This reminds me of a macOS app I made for my wife a few years back. It keeps track of the opening hours of all her favorite shops, and she can click a menu bar icon to see how long until each one closes today. It also warns if it's currently peak/rush hour for the shop, since she prefers to go when it's less crowded.
It's a simple Qt app that uses a text file for data storage. I wrote it after noticing that she had trouble remembering which shops are open when. I asked her what to call it, and she said "Gladiolus, like the flower" so I named it Gladiolus.
I can say for sure I've never had a more appreciative client as a programmer than the one user of Gladiolus :^)
> In our actual world, I built it in about a week, and roughly half of that time was spent wrestling with different flavors of code-signing and identity provisioning and I don’t even know what. I burned some incense and threw some stones and the gods of Xcode allowed me to pass.
This resonated with me.
This is a major source of friction to "scratching your own itch" in modern software development. Makes it extremely painful to get started. And runs against an engineering mindset, as it's not understanding principles of computing or composing components in a sensible way to build a useful new thing. It's just banging your head spamming incantations found through Google until something finally works.
Indeed. The #1 thing I need from my platforms is that I don't need to get anyone else's permission to develop and install any programs on it that I wish. That basically rules out Apple and Microsoft.
> It's just banging your head spamming incantations found through Google until something finally works.
Yea, all the while hoping you don't mess up something even worse!
I feel like Apple has made some strides in this area - having Xcode manage a bunch of profiles + key signing and whatever else it does when I click "Yes, make it easier for me". But it also randomly forgets settings and breaks etc. which is fun to re-troubleshoot.
This is where a pi web server along with cloudflare tunnel and a website really shine. You don't need to ask anyone to run that service. I'm running a custom todo app off my pi without exposing my router. It's incredibly freeing.
This post significantly influenced me back when it was first on HN, and helped me articulate what I was already doing subconsciously.
I started a homelab years ago like a lot of folks here, and slowly that’s changed to being a hobby of building and selfhosting applications for my “users” of 5-15 of my family and closest friends.
I’ve written so many little apps for them (e.g movie night scheduler) and integrations into our group chat for whatever someone can think of. It’s really blossomed into something that has made us all talk and hang out so much more.
Even distant friend groups that don’t know each other have now met in person (without me!) and gone to baby showers, weddings, etc.
If anyone has a group of friends like that, consider making something for them!
I love writing little tools - but I tend to do so for others, than myself.
My GF and her Sister kept a running tab (Beans) between them - and always were having issues reconciling who owes what for when etc...
These are smart and capable women, but for some reason their personal tab between eachother was a headache - so an "app" I made was just a smarter spreadsheet in google docs they share and they enter their info each month and it tallies who owes what.
I forgot about it for over a year or so - and so I asked my GF is they were still using it
"We use it all the time - its been such a lifesaver."
Its literally just how one would use any spreadsheet... these are high-paid, highly successful people, and were struggling to just get a 'tab' thing going.
One of the things I did, was have it load pics of their shared dog on each new tab (a tab per month) and they loved that.
Silly, stupid, took me 15 minutes and they have been using it for the last couple of years and love it.
Ironically, this is a great way to build actual products (if you’re open to letting them grow).
Three years ago I created a simple app for my family and friends to share recipes together. I kept adding features they requested, and after about two years, the app was apparently good enough that people started sharing it by word of mouth.
By October, the app had grown big enough that I had to start charging new users to cover server costs. I’m now contemplating a future where I work on it full-time.
At the same time, I feel the gap is widening between these and professional apps. It's easier to write apps, and it's harder to write "real" apps (for the masses).
I'm writing a book (https://opinionatedlaunch.com) over the course of 3+ years and I have to keep updating the "Mobile" chapters. Not because of some fancy new framework, but because both Apple and Google keep adding "requirements."
Sure, they're for the better (e.g. more strict access to phone GPS, etc) but if you don't keep up, eventually you'll find your apps removed by the platform at some point in time. In this sense, there's no "done".
You probably can still distribute that little program you wrote in 1990 in Pascal. I don't know the equivalent for mobile apps. (Distribute, not run. You can run it easily on your old phones).
This happened to me. I wrote an Android app many years ago for my own need and after a month or two it was done. I have nothing to change, it works exactly as I want. But at some point Google decided that it didn't keep up and needed to be removed from the store. I'm not complaining, I can still install it with `adb` but nobody else can anymore. I'm not sure I can still build the binary though, probably not.
Considerations like these have lead me to Nim. I don't have it working yet, but the vision is that if I constrain myself to a simple enough UI then I can then compile the same code to Objective C for iStuff, C++ for Android and desktop, and Javascript for web. Those apps can each then evaluate arbitrary nimscript in a platform agnostic way. I've log ago forgotten what the app I wanted to build was, but if I remember it, nobody will be able to stop me from running it anywhere. I hope.
I'm totally with you re: Android and Apple being walled-garden ecosystems with ever-changing rules. But, don't you feel like this is true of most software (that it's never "done")? In my experience, there aren't many categories of software that can be truly feature-complete unless they are fully decoupled from popular culture. Maybe GNU units or grep can be called "done", but most apps have to change with the world around them.
Depends on your audience. In my field all the cutting edge tooling is used in script or interactive command line. Writing for that sort of interface is so much faster and easier than making a gui even with modern libraries. You can still get plenty of users writing for a command line audience. There are like 40 million conda users for example.
This post changed my mind about sideloading on iPhones. Before I read it I was firmly in the camp of “lock it down, so grandma doesn’t get hacked.” But now I just think it stops people from making home cooked meal apps like this.
I also think it propagates the notion that computers are magic and should only be programmed by magicians. But no software developer I have ever met has felt this way. I don’t feel this way.
I think grandma-mode should still be the default, but with some arcane startup ritual to enable sideloading that you only have to do once, with said process being replete with "HERE BE DRAGONS" warnings. Basically make it more like a mac or a typical chromebook. Pixel phones still let you root them, don't they?
The only reason they lock it down is the 30% take from the app store. Grandma is more likely to lose her savings over the landline with good old fashioned social engineering over anything with that phone. If they actually cared about security and spam beyond profiting from app store or the repair situation, they’d have at least lifted a finger with imessage spam by now.
I think that's where the TestFlight "external beta" is genius. If there was a route for me to be treated like an enterprise for my friends and family, I would have years ago, but with TestFlight being so easy and the audience size so large, there's no barrier for me anymore. I just wish that was a route I'd have realized a while ago. And even though there's a cost barrier, I don't think it's that high given the tax to have a Mac in the first place.
You're right about the notion that computers are magic, but distribution isn't the cause of that. I think it's a shame people don't seem to want to do more with their computers. I remember my parents using pretty barebones database apps and stuff on a 386 back in the day, and somewhere since then the machines have become bigger and scarier, and they're less inquisitive. Maybe age, but maybe we've made the machines less friendly to new code.
Oddly I think sideloading should be allowed to prevent grandma from getting scammed. It's just a matter of who's doing the scamming. The criminals might make a big score, but the phone vendors act on a much wider front and are much more costly.
Your writeup, the idea of the app, and how you executed it is a breath of fresh air. The idea of building for a TAM (total addressable market) that is in single digits is a nice contrast to pretty much everything that's out there. Such an app is one step higher than a learning project, with oodles of utility, albeit for one or a few people. But those are the most important people in your life, so its much more fulfilling!
Comparing it to cooking a meal at home for your family is a perfect analogy.
TAM-driven development is at odds with the spirit of the minicomputer era, where it was expected that people would be making applications for themselves first.
Lovely idea. I’ve been thinking of “small scale web things” a lot recently, as I’ve been growing more and more tired of the planet scale web. I live in a small village in Canada and it would be nice to have something “village scale” that is only of interest, and as such perfectly adapted to only our village. Because it’s so small scale (we’re only a couple thousand), it can run on something in my closet. If it goes down for some reason, there’s no being angry with some large corporation behind it because it’s just me, and we mostly all know (of) each other here. If it’s temporarily down because or a power outage (which happens quite regularly here, especially during snow storms), even that will feel local: there’s a good chance users will have the same power outage. I’m probably being idealist and I’ll never do anything like this. Part of me also knows that most people will just continue using Facebook groups etc anyway.
While I am very much aligned with you that the “planet scale” stuff is tiring, I think you’re falling into a trap I myself often find myself in of “I want to create something. What can I create?”
It doesn’t actually make any sense for anyone except you, because fundamentally you’ve not actually got a product, you’ve only got a market.
Bear in mind that it’s perfectly legitimate to scratch your own itch and just build something for the sake of building it, and that’s a home-cooked meal too.
I'm trying to get as many people I know onto Meshtastic as possible. $25 hardware, no central server(I quite like not having home servers to maintain!), no ham licence, phone-based control.
Eventually, of course, I'd like to do Some Really Cool Project with it beyond the default functionality, but I have no idea what.
The author of the article, Robin Sloan, is an author that's written a couple of novels and a bunch of short stories (as well a great monthly-ish newsletter). I highly recommend giving his first novel, "Mr Penumbra's 24 Hour Bookstore", a read if you liked that line.
Lovely article but this made me sad/mad. How did we get to the point where this is acceptable? MAGA (Microsoft Apple Google Amazon) have a stultifying effect in our software sharing lives now.
I have a little internal app for my company. Just an isolated Rails app. It touches no internal business systems, but whenever I need somewhere to put a little code - it goes there. It has my growth chart, a little search engine for some internal data, a couple scripts to remind me about recurring actions, and some random integration tools like an RSS->Email script for the blog.
I recommend everybody just have a "miscellaneous" app separate from customer data for non-core code. Having a low barrier to building fun things liberates the mind. Not all code has to be high-stakes business work.
I love writing bespoke software! My little bonus Christmas gift to my parents this year was a kind of Jeopardy clone that uses a dataset of questions from thousands of shows.
Watching Jeopardy is a new nightly tradition, but they always complained that they wish they could see the category when the clue is on screen, which is what inspired the project. It’s a full screen PWA and my mom likes to mirror her phone screen to their smart TV to play. There’s no score tracking or sound effects or “multiplayer” because it’s made for the way they like to play.
Of course, I can’t distribute it publicly either for copyright reasons, but I wouldn’t want to anyway.
A lot of the time, the hardest part for these things is finding the dataset (and the hardest part of personal projects in general). How did you curate yours?
This reminds me of my app "Delayed" which I started writing when Android phones were new, and I was commuting by train in Stockholm, Sweden. I worked about a 2 minute walk from the train platform, but I still wanted to know if they were delayed, also I wanted to avoid the proprietary platforms' slowness. I wanted to be able keep working until I knew the train was about to leave.
The mobile networks at the times were abysmally slow and unreliable, the API I was using was slow, basically loading times were unacceptable, I needed the info without delay. No, actually pre-fetched even so that it was working even when offline. I ended up scheduling my app using Tasker so that when I was likely commuting it started updating the timetable in the background. Now I always had instant info available, as good as I could at least.
Plan was to release the app but I eventually realized I would never polish the app to a releasable state, but it still worked 100% for my exact usecase. So I never did get further than a beta test on the Play Store.
When I first read this post, it helped me decide not to try to adjust my home automation app for the masses.
I have a single JavaScript file that runs all the automations in my house. Everything runs on Mqtt and this file handles all timers and temperature adjustments and turning everything off in the house when the right button is pushed and checking that the doors are locked and keeping the front porch lit when the sun is going down and dimming as the sun comes up, and heats my office when I'm in it and it's colder than the rest of my house, but not otherwise, and notifies us when the washer or dryer are done or when it's time to change the automated cat litter.
Adding a device takes about 5 minutes. Changing a timer takes less. I've ssh'd in and changed things from my phone when lazy on the couch.
The commit history is practically useless. The code isn't ideal for a team. It could use a UI. But I love it. And my family is happy with how it all seems to work without much hassle.
That's fantastic. Sounds so much simpler than using Node-RED or something. How do you monitor the laundry? Like is your washer/dryer "smart"? or do you have some sort of vibration/current/noise sensor to determine when they finish?
This is why I feel really uneasy about LLM/AI stuff. It feels like cooking now requires commercial quality equipment only available to the Michelin star restaurants.
It used to be possible like showHN posts go on to become smashing success. But Dropbox like posts seem like an impossibility now.
I've been having serious mental crisis from this realization.
> It feels like cooking now requires commercial quality equipment only available to the Michelin star restaurants.
Why does AI make you feel this way? It feels the opposite to me — like meals that formerly required a master chef to make, but soon anyone can make for themselves at an acceptable level of quality with meal prep kits
And yet, the vast majority of cooking is still done at home on relatively cheap equipment. Go build things that interest you using the tech stack you have and ignore the hype.
Try to satisfy yourself, and maybe that will lead you to a commercial kitchen with a Michelin star. I know nothing else will.
Don't fall for the apocalyptic doomsday narrative. It is in the interests /of/ the 900 lb gorillas in the space to make it seem like it requires so much investment that you may as well not bother.
But there's a thriving community on HuggingFace and Reddit showing what you can do with the lo-fi versions. In particular, the evolution of lower bit inference (and I believe training as well even) has reduced memory requirements and because of that hardware requirements considerably. There is a lot you can do with your own local gen AI model running on your personal machine.
For me it's the opposite. Taking on a personal project like this one would be incredibly frustrating, because some relatively small steps would be huge time sinks. Now with LLM's, I am much faster, I just focus on the aspects I want or that I am good at.
It is kind of amusing to see this presented as a novel concept. This is how all software development worked once upon a time. Computers used to ship with BASIC interpreters, not app stores or package managers.
If you liked that, check out also his newsletter and his fiction writing - both are stellar (his is the only newsletter I read, even though I pay for other ones!)
> But let’s substitute a different phrase: “learn to cook”. People don’t only learn to cook so they can become chefs. Some do! But many more people learn to cook so they can eat better, or more affordably. Because they want to carry on a tradition. Sometimes they learn because they’re bored! Or even because they enjoy spending time with the person who’s teaching them.
This is actually why I think more people should learn some coding (and why there should be more HyperCard-like environments for non-professionals). It makes the computer or phone a tool to do the things they want, not just what some programmer in SF wanted to write and try to market.
> When you liberate programming from the requirement to be professional and scalable, it becomes a different activity altogether, just as cooking at home is really nothing like cooking in a commercial kitchen.
What if you have never cooked at home but all the time in a commercial kitchen? That's the reality for most of us here so it is a bit difficult to relate to this article.
Well, try it. Use an awful language you like, break conventions. If you don't like it, just scrap the project. After all, noone is waiting for you. It runs like crap and looks awful? As long as you like it, your whole userbase is fine with it
> What if you have never cooked at home but all the time in a commercial kitchen? That's the reality for most of us here so it is a bit difficult to relate to this article.
Really? I'd hazard a guess that the majority here (> 50%) have never worked at a commercial kitchen!
I'm honestly curious to understand why you think most people here must have worked at commercial kitchen and never cooked at home?
I think you are incorrectly extrapolating to the entire community based on your personal experience. You are assuming that most of the readers at this site are working in a similar professional context that you do. You are also assuming, but all of those people who work in a professional context, do not also “cook at home.”
It’s OK if you did not relate to the article. But I certainly did!
I would recommend trying home cooking if only for the reason that, in a commercial kitchen, you have a role, but cooking at home means you will have/get to do everything yourself: from ingredient sourcing to dishwashing (and even front-of-house stuff like table service).
Carver Mead, in a hardware context, described the "tall, thin person" as someone comfortable at all layers: with their feet on the (rubylith!) layout and their heads in the architecture.
(I have read that in the days before email, it was customary to let the owners' kids sneakernet those manila "interdepartmental mail" envelopes as a summer job, because it brought them into contact with all the facets of an enterprise)
> Making the landlord and the tenant the same person has certain advantages, as that the tenant pays no rent, while the landlord does a little work. — GKC
I like that you shared this post. I imagine for someone who has only done corporate programming that making a home-cooked meal (in programming terms) would be very refreshing and liberating!
It's never too late. You can start coding after work even right now. You can serve a well-cooked app to your friends and family instead of shipping a feature you don't care about to an amorphous mass of users (that you don't care about) - it's an experience worth knowing.
Fun fact: that experience will likely change you, and your commercial kitchen co-chefs will also appreciate you more afterward.
i recently had to split a lot of transactions among friends. I realized that all the commerical apps out there(splitwise etc) weren't gonna split the taxes evenly. So I made my own bill splitting app and have been using it ever since!
Another recent app I made happened when I moved into a new apartment. I realized tha the doors were very soundproof so if someone knocked at the main door, there was a good chance I wasn't gonna hear it. So I put up a QR Code at the door, pointed it to a webapp and that basically functioned as virtual bell. Where I would get a notification on my iphone and apple watch everytime someone "knocked"!
This feels very related to the larger research project of “malleable software” that lets everyday people modify and author the software they use for their own needs: https://malleable.systems/
Never heard of this concept but got would it be great if things were more maleable. There are a lot of services that I would be way happier to use if it was possible to remove or change features.
I do this too, I write scripts, and one-file apps that solve issues that only I think I have. Like I've been running an InternetReachable.swift [1] manually at the CLI for months to have a nice visualization of when my internet connection is not actually working. I travel a lot by train, and some regions have spotty 3G. I got tired of looking at `ping 1.1.1.1` output lines until the connection came back.
But for whatever reason I get the urge to polish the thing, make a pretty icon for it and publish it in the hope that others might also have the same weird specific need as me. That script above just turned into an app called IsThereNet : https://lowtechguys.com/istherenet
I'm not sure why, but I get a little dopamine hit when I see people learning a thing or two from my experiments. I guess that's why we still do the kind of open source that doesn't ask for money.
Thank you very much. A few times I've been out on site and someone will told me that "the internet has gone down." I can easily spend hours offline programming, so this app is perfect for me to keep an eye on it.
Once a while we get a post where everyone has an excuse to gush about Delphi/Lazarus/Free Pascal etc. in the comments, but no one's quite sure about the iOS story and no one really has the time to check up on it...
To be fair: this app would not have existed on the desktop. Our families don't like to sit at a desk for hours, fighting with imaginary concepts, like we do.
The mobile world brought the masses to computing in a way that desktop never could. Unfortunately, the company with the best intuitions in the space also happened to be the most closed, paranoid, and sociopathic entity in the market.
This article had such a huge impact on my life and led to me creating many pieces of software[1][2][3] that were hyper-specific to myself and my needs at the time, which also later found an audience in others who think and work in ways similar to me.
[1]: https://notado.app - a "content-first" internet bookmarking and highlighting service which has been my second brain since 2020 after growing frustrated with Instapaper, Pinboard and Readwise. Eventually I expanded this to allow for RSS feed publishing on specific topics in an attempt to solve the "firehose" problem when following other peoples' bookmarks/shares, and at the end of last year I added what is now my most used feature of image generation from highlights for sharing on image-first/text-hostile social media platforms.
[2]: https://github.com/LGUG2Z/komorebi - tiling window manager for Windows. There wasn't really anything fit for purpose on Windows when I started, and I was too spoiled by bspwm and yabai on Linux and macOS that I just had to write something before I could become a truly productive Windows user. I'm astonished that this now has 50k+ downloads.
[3]: https://kulli.sh - I use this to aggregate comments from HN/Reddit/Lemmy/Lobsters on an article I'm interested in in one place to read. This has helped me find some interesting niche communities on Reddit and Lemmy who share and discuss things I'm interested in that I otherwise wouldn't have found.
I love this sentiment. I built a beer inventory app exclusively for myself + guests picking a drink to try when when they’re over at my house. I’m up to 26 “users” over the past few years, but most of them just browse on my phone when they need another drink.
When I talk about the app, some people immediately jump to other inventory problems in their own lives: Can you make it work for my wine fridge? Could I keep track of my kids’ ever-changing wardrobe? I’d love to manage my Warhammer collection this way! It certainly seems like there could be a consumer product to help tackle those problems, but it’s not gonna be my app.
Edit: In more of a work context, I think internal tooling for specific users or teams can feel similarly empowering. When you have an intentionally-constrained set of users, finding product-market fit and making sure the solution actually works for their needs becomes the only goal. And with so few users, it’s easy to keep tabs on what is and isn’t working for them.
Is your app open source? If not, have you considered that? You could just say in the readme, "fork it if you want it to do something specific". Sounds like it could be a good starting point for a bunch of things. :)
> In more of a work context, I think internal tooling for specific users or teams can feel similarly empowering. When you have an intentionally-constrained set of users, finding product-market fit and making sure the solution actually works for their needs becomes the only goal. And with so few users, it’s easy to keep tabs on what is and isn’t working for them.
I've seen a few of these and they always fall into (non-)maintenance hell once the dev (it's always just one, because the business can't spare a whole team for something like this) leaves, or until the next re-org (read: almost certainly less than two years from any random point in time) when the responsibilities of the team it was built for are divided among other teams, or outsourced to a body shop like CapGemini that won't use it (because they can replace the functionality with an army of managers with spreadsheets, all of which they can bill for).
In short, I think it's largely a fantasy to develop custom software for small userbases on economic grounds (at least for nontechnical users using typical "real" stacks -- spreadsheets and "programmer tools" are a different story), which is kind of the point of this piece.
Nice article and lovely concept. I'm not a professional dev, but use programming to enrich my quality of life, and it's nice to see some of those thoughts put into words.
On the truly lightweight end, I find Apple's Shortcuts to be effective for ad-hoc personalized creations. I wanted a simple journaling app which allowed me to just talk, transcribed what I said, and stored it with a timestamp in a text file. Realized I could do all of that quite easily with Shortcuts: I trigger it, talk as long as I want, tap the screen, transcribes (I call an API for better quality), then appends the result to a note with a timestamp. Fast, easy, and it's been reliable. No in-app purchases or ads, either.
Nice write up. I like building small apps like this as well, like gigtablet.com which I made for my band to use. It has us 7 users and we’re happy with it so that’s all that matters.
In order to help unblock everyone from sharing their “home-cooked meal” apps, I’ve submitted an Ask HN to make space for sharing stacks: https://news.ycombinator.com/item?id=38878837
The idea is to allow people to “share ingredients” of internals of projects without the requirement of sharing the code
This is super interesting. Took me until nearly the end, when he started talking about how he wouldn't last as a professional software engineer, to find out he isn't one.
Great way of looking at programming. It really is just another way to create, akin to drawing or writing, and it feels as if we almost desecrate it by treating it the way we do. Inspiring article.
Beautiful! I feel this post is more relevant now than ever with the presence of Chatgpt and its like. Almost anyone who is fluent in English, can articulate what they want and is willing to spend a bit of time configuring development environments can churn out personal projects (falling within state of the art) over a weekend. So lucky to be alive right now.
Love this topic, thanks OP! Many years ago I created an iOS bread dough calculator that basically hard-coded the ingredients in percentage form. I used it personally for years to make pizza crusts, etc. all in a scalable format. Once, my wife and I hosted a big "make your own" pizza party and I used the app to create enough dough for 30 or so personal pizzas.
Eventually I pushed it forward (thanks to the Unity Engine at the time) and made it a "real" app on the App Store. As others have noted, there's a large gap between bespoke, home-cooked software and commercial choices. As a full-time developer this was a side-project and still suffers, imho, as an under-invested commercial app. The app has had very modest success (pays about the equivalent of one espresso a week) but I still love it.
When an app is "just yours" there's an aura of fun about the project that can get stripped away when the trajectory becomes more commercial.
I self-host a number of things that I've cobbled together in similar fashion for my kids. A while ago I had a bunch of minecraft servers running, when the kids were more into minecraft. There's Vaultwarden, a musescore downloader for my piano-minded kid, a spidered mirror of imgur user ngugi's middle-earth lore posts, an Emby instance populated by both random funny videos I find and also by a cron job that mirrors certain youtube (and other) channels locally so that my kids can watch them without being classified by an algorithm...
I don't publish these things for the most part, each of them took between a few hours and a few days' worth of spare time to put together, they're all made without pretension for an audience of 3-4 people only.
This is an amazingly refreshing view of programming. I am envious of anyone who can apply first hand their programming skills to the world around them. I can program, but real life and programming just seem to occupy entirely different realms of my brain, unable to cross over.
Fascinating. Sometimes I think I might lean too far in the other direction.
I can't help but imagine-architect software solutions to my meatspace problems and nonproblems if I let my mind wander. I have to remember to ask myself, sure I want to build it but would I really want to use it?
By the time someone has finished telling me the awkward thing they had to do today I've got an idle loop in my brain spinning (silently) on finding a "better" way.
Admittedly, not many of these get built because time is limited, all software takes ongoing care and many cures are worse than their associated disease.
Some do, though. Particularly internal tooling for work which can be measured in $ and some projects which scratch a community itch which can be measured in positive interactions.
I think this kind taste towards developing your own tools forshadow how programming will look like near future. There won't be dozens of abstraction to develop application and there won't be a playstore to hold millions of apps, there would be just a declarative language or Ai that takes human natural language and convert it to it and a black box that takes that declarative recipe and create the precise app according to user need. Instead Programmers there would be just a logicans and blackbox(AI system) that created most optimal way to accomplish the requirements. Creating application will be a end to end experience.
This article has been such an inspiration for us at Hatch (https://hatch.one/)! We founded the company as “Personal Software” and we’re working hard to lower the barriers for this kind of creation. The opportunity shouldn't be limited to people who know how to code. Several pieces of the puzzle are in place with more in the pipleine. Here's quick video of getting started creating a web app in 60 seconds: https://www.youtube.com/watch?v=HQMFFkCHrdo
One thing I'm always worried about when I develop one-offs myself is what happens if I'm not there to service/update/maintain the thing. For some apps (like family photo archives) this matters a lot.
Really cool. I love that this is a modern rejection of threaded posts, or things that gluttonously try to steal your attention. The choices (irreversibility, privacy, lack of mediation) are the same as what you get if you actually sit in a room with someone and talk.
I was quite sure I'd set it up for myself and family before I read it required AWS .. I wish instead of buckets and lambda functions... well... perhaps it's worth replicating the whole thing in Nodejs and sqlite which would be the highest praise of all ;P
[edit yeah yeah there'd have to be a bucket-like storage blob somewhere.// or would there?]
If I were doing something like this now I would probably try to use https://val.town It lets you just write and deploy typescript lambdas by typing into a text box :) The easiest way I know of to deploy an endpoint. It also has SQLite or blob storage access.
IMO the technical part of this is easier than the social part. I've been hosting a Matrix server for years, and use it to talk to my wife and one friend.
One relative tried it but would ignore messages (iOS notification system design is bad, but their home screen is disorganized too), and would constantly revert to iMessage/SMS/MMS.
Two other relatives who are in a WhatsApp group with me pretty much refused with "But I can talk to you on WhatsApp just fine?", or "Who am I going to talk to on there?". Ironically does not stop them from downloading Viber, Instagram etc. Thankfully, the WhatsApp bridge + Matrix client works for 95% of the use cases.
Thus, I am happy that the author's efforts found good use and were appreciated.
Not very home cooked, but once I was working on a project/startup of mine that involved tracking degrees of freedom/trajectories and it was very manual/empirical testing, so I made a second app that would plot everything for me in real time, receiving data via socket. This was before iOS had any AR frameworks and just as Metal was released. Nothing existed to test AR, so I made it myself, with my data format, exactly like I wanted it and it was such a quality of life feature.
Lovely article and loved the analogy of home cook to making an app. Being a professional programmer who loves programming, I never thought about programming like this. But there is a catch here, I would wager that trying cooking at home is far easier and accessible as compared to making simplest of apps. Most of the no code low-code tools are focused on helping companies make software for their use and not focused on individuals making apps for themselves.
A friend and I recently created an app to track realtime scores for a high school reunion fantasy draft (we drafted teams with a few friends and you get points if the person shows up).
With AI helping it really lowers the barrier to personal or one-off apps you wouldn't otherwise have time for. We did the app in the framework he was comfortable with, which I hadn't used, and I wrote all my code with AI.
Some time ago I took a sudoku app and added some features that I wanted. It was a great learning experience, my code introduced some bugs and it's not perfect but the whole thing felt really good.
Wish android development was a bit more straightforward, I always find it kind of difficult just because of the amount of things that might go wrong. Kinda like coding videogames I guess.
I always wondered if there would be a market for smaller scale apps. I'm thinking something sold through an app "farmer's market". This could be a Patreon/Etsy style platform where maybe app devs would do streamed live coding or Q/A sessions every Saturday morning, ideally wearing denim overalls.
I'd rather home-cook and take regular walks around the district, than having to spend even more time w/ tech after for work. Work is already kind of fulfilling, even as a manager, when you still can dabble with lower-level things and tools work. But spending your pasttime on more tech? Thats so sad, seriously.
This is the way, for those of us who have the ability and inclination. Software you create for your own use, and the use of your friends and family, is software that is customized for your particular needs and software that you can trust.
Love this. I recently started working on two apps with this same mindset: I just want to create an app for myself (todo with limits, group chats with content limits). It feels great and is enjoyable even if it doesnt get a million users.
Looking for a software job now, I'm wondering if I'm more of a home chef than a commercial cook...But when commercial cooking is fully remote and pays well...what to do...
From what I gathered, he means the app doesn't have any user authentication period because only 3-4 people can even download the app to begin with since it's restricted with TestFlight.
My biggest sadness is wishing that it was easier and more accessible to build stuff like this on iOS. Making things and distributing to the App Store is an absolute nightmare. Of course that’s also what makes it so much better than almost every other App Store. But they still let trash in.
I’m not sure what the right balance is, and maybe this is the right balance.
Once SMS itself becomes a more modern way of communicating. Currently every 160 (IIRC) characters costs, sending images (and god forbid videos) is barely worth it, not to mention the lack of security. Comparing to food, I would say this is as good as saying “Why not just buy a bag of chips instead of cooking a meal”
1. SMS do not support group messaging. An SMS with multiple receivers is just multiple copies of a 1-to-1 message. The other recipients don't know about each other.
2. SMS do not support images or videos.
Maybe you're talking about MMS, but I've always found that clunky. I'm not sure why. Part of it is that it goes over a seldomly-used separate type of connection (at least with 3G and earlier technology) which isn't as reliable as plain TCP.
I maintain a whole set of services for my family I either implemented myself completely or glued from other sources.
We have our own no nonsense chat desktop, web and mobile apps for ios and android. Our own calendar for family events as well as to coordinate daily operations. Our own forum. Our own pages with resources and even our own documentation bot that you can ask pretty ambiguous questions and it can point you to the past posts/documents/chat threads that are relevant (when you don't remember where it was mentioned but you can describe what you are looking for).
Even a wall mounted ipad with couple tools that we find useful. Shopping list where you can add stuff for the next shopping run. Voting for meals. Calendar which is especially useful to kids because they can book our time when they need something or they can see when I plan to do my training sessions or when I am or I am not available (I work remotely and don't have set day plan).
Recently started spending time with my eldest son to add more features -- any way to get kids hooked up to programming is a win IMO.
> I know I ought to pay it forward and publish the code for my app. Even if it doesn’t work for anyone else as-is, it might provide a helpful guide — one I would have been grateful to have. But the code is marbled with application-specific values, well-salted with authentication keys.
Meh. Pretty disappointing excuse. Wouldn't take long at all to separate secrets and would make the app inherently more secure anyway.
You say that, but the page is nothing but a form asking for name and work email with a "request access" button. Literally no other information is provided beyond "The end to end developer tool for TypeScript developers".
I assume this is some poorly executed self-promotion on your part. Maybe start with making your site say something about what the product actually is, can do, etc.
caipira|2 years ago
There's a beauty to engineering something having yourself as the target user, and no one else. I'm 100% convinced this project single-handedly keep my mental wellbeing in check, and it provides me with a constant source of hopefulness and happiness to the future - that no company/salary could ever offer me. My exclusive, differential, unique characteristic against the world, my joker card.
supertron|2 years ago
100%, I'm following a similar approach to you with yet another notes app solely for my own use.
Have you written more about your personal project anywhere?
One thing I only realised once I started building my own tools, is that you become - from day one - an unmatched world-class expert in using that tool. This seems obvious and inconsequential on the face of it, but how many pieces of software do you use where you can say with 100% certainty that you know every single thing about it?
Every feature, every shortcut, how it all works internally...
It's only when you use something self-crafted that you realise what this actually means. If it's a tool that you use for work or productivity - you can become exceptionally productive with it due to this from-day-one "total mastery".
This compounds if you iterate. Using the tool daily and feeding back in little fixes and optimisations as you go. The tool grows with you and molds to your use of it over time.
It's obvious that the tool is going to be well suited to your needs if you built it - but it was less obvious to me ahead of time what benefits the side effect of "total mastery" would also bring.
For me, my notes app is now used as my personal knowledge base, project management tool, todo list, daily planning tool and for journalling. Because I built it, I'm extremely effective at using it - and it's lean and fast - only with the features that I know I need.
In addition to being a very fulfilling project - it has created a degree of leverage and efficiency that I didn't expect!
My conclusion is that we should all experiment more with creating our own tools.
bberenberg|2 years ago
hiq|2 years ago
Would you be willing to describe how it works / record a video of how you use it? But maybe that goes against your last sentence:
> My exclusive, differential, unique characteristic against the world, my joker card.
?
I guess the idea is that you integrated all the apps with each other, such that you can create an event from a text message, forward an email to a Signal contact, this kind of things?
I quickly write scripts to automate things I do several times, but I didn't go as far as integrating all my scripts into a single one. Having things decoupled reduces the maintenance burden, such that I'm not sure I'd want to go that way either.
zzo38computer|2 years ago
kmarc|2 years ago
People are impressed when looking at it. A handful of them asked for the config. Don't think any one ever got used to it.
robofanatic|2 years ago
factorialboy|2 years ago
yowlingcat|2 years ago
My greatest regret these days is how often it feels like I lack the time to do such projects -- but that of course is a cop out on my end! The hard part is only getting started and being consistent; you don't need to do that much on a week to week basis to get to somewhere really meaningful after a few years.
distcs|2 years ago
kodablah|2 years ago
psalminen|2 years ago
The code is a mess so I haven't shared, but it is something that makes me more productive every day.
Rehanzo|2 years ago
broscillator|2 years ago
alentred|2 years ago
Elon, is it you? ;)
whompyjaw|2 years ago
importantbrian|2 years ago
jFriedensreich|2 years ago
akling|2 years ago
It's a simple Qt app that uses a text file for data storage. I wrote it after noticing that she had trouble remembering which shops are open when. I asked her what to call it, and she said "Gladiolus, like the flower" so I named it Gladiolus.
I can say for sure I've never had a more appreciative client as a programmer than the one user of Gladiolus :^)
toasterlovin|2 years ago
tomcam|2 years ago
jimbokun|2 years ago
This resonated with me.
This is a major source of friction to "scratching your own itch" in modern software development. Makes it extremely painful to get started. And runs against an engineering mindset, as it's not understanding principles of computing or composing components in a sensible way to build a useful new thing. It's just banging your head spamming incantations found through Google until something finally works.
JohnFen|2 years ago
david422|2 years ago
Yea, all the while hoping you don't mess up something even worse!
I feel like Apple has made some strides in this area - having Xcode manage a bunch of profiles + key signing and whatever else it does when I click "Yes, make it easier for me". But it also randomly forgets settings and breaks etc. which is fun to re-troubleshoot.
ranting-moth|2 years ago
darkhorse222|2 years ago
Foreignborn|2 years ago
I started a homelab years ago like a lot of folks here, and slowly that’s changed to being a hobby of building and selfhosting applications for my “users” of 5-15 of my family and closest friends.
I’ve written so many little apps for them (e.g movie night scheduler) and integrations into our group chat for whatever someone can think of. It’s really blossomed into something that has made us all talk and hang out so much more.
Even distant friend groups that don’t know each other have now met in person (without me!) and gone to baby showers, weddings, etc.
If anyone has a group of friends like that, consider making something for them!
samstave|2 years ago
My GF and her Sister kept a running tab (Beans) between them - and always were having issues reconciling who owes what for when etc...
These are smart and capable women, but for some reason their personal tab between eachother was a headache - so an "app" I made was just a smarter spreadsheet in google docs they share and they enter their info each month and it tallies who owes what.
I forgot about it for over a year or so - and so I asked my GF is they were still using it
"We use it all the time - its been such a lifesaver."
Its literally just how one would use any spreadsheet... these are high-paid, highly successful people, and were struggling to just get a 'tab' thing going.
One of the things I did, was have it load pics of their shared dog on each new tab (a tab per month) and they loved that.
Silly, stupid, took me 15 minutes and they have been using it for the last couple of years and love it.
But yeah - build little tools for a small circle.
thebricklayr|2 years ago
Three years ago I created a simple app for my family and friends to share recipes together. I kept adding features they requested, and after about two years, the app was apparently good enough that people started sharing it by word of mouth.
By October, the app had grown big enough that I had to start charging new users to cover server costs. I’m now contemplating a future where I work on it full-time.
wiradikusuma|2 years ago
I'm writing a book (https://opinionatedlaunch.com) over the course of 3+ years and I have to keep updating the "Mobile" chapters. Not because of some fancy new framework, but because both Apple and Google keep adding "requirements."
Sure, they're for the better (e.g. more strict access to phone GPS, etc) but if you don't keep up, eventually you'll find your apps removed by the platform at some point in time. In this sense, there's no "done".
You probably can still distribute that little program you wrote in 1990 in Pascal. I don't know the equivalent for mobile apps. (Distribute, not run. You can run it easily on your old phones).
jes5199|2 years ago
* distribute on Testflight and never actually do a real release
* make an HTML app that works well on mobile, and can be cached for offline
Gradually I think I'm coming to prefer doing the HTML version
vinc|2 years ago
__MatrixMan__|2 years ago
manifoldgeo|2 years ago
I'm totally with you re: Android and Apple being walled-garden ecosystems with ever-changing rules. But, don't you feel like this is true of most software (that it's never "done")? In my experience, there aren't many categories of software that can be truly feature-complete unless they are fully decoupled from popular culture. Maybe GNU units or grep can be called "done", but most apps have to change with the world around them.
kjkjadksj|2 years ago
bhpm|2 years ago
I also think it propagates the notion that computers are magic and should only be programmed by magicians. But no software developer I have ever met has felt this way. I don’t feel this way.
chuckadams|2 years ago
kjkjadksj|2 years ago
eddieroger|2 years ago
You're right about the notion that computers are magic, but distribution isn't the cause of that. I think it's a shame people don't seem to want to do more with their computers. I remember my parents using pretty barebones database apps and stuff on a 386 back in the day, and somewhere since then the machines have become bigger and scarier, and they're less inquisitive. Maybe age, but maybe we've made the machines less friendly to new code.
gmiller123456|2 years ago
koliber|2 years ago
Comparing it to cooking a meal at home for your family is a perfect analogy.
rchaud|2 years ago
wkjagt|2 years ago
d1sxeyes|2 years ago
It doesn’t actually make any sense for anyone except you, because fundamentally you’ve not actually got a product, you’ve only got a market.
Bear in mind that it’s perfectly legitimate to scratch your own itch and just build something for the sake of building it, and that’s a home-cooked meal too.
eternityforest|2 years ago
Eventually, of course, I'd like to do Some Really Cool Project with it beyond the default functionality, but I have no idea what.
ssgodderidge|2 years ago
Gave an audible chuckle at this one. I've done many a battle with those gods; they be beasts.
rockostrich|2 years ago
keithalewis|2 years ago
markemer|2 years ago
philip1209|2 years ago
I have a little internal app for my company. Just an isolated Rails app. It touches no internal business systems, but whenever I need somewhere to put a little code - it goes there. It has my growth chart, a little search engine for some internal data, a couple scripts to remind me about recurring actions, and some random integration tools like an RSS->Email script for the blog.
I recommend everybody just have a "miscellaneous" app separate from customer data for non-core code. Having a low barrier to building fun things liberates the mind. Not all code has to be high-stakes business work.
coldtrait|2 years ago
namuol|2 years ago
Watching Jeopardy is a new nightly tradition, but they always complained that they wish they could see the category when the clue is on screen, which is what inspired the project. It’s a full screen PWA and my mom likes to mirror her phone screen to their smart TV to play. There’s no score tracking or sound effects or “multiplayer” because it’s made for the way they like to play.
Of course, I can’t distribute it publicly either for copyright reasons, but I wouldn’t want to anyway.
noahjk|2 years ago
sandos|2 years ago
The mobile networks at the times were abysmally slow and unreliable, the API I was using was slow, basically loading times were unacceptable, I needed the info without delay. No, actually pre-fetched even so that it was working even when offline. I ended up scheduling my app using Tasker so that when I was likely commuting it started updating the timetable in the background. Now I always had instant info available, as good as I could at least.
Plan was to release the app but I eventually realized I would never polish the app to a releasable state, but it still worked 100% for my exact usecase. So I never did get further than a beta test on the Play Store.
enobrev|2 years ago
I have a single JavaScript file that runs all the automations in my house. Everything runs on Mqtt and this file handles all timers and temperature adjustments and turning everything off in the house when the right button is pushed and checking that the doors are locked and keeping the front porch lit when the sun is going down and dimming as the sun comes up, and heats my office when I'm in it and it's colder than the rest of my house, but not otherwise, and notifies us when the washer or dryer are done or when it's time to change the automated cat litter.
Adding a device takes about 5 minutes. Changing a timer takes less. I've ssh'd in and changed things from my phone when lazy on the couch.
The commit history is practically useless. The code isn't ideal for a team. It could use a UI. But I love it. And my family is happy with how it all seems to work without much hassle.
rustyminnow|2 years ago
apwell23|2 years ago
It used to be possible like showHN posts go on to become smashing success. But Dropbox like posts seem like an impossibility now.
I've been having serious mental crisis from this realization.
selestify|2 years ago
Why does AI make you feel this way? It feels the opposite to me — like meals that formerly required a master chef to make, but soon anyone can make for themselves at an acceptable level of quality with meal prep kits
argiopetech|2 years ago
Try to satisfy yourself, and maybe that will lead you to a commercial kitchen with a Michelin star. I know nothing else will.
yowlingcat|2 years ago
But there's a thriving community on HuggingFace and Reddit showing what you can do with the lo-fi versions. In particular, the evolution of lower bit inference (and I believe training as well even) has reduced memory requirements and because of that hardware requirements considerably. There is a lot you can do with your own local gen AI model running on your personal machine.
epups|2 years ago
kube-system|2 years ago
pradn|2 years ago
dang|2 years ago
An app can be a home-cooked meal - https://news.ycombinator.com/item?id=22332629 - Feb 2020 (130 comments)
Also:
An app can be a home-cooked meal (2020) - https://news.ycombinator.com/item?id=38856985 - Jan 2024 (1 comment)
An app can be a home-cooked meal (2020) - https://news.ycombinator.com/item?id=32800518 - Sept 2022 (51 comments)
supertron|2 years ago
https://www.robinsloan.com/colophon/
I love the built-in style guide. I'm totally stealing some ideas from that...
_fool|2 years ago
Semiapies|2 years ago
This is actually why I think more people should learn some coding (and why there should be more HyperCard-like environments for non-professionals). It makes the computer or phone a tool to do the things they want, not just what some programmer in SF wanted to write and try to market.
siva7|2 years ago
What if you have never cooked at home but all the time in a commercial kitchen? That's the reality for most of us here so it is a bit difficult to relate to this article.
whywhywouldyou|2 years ago
1. Not all articles will be relatable to everyone, and that's perfectly fine.
2. Your "what if" scenario is trivially surmountable: write some code at home, for yourself, for something you enjoy, or for someone you care about.
I don't understand how someone could read this and not only have the takeaway that you did, but come here to mention it.
ruune|2 years ago
distcs|2 years ago
Really? I'd hazard a guess that the majority here (> 50%) have never worked at a commercial kitchen!
I'm honestly curious to understand why you think most people here must have worked at commercial kitchen and never cooked at home?
althea_tx|2 years ago
It’s OK if you did not relate to the article. But I certainly did!
082349872349872|2 years ago
Carver Mead, in a hardware context, described the "tall, thin person" as someone comfortable at all layers: with their feet on the (rubylith!) layout and their heads in the architecture.
(I have read that in the days before email, it was customary to let the owners' kids sneakernet those manila "interdepartmental mail" envelopes as a summer job, because it brought them into contact with all the facets of an enterprise)
> Making the landlord and the tenant the same person has certain advantages, as that the tenant pays no rent, while the landlord does a little work. — GKC
Glench|2 years ago
klibertp|2 years ago
Fun fact: that experience will likely change you, and your commercial kitchen co-chefs will also appreciate you more afterward.
sss111|2 years ago
Another recent app I made happened when I moved into a new apartment. I realized tha the doors were very soundproof so if someone knocked at the main door, there was a good chance I wasn't gonna hear it. So I put up a QR Code at the door, pointed it to a webapp and that basically functioned as virtual bell. Where I would get a notification on my iphone and apple watch everytime someone "knocked"!
Glench|2 years ago
My friend Geoffrey Litt is heading the malleable software group at Ink and Switch: https://www.geoffreylitt.com/
helboi4|2 years ago
alin23|2 years ago
But for whatever reason I get the urge to polish the thing, make a pretty icon for it and publish it in the hope that others might also have the same weird specific need as me. That script above just turned into an app called IsThereNet : https://lowtechguys.com/istherenet
I'm not sure why, but I get a little dopamine hit when I see people learning a thing or two from my experiments. I guess that's why we still do the kind of open source that doesn't ask for money.
[1] https://gist.github.com/alin23/e15b6ffc62a85790096f0228c54fd...
2freedi|2 years ago
citruscomputing|2 years ago
How much we have lost.
nxobject|2 years ago
toyg|2 years ago
The mobile world brought the masses to computing in a way that desktop never could. Unfortunately, the company with the best intuitions in the space also happened to be the most closed, paranoid, and sociopathic entity in the market.
bsnnkv|2 years ago
This article had such a huge impact on my life and led to me creating many pieces of software[1][2][3] that were hyper-specific to myself and my needs at the time, which also later found an audience in others who think and work in ways similar to me.
[1]: https://notado.app - a "content-first" internet bookmarking and highlighting service which has been my second brain since 2020 after growing frustrated with Instapaper, Pinboard and Readwise. Eventually I expanded this to allow for RSS feed publishing on specific topics in an attempt to solve the "firehose" problem when following other peoples' bookmarks/shares, and at the end of last year I added what is now my most used feature of image generation from highlights for sharing on image-first/text-hostile social media platforms.
[2]: https://github.com/LGUG2Z/komorebi - tiling window manager for Windows. There wasn't really anything fit for purpose on Windows when I started, and I was too spoiled by bspwm and yabai on Linux and macOS that I just had to write something before I could become a truly productive Windows user. I'm astonished that this now has 50k+ downloads.
[3]: https://kulli.sh - I use this to aggregate comments from HN/Reddit/Lemmy/Lobsters on an article I'm interested in in one place to read. This has helped me find some interesting niche communities on Reddit and Lemmy who share and discuss things I'm interested in that I otherwise wouldn't have found.
cxqtheresh|2 years ago
murph314|2 years ago
When I talk about the app, some people immediately jump to other inventory problems in their own lives: Can you make it work for my wine fridge? Could I keep track of my kids’ ever-changing wardrobe? I’d love to manage my Warhammer collection this way! It certainly seems like there could be a consumer product to help tackle those problems, but it’s not gonna be my app.
Edit: In more of a work context, I think internal tooling for specific users or teams can feel similarly empowering. When you have an intentionally-constrained set of users, finding product-market fit and making sure the solution actually works for their needs becomes the only goal. And with so few users, it’s easy to keep tabs on what is and isn’t working for them.
brindy|2 years ago
ElevenLathe|2 years ago
I've seen a few of these and they always fall into (non-)maintenance hell once the dev (it's always just one, because the business can't spare a whole team for something like this) leaves, or until the next re-org (read: almost certainly less than two years from any random point in time) when the responsibilities of the team it was built for are divided among other teams, or outsourced to a body shop like CapGemini that won't use it (because they can replace the functionality with an army of managers with spreadsheets, all of which they can bill for).
In short, I think it's largely a fantasy to develop custom software for small userbases on economic grounds (at least for nontechnical users using typical "real" stacks -- spreadsheets and "programmer tools" are a different story), which is kind of the point of this piece.
Glench|2 years ago
What is that one feature I wonder? Robin, you around to answer?
SturgeonsLaw|2 years ago
kaonwarb|2 years ago
block_dagger|2 years ago
fuzztester|2 years ago
Ask HN: What apps have you created for your own use?
https://news.ycombinator.com/item?id=38623695
Still haven't checked all the replies with links to their apps, which many gave, but plan to.
wackget|2 years ago
boxed|2 years ago
And it's explicitly not allowed to publish in the app store for such a small audience.
Amorymeltzer|2 years ago
2020: 556pts, 132 comments <https://news.ycombinator.com/item?id=22332629>
2022: 186pts, 51 comments <https://news.ycombinator.com/item?id=32800518>
joshspankit|2 years ago
The idea is to allow people to “share ingredients” of internals of projects without the requirement of sharing the code
Rehanzo|2 years ago
Great way of looking at programming. It really is just another way to create, akin to drawing or writing, and it feels as if we almost desecrate it by treating it the way we do. Inspiring article.
unnikrishnan_r|2 years ago
mooshx|2 years ago
Eventually I pushed it forward (thanks to the Unity Engine at the time) and made it a "real" app on the App Store. As others have noted, there's a large gap between bespoke, home-cooked software and commercial choices. As a full-time developer this was a side-project and still suffers, imho, as an under-invested commercial app. The app has had very modest success (pays about the equivalent of one espresso a week) but I still love it.
When an app is "just yours" there's an aura of fun about the project that can get stripped away when the trajectory becomes more commercial.
mbork_pl|2 years ago
I also have quite a few tools like this, although on another platform (Emacs). I love the whole concept of "home-cooked apps".
And btw, the first project like this I made - for myself and my family - was a database-like app on a Commodore 64 over three decades ago...
philsnow|2 years ago
I don't publish these things for the most part, each of them took between a few hours and a few days' worth of spare time to put together, they're all made without pretension for an audience of 3-4 people only.
parasti|2 years ago
jddj|2 years ago
I can't help but imagine-architect software solutions to my meatspace problems and nonproblems if I let my mind wander. I have to remember to ask myself, sure I want to build it but would I really want to use it?
By the time someone has finished telling me the awkward thing they had to do today I've got an idle loop in my brain spinning (silently) on finding a "better" way.
Admittedly, not many of these get built because time is limited, all software takes ongoing care and many cures are worse than their associated disease.
Some do, though. Particularly internal tooling for work which can be measured in $ and some projects which scratch a community itch which can be measured in positive interactions.
sanroot99|2 years ago
darrinm|2 years ago
jwr|2 years ago
One thing I'm always worried about when I develop one-offs myself is what happens if I'm not there to service/update/maintain the thing. For some apps (like family photo archives) this matters a lot.
noduerme|2 years ago
I was quite sure I'd set it up for myself and family before I read it required AWS .. I wish instead of buckets and lambda functions... well... perhaps it's worth replicating the whole thing in Nodejs and sqlite which would be the highest praise of all ;P
[edit yeah yeah there'd have to be a bucket-like storage blob somewhere.// or would there?]
Glench|2 years ago
aledalgrande|2 years ago
codersfocus|2 years ago
A personal social network. No influencers. No ads.
It rides on existing messaging rails (email, SMS, IM…) for distribution.
You just post stuff to your feed, and your contacts get a notification when appropriate.
andrewstuart|2 years ago
Which is exactly what various factions of my family use for shared messaging.
It’s the purest social network….. people and messages.
Ironically owned by Facebook.
yaky|2 years ago
One relative tried it but would ignore messages (iOS notification system design is bad, but their home screen is disorganized too), and would constantly revert to iMessage/SMS/MMS. Two other relatives who are in a WhatsApp group with me pretty much refused with "But I can talk to you on WhatsApp just fine?", or "Who am I going to talk to on there?". Ironically does not stop them from downloading Viber, Instagram etc. Thankfully, the WhatsApp bridge + Matrix client works for 95% of the use cases.
Thus, I am happy that the author's efforts found good use and were appreciated.
wousser|2 years ago
aledalgrande|2 years ago
camillomiller|2 years ago
rockostrich|2 years ago
kgritesh|2 years ago
totalhack|2 years ago
With AI helping it really lowers the barrier to personal or one-off apps you wouldn't otherwise have time for. We did the app in the framework he was comfortable with, which I hadn't used, and I wrote all my code with AI.
I got smoked in the game though.
martinclayton|2 years ago
Must have been taken down from shirky.com since so WBM's last capture is a 404.
jerojero|2 years ago
Wish android development was a bit more straightforward, I always find it kind of difficult just because of the amount of things that might go wrong. Kinda like coding videogames I guess.
BenoitEssiambre|2 years ago
rrr_oh_man|2 years ago
palemoonale|2 years ago
lwhi|2 years ago
Not everyone could be a home cook developer in 2020 .. but in the future, my bet is they will be able to thanks to AI/LLM advances.
Maybe we should expect (and are due) a total paradigm shift in terms of digital product consumption?
rrr_oh_man|2 years ago
This was my exact sentiment some time ago after remapping a bunch of keys, along with "why didn’t I think of this sooner".
It still feels magical to this day and removes 90% of annoyances when typing.
Using standard keyboard layouts is like riding a toy sized tricycle now.
nop_slide|2 years ago
FergusArgyll|2 years ago
JohnFen|2 years ago
frankdenbow|2 years ago
qwertygnu|2 years ago
unknown|2 years ago
[deleted]
JZL003|2 years ago
mcculley|2 years ago
Is there a way to get back a user ID from TestFlight?
chse|2 years ago
globular-toast|2 years ago
vivty|2 years ago
davidb_|2 years ago
The other option would be an adhoc certificate, but then you have to collect everyone's apple id.
Apple makes this kind of app distribution process more painful than it needs to be.
aziaziazi|2 years ago
m3kw9|2 years ago
blitz_skull|2 years ago
I’m not sure what the right balance is, and maybe this is the right balance.
dmitkov28|2 years ago
_1tan|2 years ago
RodgerTheGreat|2 years ago
j7ake|2 years ago
xprn|2 years ago
kqr|2 years ago
1. SMS do not support group messaging. An SMS with multiple receivers is just multiple copies of a 1-to-1 message. The other recipients don't know about each other.
2. SMS do not support images or videos.
Maybe you're talking about MMS, but I've always found that clunky. I'm not sure why. Part of it is that it goes over a seldomly-used separate type of connection (at least with 3G and earlier technology) which isn't as reliable as plain TCP.
zubairq|2 years ago
onetimeuse92304|2 years ago
We have our own no nonsense chat desktop, web and mobile apps for ios and android. Our own calendar for family events as well as to coordinate daily operations. Our own forum. Our own pages with resources and even our own documentation bot that you can ask pretty ambiguous questions and it can point you to the past posts/documents/chat threads that are relevant (when you don't remember where it was mentioned but you can describe what you are looking for).
Even a wall mounted ipad with couple tools that we find useful. Shopping list where you can add stuff for the next shopping run. Voting for meals. Calendar which is especially useful to kids because they can book our time when they need something or they can see when I plan to do my training sessions or when I am or I am not available (I work remotely and don't have set day plan).
Recently started spending time with my eldest son to add more features -- any way to get kids hooked up to programming is a win IMO.
chrisweekly|2 years ago
jhartwig|2 years ago
flobosg|2 years ago
wackget|2 years ago
Meh. Pretty disappointing excuse. Wouldn't take long at all to separate secrets and would make the app inherently more secure anyway.
bryancoxwell|2 years ago
erikerikson|2 years ago
unknown|2 years ago
[deleted]
unknown|2 years ago
[deleted]
saga81|2 years ago
[deleted]
sjsdaiuasgdia|2 years ago
I assume this is some poorly executed self-promotion on your part. Maybe start with making your site say something about what the product actually is, can do, etc.