rowofpixels
I built a hydroponic garden as a covid hobby. I wrote software to maintain the garden, water it on schedule, apply ph changes to the water, turn lights on / off, humidify, as well as monitor statistics (temperature, humidity, water temperature, water ph, water conductivity).

Rough guess would be that I spent 50 hours actually working on the software.

There's a handful of raspberry pis involved. I wrote everything in elixir and used https://nerves-project.org. The dashboard is written with phoenix live view. One of the raspberry pis is the "brain" and basically runs the dashboard and controls devices. The devices are all in an elixir cluster. I also run timescale db for some basic history of metrics.

Once I start a grow I don't use it that much actively, but it passively runs all the time. I check in every few days or week to make sure nutrients are looking good.

I've grown strawberries, lettuce, jalapenos, and cayenne peppers.

galdosdi
Reminds me of a classic story that makes a good programming parable:

Back in 2011, my girlfriend was working at a catering company that announced shifts via a webpage and workers had to sign up for them. Other workers tended to pick them up very quickly, so it was hard to get too many shifts.

I wrote a quick web scraper to automatically accept any shift offered and email her.

For a couple weeks it was great, suddenly she had all the work she needed.

Then one day she woke up late to find a voicemail telling her she was fired.

Earlier that morning the script had detected a last minute job announced just an hour before start time and immediately accepted it, resulting in her not showing up to it. I had not accounted for the possibility they would announce a job so last minute, since it had never happened before.

65
Almost all of the software I make in my free time is for my own use.

My most used tool I have is a note taking web app that automatically saves markdown files to S3. The most important feature I added was a little button that would automatically make a note for the current day, and put it in the daily notes folder, all sorted and organized. I also have full text search which is very helpful for finding old notes.

I also use an RSS reader I made. Instead of just showing you the text of the page like a standard RSS reader, it proxies the web page so you can read the article directly from the website, but with the added benefit that since it's a proxy, I can control all the HTML, CSS, and Javascript on that page.

Another daily one I use is a random background music playlist for Spotify that is auto generated daily. Using the Spotify API you can find random music, then find random instrumental music from that random music. I use this to discover new songs to listen to while working.

Basically, making your own software is fun. Making production software is much less fun. I don't need to worry about a million things when I make my own software. Sure, I make $0, but if I spent months making, for example, my notes app production ready, and tried marketing it, I'm guessing I'd still be sitting at $0.

fardinahsan
Yes. I made two recently.

- TalkToYoutuber[1]: Download the transcripts from a youtube channel and hook it up to gtp4 with RAG to let me "talk" to youtubers. There's a bunch of youtubers who have useful knowledge to share, but no blog or wiki, so semantic searching their video transcripts is the next best thing.

- YoutubeThumbnailSearch[2] - Embded all of a youtube channels thumbnails using CLIP and search them using text. I often need to search through news channels with 10k+ videos, often in foreign languages, so not having to rely on the title or transcript but the video thumbnail helps. This is a much more niche usecase tbf.

I am thinking of making a scaled down version of [1] so I can "talk" to long videos, like conference speeches or university lectures. Should take an hour or two to cook it up since it will reuse most of the code from [1].

---

[1] https://github.com/FardinAhsan146/TalkToYoutuber

[2] https://github.com/FardinAhsan146/YoutubeThumbnailSearch

boricj
Over the past two years I've been working on tooling that allows me to delink programs back into object files. What started out as a bunch of Jython scripts is nowadays a full-blown Ghidra extension that can export working object files from a program selection in two mouse clicks. I'm using it as part of a video game decompilation project, but it also enables a whole bunch of other use cases I've documented on my blog.

It's not that it is meant for my use only (any capable reverse-engineer familiar with Ghidra should be able to pick it up and use it) nor that it will never see the light of the day (it's open-source). However, it is such an esoteric capability and outright heresy according to computer sciences that I'm having a hard time just finding people who can wrap their heads around the concept, let alone people who would actually want to use this. Simply put, it's so far out there that I don't even know where or how I could even advertise it in the first place, which makes it de facto for my own use only.

A couple of people did end up reaching out to me in the last couple of weeks about it, so it might be on the cusp of sprouting a very tiny user base. Still, I've made it for my own use and until very recently I've never expected anybody else would use it.

If someone wants to check out the dark magic: https://github.com/boricj/ghidra-delinker-extension (disclaimer: might give nightmares to linker developers).

5pzv1kn3
I’ve developed several webapps to help our family and personal life:

* Vehicle Maintenance Tracker: Logs all vehicle maintenance and sends reminders based on time or mileage for upcoming tasks. This one is probably one of the most used and useful of everything I have made.

Lend/Borrow Tracker: Keeps track of items we've lent or borrowed, to/from whom, and when. We use it most for books, but it can be used for anything.

Library Book Manager: Lists all the books we checked out from local libraries, displaying their cover images and ISBNs. Using a barcode scanner, we can quickly "check in" books on return day, accompanied by an adorable "ding ding!" sound recorded by one of my kids. Really beats manually searching the paper printout. It can be used on multiple devices at the same time - the checkin status of each book is synced live between all users, so each kid can find and check in their own books.

School/Home Lunch Manager: Displays the school lunch menu alongside each of my kids’ names. We mark school/home lunch days at the start of the week for easy morning prep.

Sickness Documentation: Tracks sickness details like symptoms, medication, temperatures, and timelines, helping us coordinate how we are going to take care of the kids when they are sick.

These apps, along with a few others not listed here, run on a server in my home, accessible only within our network (in home of via a VPN).

mikelevins
Yep.

I wrote bard, a Lisp that combines features of Dylan, Common Lisp, and pure-functional languages purely as a long-running experiment in what I could do to make programming more fun for myself. I subsequently used two versions of it in client projects (to prototype some solutions and to compile them to data used by the delivered product; nothing delivered to the clients depended on my weird Lisp dialect).

I wrote a tool called nym to help generate names for characters and other things in games and stories. It's enough fun in itself that I sometimes just play with it.

I wrote another tool called model-namegen to generate names with stricter constraints for science-fiction stories. Those names are mapped uniquely and reversibly to 64-bit integers used in the story to generate names for machine intelligences. I also wrote a prototype for a 3D multiplayer game called The Fabric set in the world of those stories, and wrote code to generate clusters of colored cubes for use as avatars representing the AIs. Each character's unique ID is mapped to a unique name and also to a unique 8x8x8 configuration of lighted cubes. An example name is Ixion Eleven Chrysotile, the name of the autonomous robot who is the narrator of my Fabric stories.

Following is a link to a very short movie of the avatar for the character Miriam Five Bittersweet Earth: https://evins.net/downloads/miriam-5-bittersweet-earth-2-2.m...

I wrote a couple of versions of a library for Common Lisp to make certain functional programming idioms I like more convenient for me in Lisp. They're called folio and folio2.

I wrote a library called taps that similarly makes use of Richard Waters' SERIES package for Common Lisp a bit more convenient for me. Actually, taps started as part of folio and I ended up wanting to use it on its own often enough that I broke it out separately.

I've written several little tools for calculating and keeping track of information that's useful for friends-and-family gameplay.

I've written several other libraries and applications purely for the purpose of exploring some idea or other that interests me. For example, beasties was a pond-life simulation that I used as a playground for recreational genetic programming. Panels was an experiment in user interface that used a constraint solver for laying out windows and widgets, and an append-only log of all UI events together with a query engine and a knowledgebase. Panels could display graphic representations of recent user activity and retroactively define mappings from sequences of events to user-defined handlers. It operated on the principle that everything detectable that a user did potentially had some purpose, even if we don't know what it is, so we should remember all the user's actions and offer them the opportunity to define what they meant.

I've also written a few little things primarily for the purpose of helping friends and family with this or that task.

I've spent a lot of time over the years on things like these. As you would expect, they've taken varying amounts of time and I don't really keep track of how much. I use some of them (e.g. taps and other pieces of folio) almost every day, and others intermittently. A few of them (such as beasties and panels) I haven't really touched in years now.

BoppreH
I have a 3-letter domain that I use as my personal playground (think "xyz.com"). It features:

- One-click anonymous upload of text, clipboard, and files. So from any computer, I can visit xyz.com + ctrl+v to upload the clipboard, write notes to myself, drag and drop a file, etc. It's a risky feature, but there's nothing to attract attention and you don't even get a URL back.

- Authenticated sessions see a list of uploaded files, with buttons to copy link, download, delete, or generate QR code. There's also real-time notifications for each upload.

- Simplified RSS feed reader[1]. It scans my feeds every 10 minutes, and displays the URLs of new items. It has one button, that opens all URLs in new tabs and marks them as read.

- A Server-sent-events channel[2], and a UI that displays visitors in real time. The channel allows me to send redirects/file downloads to any visitor, so I'm constantly asking people to visit xyz.com when I need to hand them something digitally. Visitors are color coded with randomized backgrounds for identification.

- Youtube video downloader (powered by yt-dlp), along with audio extractor and pitch+speed correction for songs.

- Authentication is by approval from an already authenticated session (usually my phone). In the worst case I can edit the text file via SSH.

I add or remove widgets according to my needs. At one point I had chat integration with Facebook+WhatsApp+Telegram (got me banned from WhatsApp), radio player (replaced with Spotify), and even balances by scraping my bank accounts, credit cards, and Steam (removed after a bank started asking questions).

The whole thing runs in custom pair of Go and Python servers, developed slowly over the last ten years, and I use it multiple times a day. Feels like a digital tree house, messy but fun and useful.

[1]: https://github.com/boppreh/feeder

[2]: https://github.com/boppreh/server-sent-events

Edit: people have found it and started spamming uploads of "HELLO FROM HN". One IP looks Swedish. Well, Hi! But I'm taking it down for a few days to avoid tempting more people.

And shoutout to the Go team, that server has been rock solid and 100% backwards compatible over the past ten years.

AlbinoDrought
I would add videos I liked to the "Liked Videos" or other playlist areas on my YouTube account. I'd return to find the video months or years later, only to see that it may have been removed (usually due to copyright or other channel closure). This video removal issue also extended to other platforms. I found this annoying.

To avoid this, I made an extremely simple video platform. I save all my videos there instead. It's still my hobby project that I use the most.

The code is at https://github.com/AlbinoDrought/creamy-videos

There's an optional youtube-dl importer UI at https://github.com/AlbinoDrought/creamy-videos-importer (separated for easier updates)

The importer repo also contains a Firefox extension so any target can be right-clicked -> Import to Creamy Videos -> Select a set of tags -> sent to the importer UI, youtube-dl, and then eventually video storage: https://github.com/AlbinoDrought/creamy-videos-importer/tree...

guessmyname
Financial Tracking Application.

I’ve been developing this app for five years. During this time, I’ve integrated it with all my bank accounts to automatically fetch data needed for creating daily graphs and analyzing trends. This allows the app to generate predictions for long-term net worth growth.

Additionally, I’ve integrated the app with Yahoo Finance, Fidelity, and Morgan Stanley to monitor my Restricted Stock Units (RSUs) and Employee Stock Purchase Plan (ESPP). This functionality helps manage tax responsibilities on capital gains and compare growth with other job offers that include RSUs from different companies. For instance, I can answer questions like, “What if I had chosen to work at Facebook instead of Apple?”

The app also extensively utilizes data from credit card transactions. It includes charts listing new restaurants visited in the last month, tables tracking monthly subscriptions, algorithms to detect discrepancies, and numerous other features.

While I’ve considered turning this into a business, my current job keeps me very busy.

monitron
I wrote my own home automation platform. I started >10 years ago when the existing options were pretty disappointing to me. It’s a web app that runs on wall mounted tablets in my house as well as on my and my family’s phones and computers.

It handles lights, fans, cameras, sensors, locks, doorbells, speakers and TVs, HVAC and more. It runs automations based on time, weather, presence of people, and other events. It tracks energy consumption, sends alerts, etc. There’s a strong focus on local control (as opposed to cloud).

My favorite thing about it is that the client and server run from the same codebase and share state over a WebSocket connection. I’m still working on it occasionally but mainly it just runs quietly and my people seem to like it. The whole thing is configurable (connectivity, behavior and interface) so theoretically it could be used by someone else, but for many reasons I doubt it ever will :)

arnaudsm
As a freelancer I invoice in multiple currencies, and I couldn't find a program to generate them that wasn't an overly complex $100/mo SaaS.

So I build a little cli to generate my invoices. 100 loc and super simple.

I miss the 70s when programming was the default way to solve problems. Excessive abstractions and proprietary software often slow us down.

beattheprose
Web service that turns a YouTube channel to a Podcast-compatible RSS feed, just by changing the URL from https://youtube.com/XYZ to https://$SERVICE_URL/XYZ.

Use it almost every day. It’s nice to keep up with channels I care about while escaping the algorithm.

Something I work on-and-off on. Could be interested in open-sourcing it fully if folks are interested in helping out. Im a pretty junior engineer, so work is slow and I’ve never been satisfied enough with the code to publish yet.

ycuser2
I made a small tool that takes a screenshot all 5 minutes and stores it in a password protected zip file, but only if something has changed on screen.

Sometimes I go through the old screenshots and get nostalgic as the oldest are 10 years already.

I spend so much time of my life on my computer, so why not take photos of it?

thiagoperes
I created my own translation app using llama3-80b, I call it "expat translator": I live outside of my home country and always struggled with using translators like Google Translate because they don't tell you if the way you're writing something feels natural in the other language. It gives me some pretty good results and I also instruct it to give me rewrites for informal and professional use, so I don't sound weird on WhatsApp for example.

It uses an on-device model for language detection and results are sub 0.3s thanks to groq

If someone wants to try: https://testflight.apple.com/join/GBxPMw2h

ww520
Lots of my software are for myself. To algorithmically generate wallpapers for my phones and computers, I hacked up a forth-like mini language running on GPU to make generative arts easier. Some samples https://news.ycombinator.com/item?id=40413433.

To make recalling my web browsing easier, I built a browser extension that shows my browsing related information on one page. Pressing the shortcut key Alt-L brings up a page showing my frequently visited sites, my open tabs, my bookmarks, and my history visits. Searching and navigation are super easier. Searching can combine terms with logical operators. The hardest part of the project was getting fast performance when rendering a lot of data.

I use this extension daily, and I put in some effort to polish it as a releasable software.

https://chromewebstore.google.com/detail/one-page-favorites/...

https://microsoftedge.microsoft.com/addons/detail/one-page-f...

https://addons.mozilla.org/en-US/firefox/addon/one-page-favo...

joseph_b
Circa 2018, I went deep into investigating ADHD and whether I had it or not. I ended up "interviewing" a rather diverse group of people, from authors, teachers, and ADHD coaches to psychologists and other doctors. During this time, I was reaching out to many people, managing schedules and appointments, and eventually publish the interviews. The "reach out" to "interview" ratio was something like 100:1 and took a lot of management.

This was my part-time hobby, I guess. My full-time gig is a software engineer at a bio-tech company.

So, I wrote some basic web software (PHP/Symfony) to manage and track the whole process. It took around 3 months to write the code, though there was no set beginning and no set end. The code was started when I became overwhelmed with the manual aspect of tracking everything. The code was done when I figured I had done enough to manage and automate the process.

Talking with a few people after the fact indicated very high interest in the software I had written. And thus began the journey to convert it to multi-user.

I started on the multi-user conversion and, maybe because I tried to make it do everything and then some, have not since finished it. The code is on my private GitHub, partially converted to multi-user, slowly rotting away (needs library and core updates).

What does it do? Manage the process of cold lead acquisition, follow-up interactions and onboarding, and eventual publishing of the resulting interviews.

How did I make it? PHP/Symfony.

How much time spent making? About 3 months in my spare time.

How often do I use it now? No longer used.

costco
40 lines of C to control brightness on Linux in the way I like (Pressing brightness up key should make it go up more than pressing brightness down key makes it go down). It took 20 minutes to make. Used as a keyboard binding.

TODO list program and the list is periodically printed on my desktop with conky

Software to automatically book reservations at good restaurants on Resy. Supported proxies, multi account, automatically running every day and getting reservations in a certain time range, and even something with a USB GSM modem to respond to the confirmation texts you get a day before. Used it until I got banned from Resy :\

Family photo search using CLIP (actually uform) and face labels from Synology NAS. So you can search “winter +christopher” and it will only show pictures of me and sort by the most winter related ones. You can also filter out certain names, search multiple names, click on an image to get images most like it, filter by year, or any combination thereof. Took a couple days to make with Flask, pgvector, and some code to scrape data from the Synology web interface. My family uses it sometimes too though.

explorigin
I once ripped the corner of my windows install code sticker. I was missing the last 2 characters. I wrote a script in SikuliX to bruteforce the remaining 2 characters. It took about 4 hours to run but in the end, I got the full valid code.
bengarney
I wrote a tool to do automated QA on internet video (HLS/DASH, tech used for Netflix, YouTube, Twitch, etc.).

It evaluates streams against a database of 100 or so "quirks" that identify either general issues or issues that will only manifest on certain player libraries. For instance, specific "in spec" encodings which are actually non-standard in practice get flagged.

Built on TypeScript/node/Docker over the course of maybe 18 months. Used it fairly often when I was working in the space, not at all these days. Originally the plan was to license it as an enterprise vid tool.

