I though of asking you, people at HN, what kind of "scratch your own itch" projects have you done or are doing?
I'd like to do something computer related (to learn some Golang), but I'm curious about non-computer projects as well.
I hated angular when it first came out and couldn't believe what insanity people were willing to put up with, so long as it came from google. (e.g. GWT) I created https://intercoolerjs.org out of frustration with that, and the lack of progress in HTML/hypermedia in general, so I could build a web application I was working on (https://leaddyno.com, since sold).
When covid hit I took a look back at intercooler and decided that it was really two things: HTML++ and a scripting language, so I split it up into htmx, focused just on the hypermedia angle, and hyperscript, the scripting language I wanted for the web (derived from HyperTalk, and old scripting language from HyperCard on the mac).
I now use them both professionally (email me if you want to use them too.)
We observed that doing activities in the presence of others overcomes HUGE hurdles in motivation (called body doubling in ADHD communities, but also known as social facilitation: https://en.m.wikipedia.org/wiki/Social_facilitation). It's an incredibly interesting effect and something we are excited to share with others as we build it out and discover new ways to tap into the phenomenon.
I now deploy the vast majority of my personal projects with it (including container-based ones, actually).
A while back, I wrote a command-line dice rolling program[1] that handles a bunch of esoteric dice notation syntax, both because I was getting into a D&D game with friends, and because I wanted to practice writing a non-trivial parser. (My D&D group pressured me into buying real dice anyway after I rolled five consecutive 1s in a single session.)
My current keyboard is an Ultimate Hacking Keyboard, which I like very much, but the one thing I miss from a more traditional layout is the nav cluster (arrow keys, plus the 6 keys above them). Of course these are accessible via the Mod layer on the UHK, but when I need to do something like Control+Shift+Right to select text, adding Mod into that as well becomes a bit much, so I'd prefer to have dedicated keys for these. So, I recently ordered a keyboard kit that is just the 10 nav cluster keys, and my next small project is to assemble it.
2) Discovering audiobooks I'll enjoy. Someone here on HN mentioned "random sampling" as a great technique to get a feel for a domain without getting biased by one's pre-conceived notions. I thought that would be awesome for books, to literally "not judge them by their cover".
3) Search engine for pre-owned Teslas. Quickly see what's good value based on age/mileage per price, as well as being able to see how long I'll have to wait, on average, to get a particular set of features for a particular price (based on historical market data).
Plus several others.
I once needed a database of EV charging locations, but at the time(2011) there were no open databases, so I built https://openchargemap.org, that now serves millions of API queries per month for other apps and services
For another project, I recently wanted to control my guitar amp (a Positive Grid Spark) from my computer instead of using a mobile app, so I built https://soundshed.com which is both a bluetooth web app and an electron app you can install. It now has a few thousand users :)
And finally, another time I had some SSL certificates I needed to manage for another project (for the above mentioned https://openchargemap.org), so I built a GUI to manage and renew certificates on Windows. It's now a commercial app with hundreds of thousands of users and it's my full time job: https://certifytheweb.com
So yeah, worth doing!
All major players in the field oversell their own solutions, and nothing of them works. It's always forensics, and too late to actually defend your computers. Every platform and XDR/SOAR solution is made for manual human interactions, for the sake of overworked 24/7 analyst teams sifting through millions of log entries per day.
The signal/noise ratio is just too damn low to be effective.
That's why I decided it's time to disrupt the market with a self-maintaining and self-defending system. After what happened to me ~a year ago, I pivoted from my peer to peer Browser network idea to a peer to peer Cyber Defense+Intelligence system.
Turns out it's a big itch for a lot of customers, too.
As it was a huge job, it was going to take years to write, and there was no pressure to get the job finished immediately. I could just work on it as much as was convenient.
https://github.com/cheat/cheat
I wrote it because I often forgot the shell commands that I needed to use on a daily basis, and realized that I wasted a lot of time Googling the same thing over and over.
The goal is to limit the environmental impact of serving web applications. Ideally memory usage should be less than a couple of MB for an idling server, a Docker container less than 100MB in size, and CPUs efficiently converting request paths into SQLite opcode and JSON responses.
Also, I made a utility to archive the full text of every website I view and store it in a SQLite database for searching. It’s proven pretty useful when I want to find something I saw a while ago and then forgot. (I haven’t attempted to open-source it, though — it consists of three entirely separate components, two of which were a pain to set up. I must try to get it into a more usable state one of these days.)
What else… my sound change applier [1], perhaps? Not that I use it very much, because I only need it on those occasions when I want to do some conlanging, which I haven’t had much time for recently. Actually, sound change appliers strike me as being very much a ‘scratch own itch’ type of project in general… sometimes it feels like every conlanger has written their own, and no two can agree on a nice design. Everyone just has their own unique preferred way of doing things.
The goal is to make practicing fun, while also making steady progress.
I'm not a good player at all, and I've struggled with practice for years. But I have no problems playing (practicing) difficult video games, that require a lot of repetition (think Celeste).
I think I've identified two major reasons why I never enjoyed it:
1. Classical music notation (sheet music) is just awful. It goes against most modern principles of easy-to-grasp information design. So I've come up with my own notation that is much easier to read and can be generated from musicxml files.
2. Practicing takes too much decision making and discipline. If you want to make progress, you have to constantly remind yourself to practice the parts that you're not good at yet - this is a surprising amount of mental overhead and requires lots of discipline. So the app I wrote listens to you play via MIDI and keeps track of which segments of a piece you're already good at, and automatically gives you those you still need to practice more - zero decision making required. You just play whatever the app gives you and after a few weeks/months you're suddenly able to play the whole piece.
The app is no where near ready to be shown, but I'm confident at this point that the concept will work.
I've been planning a longer write up on this for a while, if you're interested in reading more about it, please let me know, that would be very motivating :)
Also wrote a behavior graph library like Unreal Engines blueprints, intended to be used by say no code Threejs projects, and it works well: https://github.com/bhouston/behave-graph
Stuff as old as:
/home/pub/oldbackups/hddConner800MB1998/olddos/...
Yet I like to try to keep everything personal. I've got nearly all my emails. Since the nineties. I still have my DOS source code files.Same for the more recent stuff.
This is saved in many places.
Yet at times I like to organize some of that mess. There are files I definitely don't give a crap about anymore: files/directories from that old Windows driver for that long gone laptop.
So I wrote my own system which allows me to "tag" files and directories based on their cryptographic hash (I'm using Blake3 for it's very fast). I can, for example, tag a file "for deletion". No matter what, when file with blake3 hash 0c340c79... is found, it can be deleted.
I'm also not happy with hash-based content addressing systems I found so far, so every file that's never ever going to be modified again got part of its hash appended to its filename. So I can also verify that the file isn't corrupted.
And it works as a file deduplication system too.
It's not a big "scratch my own itch" as I'm reusing lots of stuff that already exists but it's lots of fun and works fine.
It's very satisfying.
No more: "but I already deleted that, why do I need to delete it again!?".
Instead I launch my berzerker (that's how I named it) and it goes berzerk.
Some light technical details and links to much of the project's code can be found here: https://8bitbyte.ca/sailnavsim/code.html
A band rehearsal recording management website. Uses much of the same code as the previous. Suggests the canonical names for songs based on the file names. Songs can be searched by name, date, or tag (any arbitrary value). This replaces a shared google drive folder with subfolders by recording date (great to find the most recent run through a of songs, bad to find the best run through of any given song)
[1] https://github.com/kcctl/kcctl [2] https://mapstruct.org/
One is a command line based database browser/editor. PhpMyAdmin for the terminal, so to say. I do all my database work inside of this editor. The terminal is just so much faster. And has many benefits like that I can use it over ssh and in containers.
Another one I started recently and already use is a terminal based project planner that is completely file based. Each task is a text file.
One that I am currently planning is an ActivityPub client. Like Mastodon but way way leaner. For now, I am basically playing with ActivityPub requests on the command line. Later, I will add a Python web interface on top of it.
Started as a side project to help me make gif memes, turned it into a bachelor's thesis project and made over 2.5k USD in watermark removal purchases.
I know enough to start some project which would help in learning the language but haven't pulled the trigger yet. Nothing like stumbling around trying to figure out how to get something to work in a new language to get a deeper understanding.
It's quite an interesting language; completely different from Python, JS and Java that I use.
A side benefit is I've learned emacs well enough to be productive enough to use as a daily text editor.
I built an educational KV store to teach someone to write a database from scratch. I have set up this project in TDD fashion with the tests. So, you start with simple functions, pass the tests, and the difficulty level goes up. There are hints if you get stuck. When all the tests pass, you would have written a persistent key-value store in the end.
I got a bunch of weird Tor signups so I turned off new sign ups. But a handful of family and friends have accounts and we send each other postcards.
It is the most embarrassingly bad Rails codebase I can claim, but it has Just Worked for 4 years. I did a complete rewrite with “best practice” React and learned Golang for the backend. And never launched it because the Rails site works fine.
For "inventory", it's just a custom state machine that can be scheduled in the past or future. And requests are things an area needs - which can be associated with an inventory item, or free text. This lets me pull up all requests when I'm at the store and see the kitchen needs apples, and the bathroom needs soap, etc.
Right now, I have a HUD for my front door (to remind me of things before i leave) a HUD for my phone/car (when I'm out) and then one for my kitchen, bathroom and hallway. I have the one in my kitchen magnetically on my fridge, so i can pull it off and take picture of food I'm adding. Will probably add one for my office next.
The difficult thing for me has been being the user more than being the builder and just focusing on the real MVP and then picking at it over time.
Working on cleaning it up and then maybe allowing others to give it a go - i feel like there could be some value in connecting people with spaces.
Just got finished on the 3D visualization of GPS tracks, now working on the user accounts to store/compare/visualize/share past activities.
It's definitely "scratch your own itch", as I'm building it to suit my exact needs.
One is 'automation of repetitive conversations'. It is actually another iteration over the problem and can be seen on https://discu.space/. I don't think I can do better presentation in text than in the video on homepage. I just beg anyone interested to hit me via profile instead of registering yet, as everything might explode for now.
It got me cool experience with making web extension as well as horrible experience of trying to get it through google webstore.
Another one is using sounds to maintain focus in changing contexts. There are SO MANY white noise etc. generators (and they are good), but none has low latency feedback mechanism to say 'more intense'/'less intense' beyond 'lower/higher volume'. So you can't for example overload yourself to start doing something and then slightly lower noise when you get to a hard part of w/e you're doing. Enter lacking a proper readme https://github.com/Nowado/NoiseGenerator.
As much as tkinter is a pain to use, it's my first project done with so much copilot. I don't think there are 100 characters in a row in this project that I wrote by hand. Also that operating system doesn't like when unknown Python code demands full access to keyboard.
I wrote a java-based "shortcut" program that runs on both the NAS and my Windows desktop PC.
This is so when I'm ssh'd to the NAS, I can just run a command to open any folder on the NAS in my Windows PC, and vice versa.
Basically both ends open a network socket listening for commands to execute on either side.
I can also enqueue music stored on the NAS in Foobar2k on my Windows PC, or play videos in VLC.
So in the ssh window to the NAS, I just type, "locate -i *michael*jackson* | onlymusic | sc enqueue", and that will enqueue all Michael Jackson music on the server in Foobar2k on my Windows desktop. On the windows end, if there is more than one file then it creates a temporary m3u (or was it m3u8?) playlist and enqueues that, instead of sending a thousand separate enqueue requests.
"onlymusic" is a simple tool I made to filter to only files ending in flac, mp3, wav, etc. I have "onlyvideos" as well.
It's the exact same program running at both ends, but it detects which PC it's running on by what OS is there, because it has to convert the paths to the files between both PCs.
I also set up right-click shortcuts that go the other way - they will open a new tmux window in the ssh session on the NAS in a particular folder.
It's probably all horribly insecure and took me much longer to create than the time actually saved by using it...
But it serves my purposes, and I learnt a lot by setting it up.
1. Making a SaaS out of open-source text search for searching source code because github text search was/is so bad. I went further with this any anything else, but even when I had payments and automatic processing of account activation and self-serve config, I didn't feel like putting any more effort into marketing/sales.
2. https://hackerer.news view (in Vue) for HN that doesn't mix new items with yesterday's popular items, and separates popular topics (e.g. twittter) from interesting niche ones.
3. Java library for bottom-up SQL query composition with type safety rather than left-to-right like Rails'.
4. And related to that a Collections like library that uniformly handles multi-, async-, error-, values. The pair of these was to make all queries handle the many case by default so there's never any N+1 inefficient queries written.
There was another few attempts at indexing old and new movies and shows to help discover things I'd like to watch. It used IMDB + OMDB data as well as other sources for newly available title listings. [Netflix used to work when they used star ratings and had a deeper catalog or recommending titles that weren't just popular even if I'd already watched them.] I was planning on connecting the listing to legal ways of watching them on various streaming sites as the fragmentation is the most frustrating thing. It was (at the time) not at all easy to find how to deep link to many of these and I stopped developing it.
I made it as an experimental social network after frustration with Instagram, Facebook, TikTok, Twitter, etc for not providing ample space for people to be heard and feel heard. It got a lot of attention hear on HN, but unfortunately I haven't had much time to iterate on it after launching it, but I'm still really happy to have done it.
Spodcast, a Spofify->RSS bridge [1], made it because I listen to netcasts while working outside out of network reach (forest and field work).
Reader, a native-look epub/pdf/cb[rz] reader for Nextcloud [2], made it when my daughter was issued an iPad at school on which she was not allowed to install any "apps" while I thought the thing was tailor-made for reading books. The iPad was returned years ago but I recently updated Reader to make it run again.
...and a host of small tools which I make just when I need them, dumping them to GH for all to peruse, e.g.:
ZMapi, a Zoneminder CLI tool [3], made it when I installed a video surveillance system in the new barn which uses Chinese cameras which I do not want to be able to access the 'net directly.
bs, a Bookstack API CLI tool [4], made it when I needed to upload a large number of conference videos to a Bookstack site.
...etc
I don't have much time for these side things since I'm mostly busy on and around the farm but every now and then the weather is a good excuse to keep me inside...
[1] https://github.com/Yetangitu/Spodcast
[2] https://github.com/Yetangitu/files_reader
1. Productivity system. I’m trying out different methods of todo lists. When I start a new method I think I’ve finally found the right one, but I end up not sticking with it and starting over with a new approach after a while. My current system is something I started yesterday after coalescing a few different ideas from the last week or so. I have a list of categories in a text file (on my phone) ordered by priority such that at any time I can start at the top of the list and think if there’s anything I should do in that category. If so, I work on that. The order is determined by what would be best to do in SUPPORT of things further down the list. That way you can stay on top of things without waiting until they are urgent, and it seems to align my actions with my overall goals better.
2. Hardware/software. I’ve noticed that software at every layer of the stack is written and changed/updated based on the desires of the creator of that software, not you. This might sound crazy, but if you really want to have control of your software you should write it yourself. Ever since I ran across Forth (jonesforth in particular) and realized you could create your entire software environment (drivers, OS, editor/compiler/debugger, application) from scratch because lets you start with nothing and quickly move up the layers of abstraction focusing only on what us needed for your particular application. (See also: http://collapseos.org/forth.html and https://github.com/nornagon/jonesforth/blob/master/jonesfort... )
The combination of 1+2 would be building a device with a hardware keyboard, simple display, and a microcontroller where I could have a todo list. (I could potentially just use an old PC with a BIOS as well to start with.) I could have it let me have reminders that I could snooze for a desired amount of time for instance, or have recur at specific times until dismissed (daily checklists). If I didn’t want the screen to go into sleep mode, or the OS to force me to update, reboot, or do anything at all that I didn’t want it to (like have unwanted notifications or ads or algorithmically driven distractions or security holes from the network/Internet), it wouldn’t. It would have zero dependencies.
I work as a doctor in the UK and decided to make this site due to a huge asymmetry of information when selecting medical jobs in the UK. In the UK postgraduate medical training is long (10+ years is standard). During this time recruitment is generally done nationally. Everyone does the same interview (for their given programme, e.g cardiology) +/- exam and is given a score. This score is used to rank applicants from 1 to N, and applicants in turn rank jobs from 1 to N. The highest ranked applicant gets their first choice job, the second highest ranked applicant gets their first choice (unless it’s the same as the top ranking candidate, in this case they get their second ranked job). This cascades down until all the jobs are filled. As this is a national process people often end up in jobs far from where they know. Unfortunately only the bare minimal information is given for each job, often just the name of the hospital and even this can be subject to change (they can move you to another hospital in the same rough area with minimal notice). Doctors are also very much temporary workers at a given hospital and are treated as such. It’s normal to only be at a hospital for 6-12 months. This makes doctors prone to poor conditions and harder to raise concerns. This along with a asymmetric power dynamic (if you raise a fuss in a small speciality the consultants in that specialty may make it harder for you to find a job once you complete training) can perpetuate a bullying culture and general poor work conditions for junior doctors. As such I created this website for doctors to write anonymous reviews for their posts.
It’s a bit janky in places and the jobs feature is broken while I update it. Regardless it’s now widely used and is hopefully helping people who are now going through the same struggles I did (my training is now complete).
It’s a single bash script.
To this day, I use to deploy all my projects, including my work projects, no matter what tech stack I use, with great success.
Why did I create it? I suddenly had a lot of time after leaving an exhausting corporate role. Is it perfect? No. A couple of things could be done better/differently.
The future? Knowing that text-only data is limiting, I'm working on: -encrypting attachments - images, PDFs etc. -customizable retention periods
Yes, I know there are existing products serving the same purpose but hey, why not?
https://chrome.google.com/webstore/detail/tab-to-windowpopup...
I wrote up my process here but since then I've made some improvements so that logic for the trigger for detecting when the machine is on actually happens on the accelerometer itself. I also rewrote the code for the ESP32 in micropython which has been a lot easier to manage than C.
https://www.instructables.com/Washing-Machine-Notification-S...
The whole process taught me a ton about programming micro-processors, the I2C protocol and even using a logic analyser to debug issues at the line logic level.
(There's an extra bonus as that same blog helped me to find few clients for work too, haha.)
* hardware stuff.
* mobile stuff.
I figured I could start playing with hardware, or I could look at mobile application development. I realized quite quickly that app-development was too close to coding so I chose "harware".
I bought a bunch of arduinos, and later switched to esp8266s, along with sensors and stuff. I had fun building a few projects - such as an LCD to show tram departure times outside my door, and wireless temperature/humidity sensors to let me know when my sauna was hot enough to be useful.
These days I've gone back to coding for fun, and I'm doing what everybody else _here_ does; experimenting with a toy lisp!
https://github.com/mrichtarsky/glacier_deep_archive_backup
And for ErgodoxEZ:
Compress your keymap so you can add more features without hitting the limit
https://github.com/mrichtarsky/ergodox-compress-keymap
Generate Heatmap from your keypresses so you can see whether your layout is optimal
Tinkering with IOT projects using an ESP32 is engaging because they offer both, a variety of high level connectivity features ( wifi, ble) and direct integration with sensors or other Hardware.
Modern ones can even be developed in Rust and are not as constrained hadrwarewise as earlier generations.
I recently got back into developing some small "just for me" games with Godot and also got a surprising amount of enjoyment out of trying out Blenders procedural geometry and material node systems.
In my day job I am doing resty cloudy things so my free time gets used die something else.
https://github.com/OhioVR/MusicBox
I tried to emulate orchestral sounds using an abandoned sample collection using it with some success but no one really liked it.
I also had problems with our point of sale at work which I tried to improve with a picture book with bar codes over the items. That helped me scan items without upc labels. Hit and miss but I'm going to have to sell my printer so that project is also dead.
The server part is written in Golang (sqlc, pgx, gorilla/mux) and I think server development is a great fit to learn Golang.
I want to expand the idea of personalized ranking ("others also liked") from content feed to group decision making. Basically, let a group member delegate their vote to other members that voted like them in the past.
In the past I’ve built more complicated products to scratch itches (mostly PM related). This one is kinda fun cause it’s so stupidly simple.
I always thought the process was tedious but systematic enough to automate, and to some extent I think I was right. Here’s a video of one of the arrangements: https://youtu.be/F3h_yQOM_Jg
Puzzle solvers: Cryptoquote, Sudoku, Wordle.
Display a chart that combines MyNetDiary and Fitbit logs.
Correlate 1M bride & groom birth signs.
Create election database from phone book.
Battleship program (hard rules)
Chart GQ EMF-390 EMR (electro-magnetic radiation) detection logs.
Log oil furnace thermostat cycles (uses parallel & joystick ports).
Convert county grave database to HTML pages for Website
Aside the apparent advantages of the strong typed environment, I was able to bake in many more features that make your life easier. Code reuse is also super easy.
I prefer debuggers and imaged based REPL environments, but that doesn’t mean I get to work in them. Always fall back on print debugging and loggers at some point, so I’ve built a lot of helpers in various language that help this sort of thing: introspection of variables and source code, time stamps and traceable uuids and tools for easy viewing.
To fix that my team and myself have created https://elest.io
We are providing fully managed open source service for a catalog of 185 open source software
One requirement I had if I were to build it myself was that it would be maintenance-free and still work years after I have forgotten about it, so having a server was a no-go.
Almost all the parts were lying around (motor+gearbox from a broken neck massager, a small pocket scale, a broken servo), so it leant itself to getting things done 15 minute busts of activity without having to order and wait for alot of parts.
https://github.com/tg12/PoC_CVEs
I want to build a TrueNAS box at home and migrate to that as test.
I really want to write lots more Python code though! I love writing trading algorithms and Data science, data analyst projects.
For individuals it’s a free PDF editor tailored to form filling.
For organizations, a single line of code turns any PDFs into a web-form while keeping the look and feel of the PDF.
As to why I’m scratching my own itch:
Filling PDFs form when dealing with my country of origin has been painful every time, I wanted to make it more seamless both for me and for them
I'm interested in the rise of learning communities and sharing resources the community finds is central part of that.
p.s. there's a help file at https://randomlocation.xyz/help.txt
With this tool I can keep the camera in UTC and use gpx data from Garmin or OwnTracks to tag photos with the correct location and offset time.
So logically I start doing a relational language on the side: https://tablam.org
Also, is the thing that I use to learn Rust, that has make the endeavor to be more practical than it sound!
Minimalist CSS “Framework” https://neat.joeldare.com
Personal Digital Brain https://github.com/codazoda/nolific
The Raspberry Pi in my Bedroom https://joeldare.com/private-analtyics-and-my-raspberry-pi-4...
In January I’ll start to publish “live coding” style videos of some of the projects I work on. I guess it’s the cumulation of my toy projects. I’m recording them as a way to encourage myself to create even more. Most are very simple. Many are “reinventing the wheel”. But, I love the work.
In the first two video’s I write a simple binary in Go (a language I’m not very familiar with) then run it as a command over ssh.
In the third I write a command line tool to generate random character strings.
Each video will have a companion GitHub repo.
The channel is completely empty at the moment. I’ll publish my introduction the first week of November and then publish videos weekly starting on January 1st. I’ve already created the first couple video’s and I’m editing the third now.
It will start out really rocky as I learn techniques for recording video and audio and improve my process.
My (blank) YouTube Channel https://youtube.com/codazoda
This led to me building https://DemoTime.com to automatically turn every demo into a highlight reel follow up video.
I made https://scpbin.com — a fun little hack, for a very niche usecase :)
A better interface to current search engines.
Itchy, so extremely itchy.
Implicit (or easier explicit) `AND`. Standarded option flags. Excellent (that’s the dream at least) option autocomplete.
Scratching away.
---
...also, using the existing excellent python tools to keep my iPod shuffles running with music and podcasts (auto delete and trim when played).
I built a CLI script to check the weather in some ways that I care about. I would use Alexa, but she can't answer questions like "when is the next rain forecasted?" I want rain/freeze alerts eventually. Basically just to help me plan to have things winterized and put up.
I'm building an app that I will use personally, but that I can also make a SaaS. It's sort of like a time-tracker, but for professionals in a specific industry. It helps them track time but also other metrics. I'm sorry to be vague, but I think I have an advantage with the stealth at this point.
In the past:
I built a program to help buy things from Amazon's return section.
I built a program to monitor the "free" section of craigslist.
I built a program to determine the bad poker players and sit at their tables.
I built a program that enables all the above programs to send alerts to my phone.
(I built dozens, maybe hundreds, of other programs, some smaller, some larger, over the last 20 years. I have a wasteland of old git repos and shell scripts.)
Non-computer: I have 40 acres with a small homestead on it, and so there's a bajillion projects. Most recently I built a ladder to access loft areas in a building, with wood.
I installed and just had to maintain an underground dog fence. If I don't, the dogs run off sometimes, and I want to keep them safe at home. The peace of mind I get from this is probably worth 4-5 hours a week, but it's only cost me about 10 hours in 7 years. It wouldn't have cost me really any time, except the road grader keeps breaking my wire.
I restored a Singer model 128 treadle sewing machine that I intend to build a tipi with. I don't need a tipi, but I want to experience one.
I built a deer fly trap. It didn't go well, so I need to build v2. But I am driven by an intense hatred for deer flies, so I will persevere.
I built a tool that wraps wire tightly around things as a way to secure them. I use it mostly to secure tool handles from splitting, but I keep finding new spots to use it.
In my experience, if you decide "I will build what I need when it makes sense," you start evaluating all of your ecosystem. I usually focus on what sucks, and make it way better. That's an easy way.
It's much harder to imagine what you would like to have, or like to be doing. If you do that, start small and see how it goes.
Just fyi while the text in the links to the stores are correct, the actual links go back to your site.
tldr: better programming language (syntax, error handling, data structures - full blown but still domain specific programming language), better interactive mode (at least that's what I think).
I tried use some existing email forwarding service but always something come up. I decided to roll my own and eventually start a SaaS.
The second ons is my newsletter[2], it runs on my custom static site generator. It use mailchimp to store user data since I don't want to deal with GDPR etc. But all the actual email handling is using my own custom code.
---
[1]: https://mailwip.com
I'm building a web app to make this easier and also sharing with my parents to record & save the stories from their life.