(I've been considering open-sourcing it - would YOU use it if so?)

jeffreyrogers
I wrote a script that looks at C++ files, figures out the dependencies (by looking at what headers they include) and automatically compiles and links out of date files. It makes programming in C++ sort of like programming in a modern language like Go. It took me a couple of days to implement and I use it any time I am working on my own C++ projects. I eventually want to add package management features to allow integration with external libraries, but this isn't a priority for me currently.

I have also worked on trading algorithms that used publicly available info about crypto order books to make profitable trades, which will obviously not be published since then they would stop working.

seemack
I wrote an app to log mileage while doing deliveries, etc for my small business. It gives me a small tax benefit at the end of the year. To make it more fun, I gave the UI a "terminal" flair.

I wrote it over the course of a week or so and I use it frequently.

It's not that it won't see the light of day for anyone else but it's a very specific niche so I doubt anyone would even find it on the app store

If anyone's curious: https://play.google.com/store/apps/details?id=io.thisischris...

prayashm
In high school I built a chrome extension to secretly chat with my girlfriend on the Google Search page.

Her parents were super strict and would not allow having a boyfriend, we were caught once so wanted to be few steps ahead of their detection.

Using internet was allowed for her to study. Made the extension such that when you search for something popular click on the largest image in knowledge graph (right side box) 4 times and then do a right click the wikipedia description will become a chat box (to avoid accidental discovery by her sister).

Backend a very simple .txt file and php to insert and maintain only last 5 conversations.

I think I made it over a few days. We used it for a total of 2 times because we couldn’t notify each other when we come online.

Switched to a simple ROT13 encoded sms-ing. With the key changing every day.

yolovoe
An out-of-spec DNS server implementation that helps me understand and control my internet usage.

The DNS server resolves queries based on rules I've set up. Essentially, I can configure certain categories of websites to only resolve at certain time periods.

For example, I could make it so reddit, HN, etc, only resolve for a 5 minute time period (either anytime or only in the mornings) every day.

The point of the server is to track my web usage across all personal devices, and then make conscious decisions to control my internet usage based on this data. (All personal devices are on the same tailscale VPN... that's how I ensure I am always using my DNS no matter the network I am on.)

It's still a WIP, but I've probably easily sunk over 40 hours on it by now. I also wrote a custom Rust async runtime (single-threaded) for fun.

unsupp0rted
I was selling an apartment in a developing country. I wanted to know, given the constantly updating property sales tax and rapidly worsening exchange rate, how much I’d end up pocketing in USD, if I sold for X vs X - 5% vs X - 10%, etc

That would inform my “I’m willing to go as low as” selling price.

So I built myself an app to scrape the current tax from the government’s online calculator and assemble a dozen what-if scenarios, given the current exchange rate.

When I found one that would let me break even, cash in hand after all fees and taxes, that became my price floor.

It worked. Now I don’t need my app anymore.

sir_pepe
My day job is all about doing presentations, so I obviously wrote my own slide software. It is a pure expression of my workflow, my requirements, and my idiosyncrasies and the way all of the above changed over ~10 years. It is a great performance booster if you can basically brain dump your thoughts straight into slides, and if you can just implement breaking changes (or choose to keep supporting an objectively bad feature for all eternity). I don't need to care about any other users, or the bus factor.

The only part of that software that ever became public was the animated syntax highlighter[0], but I don't believe any other part would help anyone else accomplish anything.

[0] https://code.movie/

xolox
Over the years I've built lots of small and large tools for personal use, some of them I'm still planning to release as open source "one day", others I have no intention of ever releasing.

One of the biggest and most useful of those tools is a Django web interface that accepts JPG/PNG/PDF file uploads of scanned documents and in case of images (JPG/PNG) it will run "tesseract" to OCR extract text from the images (in case of PDF it will pdf2txt). The extracted text is stored in an SQLite database which enables keyword search in the uploaded documents.

I use this as my (digital) archive of important documents, e.g. mortgage, bank statements, insurance, medical files, etc. I just checked and I now have 1129 documents in there ranging all the way back to 2006 .

It's super useful to be able to go back in time digitally, without having to dive into the collection of physical binders with the real documents (ordered by year and month but nothing beyond that, given that there are usually only a handful of documents per month, and I can use the web interface as an index into the physical archive, if I ever need it).

koeng
I pretty much rebuilt my bioinformatics stack from scratch in Go, and I’m pretty proud of it! It does things that no other library, even python libraries, do for synthetic biology applications.

I’m pretty sure nobody else uses it, but I use it a lot for DNA design work for my company https://github.com/koeng101/dnadesign

WoodenChair
Yes, I run a daily hyper-local email newsletter that is custom built. It's called BTV Daily: https://btvdaily.com

I wrote the newsletter generator in Python. It uses all kinds of different APIs (news, social media, MailChimp, scraping, weather, even some LLM for summarizing some of the news, etc.). It runs every day at 8 AM on a little server.

It's not a super long script, but I've changed and refined it over the years many times. It's like I've spent many dozens of hours editing the same <1000 lines of code as I've modified, removed, and added features to the newsletter.

latexr
You’ll probably enjoy this (relevant to your question). I’m not the author.

https://www.robinsloan.com/notes/home-cooked-app/

mostelato
What does it do?

I built a bot that runs every 2 weeks, scrapes my local movie theater's currently playing titles, runs them against rotten tomatoes to filter out movies rated below 85%, then looks them up on youtube and posts the trailers to my discord server

How did you make it?

Python script that runs in google cloud functions, triggered on a bi-weekly schedule

How much time you spent making it?

An evening

How often do you use it?

Every two weeks

rsoto
I have a quite big userscript that fixes all the little annoyances I've been finding on the sites I often visit. Is the click area too small? I fixed it. Is there a really big form that when I select a specific value some other elements need to be at a specific state? It's fixed now. Did we get a new business lead and we need to enter all their information to our CRM? I can now paste that info and the form will be automatically filled.

I find usescripts way more easy to update than an extension, so that's what I've been sticking with for quite a few years now.

shkurski_
It's hard to call it "software", but the last one was a script to merge multiple Google Calendars into one, born out of frustration with juggling them manually. It runs on Google Apps Script, reacts on triggers, so once an event is created/modified/removed in one of the calendars, the change is reflected in the main calendar automatically.

[Edit] In the opposite direction as well: if modified in main, it reflects in the original one. AFAIR, it was the feature I missed, since Google only supports (-ed?) one-way mappings.

KronisLV
Back in the day, I had a laptop with only 4 GB of RAM, which would run out if I'd open too many browser tabs or programs. I didn't have an external monitor always connected, nor were most of the tray monitoring solutions to my liking. So instead I wrote a program that would create a few semi-transparent windows in the OS, snap them to the sides of the screen, allow clicks to pass through and resize them as the resource usage would change.

A blue full sized bar on the left size of the screen? The CPU is under 100% load. A purple bar on the right side of the screen, that reaches 3/4 of the way up? Guess my RAM usage is getting close to the limit, better not get too eager with the tabs, maybe close a program.

It actually wasn't that bad, but shortly after I just bought some more RAM. That was also before I had my own Gogs or Gitea instance, so I don't think I have the source anymore, it wasn't too hard to do on Windows though (nowadays I'd probably just put Linux Mint on the system or something, it needs a bit less memory in general). Oh, also now I have like 4 monitors for my main PC and don't do too much computing on the go. The 8 GB MacBook that I have for when I'm out and about feels rather slim, though.

Aside from that, there's the CMS I use for my website, though I'm not showing it to anyone because it's so bad that it makes me want to climb into a hole and disappear off the face of the planet. It still works though, so I don't necessarily see myself changing it out for something else just yet.

SimpleCaveman
The last thing I made exclusively for myself and nobody else was a shopping list calculator that added tax to the shopping list as a kid on my TI-83 graphing calculator. Programmed in Basic, and I would use it to add up the items going I to the shopping cart while my parents shopped at Sams club as a kid.

And I'd tell them what the final total would be when we were standing in the checkout line.

Very small and basic, but I thought it was the coolest thing in the world as an 11 year old back in 1996.

geocrasher
I'm not a developer. I can write some bash scripts but otherwise I struggle. So, I use ChatGPT as my own private developer (version 4o with a subscription).

The most recent is a Chrome extension that plays a "server down" tone any time the word "critical" appears on our system monitoring web page (Netdata). It plays that tone when the number of "critical" words goes up, and plays a "server up" tone when the number goes down. It's dead simple and works to give me audio alerts so that when I'm hyper-focused on something, I can get pulled out of it by the "server down" tone. It's gone over well with my coworkers as well.

Leftium
I made an app for my brother's wedding so all invitees could easily upload and view photos in a shared slideshow (displayed in real-time on a big TV at the event). Dismantled as soon as the event was over. It took less than a day to create with SvelteKit, Dropbox, and https://slidesome.com

Some more:

- https://weather-sense.leftium.com: weather app with the trendcast just the way I like it. WIP, but already using it on daily basis.

- https://multi-launch.leftium.com: quick link launcher; can launch multiple links at the same time. I use this multiple times a day.

- https://tt.leftium.com: tool to streamline conversions I frequently need. When the input type is detected on paste the converted value is automatically put into the clipboard. Also paste works from anywhere on the page. A super-niche hidden feature is if I paste the outerHTML of my SoFi relay accounts list, it will transform it into a TSV format for pasting into a Google sheets balance sheet. I use it a few times a month.

- https://ff.leftium.com: tool to calculate the time I needed to do something in a game I used to play. Automatically updated a calendar event with notifications.

- https://orbs.leftium.com: another tool to help with planning in the game I used to play.

kredd
Made a simple app to put all my Apple Watch walks on the same map, so I can walk every street in my city. Surprisingly there wasn't anything available that was free or straightforward, despite it being an easy app to develop. Honestly, it's extremely fun to use something of your own every day, and patch it up when you come up with some other ideas. I did release it on AppStore (https://apps.apple.com/us/app/mapcut/id6478268682), but mostly for my friends so they can use it as well.
abofh
Most of what I write is for an audience of one - even if it gets merged to the company tree, I'm usually writing for my own immediate needs. But to what you explicitly ask, I contact and I hate invoice management, so I have my own time tracker cli that integrates with stripe invoicing.

My hours get billed, I've got my notes for the cycle, and payments to my LLC get automatically routed to the right financial targets based on stuff I integrated with mercury.com.

Doesn't do the taxes, but cuts a lot of the low value/high cut vendors out of my revenue cycle and that makes me happy.

blululu
Absolutely. Of late I have an iOS app to measure the grade of hills. Initially this was to avoid parking tickets in San Francisco which requires curbing your tires for a 3% grade. The reality is that this is basically no grade and you should just curb no matter what in SF. Still fun to know how steep the hills are when walking. The other one is to set the exif data on photos to be taken in Pyongyang 100m underground tomorrow. This me is probably going to get me and my friends in trouble with the NSA for messing up their database, but these things happen.
93po
Yes, lots.

I made bookmarklets to sort multiple retail stores, including my local grocery store website and Amazon by price and price per unit. Amazon price sort is nearly worthless, I assume intentionally. Drives me crazy to grocery shop without price per unit, my bookmarklet also converts units.

I made a browser extension that filters out youtube videos, reddit posts, youtube comments, twitter posts, twitter sidebars, and probably a couple other things based on an extremely long list of keywords of crap i don't want to see - largely political, violent, war related stuff. I think it filters out more than half of posts on /r/all, partially because there's also a long list of popular subreddit blocks on it too.

I made a custom interface for Habitica, a habit-tracking app, to mimic a game from the 90s I really liked.

I made an arduino water gun robot to spray my cats and break up frequent cat fights when i'm all the way on the other side of the apartment.

More random stuff like this.

Wish i could find a job!

pfooti
My spouse is a teacher. The science department at the school uses a relatively complicated grading mechanism called conjunctive standards based grading, which used to require a lot of spreadsheet magic to work. I wrote a gradebook app (firebase, angular) that handles the grade entry (not grading), conversion of assessment data into grade reports for students, plus charting and stuff so you can see student or course aggregate progress over time.

I originally thought more people might use it, but I have basically 6 teachers.

linsomniac
I've been a huge proponent of ALWAYS writing software just for yourself. But I'm also a fan of releasing that software.

I have a couple notable stories about that:

I had a friend that wanted to scan his album cover, and I'd always wanted a scanner, so I bought one and wrote some command-line software to do it. Then I applied that as an extension to the venerable Xv image software. Wrote it entirely for myself, ended up selling something like a thousand copies of it.

Recently, I was tired of Spotify so I wrote a Python program to export my playlists into YouTubeMusic. Released it on Github and it now is by far my most-starred project, I figure it's helped at least a thousand people move away from Spotify, I've had a bunch of contributions to it and have had several people throw money my way.

Write for yourself, give to the world.

cobodobo
I built fake iOS for my baby. Recreated most of the apps, phone, music, videos, notes, wallet, maps, etc.. but simple versions with giant icons. Also added a ton of 'soundboards' which are their own apps for things like animals, food, family, home. I have like 20+ apps in there now.
jamesfinlayson
I've open-sourced most of my stuff, but one thing I haven't is a gambling simulator - I feed in odds and results for a season of sport and I can tune some parameters to try different strategies.

Someone once told me that apparently some local sports reporters' weekly tips are used with some seed money and the proceeds are given to charity and I was intrigued enough to spend a few days building something that could test that out.

bartaxyz
The two that I still actively use

- Danish Swimming Water Quality App[1]: Native app for my iPhone that I use to check the water quality. The official one wasn't working for me, too slow and too buggy. Ultimately, it's just a JSON of public data spread on the map, very simple. - Artwork Framer[2]: Script using Blender that converts .png into a framed 3D model. You can even adjust the frame if you want and then export it as a model to be used in VR (works even in Apple Vision)

[1] https://github.com/bartaxyz/denmark-swimming [2] https://github.com/bartaxyz/artwork-framer

applesauce004
Oh man. Do i have a list for you! I am very self-conscious of publishing my work. So over the years i have made many software games and utilities that will never be published. My wife thinks i am being silly and i shoud publish it. Anyway, here goes....

MP3Renamer(2002) - The age of music piracy is still rife and i have downloaded my share from napster, university file shares, etc. However, most filenames are horrendous and not clean. So, my first utility was a java program that would analyse file names based on common garbled patterns and rename it into [Artist] - [Songname].mp3. It worked surprisingly well for 90% of the use cases,

CombatLogAnalyzer(2008) - Me and my wife are in the throes of World of Warcraft arena which is a competetive dueling system. We only play 2v2 and we both suck at it. So, i enabled combatlogs in WoW and then wrote a parser, analyser and visualizer for every arena game and that shows which spells were used, where did damage come up, highest contributer of damage and this was by each playable class. By the end, we learnt what was killing us and the statistics showed our strengths and weaknesses. Suffering high latency and poor skills we managed to crawl from 800 rating to 1800 rating! We just couldnt go beyond that! (I was the crutch). This was done in .NET WinForms and i really learnt how to use linq.

Space Commander (2019) - My daughter is almost 4 years old and i think she is ready for computer games. I decide to learn MonoGame and i make a Space Commander clone. It is a HIT!

HappyMrsChicken (2019) - From my smash hit game above, i make a clone of HappyMrsChicken except this is in a forest where you have corn that the chicken has to eat and there is competetion from a mysterious goblin creature who also goes after the corn. Who will win?? Turns out, i cheated and gave the chicken a boost. My daughter won a lot!!

OptionsTrading (2020) - It is covid and i am locked in a quarantine facility for 28 days. Like a lot of retail noobs, we are getting into trading stocks and options. I decide IBKR interface sucks and I can do better. While spending those 28 days in isolation from family, i learn react to write a frontend and python to write a backend that displays all our trades, statistics, UIs, loss calculators, PnL, etc. My wife and I use this to date but i am too chicken-shit to publish it.

My personal favourites are: CombatLogAnalyser, OptionsTrading and HappyMrsChicken in that order

racl101
If you count a bunch of individual shell scripts for text processing then yeah. A bunch. I still use a lot of scripts I built like 15 years ago. Every now and then I make tiny changes but yeah I still use them a lot. I'd say 40% of the software I've ever built has been for me.

I'd say it's a rite of passage to write software for yourself:

1) It gives new programmers some practice.

2) It can help you understand software development better.

3) It reinforces the concept of dogfooding what you create (even though in this case others won't get to use your software). Again, making you better developer. You'd be surprised how many people write programs that they barely use or test. Never really knowing how useful it is or isn't to others.

kj9
Recently, I created a website that displays a map of restaurants featured by my favorite Japanese food YouTuber (who is mainly famous as a local TV personality). It's a public website primarily for personal use by my family and me, with minimal traffic.

As a fan, I was frustrated by the lack of a comprehensive list of featured restaurants, with watching all videos being the only way to find them. So I developed this website to see all locations on a map. I was surprised by how many restaurants were featured, so many pins on the map! Now, I'm enjoying trying out and planning visits to these places.

The biggest challenge was extracting restaurant information from the videos. Each video ends with a brief 3-second slide showing the restaurant's name and partial address. My solution converts videos to images, runs OCR, extracts text, uses an LLM to generate JSON data, and adds geolocation information. I set this up as a GitHub Action that regularly scrapes new videos and updates map markers automatically, all within the free tier.

It took me a few months to figure out the video information extraction and create the website using SvelteKit and MapLibre.

mr_mitm
A TUI client for Confluence

A script that does a speed test of my Internet connection once an hour and plots a graph

A financial analysis webapp that barely works

I call it meware: works for me, and hopefully for someone else, too, but it's not polished.

qiller
Technically it's possible to see most of my code on github, but most of it definitely wasn't intended for sharing, mostly protection from losing it.

A number of SmartThings device handlers and arduino code for home automation (early Ambilight clone, light strips, sump pump monitoring, desk fans).

A janky pendant to run on RPi for my CNC (clockworkpi.com devices are cool btw!)

Reddit bookmarks manager that google somehow scanned so technically there are a few people using it... accidentally

Custom Mailspring build with themes and minor annoyance tweaks

Not counting various TamperMonkey scripts that fix some site annoyances

mstipetic
I got annoyed at all the invoice generators so I recently built my own in a weekend. I put the data in Airtable and a python script generates the pdfs using typst. Much more flexible than any of the solutions I found and it took me less to build it than the time i spent trying out the available solutions.
elseleigh
Tons. A few recent pieces are documented on my site, at else.co.nz/code ... but there are also plenty of utilities as well.

I've written "radio station" music software that used text-to-speech to back and pre -sell music and include news headlines and calendar appointments (that was back when I used Windows).

For work, software to build deployment manifests for the various client instances of my research funding web app, software to update the dev MySQL databases for the same clients, software to export zips of all the current code for each client.

acheong08
I have a bunch of random scripts, executables, Python files, etc scattered all over my computer.

Some more often used ones: - A script that manages my Music files (add/rm/search) and syncs them with my phone when connected via ifuse+rsync

- a CLI to really easily deal with port forwarding because I run a lot of stuff on my raspberry pi and old laptop which goes out to the internet via WireGuard & forwarded from my VPS

I also have local forks of a few abandoned projects with a few bug fixes or minor added features. Ought to find alternatives but too lazy

xoxxala
I write little Python scripts (or use Excel) to simulate computer/video game mechanics and quickly iterate over them before passing them off to a real programmer. I also design boardgames, so often write die rollers to calculate probabilities (it's faster for me to write something that generates hundreds of thousands of results than to actually do the math, especially if I want to tweak in real time).

My bad habit is not properly archiving these little programs, so I invariably end up recreating them from scratch each time.

satisfice
Most of my software is made for my own use. I write tools that help me test software.

For instance, I wrote a tool that tells me how many simultaneous users I need to simulate X number of real users who are hitting the server only intermittently.

If you write tools for your own use, unless they are really big you tend not to bother with coding style conventions. The important thing is being able to code it up quickly.

I used to write everything is Perl, but I’ve switched to Python. It’s a great rapid prototyping language, and basically everything I do is a prototype.

aranchelk
Assistive technology, I made a head-tracking mouse replacement. I’ve now used it almost every day at work for a decade. It’s open source but AFAIK no one else is using it:

https://github.com/aranchelk/headmouse

polivier
My wife is an optometrist (so, an independent worker), and she needs to check the list of patients she has seen (and the types of care they were given) to make sure that it matches correctly with the clinic's records. It is a tedious job, something that takes about 20 minutes per day. With a little scripting, I was able to bring that down to about 5 minutes per day. The time I saved her has added up to several dozens of hours now, and will amount to several hundreds of hours saved as the years go by.
aidenn0
I write various software tools to aid with running various role-playing and/or war games. Many I wrote before online code hosting was really a thing thing[1] and all of those are lost to the depths of time. For more recent tools, depending on how litigious a reputation the RPG game publisher has some were made public.

1: SourceForge launched in 1999; a lot of what I wrote predates that. Also CVS in 1999 makes git today look user-friendly; I didn't successfully get CVS to SF setup until around '02.

utensil4778
Several years ago, I picked up an old SmartBoard projector. The thing has no buttons, it's meant to be plugged into a remote control module attached to the board, or controlled over serial as part of a room system, or through its Ethernet connection.

I don't remember how I got started initially, there was some investigation of the network protocol it used. It was some crusty old standard that used an odd command scheme, but I managed to divine what magic packets to send to wake it up and select an input.

I ended up rolling it all into my first and only Android app. It eventually became a full remote control for the thing, including a sleep timer that would turn it off after an hour.

It was extremely basic and horribly ugly. I never looked into automatic discovery of the device on the network, so it had a hardcoded IP address. But it worked well enough to get a free projector running.

Apart from that, every programmer has thrown together innumerable scripts and throwaway programs for one-off tasks. My most recent was a thing that takes in a Diablo 2 save, then sets the version number and recalculates the checksum. My pirated copy is a bit old and won't accept saves made with modern editors. I don't know how many scripts I've written that walk through a file system to find or change something in the contained files.

I also have a version of Klondike solitaire written in C++ with SFML. I initially wanted to build a neural network to play solitaire, but after building the game itself, I found in my research that solitaire is actually a very difficult problem and far beyond my skills.

rsaarelm
It's more "nobody else is interested" than "it's not out in the open", but I've made my own structured data format implemented as a Rust serializer https://github.com/rsaarelm/idm and am using it for a growing collection of command-line tools for managing personal notes written as outline files https://github.com/rsaarelm/idm-tools and to run a static site generator https://github.com/rsaarelm/blog-engine . I'm also writing a game that uses IDM as the data serialization format.

Idea for the format was that you can write structured data with a really minimal syntax if you have an external type schema running the parsing, and the syntax emerged from the line-and-indentation based outline note files I'd started writing for myself. It took some months of work and planning and a couple rewrites to get the core IDM library working right. The tools and site generator were simple and straightforward in comparison.

npteljes
I wrote a video recorder specifically for one show on a streaming site that had low-level DRM enabled. DRM meant that tools couldn't grab the stream directly, but it was low level enough that the screen could be recorded. So what I did is write PHP software that used Selenium to open a browser with DRM enabled, logged in to the site, located my show, started it, started screen and audio recording with FFMPEG, and when the episode ended, stopped recording and moved to the next episode. To speed up the process, the program started multiple instances of this, and I used PulseAudio sinks to record their audios separately. It was magical to watch this work, like I was in a real TV studio. I also wrote an OCR solution with Tesseract and ffmpeg in bash, that grabs the title card frame and parses the text out of it. Time spent is around 20 hours. After the thing was done and I already had some episodes, my partner and I come to an agreement that the show is pretty toxic, and we don't want it in our lives after all, so I deleted the episodes that I had, and haven't used the software since.
lumb63
I made a Rust program that, given a database of football players and projections about how they will do during the season, can be used during a fantasy football draft live to provide an indication of who the best player to draft is. I have other fantasy/sports gambling applications I’ve written to solve knapsack-type problems, choose the best team to pick in a “survivor” pool, and convert from various Vegas odds to win probabilities.

Outside of sports I have written code to download the entire Jeopardy archive to categorize most likely questions to appear to help study, and code to interact with Fitbit APIs to pull down data, code to analyze certain aspects of my full genome sequence.

I have unfinished code (and a desire to finish it) for creating algorithms to play certain board games, a tool to automatically request books and audiobooks from the library based on a Goodreads reading list (or other source of books), a tool to optimize Universal Paperclips, and several different business ideas I’d like to eventually pursue.

Creating something you find useful is a great way to get something done, and make a good tool. If you want it, chances are there are a lot of others who also want it.

sloaken
Several -

My most recent was to manage dumbbell work outs.

Problem:

1) I hated changing weights in the middle of a session

2) Wanted to manage progression

Situation - I have 4 metal sets of dumbbell handles, a plastic set, some individual 3 - 5 pound pairs. A single, dial the weight dumbbell. Plates in metal range from 10 lbs to 0.25 lbs.

The SW:

1) using SQLite for DB

2) One application to calculate optimum weight settings - typical run takes 100 to 200 tries to get the best set.

3) Another application to present / track sessions. It was a BIG timer display to ensure I do not do the workout too fast (goal is 45 sec a set)

4) A tracking report.

Complexity issues: Not all dumbbell handles weigh the same - even the tightening nuts vary. Solution was to weigh everything and pair up the nuts so that each dumbbell handle with nuts matched its pair - oh I color coded the metal dumbbell handles.

First algorithm took too long - my first version would calculate ALL combinations of all weights. Then select the optimal solution - before adding the 0.25, 0.5, 0.75 and 1 pound plates would take between 15 to 30 minutes to run. This was solved with a slightly more complex algorithm. I calculated the all combinations for each dumbbell. Merged those lists into a big list, Found the perfect setting for each exercise. Check for conflicts. When a conflict occurred, found the exercise with the least delta from optimal and changed it to the next weight setting.... Check for conflict. Now it takes no more than 20 sec and reports 100 to 200 times it hit conflict before solving.

err4nt
For a number of years, I built various To-Do (or more accurately To-Done) lists. I would use them for about a year and then just stop, and make something else. I don't currently have any to-do list solution, I'm just using pieces of paper or forgetting stuff. At one point I had:

- A single-page HTML app that saved entries in localStorage in 1 browser (like 1kb of vanilla CSS and JS, barely anything)

- A static HTML website, generated from a folder of Markdown-like raw text, with a CLI build script. Hosted on a public web server.

- A simple linux CLI command that let me check, set, and mark items as complete, build with Node and saved to a JSON on disk somewhere.

And there must have been one or two more. Nothing serious, nothing that stuck long-term, but I probably spent 1-10 hours making these, and then using them daily for a year or a year and a half.

I'm very conscious about time spent automating or building what you want, versus how much real-life time savings or experience boost does it give you. I'll likely make more of these in the future when the itch reappears and hopefully get another year's enjoyment out of whatever little thing I build.

shtack
I have a lot of examples but a funny one that comes to mind is: in the early 2000s when IM clients were all the rage, I wrote a VB6 application to go through my MSN Messenger logs and rank my friends by how much I talk to them. Kind of like a MySpace top 10 prior to MySpace.

I spent a decent amount of time tweaking the UI, improving performance, adding filters, providing different file output formats, etc. Never shared it with anyone.

0xf00ff00f
I wrote an application to get GPS data for a sport activity from my cheap smartwatch and dump it to a GPX route file. The application uses the Qt Bluetooth libraries. I use it every day after my runs, then I upload the GPX files to Strava.

I did it because I wasn't happy with the official Android app, so I reverse-engineered the watch's Bluetooth Low Energy protocol (this was pretty fun actually).

gwbas1c
I have a lot of DVD-Audio and BluRay audio disks that I rip to play in Kodi. I wrote a utility that scans through audio files to generate a list of track names, and script to encode images for each track into a video (without sound) to multiplex with the audio.

Years ago, I wrote a .exe to change screen resolution, and then revert when closed. I used it when my old laptop had a composite out, and I would watch moves that I downloaded on a TV.

A few years ago I wrote a grid-scale battery simulator, scraped some publicly-available cost of electricity data, and calculated how long it would take for grid-scale batteries to break even when buying and selling power to-from the grid. Short answer: About 18 months. Long answer: Permitting a power plant takes a few years, and the permitting process only recognizes buyers or sellers. The permitting process doesn't recognize "storage" yet.

More recently, I wrote a quick-and-dirty utility to restart explorer.exe, because it has some really silly multi-monitor bugs that require restarting the process every once in awhile.

mlfreeman
Many years ago I partially cloned the old iGoogle homepage because I liked it (and Google was killing it off). It's gone through a few experimental rewrites in various technologies for personal educational purposes.

Right now, it's ASP.NET/.NET 8 on the backend and still plain jQuery on the frontend.

I display RSS feeds, US National Weather Service data, and comics in it. I also have it send some things to friends and family as emails periodically.

Hangfire works on the backend to actually fetch new data at appropriate intervals.

I occasionally have to modify something and manually push a new build because something remote changes but it feels fairly stable right now (knock on wood).

I want to redo it to use ASP.NET AssemblyParts and work towards essentially giving each little box its own DLL as a sort-of-plugin-system so that I feel more comfortable adding more types of boxes (stocks, different weather data, etc) and maybe one day can open-source it. (I'd like to so I can point prospective employers at it and say "see, i can actually write reasonable real world code.")

k310
I did mostly scripting as in sysadmin work. No FT programming per se.

I found no free optical design software that would run on Mac, so I coded something up to do some paraxial ray tracing ( maybe more, I'd have to dig up the code) and (this is the good part) draw lens diagrams from the specifications.

Pretty simple, but it was fun to do. Very little available for Linux either. Physics and optics people want to have fun, too.

Much of it was just parsing the input data.

I do recall a design and/or analysis program written in Basic, but it wanted a particular basic interpreter, and I forgot if it had porting problems. Must have. I don't recall using the program.

Oddest bit was something I did on my own for Sun flex office. I would get the list of scheduled occupants and their office choice and overlay that on a map of the office suite, for a "who is where" map.

On a "real" work task, I learned how to write graphics commands in Illustrator 3 format. I may have used that on this project.

But more generally, tacking the AI header code to the file made it valid Postscript/Illustrator format.

shred45
I built an OAuth proxy (only Auth0 currently works) hosted on Cloudflare workers. I'm a big fan of the self-hosted OAuth Proxy [1], but some projects don't lend themselves to hosting a container, sometimes you just want to set up a simple app on Heroku, Fly, Workers, etc. and have an auth proxy sit in front of it.

My solution also manages SSL via Cloudflare and integrates with Stripe for simple fixed-price subscription billing models. The idea here is to be able to iterate on product ideas quickly without spending a day each time figuring out authentication and billing.

I did set up a marketing site at the time so that others could use it, but I don't have any users, and I'm happy to maintain it just for my own projects (half a dozen now).

It took me 2-3 weeks to make so on net I have probably not saved much time, but it really helps reduce the friction of launching things which I think is valuable.

[1] - https://github.com/oauth2-proxy/oauth2-proxy

owlglass
I wrote some PowerQuery functions and VBA macros to facilitate client invoicing that cut down ~2 hours of work to ~10 minutes (and shrinking, as I toy around with the scripts to delegate more of the work to the machine each time).

The billing data is pulled from an external vendor's portal. The contact data is pulled from our internal CRM. Both sets of data are then cleaned up and merged with PowerQuery, and then VBA is used to send emails out to clients.

I probably spent in the range of 3-4 hours getting a working version going and ~20 hours optimizing during downtime at work. I genuinely find it enjoyable to work on—there is something immensely satisfying about automating rote work away.

I use this once per month (a billing cycle). It will probably never see the light of day for anyone else, at least in its current state, because I work in a low-tech, nonprofit environment and using this kind of tool would be daunting for my co-workers (for reference, mail merging is sometimes intimidating at my workplace).

ogisan
While not exactly software per-se, I created a system of multiple text files to manage todos, long term goals, and various reminders (eg, IOUs, deadlines, etc). This was inspired initially by Jeff Huang’s blog post [1] but then grew to a complex collection of different files. A problem I ran into was building an interface for displaying and editing these text files (each file has a different width and for some files I want to have different heights when editing them). Ultimately I settled on multiple vim tabs in a terminal window. Been using this for close to five years now and I couldn’t be happier with it. However, at this point the system of files (and the terminal “user interface”) is completely customized to my life and would likely never fit someone else’s requirements.

[1] https://jeffhuang.com/productivity_text_file/

quilnux
I wrote an application that sends GPS coordinates to a Web API that plugs into Home Assistant which I use to open and close the garage door when I come home, or leave the house. 2 independent sensors confirm the action completes and if it doesn't, it re-sends the command until it does. Another sensor detects the door from the garage going into the house being opened, which closes the garage door when it was opened from the GPS application.

The application sits on a RPi in the truck powered through the cig lighter plug. I don't know how many hours I spent on it as it was a weekend project I did when I had free time (not every weekend). I can say I got it working in about 4 months though. So however many weekends I had free from that 4 month period is about how long it took. Probably 40-60 hours though.

rye-neat
I'm building a streetable rock crawler out of a 78 F150 with a custom radius-arm suspension in the front. I needed to measure the deflection of the drag-link & track-bar as the front axle cycled up and down while changing a few variables: mounting locations, drag-link/track-bar angles, and drag-link/track-bar lengths. I used plain Javascript to display a graph, lines representing the drag-link and track-bar, enabled them to be clicked+dragged along with their mounting points and sizes.

With this visualization I was able to determine the best way to package this on the vehicle with the minimal amount of deflection to avoid bump-steer and death-wobble.

I suppose it would be useful to other people building radius-arm/link-suspensions that incorporate a track-bar but I haven't got around to hosting it any where.

hiAndrewQuinn
Basically everything I have at https://github.com/hiAndrewQuinn at least started this way, before I polished it up for external use. But, no, if it really is meant for my own eyes only, it lives and dies as a shell script.
micvbang
I've had many use cases for using an event broker, but never found one that was simple enough that I would venture into hosting it myself, or cheap enough to rent/host that it was feasible. Once I realized that cloud object stores fit this problem perfectly (they provide durability and are cheap to use), I realized that it would be possible to write one myself. I wrote a post on it here, along with a tiny performance evaluation: https://blog.vbang.dk/2024/05/26/seb/

I spent the better part of a week working on it full time, but spread over months. I use it daily - it's serving the needs of multiple projects that I needed it for :)

larrybolt
My wife (mainly, my role has been system user/devops) wrote a custom angular UI on top of grocy for managing our household stock (basically any product we buy at grocery stores), there are two bluetooth barcode scanners and screens which allow you to quickly checkout a product when consumed. Since she started gardening she's also "abusing" the db with custom fields to track when she's planted vegetables, harvested them, etc...

Also over 70% of the lights / 50% of other devices in our house are smart (zigbee/wifi/ble) and are connected to home assistant (I very much recommend tradfri+xiaomi zigbee+home assistant). By now I'm sure we've spend over 200h on our "smart home/life", we love data :)

vintagedave
I wrote a static site generator. It was the first "real" Python app I wrote (many files, classes, etc and actively using Python features.) The code is _terrible_ in the way that code can be when you're learning a language. You can definitely see the progress of understanding Python as you see the project develop. However, it's robust and is used to generate my site right now.

It supports Markdown plus a custom template language to convert Markdown-plus-more documents into a website, which allows me to add footnotes, sidenotes, images with specific formatting, custom markers, etc. It has specific support for parsing English and splitting sentences, so each one is in their own span in the resulting HTML. This is used for specific typographic layout.

jborden13
Not for me, but for my wife. She does financial advisor marketing & advertising compliance for a financial broker dealer.

Her rules for validating compliance were stored in a local Google Doc and her advisors are often uneducated & confused about what disclosure rules are applied to what types of marketing.

So I structured and organized the rules on a UI and then built an AI tool that let's her upload any advisor marketing materials to validate it against her ruleset.

It would be rad if I could sell it to her employer as an educational & compliance tool for their advisors, but currently this is just for my wife.

It took 3 days and I built it in Vue + OpenAI api.

https://master.dnwas22p6qpn6.amplifyapp.com/

WillAdams
Couldn't find any CAM software which works as I want, so I've been working on implementing G-code and DXF export (so as to match tool movement) from OpenSCAD for a while now --- got a big boost when a Python-enabled version was made:

https://pythonscad.org/

and now have a pretty much workable tool:

https://github.com/WillAdams/gcodepreview

(Re)wrote it using Literate Programming techniques, probably hundreds of hours (I've been at this for years and am not a particularly good programmer) and I use it on pretty much every project I make which isn't just drawing stuff in a Bézier curve drawing program.

FractalParadigm
Not necessarily my own use, but I built a few tools (that I volunteer free for use on a perpetual license) for my day job to make life a little easier in a few departments. Nothing impressive imho, they're mostly 'basic' calculators for various parts of the wiredraw process, from basic reduction-of-area to full-blown multi-pass die calculators (all fairly basic math and algorithms). In all honesty they're the kinds of semi-basic tools that the company should already have after >50 years of continuous operation, but stubborn blue-collar workplaces can be set in their old-fashioned ways, no matter how inefficient (honestly it's somewhat nice seeing others using and appreciating something I built).
xena
God yes, I made a personal API thing called mi that I've maintained over the last few years. It manages a few things, but the main thing it does now is repost my blogposts on a few other social channels when I publish new posts. I'm also working on having it manage the list of events I'm going to attend so that I can get reminded to create "trip report" posts.

I spend about 30 minutes a month maintaining it on average and I recently rewrote it in Go so that I could bring it back into my /x/ monorepo.

I have iOS automations that query and post to it about once every day. Eventually it's also going to handle photo uploads so that I can yeet it a photo and get the embed code for it shoved into a buffer note on my phone.

ryandrake
I made a macOS/iOS tournament clock for live poker games. I just wasn't happy with the few existing applications, so built and use my own. It is client/server so other people in the tournament can connect their devices and have the clock synchronized and shown on their own device, including phones and watches. It can also run dedicated/headless on Linux. I use a command line client to integration-test the networking and synching.

I never released it because 1. it's perpetually 98% done and 2. I don't feel like offering technical support for it and dealing with people who don't like it or find bugs. I may just open source it, but then I get to be a maintainer which is an even more thankless job.

moritzwolf
I built a map based software to organize and archive places I have visited and want to visit in the world. It includes routes (hikes, driving, cycling) and various markers for different spots. I use that to plan photography projects. I now have over 10k markers all over the world.

Previously this was a mess with multiple kml files and lots of dupes. Now it lives in MongoDB and has a clean interface using mapbox and vue. Probably spent 150+ hours on that, and do use it for all trip planning (photography and normal travels).

Its public but I never announced it anywhere. So only my wife and I use it, but it could be quite useful to others, I guess…

I also have some scripts for automating my tax reports. That saved me hours and only took a few to build.

al_borland
I made a stupid little utility to let me calculate how long to cook something in the microwave. Most instructions are written for 1000w or 1200w microwaves, and mine is only 800w.

I put a little NFC chip near my microwave, so I can tap it with my phone to open it up when I need it.

I also run into various scenarios where I need to copy some text, do something with it, and check it off a list, over and over. It’s not worth automatic each ad-hoc thing, so I made a little webpage where I can put it all my items and when I click one, it copies the next to the clip board, checks it off the todo list, and keeps track of the last item copied for reference.

Nothing huge, just little helpful things like that.

Gamemaster1379
I wrote a screen reader for an MMO I play that does day trading on the in game market.

It hooks into the games public API to determine items in my price and demand range and does buy orders everyday.

Since it doesn't do any injections, it isn't a violation of the games policies or anti cheats. Been doing it for years.

The items I trade in don't stack in inventory, which makes it tedious for any normal human player. But given the buying and reselling is scripted, it doesn't impact me.

I've generated a few thousand dollars worth of gold over the years doing this.

The games marketplace also is deflationary. 15% buy and sell fees. I imagine I've burned a considerable chunk of gold keeping my operations going.

tristor
I have a bunch of small scripts I wrote to help me out when I'm working at the terminal. Most of them I've embedded in some way in my Prezto setup with ZSH. As the ecosystem develops though, I try to abandon my own code in favor of community code that's likely better maintained.

In general, I take a different approach than most folks, if at all possible I try to avoid writing any code whatsoever, after that I try to do it with glue code only, and I prefer scripting over compiled applications. It might be the ops/sysadmin in me, or it might just be because I'm lazy, but I really try to avoid just starting from scratch and building something.

snwfog
I built a Twitter Deck clone for Reddit, because I wanted to be able to view multiple subreddit at a glance and I really dislike the new Reddit UI.

https://rdddeck.com/

ChrisMarshallNY
Depends.

I have written a lot of software, but each one is done as a full-fat production library (most are SPM modules). They are of top-shelf Quality, and fully open to all.

I'm my best (and only) customer, for most (if not all) of them.

That's actually fine, with me. Publishing them, the way that I do, ensures they are "fugheddaboudit" quality, so I don't have to be worrying about my dependencies, and I reuse them, in lots of shipping stuff.

You can find links to all of them, in a couple of the orgs I manage on GH: https://github.com/ChrisMarshallNY#here-on-github

RegW
A long time ago - may be 15 years ago, I got really bored of listening to an hour of drive-time news on the radio twice a day. I then discovered podcasts, so I bought an MP3 player and wired it through my car stereo.

I found downloading podcasts manually a bit of a faff. So I wrote a bash/curl/xsd script to rattle through a list of RSS feeds, download new episodes and create a playlist. It ran on my laptop at home or work and plonked the result on my MP3 player via USB.

Now, years later, the script is essentially the same. Except it runs under termux on my phone, and VLC broadcasts the playlist direct to my car or home stereo via bluetooth.

graycat
> Just wondering if any of you has created any software that is meant for your use only and will never see the light of the day for anyone else.

Sure: For an operating system, I wanted to concentrate on exactly one, one of Windows or Linux. For this, that, and those reasons I picked Windows. Most important tool, KEDIT. Next most important, Rexx scripting language. Software for own use, console applications. Real effort, starting a business. For this, developing a Web site. Got the code -- Visual Basic .NET, ASP.NET, ADO.NET -- running as desired. Had a disaster, recovering, and spending too much time in system management mud wrestling and unanesthetised root canal procedures but getting back to the important computing and the business.

So, have ~100 of each of Rexx scripts, Kedit macros, and TeX macros. Will be moving back to working with Visual Basic .NET.

Just wrote a Rexx program of ~1200 lines of typing to do -- sitting down for this? -- file copying. WHYYYYY????? Did some copying, should have copied 99,024 files, but actually got only 41,462. Disaster.

So, wrote a Rexx script with three sections:

First, check and be clear on what copying want to do and use the Windows XCOPY, with carefully selected options, to do the copying.

Second, use Rexx function SysFileTree to get a list of the files/directories that should have been copied and then, in a loop, one name at a time, use Rexx function SysFileExists to be sure the copying was done.

Third, one file at a time, again from SysFileTree, use the Windows program FC.EXE (file check) with option "/B" for binary, to check that all the files were actually copied correctly down to the last bit.

My software does some good checking on the work to be done and some good reporting on what was done so that, now, if something goes wrong, e.g., the case of 99,024 files where copied only 41,462, at least I will know there was a problem.

Right, tools for such things should have been rock solid 20+ years ago and shouldn't have to do that. But, only 41,462 out of 99,024 provided a "reality check" so wrote the code I did.

dividefuel
I spend a lot of time listening to music and have a large collection of MP3s. I never found a piece of existing software that works exactly as I want it, so I created my own web app for hosting my library during the pandemic.

It works great! Over time I've added all the features that I care about (powerful playlist rules, easy methods for shuffling my music, detailed stats about my listening, tools for managing the MP3 library, etc.). I've learned a lot on the way. As I'm sure everyone here can relate to, it's quite freeing to build something that's only for you. So many concerns go out the window.

cranium
I "smartified" my Actiforce standing desk.

Originally, I found the up/down buttons to be mushy and unreliable to the point I got fed up. I just wanted to 3d print a new case to have nice metal buttons but I found out the desk supports a smart controller.[1] So I reverse-engineered the connection just enough to hook an ESP32 and buttons in parallel (either can control the desk) and add up/down actions to Home Assistant via ESPHome. And my buttons have RGB LEDs for notifications. 8)

[1] If I were a company, I would have bought the controller right away because their solution is certainly less janky than mine.

RobRivera
I made a blackjack scalable game simulation with configurable decision matrix, bet scheme, and card counting rule configs (1 simple file).

The software isnt novel, so I did it for myself both as a personal proof of concept of my blackjack years, and as an exercise to poke corners of my cpp knowledge base, google mock and google test knowledge base.

Its a phase 0 core tech tho for a vidya Im making that I really really hope I make time for this year.

Ill follow up if I manage to get a demo available before end of summer. After my sprint in the career hustle over the last 7 years I need to do some self care and I feel this is the outlet.

jonquark
I made a Google calendar program for the Inkpad 6color eInk display. Because of the small number of displays I doubt there is anyone else using my code and that's ok.

It's Arduino based and it turns out the iCal format has a lot more complexity than I'd guessed so there are still bugs/incorrectly shows some events but it mostly works for me. I work on it very intermittently over a few years and find it quite cathartic.

It's cool having my code hung on my wall. https://github.com/jonquark/InkyCal

Yhippa
When I was looking for cars recently, I was frustrated by the inventory search on the websites. Subaru made it difficult to search a wide area for it's vehicles for example. I wrote a full stack application where I reverse-engineered the public APIs and did the inventory search for myself. I also made a web app to go with it to display the vehicles in a card format that gave me the important info I needed in an eye-pleasing format. I stopped development once I found my car.

I didn't spend a ton of time making it. It was honestly a lot of fun and I got to work out my development skills again. I really doing this kind of work too be honest.

I did use ChatGPT a bit to help rationalize some things as I was doing development.

maggick
I build https://maggick.fr/Spotify_RAS/ specifically for my need.

The tool select albums on my Spotify collection and add them to my playing queue. I am using the tool daily (I put 6-7 albums in the morning and I am setup for the day with a few hours of music).

It is just some Spotify API manipulation in Typescript and it was not that long to code (except some UI editing and tweaking, I am not good with front end :D). I am trying to open the application to everyone but the Spotify process is quit long.

mayanraisins
I was upset with YouTube ads, so I made my own client. It is a Vue frontend that talks to a Supabase backend. The database has a list of channel IDs, and a serverless endpoint makes a request to the YouTube API to get a list of videos and returns them back to be displayed in a chronologically ordered list as embedded videos as to avoid ads. It could be configured for others to use, but I haven’t created a signup page, and I want to avoid YouTube API rate limiting, so I’m the only user now. It took me a day to make and I’ve used it daily for 3 years.
qznc
The static site generator for my website: http://beza1e1.tuxen.de/gen.py

A news bot: https://github.com/qznc/mrktws-news (the output is public, does it count?)

A TiddlyWiki server: https://github.com/qznc/tiddlywiki-py

Such stuff usually costs me a few frantic evenings to build the first version and then minor maintenance.

wiradikusuma
Do scripts count? I own 100+ .id domains (generic names, like player.id, awesome.id, and sweet.id), and owning a lot of domains is expensive both in money (renewals) and time (maintenance). So, I became a registrar reseller to get better price and API access. I wrote some Frankenstein scripts that cobbled up together those APIs, GitLab's, and Netlify's to automate publishing through CI/CD to those 100+ domains.

At the end of the day, I gave up and just put everything in Dan. Apparently, it's more lucrative to just sell them.

dllthomas
I have a webapp for tracking chores that need to be done periodically (but not on a fixed schedule). It just lists all chores sorted by how due they are (period / time since last completion) and surfaces a short history of who did what. I've rebuilt it a few times and played around with extra features, but the basics didn't take long.

I have a utility (dklocs) that'll turn git-formatted diffs into location-prefixed changed lines. It lets me do things like `git diff master | grep thatThing | vim - -c cbuffer!`. I built it for me (and probably use it multiple times a day) but threw it on github (along with another tool for intersecting a diff with code coverage that I don't think I've used since the motivating use case - where it did prove helpful).

I don't know if it quite counts as "creating software" but I've got some scripts and configuration to maintain separate context in named screen/tmux sessions, setting shell variables and aliases, adjusting the prompt, starting in some particular directory. Most useful there is segregating history by context, so ctrl-r when I'm coding doesn't step through system administration stuff.

I have a general project to decompose applications into utilities, and a pattern for dealing with the long-running bits that's been somewhat successful. I once wrapped up libpurple in a client that worked that way, and (in a separate project) it's how I get errors from `cargo watch` into vim.

islandert
I made a CLI tool called kilojoule that is similar to jq. I addition to the normal suite of JSON manipulations, it also has support for a couple of other file formats and can call other shell commands.

https://github.com/stevenlandis/kilojoule

I’ve found it to be a pleasant multi tool for interacting with the shell when I need something a little more than bash.

It took a couple of weekends and evenings to get working but was a really fun way to learn about parsers, interpreters and Rust.

alx_the_new_guy
Kinda lame compared to what other people post here, but this is what probably 90% of the "I just use it myself" software is IRL:

- the most "impressive" one right now, though barely realized since I've just had the idea this week, is a debug/log library that spawns child multiple processes with consoles attached (since you can allocate just one console to a process in windows) and allows for debug info stream separation and rich-ish text features like color

- i've started writing a custom "set of commands" (90% IO, tied to a specific hardware modules, no algebraic functions or anything, so not exactly a programming/scripting language) language specifically for, sort of, programming-illiterate people so that they could easily implement test algorithms without asking software devs to do it. It got nowhere bc I didn't have time to implement it

But my a high level hardware emulator I'm using to debug GUI in production-ish environment uses whatever is left of it.

- environment management software that assigns PATH and other variables. Those commonly ship with software, but I havent really seen people writing their own for general env management

- my friend couldn't get Sony Vegas to produce good chromakey results, so he cobbled together some javascript to do it

- I've built a python notebook to analyze my bike rides combining Garmin Watch (gps + HR) and OSM data (estimating speed vs power vs road conditions).

- since (last I've checked was like a year ago) cmake devs value json adherence over readability in CMakePresets, I've written some scripts that convert jsonc to json. Also, those can convert string arrays to strings and add other QoL and readability improvements

- also, since CI/CD pipeline at work uses pretty old cmake that doesn't support presets and is a ton of work to upgrade due to it being airgapped (I will not elaborate), I've written a script that converts a preset into a shell script. Not completely, just the options I use.

- i guess a lot of custom diagnostic software I've written at work, though that doesnt really count since this is what I'm actually supposed to be doing, instead of most of the above and jeneral software shenanigans

owenpalmer
I have a very simple AutoHotkey script that remaps [h,j,k,l] to [left, down, up, right] when the LeftAlt modifier is pressed. This prevents me from having to switch to the arrow keys all the time.

I use it for navigating the list of browser search suggestions, or for quickly moving around any program that doesn't have vim bindings.

I've found it to be especially helpful while using the https://www.desmos.com/scientific calculator.

halotrope
Yes many things actually.

- A mac app to generate to read text as playlists from openai tts api (my gf can't use the api)

- A automatic visual scraper that can get arbitray information from any website (e.g go to target and get the top 3 milk prices or get the licensing information from this opensource project)

- An ETL tool (called tabmaster) that can sync arbitrary json apis into postgres tables. with automatic schema inference and deduplication logic

- A really good OCR tool that enriches scanned PDFs with accurate words and not the bs that adobe ships

all really useful and used daily.

EDIT: formatting

rstat1
2 of my most used web apps are ones I made (technically 3 but the 3rd is a platform service that handles stuff common to all of the services that run on it, there's 5 currently)

1 is a sort of a virtual notebook where I put things I want to remember. Things like guides for setting up new services on top of that platform service. Or random 1 line commands that I don't quite use enough to remember but still need to. Page content in this app is stored in encrypted Markdown files, the metadata (ie the title, publish date, etc) is stored in a local MongoDB instance. It has a feature where you share individual pages publicly if you want, but otherwise pages are viewable only by their original creator. Server is Go, frontend is Angular 10. I don't remember how long it took to build as it started as something else and I kinda reset the development half way through. Probably a few weeks, but I also wasn't constant working on it, so probably longer.

2 is a thing I built out of frustration with my self-hosted Gitlab instance constantly OOM-ing the VM it was on and crashing. It has like a tenth or less of the functionality of Gitlab, but also uses substantially less memory and CPU and does exactly what I want so hasn't seen much if any further development. Also Go for the server and some even older version of Angular for the frontend.

jpc0
I work in live production and have made tons of little apps to make my life easier.

A lot of them are little web apps with basic buttons calling http endpoints on gear /apps or doing basic OSC commands etc.

People usually use something like a streamdeck for this but I find being able to throw up a slider or something in there so much easier.

And many times it might even be single use for a specific event and a lot of time I'm just throwing up a single html page with no styling and a script tag so it really takes a minute or two.

mzronek
I reviewed hardware back in the day and was tired of all the repetitive tasks necessary to measure the performance of CPUs, GPUs and storage devices. So I wrote a benchmark automation tool, that did the work for me.

CINEBENCH and the likes where easy, but I also automated games without using their integrated benchmark. I needed a scripting language to load settings, go through the game's menu and load a save game. To avoid any kind of load from the automation, it offloaded the input data to an Arduino-based USB device, that simulated the benchmark run with previously recorded input. It worked pretty well, but small latency issues could of course result in small variations of the run. And bouncing into NPCs was generally a bad idea.

Here is a video of the system in action that completely automated a custom CS:GO run with additional streaming load as it would occur when streaming PC gaming: https://youtube.com/watch?v=ZpSPyd9f4cg

I get asked once in a while if the software can be downloaded or bought, but I am not going to do it. Writing software for yourself has the neat advantage that you never need to deploy it, upload it, write a change log, answer questions or fix bugs at any given time. It is just about solving the task at hand and nothing else.

chaosharmonic
I've been tinkering on crawlers to doomscroll job boards for me, along with a half-formed hybrid of a CRM and Tinder for swiping through the various results and then tracking them.

I eventually want this to be usable enough to share with others for local use, and to demo on my portfolio, but for now I'm just trying not to spend more time building the tools than I am using them (and harvesting the redirect links is already enough to solve a lot of what makes the search process miserable). In the meantime it's mostly a cluster of experiments that range from teaching myself Web scraping, to generally aiming for a leaner tech stack than my prior full-stack experiences, to specifically asking myself "how much of this can I do in pure CSS?"

While I'm not sure I want the support burden of maintaining the scraping code in public (and anyway it makes more sense imo to just enable bulk upload so you can bring your own sources), I do have a massive beast of a writeup[0] documenting a lot of what went into that, and the API code is at least presentable (see my GitHub) even if the UI is too skeletal for that as of now.

[0] https://bhmt.dev/blog/scraping (fair warning: this is 10000 words not including code samples)

rtcode_io
https://RTCode.io : Try: Code → New…

↓ deploys to

https://RTEdge.net : interactive map

---

I use it daily, nowhere else lets me build full-stack apps with nothing but the web platform APIs, while preserving (front- & back-end) state between edits!

The playground just lets me code service workers (https://sw.rt.ht) which deploy with one click and run as edge workers!

mmphosis
Lots. They mostly perform automation, shortcuts: hotkeys, commands, scripts, aliases, functions, AutoKey, ... They've taken anywhere from years to minutes. The software gets used frequently or it gets deleted.

For example: p will do cat (or hexdump or ...) or ls depending on file (type) or directory. Let me show you shebang which is just a memory aid:

  $ show shebang

  .../bin/shebang
  #!/usr/bin/env sh
  head -n1 "$0"
stewartbracken
I recently had our first baby. I created a self hosted web app for tracking diapers, food, etc. Through the delirium of the first month, it’s been so helpful with recalling when and what we did last and staying in communication with my partner without always being awake at the same time. I know there’s other apps out there but I wanted to keep my baby’s health data private. And it’s fun to create a bespoke app tailored to my family’s needs.
kibae
A note-taking app that is similar to Obsidian where I can link notes to each other.

Some differences include no naming rules (a lot of my note titles have a colon) except uniqueness, custom clusters so my knowledge graph is manageable.

I’m going to add different note types (i.e. not every note is .md, but have .csv and .ical as well) that can be expanded and linked within a note.

It’s written in React, hosted on AWS (so not an Electron app… yet), and CodeMirror for the editor.

I’ve spent probably 100 hours making it so far.

Sjeiti
Being self employed I made my own invoicing software because I don't like financial data in the cloud, and because most software had really bad invoice styling. All data is kept on local machine, and can be synced peer2peer (ie to phone). https://projectinvoice.nl/about But I no longer use it since I've landed my first permanent job last year (at 49).
sos_dev
A git switching utility that switches git profiles and ssh keys between two accounts, written in powershell. Its a one click solution by clicking of two batch file wrappers one for original and one for override configs, I love it saving me faffing manually w git configs and ssh agents.

Built custom (atom) extensions for the Hydra vj environment (https://hydra.ojack.xyz/) that add in midi control (based on the midi spec for web which I am still amazed exists and is at least somewhat supported https://www.w3.org/TR/webmidi/) , some lazy eval helpers and custom css styling for the programming text for more crazy feedback visuals.

A custom build script that runs a client and server architecture and their related logs all split in the same Window terminal window.

Several highly idiosyncratic single purpose visualisation / vj apps in processing and openframeworks, some doing camera feedback stuff, some wiggling points and particulars around on music or blob detection.

burlingplane
I've been incrementing on a Next.js app for three years now, which helps me tracks all sorts of things that used to be scattered across different apps.

It holds stuff like:

- A daily journal, plus a curated photo for each day that I can put on a calendar

- Random habits I want to track, like how many cups of coffee I had, did I do my morning stretches, etc.

- Fill-ups and mileage on my car, time to next oil change

- Restaurants I've visited, plus ones I want to visit (I use the Google Places API to search for restaurants)

- Books I've read/want to read

- Movies/TV shows I've watched, and ones I want to watch (I use TMDB to pull in metadata about movies/shows). I also sync my watchlist from Letterboxd

- Strength exercises I do, plus runs + bike rides that I pull in from the Strava API

I used to use several proprietary apps to track these things (Letterboxd, Goodreads, etc), but it's great having them in one place, and with tight control over the database. It's amazing how useful it is to have a log of everything you've done to look back on. Even simple stuff like, last time I was at this restaurant was 2 years ago. What did I order and did I like it?

bostik
An i3bar application that shows the name, status and elapsed/remaining time of current song in mpd. Display only, all player controls are done through hotkey triggers or explicit 'mpc load/add/clear' commands.

About 500 lines of C, including comments.

Normally running all the time, but for some reason mpd broke a couple of weeks ago and I haven't had time to figure out what's wrong.

HackHawk
Lots, but my favourite is a caption remover. I found a film I wanted to watch, the audio was in English, but there were Greek captions spread over the bottom quarter of the screen.

- Split the mp4 up into pngs (better quality than jpgs) with ffmpeg.

- Process each png, filling the white caption areas with data from the nearest non-caption pixels.

- Join the pngs back to an mp4 (ffmpeg).

- Get the original audio with ffmpeg and merge it into the mp4, ffmpeg again.

The actual processing was with C# on Windows because that's home turf for me.

Lessons:

1) You need a lot of space for 200,000 decent quality .pngs

2) You need to be prepared to wait a few hours for the process to run

3) ffmpeg is blooming marvelous. https://ffmpeg.org.

I probably spent 20 hours on it, maybe more. I don't use it at all now, it was a one-off solution, but I occasionally see a video and think "I could run my app on that ... "

2143
There are many tiny scripts I use at work to manage things. Mostly bookkeeping stuff like utilities to manage Jira, scripts that create text files as per a predefined template for meetings etc.

I'm the only one who uses it because these are tailored for my own specific use case, but if anybody from work asks I'm willing to share.

If I knew how to use Emacs, then maybe I wouldn't have needed some of these scripts.

-----

I have a huge list of movies I want to watch or have watched, and I like keeping track of those.

For the longest time I used Google Keep, but that couldn't keep track of dates when I added to the list or watched something off the list. And I liked my list to be sorted alphabetically and have it show the counts of watched and total etc.

Tonnes of apps and websites already do this. Or I could have probably built a spreadsheet file that does this. But I felt like rolling my own.

I built a simple webapp using Laravel and a little bit of Bootstrap to make the site look decent. Did it in one day during the less than a week of gap between resigning one job and joining another. Building it was therapeutic. I even bought a domain and hosted it on a DigitalOcean droplet. It's been up for over two years now.

There's nothing fancy about it. It really is just a glorified todo list. But I like the simplicity of it and I've been using it to keep track of movies to watch over the past two years.

I never had any intention of trying to promote it or anything. Initially I planned to share it with a few friends, but then I didn't. No reason.

So it's just out there in the web. In broad daylight. Anybody can sign up for it. Nobody has. Nobody knows. Hidden in plain sight. Just like me ;)

pridkett
I’ve got two great examples of this. Both I use to help control DNS on my local network. They’re open source, but I doubt anyone else is using it, and I’m fine with that.

unifi-dns-scraper[0]: a simple tool that logs into my Unifi console to get all the hosts and then creates a hosts file that my local DNS servers can use.

unifi-doh-blocker[1]: as part of my efforts to better control my network, I don’t want random devices ignoring my local DNS by using DoH. This gets various lists of public DNS over HTTPS servers and updates a blocklist on my Unifi Dream Machine Pro. With a few other firewall rules this essentially forces all my DNS through local servers which then do encrypted DNS queries to a third party DNS service.

These tools make me happy and were fun to write.

[0] https://github.com/pridkett/unifi-dns-scraper [1] https://github.com/pridkett/unifi-doh-blocker

mutantgn0me
I've got a...very large...Bash script I wrote in 2009 for interacting with my MP3 collection via email and icecast (there were more reliable email clients than Web browsers embedded in devices back in the day.) It's basically a queue manager for ices(1), with playlists, "programs", special handling for audio books, and regular radio DJ-like chatter delivered via Swift (weather updates, track info, inside jokes among my friends, that sort of thing.) A cron job keeps it going with random tracks. I've even added some old 50s and 40s radio commercials because hilarious.

It is madness in script form which will never see the light of day, but I've never succeeded in rewriting it or making a nice Web interface for it 'cause what I've got Just Works for me. I interact with this script almost every day, making it the single most-used software I've ever written, either professionally or personally. It's great having a self-hosted streaming service. Run via Bash.

Mwuahahahaha.

eterps
I created a website that 'proxies' HN. Its main feature is to refresh only every 3 hours; otherwise, it displays the previous snapshot. I blocked access to the real HN on multiple levels (PC, router, DNS provider).

I spent 3 hours developing this tool. It prevents me from checking HN too frequently throughout the day, saving me a significant amount of time.

karolist
I made a data takeout tool for the SaaS kindergarten communication platform used by my child's daycare. On it's own the software is really simple and could have been a few hundred lines of Python, but at some point I changed my mind and wanted to share this with other parents in case they find it, the things that make a project fit for publishing took 95% of actual work since you want it general and robust enough someone non-technical can use it. I now fully understand someone's reluctance to publish tools they wrote for themselves because it takes a lot of work.

https://github.com/karolistamutis/kidsnoter

Epaphos
I wrote a few apps when I realized that I couldn't find anything ready-to-use for my tasks.

For example:

Conversion between .env and .json configs: https://github.com/magicxor/EnvJsonConv

Web scraping different platforms and sending results to my favorite messenger: https://github.com/magicxor/ExtensibleMessageBroker

Transformation of copied text using regular expressions: https://github.com/magicxor/ClipboardTransform

It usually takes 3-10 days to implement and polish the core functionality. Some apps I use on a daily basis (e.g., bots in my favorite messenger), and some 1-2 times per month.

rufius
The static site generator for my personal website. It was something I wrote in an evening. The code[0] isn’t the best but it’s been easy to extend as needed.

It basically takes a couple json files for configuration, and some markdown.

[0]: https://git.sr.ht/~zacbrown/zsitegen

thomaslord
A while back I was using Simple as my bank because their app was the best budgeting tool I'd been able to find. Once it shut down I moved to a spreadsheet, and by comparison it was super painful. I basically replicated the app's functionality as a webapp, with a few tweaks to better fit how I was using it. Currently I'm still entering transactions manually, but I'm slowly building a Plaid integration to automatically import transactions. I'd probably have it done by now, but my current bank made some changes that prevent me from connecting it to Plaid so I'll have to change banks again before the integration will be able to pull in 100% of my transactions. I can't say it'll never be publicly available, but I don't have any current plans to release it.
cookiengineer
My github is littered with software I built as tools in the moment for myself.

The coolest thing in my opinion was [1] pacman-backup, which is a small (hacky) nodejs script to be able to download packages on one machine and be able to use pacman on another airgapped machine with the downloaded packages.

A couple months after I took down the repository I received a letter from the US where someone was asking me whether the repo is still maintained and whether or not it still works. As it turns out, the people of Cuba use Archlinux, too, and they used my tool to use flash drives to share updates.

I still think this is the coolest little tool I ever built, and I probably have to rewrite it in a more sane language (maybe go?) at some point.

[1] https://github.com/cookiengineer/pacman-backup

cranberryturkey
Yes I built a player for official MLB, NFL, NBA and NHL streaming providers so I didn't have to keep switching apps.
Gormo
I wrote a pair of PHP scripts that let me subscribe to YouTube channels as podcast feeds, with enclosure URLs and all. One script parses the channel's RSS feed and inserts enclosure tags, with the target URLs pointing to the second script with the video ID as a parameter. The second script then wraps youtube-dl and redirects to the raw video URL obtained for that video ID by youtube-dl.

This worked great for years, but recently, YouTube stopped serving their `22` format for most videos, which coupled 720p video with the audio stream. Now, the best resolution you can get with audio and video interleaved is `18`, which contains only 360p video. So that's the best resolution obtainable this way for now, unless I add a whole layer to this to reconstruct an interleaved video from separate audio and video streams selected from the DASH manifest.

austin-cheney
I wrote a media player and playlist that executes in the browser to play my media on my phone. I did this so that I don’t have to stream media or dick around with all the limitations imposed by the iPhone. I have playlists for music, movies, and television that are dynamically generated with meta data and file hashes.
KerbalNo15
I have a lot of things like this. Mostly one-offs for bizarre stuff, like a FUSE plugin that saves data to FAT-formatted image files. Some things, though, I consider useful enough to post on Github for people who might need it. My favorite (and most-used, personally) is an app I made to copy files off of my Panasonic cameras. They still work perfectly well, but the official app no longer works to send pics via wifi. I had to reverse-engineer the entire protocol stack from network traffic, it's a doozy. I ended up implementing SSDP from scratch and faking DLNA server support, along with the miserable SOAP protocol. It's a beautiful mess, but it works. Got me back into Android development too.

https://github.com/kerbalno15/shutterlink

audiodude
I built a headless CMS to generate the static site, https://bestalbumsintheuniverse.com.

The key feature is that you can put in a Wikidata ID (https://www.wikidata.org/wiki/Q1536639) and it will auto populate the name, artist, release date, and Spotify ID. It will then grab covert art from https://coverartarchive.org/, which it resizes and mirrors to S3 (previous versions of this project used images manually uploaded to imgur, but broke when they changed their secret API).

So basically all I have to do is write the description and I've got a new entry on the site.

Joel_Mckay
Mostly stuff for hobby 3D metal printer projects that is still too kludgy to release into the community.

A ton of administrative tasks I automated with expect/tcl shells, and various instrumentation control test rigs over legacy GPIB (metrology project).

Other exploratory boring RF stuff that maybe 5 other people would care about. =3

jelkand
Lots of outdoor gear brands are now selling repaired or refurbished used gear and clothing. Since used gear is pretty eclectic in selection it’s hard to find what you want by browsing at a random time.

I built a pretty simple web app that tracks a bunch of vendors and emails me when items matching my filters come in stock!

RobCodeSlayer
I created a scraper that scrapes around ~30 different property management sites for new rental listings. It then sends me new listings on telegram

It’s been useful for finding new places for myself and my friends - we can usually get tours before the properties are posted on Zillow.

Though definitely against a few privacy policies

drewbuschhorn
I run a small Dwarf Fortress podcast, and I didn't like the transcription options when we started a few years ago, so I wrote some python glue to do diarization (separate out speakers) and transcription using a torchaudio project, and either whisper or openai depending on how I'm feeling that day. Works surprisingly well, with timestamps and clean-up:

https://github.com/drewbuschhorn/a_strange_mood_podcast_tran...

vs

https://astrangemoodpodcast.com/2023/01/17/episode-1-is-dwar...

RelentlessOpt
I wrote an app to analyze my Wordle play - I tell it my guesses (with the answer last) and it tells me how many possible answers were left after each turn, what the best next play was, and how my play compares to my current strategy. I use it every day.

https://scottlouvau.github.io/pwa/wordle-analyze/

I wrote the code over a few months, along with code to find optimal guesses, simulate games, and do earlier versions of game analysis.

It's written in Rust, originally as a console app, but now wrapped up with a very basic interface. I figured out how to get it running as a WebAssembly Progressive Web App so that I can use it on my iPad without connectivity and without having to submit to the App Store.

philip1209
I run a little Rails app for myself. I end up putting some random things in it. Here's a partial list:

- My blog mailing list (Sendy) was having a bot signup problem. I wanted to deploy a captcha, but the mailing list software didn't support it. So, I put a simple proxy that validates the captcha before inserting the record to the software.

- Wanted a way to apply an email template to the Sendy mailing list, so I wrote a software that consumes my RSS feed, applies a template, and creates a draft in my mailing list software.

- Wrote a "Scoreboard" that aggregates MRR across Stripe accounts into a graph, and sends auto-emails to friends when I cross thresholds.

- Wrote a script that emails me when the HN "whoishiring" job goes live every month. (Simple crons like Zapier don't work)

There are a few other things in there, too.

alper
Other people do use this: https://cuppin.gs/ but realistically I only make it for myself.

We have coffee venues from different parts of the world but they become red ("picked") only if I and my friends travel there. The main use case for the app is still me being somewhere--mostly in my hometown these days--opening up my phone and looking for a good cup of coffee. Other people can take or leave that proposition.

jonahbenton
Bank and other statement PDF processing tools to feed records into Beancount. Because CSV downloads are not a legal record and are often not correct and contain no balances, and giving permanent access to aggregation services like Plaid and others are not worth the privacy violation.
luxuryballs
I have a game engine that uses MonoGame and allows me to define entire behavior flows, animations, physics interactions, etc, “using one liner, execute once” method chaining declarations and avoid having to write any update/draw function code for basic things, it’s awesome.
athorax
I made a CLI tool that templates out jira tickets so I never have to open the jira web client to create tickets. It took me far longer than it could ever possibly save me in terms of time, but it's the small victories over horrible, bloated, corporate software that give me joy
lylejantzi3rd
I've mostly been writing bookmarklets lately.

I wrote a bookmarklet that flattens the comments on a substack comment page and orders them by date. It makes it easier to see the most recent comments. https://bookmarkify.it/64936

I'm a member of a private social media site whose UI I dislike, so I tapped into their phoenix websocket connection and I created my own web client. It's vanilla js/html/css using template literals as html templates. It kind of reminds me of those old template systems I used in the php 4 days. Anyway, the killer features for me are regex filters on content and seeing all of the replies from the people I follow.

osigurdson
I recently made a cli chatgpt interface. Quick hack in Rust, always planned to clean it up, not entirely sure where the source code is for it anymore but I use the compiled binary all the time.

The regular chatgpt interface is nice but sometimes don't want to break out of the terminal.

DownrightNifty
To anyone in the US who said they make their own apps for their own iPhone: do you really pay Apple $99/year for that "privilege", or do you reinstall the app every 7 days (or use workarounds like AltStore non-PAL or jailbreaking) to get around this?
EvanAnderson
I maintain a fork of tt-rss[0] that I use to follow blogs, podcasts, and YouTube. I wrote a podcatcher that used the back-end database, too.

I forked it back in 2005 because the maintainer wasn't interested in the direction my patches were going. My version has diverged dramatically from the current version.

I have no idea how many hours I've put into it over 19 years. It has needed surprisingly little care and feeding (which I'd attribute to it being a simple PHP app).

I've used it nearly daily in the last 19 years.

[0] https://tt-rss.org/

Edit: I also maintain a set of scripts to import my SMS from phone backups into my IMAP mailbox. Having a single place to search for my written communication is wonderful.

okaleniuk
I wrote myself a debug tool at 2007. It's a piece of GUI "to borrow". A Windows app that catches Windows messages addressed to it and shows things in its own windows. It can show numbers you give it, give numbers back, count calls, and measure time. So it's a kind of debugger/profiler/GUI.

I open sourced it 8 years ago but it was not the original intention. I wrote it for myself. https://github.com/akalenuk/16counters

I wrote it in MASM32. It's therefore a tiny .exe file of about 7 KB. I spent maybe a few hours initially, but I've been adding features one-by-one for several years. I use it a few times a month.

geophile
- Markup to generate HTML I used in courses that I taught. The markup generated links according to an outline (next/prev page, next/prev section) and a few other navigation related things.

- Python-based pipe-objects-not-strings shell with cluster and database support deeply integrated. Twenty years later, it has turned into Marcel (https://marceltheshell.org), and I’m still the only one using it AFAIK.

- Backup utility for Linux, with characteristics of Time Machine. Been using it for five years, it keeps daily, monthly, yearly full backups, relying on hard links for files that don’t change. Handles both local and remote (to my Raspberry Pi).

kyle_u
I’ve spent five years and 100KLoC building https://github.com/kyleu/projectforge which helps generate and update other Golang projects I maintain. I use it daily.
bevesce-
I scrape all of the food, wine and beer recommendations that I find and display them on a map in a web app. I can see the list of all of the places that are closest to me: restaurants, wineries, ice cream parlors, breweries and so on. If the source of the recommendation scores places or products made by it it's part of the data and I can filter by the score. I probably spent many weeks working in it. I'd love to make it a business but I have no idea how to approach the legality of it. I use it all the time because I travel a lot.
SCUSKU
A few years back when I was looking for apartments in SF I wrote a craigslist scraper that would filter based on my preferences. I probably could've just used craigslist's built in filters + email alerts, but where's the fun in that?
booleandilemma
I see questions like this and I can't help but wonder about the motivation behind them.
acrophiliac
I built a bot to play my favorite word game on Android. It's not technically against the TOS but certainly against the spirit. It gives me an inordinate amount of satisfaction watching it autonomously playing the game and winning every time.
sirodoht
I've made frank! It's just a CLI wrapping pquerna/otp:

https://github.com/sirodoht/frank

I use it all the time in combination with pass:

$ frank $(pass hetzner.com | sed -n '4p') | c

hugocbp
I created a personalized finance app based on a Google Sheet that I used to track my registered account contributions and performance.

Basically I enter the transactions and it shows a dashboard of my contribution rooms, how much is left, how much I have already contributed, etc.

Nothing fancy, but it just just a Remix frontend with MantineUI backed by an SQLite db inside Dropbox. Took me about 6 hours, and I only made it after I botched some changes I made into the Google Sheet that broke a bunch of formulas.

I thought about making it into a public app, but it is so tuned to what I want that it is probably not really that valuable to others.

I use it every time I save. Used to be weekly but lately monthly.

inbetween
I wrote a cross platform outliner 20 years ago that I have been using almost everyday since. I have more than 60'000 headers in there, with my notes about everything.

Right now I'm building a flutter/kotlin meditation timer for myself.

heuermh
All the time!

My most recent were tools to improve the AWS commandline experience for s3 and Athena

https://github.com/heuermh/cooper

https://github.com/heuermh/sea-eagle

Both are available via Homebrew

https://github.com/heuermh/homebrew-parquet-tools

I would next like to improve the TUI experience for tabular data, e.g. using the Charm_ Bubbles/Gum table component, but I have yet to investigate how the JVM <--> Go interaction might work.

ivylee
I created

- SignalsTalk[1] to study quantitative trading signals and algorithms, for my own curiosity.

- YCVerify[2] for verifying YC companies and founders. No one else is using it yet.

- Content Credentials API[3], to find the signatures of AI generated content.

I'm also working on:

- A search engine for online ads.

- A way to track grocery item prices from receipts using LLMs.

[1]: https://www.signalstalk.com/

[2]: https://www.ycverify.com/

[3]: https://contentcredentialsapi.studioxolo.com/

cardamomo
I wrote a little Swaybar script that displays the current weather. When I hover over it, I can see the hourly forecast and a few other details. It's not perfect, but I prefer the simplicity over a fully-fledged application.
fcarmona
I'm a web developer so I try to fix all my problems with javascript, one of them is maintaining my Plex library across multiple server migrations. I made this little helper I use as a bookmarklet to get a movie's name from an IMDB page in the correct format that Plex will identify without issue: https://gist.github.com/carmona/09cd03fddeb7db25ace42a21cf3d...
emarsden
I have a smartphone app that scrapes replay TV listings for a few shows that I like to watch at the gym and allows me to download the low-quality media stream to the phone to view offline ad-free.

I released the Rust library that downloads and reassembles media segments from a DASH stream (https://github.com/emarsden/dash-mpd-rs). Won't release the web scraping bits because they are against website terms and conditions, and because annoying countermeasures will be implemented if too many people use them.

spikey_sanju
I created https://uiino.com (painless planning for your app with AI).

As a product studio, we spend hours brainstorming and creating user flows, feature ideas, and edge cases. I prototyped a solution on a weekend and now we use it daily, saving time.

We released it publicly after a few months. We work on it every Friday, finding it enjoyable.

P.S. Got a startup, app, or website idea? Just describe it in plain language. Uiino's AI will generate your story maps in under 10 seconds. It's FREE! (No account required!)

mlhpdx
When I first started doing web programming I built an “asynchronous HTTP” thing that shuffled requests from a public facing server to SQS, and read respond from another SQS. The idea was keeping applications and their data very isolated from the public users.

Over the decades it evolve to a generic proxy that takes IP network traffic (UDP, ICMP, TCP and TLS) traffic, slices it into messages and forwards to AWS services (bidirectionally for Lambda and Step Functions, unidirectional for S3, DDB, SQS, SNS, Firehose, etc.). I use it liberally to avoid running “servers”.

KaiMagnus
I wanted to say my Figma plugins that I made for myself, but I published them so it doesn't count.

When I was around 15 I wanted to try out Win Forms. I also used to play a lot of Dota 2 so I created this app to calculate how many Techies mines would to take down a hero with X HP. Complete with sliders, input field, radio buttons and checkboxes to select ability levels and items. Pretty sure it will never get published, but the .exe is still sitting on my desktop.

https://liquipedia.net/dota2/Techies

claystu
I coded a simple, attractive Calorie Tracker that works across desktop, tablet, and mobile:

https://www.calories.claystuart.com/

silvanocerza
Yup, it's a stupid tool in Rust to keep my soundbar alive.

Turns out that JBL thought it's a good idea to completely cut sound when there's nothing playing and ramp it back up in a perceptible fraction of second so that you miss some part of whatever you're listening to. This is especially annoying when watching anything with people talking.

Here's the code for anyone interested, it also contains a more thorough rant in the README.md. https://github.com/silvanocerza/orpheus

notacoward
Yeah, since I retired four years ago the only things I've worked on have been like that.

(1) A script to solve a resource-allocation problem in Grim Dawn (ARPG).

(2) A tiny bit of code added to Garmin's developer kit, to pick apart their .fit files and show me some running metrics that were hard to get at otherwise.

I do have one other thing I've been wanting to do recently, which might even be worth putting out there if/when I finish it. Then again, maybe not. Having been a maintainer for a project with hundreds of contributors before, I can say that coding for oneself feels very liberating. Only as much infrastructure and process as necessary to get the job done. No need to deal with feature requests or bug reports. No commit races, or battles in code-review comments. You know the requirements perfectly (or have a perfectly compliant customer who is willing to change) so if you want to take a short cut you can. I was often a stickler for doing things "the right way" when I was working, but part of the reason I left is that my work seemed to be all about shepherding the process and not the joy of making code grow and do new things. Having total freedom on a project, even a small one, is good balm for a jaded programmer's soul.

airstrike
I wrote an app that takes all localized strings in an Xcode project, turns it into a json, batch translates it with the OpenAI API, validates the json, and then converts it back into a .xcstrings file that you can drop into your project. I was writing an app that I wanted to translate into X different languages, of which I only spoke a couple and not perfectly, and this was the solution. It turned out pretty good.

I've considered putting a little bit more elbow grease and turning into a packaged product but I'm not sure if there's demand for it out there.

Sancty
I got really into breathwork a few years ago. For the longest time I struggled to find an app that had anything more than basic functionality. Also, I found it absurd that most wanted to charge a subscription fee.

I ended up creating my own application that lets me create advanced, multi-stage exercises. I spent time building the trimmings that I felt other applications were also lacking such as: background visuals with procedurally generated shaders, easy gestures, etc.

I think one day I'll publish it to the app stores so other people who had similar desires have something.

ChuckMcM
Yes. But the list is too long to put in a message here. Generally tools which do things that I needed done at the time, like convert PDF bank statements into CSV transaction files that can be ingested by a simple ledger application.

I always have a 'hacks' directory in my home directory of code that does something I need doing. Sometimes I use it again and again, sometimes its a one-off that answers a question.

I'm more curious though about the motivation of the question. What was the observation that got you to wonder about this?

julianlam
My blog (devnull.land) — I stood it up in a day or two, could run on a potato, and uses GitHub Gists as its data store. (More info: https://devnull.land/github-gist-blog)

My VoIP provider supports SMS, and exposes an API. The community-made app wasn't performant enough, so I cobbled together my own interface in a couple evenings. Then one day some dependencies shifted and it wouldn't start on the latest Node :\ Oh well.

lurn_mor
I wrote a hacky PHP web app that allows me to generate 5" Optical Media artwork for imprinting using a inkjet disc printer. My script loads it's own truetype fonts (to stay on brand) and produces print-caliber artwork in milliseconds, instead of minutes. I spent a single day mastering it, and have used it weekly for decades, saving untold hours of effort. Alas, this side of the business is failing due to lack of demand (who has an optical drive anymore??), so this code will also die someday.
dougdimmadome
A few I can think of

- Note taking app that stores all data as markdown on Dropbox

- When I was getting married I created a photo upload site with a flickr backend where people could bulk upload all of the photos they took of our wedding, and as a result we got thousands of photos without needing to chase people up for memory cards etc.

- Every year I organise Secret Santa for all of my family and my wife's family through a PHP web app I wrote.

willhackett
I've made an email-based AI personal assistant I thought I'd roll into a business, but ultimately have kept it for personal use. I may open source this as it's a fun project built entirely on Cloudflare Workers (with the exception of one Postgres DB & mail routing).

I've written some really crappy Notion API (before the official API) to act as a CMS for a headless site.

I'm at a weird point in my life that I need to work on these little hacky projects because they bring me genuine joy. It's like lego to me.

arusahni
I wrote a series of scripts that parse song names from my music blog RSS feeds, match them against my music service of choice, and then build 200-track playlists for me to consume. It's a great way for me to eliminate some of the drudgery of music discovery, especially in niche fields.

It's a series of Python scripts backed by SQLite and reverse-engineered API clients for various music services. Over the years I've switched the backends from Google Play Music/Youtube Music, to Apple Music, to Tidal.

scottshea
I created a little game for my daughter when she was 3. She would press a button and it would show a random picture. If the picture was her, it played a little song and said You Win.
1in1010
While there is a plethora of Python back-testing and trading platforms, I was frustrated with many of them for a variety of reasons and ended up creating my own. This now drives the back-end of my website https://sugradh.com. Not sure if this is what you have in mind but I have spent more time(years) doing this than I should have. But when something goes wrong or does not work I know where to look and fix it.
hitchstory
I created a command line app for applying jinja2 to orgmode. I did it to scratch the itch of being able to generate pretty latex PDFs for my CV and for printed letters with content from my note taking app on my phone.

I published it on pypi/github out of habit, but it's primarily about scratching my itch and I doubt anybody except me will really use it. There's some interest in doing this type of thing with org mode but it all centers around LISP and emacs (neither of which I like).

imclaren
Great question! Most of the articles I read only focus on apps with multiple millions of users, but most software has a much smaller user base.

I assume that most things I build will only be used by me and a small group of users, and sometimes will also eventually be used by others. I generally only build tools that I use every day. For example:

- iCloud/Dropbox alternative macOS, iOS, and web app

- task management GTD macOS, iOS, and web app

- photos api for digital photo frames

- media management

Mostly built using go for backends and SwiftUI for macOS and iOS frontends.

tnvmadhav
I dogfood almost all my side projects and a few are open for the public as well.

My most used (by me) software is my social media posting tool (twitter/x). It's public but I've disabled signups (due to free tier posting limits since Elon's acquisition)

> How did you make it?

It's written in Django and hosted on DO

> How often do you use it?

Almost everyday :)

Others are used intermittently and they include image generator, screenshot tools for iOS and macOS, etc.

smokel
I've written a fully functional emulator for the Philips P2000T, my first true love [1].

As I still haven't found a way to legally ship it with a ROM (partially copyrighted by Microsoft), I'll keep it to myself. If anyone happens to know someone who knows someone at Microsoft willing to help me with this, please let me know.

[1] https://en.wikipedia.org/wiki/Philips_P2000

wchandler
I built a checking program in C# to mainly use as a check register and balancing tool. Doesn't do double entry accounting. Also build a simple notes program in both C# and python that can use the same data file. Also did a cheap and dirty internet radio player on an old Rasp. pi. Used one push button to cycle thru a list of internet radio feeds. Plus an led that flashed the index of the list which gave me an idea of which station I was on.
carom
I wrote a desktop client for an IPTV service. They have a mobile app and Apple TV app that are good, but there was not a good way to watch on the computer.

I threw together a Python QT app that parses the show listings, displays them, allows filtering, and has some short cuts for searching IMDB and trailers on Youtube. The best part is that the media opens in VLC instead of some custom player.

Anyway, I will never publish it because of the whole facilitating copyright infringement thing.

Gualdrapo
Just silly stuff as my development abilities let me do - the most "significative" one is a remote control to, ahem, control my TV from my pc (to save some batteries from it and some peace of mind so I don't need to look for the remote control every time) - as a KDE Plasmoid w/ QML and some Javascript via IRCC-IP. It broke in the KDE5->KDE6 transition but I'll fix it, try to improve it and share it when I have some spare time.
javier123454321
I have like a dozen bash scripts that automate little actions locally. They each took from a few minutes to a few dozen minutes to make. I use them all the time at work.
ozfive
I brute forced the IR codes for my Cambridge Audio CXA81 amp, wrote a web server in go that has endpoints to correspond with the actions, wired up a Raspberry Pi Zero W with an IR transmitter, and wrote a Android app as a virtual remote control that connects over WiFi to the webserver on the Raspberry Pi Zero W. I wanted to control my amp from anywhere in my house and Cambridge Audio didn't make that Amp controllable through their app.
andruby
We use planning poker when evaluating our work tickets. I built https://pokershirt.dev as a small app for use to vote and reveal the votes simultaneously.

Created with an early version of Phoenix (and re-created with LiveView)

Here's a link to a room so you see it with multiple users: https://pokershirt.dev/r/hn

RBerenguel
Weave: https://github.com/rberenguel/weave

It's hard to explain what it is. Think personal knowledge manager text editor inspired by Acme. The readme and video there are very outdated, I add features faster than I update that (as the only user this is what I get). I post videos of new features on twitter though, as a reminder to myself of where I passed through

sohzm
Made a browser app which used androids web view, added a few buttons and gave it to a friend and forgot about it. About a year later he messaged me he still used that dumb app. Lol

Also made a notes app for Android that just had one text view with only options to edit text and save it. Used it for years for pasting random stuff, and gave it to a twitter friend and forgot about it. Connected with that friend years later and he said he used that app as well :)

wewtyflakes
A `jshell` wrapper that inherits the classpath of the current Gradle project. Wrote it using plain Bash, and it comes in handy when working with Java projects.
kitallis
Yes!

The two most used ones in the past few years:

WAP – a small utility to control my balcony-local drip irrigation system https://github.com/kitallis/WAP

hisaab – expense tracking and categorizing because my bank doesn't do apis and sends credit card reports in PDFs https://github.com/nid90/hisaab-clj

automatic6131
I control the RGB Leds of my gaming PC from the command line. And the overclock on my GPU based on the daily temp (this is just a few lines in a shell though).
WalterBright
I wrote a program "syncdir" that will synchronize two directories. I use it every day for making backups. I originally wrote it for DOS eons ago.
axegon_
Plenty as a matter of fact. Two large ones off the top of my head.

First one: cloud services are expensive and come with a lot of overhead. However I do enjoy the idea of lambda/cloud functions a lot but I didn't want to rely on cloud services for them, especially since I have a ton of hardware to self-host stuff. So I built a service which piggybacks on DIND where I could add templates for such lambdas for a few languages(just rust and python cause that's mostly what I use) where I can allocate some resources and build tiny containers. In order to avoid wasting resources, they are all off by default but through the magic of what I build(management and something like a reverse proxy + container management for DIND), I can call an endpoint, which will check if there is a container to handle the requests and proxies the request and response to and from it or it will spin up the container, do the same and shut it down after a pre-defined amount of time. You could argue that I could have achieved the same with minikube or k3s but this has proven to use a lot more resources compared to a single rust binary I can run on anything x86 with docker on it. The downsides are that I can't distribute it across multiple servers so it only runs locally. But that fits my needs perfectly. There might be some people that would be interested in it but I never got to open sourcing it so I'm the only user. I've been planning to open source it "next week" for the past 2 years or so.

Second one: I love data. Specifically unstructured, raw data and I've been collecting a ton of articles from the internet over the past 2 years or so. The ingestion involves a pipeline that automatically processes them and extracts data/makes them a lot less unstructured: events, locations, timestamps, what has happened where and all that jazz. It's a long list of ml models, data transformations, validations, 3 llm's fighting each-other and a bunch of other stuff. Kinda feels like a child to me so I don't want to open source it. I know that I could hypothetically convert it into a product and make some money off it but my past entrepreneurial experiences have been very unsuccessful, I have limited time and lack motivation. So at the moment I'm simply enjoying the data getting spit out on a grafana dashboard such as this [1].

[1] https://i.imgur.com/fAoQghk.png

piloto_ciego
I have a notepad I built in Python that I really like. I keep a running list of notes in it that’s always available by typing “notepad” into the command line.

I have soil moisture sensors for my wife’s plants (and an air quality sensor) that’s generating a constant stream of sensor readings. I wrote my own OTA updating code for that because I was frustrated at having to plug in sensors to update the code.

I have a few calculators too.

torstenvl
I think most software developers create software that's specific for their own use, not for release.

A big chunk of these are proof of concept programs, test code that is good for trying an idea but won't be complete enough for a test suite in the end result.

Others are random data fixes when you're migrating file formats or end up with a bad CSV or something.

I have a toy program that just tells me what a keystroke looks like via raw mode.

goddamnyouryan
This link orginization tool: https://link.horse

The key is using the bookmarklet.

Epskampie
Yes, I've got a shopping/todo/whatever list app that I made for myself and my girlfriend. So far it has multiplayer editing, offline mode, suggestions when adding, scraping ingredients from a recipe site we use. I love that I can just add random things that I need like that last one. I hate the multiplayer syncing, it's kinda brittle. I guess I spent around 20 hours on it.
codingdave
Quite a few, but the one that may be unique is a tool that scrapes the location data from an eBird list of rare birds sightings in my area and pops up a map for me, so I can see if any birds have been sighted near me that I don't already have on my personal birding list.

It only took about 15 minutes to throw together into a bookmarklet, so it was a really low effort, but I use it daily.

zem
https://github.com/martindemello/anthill

does fairly basic word search stuff, and there are lots of more sophisticated programs out there, but none of them run in a linux terminal and that's what i wanted. i have it constantly open in a tab, for various word game related things.

pryelluw
I have a forever project that is only meant for my needs. It’s basically a web app with a bunch of tools to make my life easier. Things like a links board, blog engine, event tracker, and more. Now I’m adding an llm to include better search abilities. The thing is pretty nice and fast. Uses a simple architecture because I don’t want to spend a lot of time maintaining it.
ecesena
https://priceeth.github.io

First commit was 8y ago. It's the only tool I've been checking consistently multiple times/day.

Originally react, recently (like 2y ago lol) I rewrote it in svelte focusing on page speed and added some minor features like changing the symbols to track in local storage.

idatum
Often for me, it's building my own software around another FOS project. Home Assistant (HA) is a good example. I have several sensors that I collect via my own Zigbee, BLE, and RTL-SDR clients which output readings as MQTT messages.

The only thing HA does it display them via their MQTT sensor/event entities. I'm not a big fan of developing UIs.

mynegation
I was unhappy that bike share app in my city does not do a good job displaying availability of bikes or docks on the map so I wrote my own web app that gives me color coded availability of bikes and bike docks near my home, my typical destinations, and my current location (geolocation is supported, had to figure out https for it).
beretguy
Currently working on a hub of “simple apps” which currently include a basic social network and car maintenance tracker. I plan to keep adding more useful apps, for example next on my list is budgeting app. Also will make it a PWA so that I can get notifications for example about posts from friends or maintenance reminders and such.
vishalontheline
I've made some quick stuff:

- Created an /etc/hosts file switcher script to swap out websites that I allow myself to visit during working and non-working hours.

- My ISP provies dynamic IP addresses, so I created a IP address updater script that lets Cloudfront know my updated IP, to among other things, host a website from a personal computer.

_jsdw
I made Highscore (https://github.com/jsdw/highscore) just for the purpose of keeping track of high scores with somebody on a few karaoke games that didn't track individual peoples scores.. never been used for anything else :)
sawaali
I made a music app for iOS for myself, after not finding anything that did what I wanted as a non-streamer: visualization, audiobooks support, section loops, bookmarks, sleep timers, import from any source, etc.

In the end, I did put it on the App Store (after months of cleanup!) but it's easily the most used app on my phone.

suriya-ganesh
I've written a bunch of web apps, extensions and bots to help me with tasks, taking notes on articles and books.
KolenCh
A static site generator tailored for my own need.

A python package to code up reusable TeX expressions, which is used in the said site generator.

A python library for trip planning which let my wife make plans using Google MyMaps and Excels and then my library syncing them up and also shows some visualization in Jupyter Notebooks.

junon
I created a component downloader from Ultra Librarian that imports directly into an in-repository KiCad library, along with models, metadata (Mouser ID, arrow ID) etc.

It was named out of annoyance so it doesn't have the most 'appropriate' name so I'm probably never going to release it. But it works very well.

ryanisnan
I wrote a python program to accept in a list of lumber cut dimensions I want, and it determined the optimal cuts per board, taking into account blade length.

It minimized waste, and told me exactly where to cut.

Valord
About 3 years ago I wrote a web app to make browsing and categorizing my YouTube subscriptions easier. I can, for example, select the music category and see all videos posted by channels I have marked as music. Really simple stuff backed by a sqlite db.

I spent a total of probably 20 hours on it and use it 5/7 days a week.

igniuss
A framework to make presentations in svelte and markdown files, exports to a static website on GitHub, used it for roughly 12 presentations so far, a lot of them programming focused. I tried a bunch of different ones but none that made it painless enough.

Also a bunch of Obsidian plugins, to have nicer macros and templating.

winchester6788
I made https://github.com/notAI-tech/fastDeploy for ease of use of deploying Deep learning models.

Except me and the team at my company nobody uses it.

After I made it lot of solutions came in this space, but IMO this is the easiest one to use still.

hakfoo
A little Python/Tk script that scrapes weather.gov data and provides an icon with the local temperature and a forecast dump. It was sized to fit the fairly large-iconed dock of my X11 desktop and be a bit more modern than old WindowMaker dock apps.
benstein
I made my own webmail client in 2001. The killer feature was a Heart button that one-click opened a new mail addressed to my then-girlfriend-now-wife. I've never seen that feature replicated then or now. And since it was hard-coded to my girlfriend, it was clearly (hopefully!) not broadly applicable.
JensenKarlsson
I made a PWA for Miniflux because I'm a doomscroller deluxe and wanted a similar experience for my feeds [1]. It's nice to be able to tailor something for my needs specifically.

1. https://github.com/wolfhechel/sidor

endofreach
Most of the software i write is for my own use. But to be fair, most doesn't see any light of day still.
xnx
I couldn't find any existing tool or technique to condense periods of low motion frames in long videos so I wrote my own Python/ffmpeg utility with the aid of Google Gemini.

I love the results, though I have a strong hunch that there's probably a different processing approach that would be 10x faster.

fwsgonzo
I made a scripting solution for my game, mainly to keep motivation up. I really like writing an maintaining a high-quality emulator, while game development can be a slog sometimes. I believe this has kept me from losing motivation and perhaps it can be attributed to me one day releasing that game.
grogenaut
When I was growing gourmet mushrooms I was just sending data from esp32s and humidity/temp sensors to grafana/graphite on my nas. A few hundred loc total.

Many years before that I did sports arbitrage. Wrote my own xpath system before xpath for it. Worked great.

awesomestartups
I used to have python scripts that I wrote for my own use as the java packaging manager for a bank. Java versions are a moving target so it was difficult to build something that was generic and would work with each new release. I had to tweak things with most releases so I never published it.
paulcole
I have a bunch of single-purpose Google Docs extensions that I use every day at work. For example one sets permissions on Docs based on groupings of users that I have set up (HR only, Finance only, Leadership Team only, Just me).

I think it took me like an hour to make and I use it several times a week.

rldjbpin
a lot of cool projects here, but i will share my relatively mundane ones:

- made a tool to import all of my local music library to a spotify playlist by analysing the music itself. used a music tagging api to analyze a small section from the middle of the track to get its details. went through the effort because some of the music i had was very old and i did not keep up with updating their media tags.

- i finetuned musicgen on instrumentals of some of the music i like. i now have an interface that randomly generates a short track, which can sometimes create a nice banger. cannot publicly release due to licensing issues.

call me lazy and selfish, but i only bother doing things outside work if i am really interested in it and want to do it for myself.

dhuan_
I built mock, an api tool and testing utility to be able to quickly manipulate API responses and act as a proxy server at the same time.

After some time, I decided to open-source it:

https://dhuan.github.io/mock/

onassar
Bookee: https://onassar.github.io/extensions/bookee/ Chrome Extension to navigate my bookmarks a bit easier (I use the keyboard shortcut 50+ times a day)
ReK_
I wrote something to bulk download my library from Bandcamp and actually packaged it as an excuse to mess with github actions: https://github.com/ReK42/bcamp-dl
bachmeier
I wrote a productivity app for myself (basically my implementation of GTD). There are a gazillion such apps out there already, so I don't see a reason to share mine. I did it because everything else was either too complex to be practical or too simple to be useful.
eternityforest
At various times I've made apps for my own use. I tried a few times to do a DIY notes app.

But I usually find that the hassle of having to maintain it at random times whenever some platform changes happens, or else not be able to use some important feature,vis just not worth it.

textlapse
I would love to hear from people who created their own esoteric programming language or a game engine with no game in sight.

[It does speak to a time where people create something they truly are passionate about but may not fit into the typical optimization of PMF, growth etc.]

marak830
Voice controlled gaming assistant. Think of it as a copilot. I've since added overlays and responses.

Edit: As I think on it more (it's been a few years since I dusted it off), added multithreading so some commands could process over time.

It was a great learning experience.

ezzabuzaid
I built January.sh to finish more backend projects in less time.

Most of my freelance work is API development and most of it are repetitive tasks so I thought I could solve this through compiler generator.

Early this year I decided to open it up for others, still beta though

tealpod
https://HelloEle.com is a Cli tool to upload, download files with numbers.

I built it in the process of teaching a cli tool. Which I extensively use to move files between computers, especially to servers.

lelanthran
Yes. My task tracker works better for me than anything else I've tried over the years (decades, even), including every single one showcased on HN.

It's quick to start, non-laggy to use and matches my thought process exactly. Has both a CLI and a GUI.

makz
I'm currently writing my own hashmap implementation. The goal is to make something small, simple, reliable, and that anybody can quickly integrate into their own projects. So far it has taken me around 40 hours and it's 95% done.
Dachande663
Yes. Several.

- My blog, which has lots of weird pages for stats, time jumps, old games/tools/utilities. - Flight tracker app. - Home control app (because HA was a pain to keep updated). - Wood working tool helper for my dad.

And more. It's liberating.

steveridout
I've got a bunch of scripts to handle my finances, both personal investments and to help with certain parts of my company tax reporting.

Among other things it uses ChatGPT to extract structured data from PDF invoices for reporting expenses.

galfarragem
A chrome app to help me visually acknowledge new crypto coins that reach the top on coingecko. I use it daily.

I made also a custom spreadsheet that solves the same problem but an order of magnitude more precise. I use it weekly.

burn_cycle
So many, it's why I got into the field I suppose.

Like everyone else, I have a hacker news client, which is "universal" (in the Apple sense), and is made around how I use the site. I might even release this one, one day.

qsdf38100
Most of my projects are like this. I’ve lost hope of convincing anyone of the usefulness of anything that’s not trendy.

I’m most confortable with modern C++, win32, boost, and I love templates. Everything everybody loves to hate.

michidk
https://github.com/michidk/vscli

It allows me to launch vscode projects and devcontainers I often work on very quickly. Saves me so much time!

j45
All the time

Many little handy scripts and tools I might even put in front of a web script to share.

None meant to see the light of day or ship.

One way to do it is just list them on a public website for yourself to use

Let seo pick them up and you’ll see if anyone wants it too.

SoftTalker
I pretty much stopped writing code for myself/as a hobby when I started writing code as my day job. There really is something about losing passion for a hobby once it becomes work, at least in my case.
sosborn
My favorite personal project is a Japanese-English dictionary with full-text search (thank you JMDICT: https://www.edrdg.org/jmdict/j_jmdict.html).

It's a Rails app and includes a flashcard system to help me study. It also emails me a daily list of 5 vocabulary words to study.

I use it all the time and it took about a month to get it into a state where I felt comfortable deploying it. I'm about to add a feature that will use the devices camera to scan and extract a vocabulary list from the image using OCR (I'll use this when reading Japanese text).

It's useful for me, but more importantly, it's fun.

rqtwteye
When I was freelance I had my own accounting software. I added things as needed and over the years it got really powerful. The whole thing was written in VBA with MS Access as backend.
vborovikov
an online store item price watcher - saved me some money while shopping online

a feed reader - I was never satisfied with other feed readers so I've built my own

small utilities I use from time to time

All these apps were in active development for at least a year each and were deployed to my home server where they continue to work to this day. I fix bugs and add new features when I have time. Many of my apps use the libraries I publish publicly. It's always a pleasure to work on my own projects.

broast
I use a notepad I created for myself where each line displays a timestamp of when it was last modified, for my personal note taking workflows. Html/vanilla js.
olalonde
Coded a microcontroller that allows me to open my gate using my phone so I don't have to carry the gate remote around. Also convenient when I have guests.
rpastuszak
Yeah, quite a few! Here's the list: https://untested.sonnet.io/Projects+and+apps+I+built+for+my+...

Two highlights:

Enso (https://enso.sonnet.io) - I use it every morning and generally keep it open throughout the day: https://untested.sonnet.io/Stream+of+Consciousness+Morning+N...

Sit. (https://sit.sonnet.io) - I use it every morning and on some afternoons (I start my main job after lunch)

I made those for myself, and made them public after chatting with friends/colleagues, that's why they're available online now.

I also have a bunch of small scripts/apps/productivity tools (automate boring job tasks).

jim_lawless
A set of Python PIL scripts for generating background / wallpaper montages. One of the output montages is here :

https://jimlawless.net/magsbooks.jpg

A Perl script that formats a bbcode-like markup to HTML for some of my web pages.

A mostly-Powershell script that stops all Windows features and apps that I don't want running. Some features/apps start up again after Windows updates, so this shuts them back down.

Some SMTP/POP3 scripts that I use in various languages to automate email management.

An ffmpeg script that converts an MP3 coupled with a static image to an MP4 so that I can upload podcasts to YouTube. I did provide this on a Twitter/X post once, so maybe it's not something I've kept to myself very well.

Some ffmpeg scripts to convert M4A audio file to MP3.

I have a web page that just displays the current time every second that I use when timing things. It's all very simple client-side JS.

...and others.

dirteater_
I hate flashcards so I made my own app for studying Chinese after finishing HelloChinese. Very similar interface, but allows me to bring my own content.
fullstick
I made a compass app for when I'm driving. Shows direction, speed, and coordinates. Doesn't work of you're not moving. I love it.
hobs
A recipe scraper and rehosting website that nobody cares about but me, a slack/mumble/link checker/duper and chat logger, a bunch of arduino/espressif stuff to manage and control little projects like a home gardening, a suite of database synchronization, troubleshooting, and monitoring tools.
denvermullets
some very cool projects here!

the app i use the most is a simple budget app, no connecting to external accounts. just built w/react and uses localStorage for storing info. i think i spent like a week on it and i definitely am the only one using it. https://simplebudgetcontrol.com/

another app i still use is an app that tracks my magic the gathering collection, ha. rails/react and lots of outdated frontend code that i started to refactor and then realized i'm the only one using it so who cares haha. https://www.99staples.com/collections/denvermullets/9

i just recently started working on my own event server in rails (similar in idea to mixpanel) and have it deployed for my portfolio site.

love starting projects and getting them rolling. i wish i could just work on stuff i cared about all the time honestly

stefanve
created a car selection script, that collected data from several platforms, reliability data, occasion adverts, safety data, reviews and specs.

I used it to buy a secondhand car based on several parameters (price, doors, features, reliability etc) and by assigning weight to the parameters

Python in total a day or so of work (including tweaking and adding features) only used it a couple of times to buy a car

sghiassy
I wrote some scripts that convert my Quickbooks accounting data into detailed reports that are insightful to me and beautifully printable
hdjY28
I built a macOS app to securely encrypt my personal files. My password is converted to a key that’s used to decrypt files
binary132
I wrote a portable Lua based build tool for C and C++ that I use pretty religiously. I have no plans to publish it.
heintzsight
I built a payroll system for my business.
heywire
Personal finance application, use it weekly.

Plenty of scripts and stuff to automate and data log various things in our household.

nashashmi
I built a tool to upload photos to arcgis. never saw the light of day. but I had nothing against sharing it.
SinisterAlex
I created a pollution-tracker app with functionality so i can track pollution i remove and GPS-tag it.
croisillon
most software i created were made in a couple of weeks for mostly one person (with me dogfooding as much as possible of course):

- text format conversion for a former coworker

- bookmarking for my sister

- calendar & bank account "manager" for my gf

- local weather log for my former boss

mharig
I made a CLI password manager with Python.

It uses PBKDF2HMAC and Fernet to encrypt a SQLite DB.

01HNNWZ0MV43FF
I've made myself a couple music players over the years.

Around 2007 VLC and friends didn't automatically obey play-pause buttons when they were minimized, even though most dedicated music players did. But I found the dedicated ones like Amarok difficult to use. So I made a GUI music player that basically shuffled my whole collection and let me play, pause, skip, and play the previous track using my laptop's media keys. I miss that laptop.

Later I made a web-based so I could listen to music at work without loading pirates music onto a work system. This one isn't as good, but at least Firefox automatically handles play-pause for me.

Also it's a huge bugbear for me that someone decided soft buttons means we can combine the play and pause buttons. Let them be idempotent! Sometimes I want to be sure it's paused!

My next project is a thing to replace Jellyfin, and I might actually publish that, so I won't get into details.

By amazing coincidence someone published a similar project here on HN right after I started on mine. But I have different features planned for mine so it's fine

Oh yeah I used those music players nearly every day, especially the web one since it also works on my phone. I probably put 200 hours into the desktop one and 50 into the web one. The desktop one was a case of having to also learn a GUI framework, and gstreamer, plus it supported a couple of Internet radio stations and just had way more features than the Web one.

tpoacher
I mean, others can use it too if they want, obvs, ... but, yes.

e.g. my misc-updater, I use daily, to check Manually-Installed / Source-Compiled (MISC) packages for updates! [0]. Works like a charm.

I also do all my bugtracking / milestone planning via my bashtickets program too (Ticketing for the terminal using structured textfiles. Implemented in bash. [1]) though technically this is still under development as it still lacks a couple of features "others" might reasonably need. But for me, it's already perfect at doing what I need it to; I've already worked with colleagues on some pretty large academic projects with this, where all we had was access to an ssh server with no gui and no root access! Works great, and is git friendly!

[0] https://git.sr.ht/~tpapastylianou/misc-updater

[1] https://git.sr.ht/~tpapastylianou/bashtickets

ceritium
keepthis.site its open, i did It for me, there are some signip but i think i am the only active user.

Also consumebefore.jose.gr and a few small tools you can find on my blog.

uptownfunk
why does everyone make their own note taking app - is it easier to specify the app in code than to build an app that gives you what you want?
cfeeley
I wrote a tool in Haskell that continually polls my city's (Toronto) bike share API and dumps it into a database, along with a web server component that does a bunch of on-the-fly analysis of the data and serves that up as various visualizations and stats.

I got so frustrated with my city's bike share program one night and I wanted to figure out whether the problems I had been having were widespread or not.

Surprisingly enough there's a standard for bike share APIs [0] that my city adheres to. I'd been looking for an excuse to learn Haskell and figured the best way to stay motivated was to make useful tool for myself.

I've been working on it for the better part of a year at this point (probably >200 hours) and I use it roughly daily. After gathering a few months of station-level data it became clear enough that the system (specifically, how the e-bikes are handled) has some pretty serious issues.

I ended up sending the city a couple of freedom of information requests for some data I was missing and for the contract between them and the company that operates the system. The contract says that the operator gets paid a fee for every dead e-bike they move to a charging station - regardless of whether or not that bike actually manages to charge.

The city owns around 2000 e-bikes and there are frequently times where a whopping 20 are available - the rest are out of battery, sitting in docking stations for multiple days. Occasionally the operator shuffle the bikes over to the handful electrified charging stations, and about half the time the bikes don't charge (they just completely fill the stations, meaning nobody can use them - one of those stations happens to be right outside my partner's place). Then 4-7 days later they come around in a truck and get rid of the bikes, and the whole cycle repeats again in a couple days.

Basically, we're getting fleeced by the system operator. It isn't even clear to me if it's intentional or not, or just the usual combination of lax municipal oversight and an apathetic operator.

I've been meaning to send my data and the contract over to a few reporters who care about that sort of thing, since (a) the bike share system is genuinely a great way to get around (when it works) and (b) financially it's really good value for the city [1], and I'd like to see the problems fixed (especially given that the city is planning on massively expanding the e-bike fleet).

[0]: General Bikeshare Feed Specification: https://github.com/MobilityData/gbfs

[1]: The per-trip subsidy is $0.67, versus $4.08 for a trip on our transit system (!)

Doches
I’ve probably made dozens of tools for myself that no one else uses, but — sort of by definition — none of them are publicly available. Who needs my orchestration app, access control UI, or Jenkins replacement? Nobody, that’s who.

But a few years ago I took a couple weeks out and polished up one my personal tools for public use, and since then it’s seen exactly one other user. So, uhh, I guess that counts? It’s called Saascast (https://saascast.io), and it builds revenue forecasts based on your Stripe subscription data. Took me probably two weeks to build, and required maybe half an hour of maintenance per month on average.

I use it every.single.day, though.

EddieLomax
bookmarking system, made for me by me

https://bookerics.com

publicdaniel
All my software
spacecadet
Tons. Lots of little games, a complete suite of data ETL tools, lots of stupid ML projects I never made public. A repo full of AI interpretability scripts, a private RAG bot, several private MoA type bots, extensions of nmap and wireshark for my side businesses, lots of payloads... I also like to try and implement papers for fun, I have this stupid toy that does deepfake detection using line detection, perspective checking and some ray tracing.

Much of it is absolute hacky python garbage that Im fine adjusting to my needs, but don't need the burden of it being in the public.

Timshel
Does not strictly match the "will never see the light of the day for anyone else."

But forked an ActivityPub server (GoToSocial) to proxy Rss feeds (https://github.com/Timshel/RssTooter).

Spent a couple of days on it initially (but had made something similar for Nitter before). Mainly use it to track Xkcd and software release outside of Github.

Ey7NFZ3P0nzAe
I'm a medical student with FOMO and who loves AI stuff. I have about 70 public github repos that nobody uses even though I take pride in at least trying to use good code and documenting everything.

Here's a highlight (edit: more like an ego dump)

I couldn't keep up with my news so I made the perfect summarizer that goes through the thought process of the author : https://github.com/thiswillbeyourgithub/DocToolsLLM/

I needed an AI based system that go through my anki cards, but might as well make it able to read dozens of file formats. Now I can put entire medical youtube playlists, conferences, anki databases, hundreds of PDFs and ask a single question across all of them at once : also https://github.com/thiswillbeyourgithub/DocToolsLLM/

I couldn't keep up with my anki review so I made an embedding based review reranker (one of my first ever project!) : https://github.com/thiswillbeyourgithub/AnnA_Anki_neuronal_A...

I needed to make my sleep more efficient : micropython to the rescue : https://github.com/thiswillbeyourgithub/sleep_tracker_pineti...

I wanted to store everything and anything in Logseq ttps://github.com/thiswillbeyourgithub/LogseqMarkdownParser and https://github.com/thiswillbeyourgithub/LogseqPDFImporter

I was so late for my medical exams I needed to learn FAST : I made an incredible app that turns hours long recordings of you talking aloud while reading your PDF into hundreds of flashcards that learns to mimic your style by using previous validated answers etc. Using stt and LLM. This one is not out yet but will be.

Also I made scripts that automatically reformulate old bad anki cards into more appropriate ones.

As well as creating complex mnemonics stories and images automatically added to your anki cards. Not yet public.

I needed help to sort through my many todos so I made an ELO based reranker made to be used in the CLI (careful, wet paint) : https://github.com/thiswillbeyourgithub/mini_LiTOY

I wanted my anki OCR to be more legible so I made tesseracts try to preserve spacing : https://github.com/thiswillbeyourgithub/OCR_with_format

I lost my voice for some time but needed to be heard so I made speech.sh : https://github.com/thiswillbeyourgithub/speech.sh

And quite a few others.

irskep
I wrote a web site builder that I only use to host my indie bands' web pages. It's got a very silly backend vs the potential target market (musicians) in that it makes you write Markdown, so I don't have delusions of grandeur, but it works well for my simple hosting needs and lets my bandmates make changes without going to git.
brink
I made aquinas for myself. The source code is out there, but I don't think anyone else uses it, but I use it almost daily. https://github.com/codabrink/aquinas

It's a media player that sits in the console.

kleiba
Isn't that the majority of software one makes?
windowshopping
Yeah, built an entire magic the gathering sandbox to play online with friends because I wasn't happy with existing options. Mentioned it once in another thread here but have otherwise never shared it.
jimnotgym
Yes, and I won't even tell you about it
impossibleline
I love to build things, and it's especially fun to build stuff that solve my own problems, but it's tricky to find enough time for larger pet projects on top of a full-time job, so most of my personal projects tend to be smaller scripts that try to do one thing well, and require little maintenance. I have created a plethora of scripts over the years that help me avoid doing boring and repetitive tasks and save me time in the long run. As I wrote these scripts for myself, these are either too opinionated, or depend on some of my other scripts/libs, and not well documented, so it's problematic to share with others. To name a few:

- A bash script to easily keep track of and manage multiple git repos. There are many similar projects out there, but I couldn't find one that fit my needs exactly.

- Bash scripts that automate most of the periodic backup, update and cleanup process on my various machines. There are many things to backup (e.g. git repos, documents, notes, calendars, and other apps) and update (e.g. OS, packages from various pkg managers, plugins, stuff installed with standalone scripts) and most of these things can be automated to spare a ton of time in the long run.

- Scripts to declutter my downloads folder, which used to be a mess. E.g. automatically rename and neatly organize the downloaded invoices, warranties, movies, series, etc where they belong.

- Bash+pup+jq scripts to generate RSS feeds for websites that don't provide one, or not good enough, so I don't have to scroll through each one every day. E.g. new cinema releases, new products, and some blogs with no/insufficient RSS.

- A web change monitor script that periodically fetches web pages, extracts the relevant content with pup+jq+pandoc, and then commits and pushes it if there were changes. GitHub provides an RSS feed of the repo changes with a link to an excellent diff interface. E.g. product promos, and wall-of-text changelogs.

- A price tracker script, that uses pup and jq to extract the price of various products and notifies me of about price drops using a telegram bot to spare some money.

- Bash scripts to automate the process of setting up various operating systems with the necessary tools I need on a bunch of machines, and to version control the config files, so I can easily set things up again without having to spend a lot of time with the migration, or worrying about losing sth.

- Bash & powershell scripts to debloat Android, Windows, Mac and some Linux distros from the unwanted, performance hogging, and privacy-invading pre-installed crap and "features".

- Userscripts to reduce unnecessary distractions and annoyances on the web. E.g. debloat Google, YouTube, Reddit, re-enable copy-paste, Jira ticket UX improvements.

- Python code and shell scripts to semi-automate double-entry accounting with beancount.

- A ton of small scripts for more efficient work ...

yellowapple
I routinely turn any task I need to do more than three times into a script that automates it. I've published a couple of these, like

- This pair of scripts for starting an RDP session with a resolution matching the size of the current window (from back when I was using herbstluftwm): https://gist.github.com/YellowApple/6e6134b7493485aa3e56f255...

- This script for running Windows programs in a specified Proton-managed Wine prefix (though nowadays there are better tools for this): https://gist.github.com/YellowApple/8f91daf000153195e643e8d7...

- This script that populates ID3 tags for MP3 files I've downloaded (via youtube-dl or yt-dlp or whatever) based on their filenames and folder structure (so that I can easily play what I want from a USB stick plugged into my truck's head unit): https://gist.github.com/YellowApple/7b9cc54cf6fbc20bf79cf240...

but a lot of them I've never gotten around to uploading, and most are buried away on old machines (or backups thereof) or lost forever on employer-owned machines that got presumably wiped after I left.

This post did, however, inspire me to go back through some of those backups and look through some of those scripts. Some results after a few minutes of spelunking and reminiscing:

- A couple Perl scripts that would convert hex digits into eight-dot Braille characters (to represent a fictional country's number system, back when I was actively roleplaying on NationStates.org as a teenager)

- A trio of Perl scripts to turn CSVs into SQL insert/update/upsert statements (possibly related to the time I accidentally blew away some of a prior employer's production data; we couldn't bring down the whole DB to do a normal SQL Server restore, so instead I pulled up the CSV dumps of the relevant table (for our ETL pipeline) and used those to build the necessary inserts/updates to restore what got deleted)

- A one-liner `tr '\r' '\n' < $1 > $2` called "mac2unix" because I was trying to import a CSV into SQLite for some analysis but the sender created it on a Mac and of course the default spreadsheet app still uses lone carriage returns for linebreaks like it's nineteen-eighty-fucking-nine

- Another one-liner `exec xdg-open "$@"` called "open" (don't remember why; maybe because people kept sending me shell scripts written on Macs?)

- A whole bunch of other little scripts to populate toolbars from my herbstluftwm-using days

- A bunch of scripts to generate ZPL code to print various labels on Zebra thermal printers

bcl
yes.
davidguetta
Nope
foxhop
[dead]
cannibalXxx
[dead]