Maybe you've created your own AR program for wearables that shows the definition of a word when you highlight it IRL, or you've built a personal calendar app for your family to display on a monitor in the kitchen. Whatever it is, I'd love to hear it.

345 comments
  • dang2y

    All: This thread has several pages of fabulous comments - to get at them, you need to click 'more' at the bottom of each page, or like this:

    https://news.ycombinator.com/item?id=35729232&p=2

    https://news.ycombinator.com/item?id=35729232&p=3

    https://news.ycombinator.com/item?id=35729232&p=4

    One of these years (maybe this year!) we won't need to paginate anymore and scrolling will be blissful again. In the meantime, sorry for the annoyance if you knew this; I just wanted to make sure everyone realizes how large and good this thread is.

  • pigcat2y

    My grandmother has dementia. About twice a day, she calls my parents every 5 minutes, forgetting that she just hung up. The calls are always the same: "You live there now. Yes you have money. We came to visit you yesterday." This can go on for an hour or so.

    My parents are incredibly patient, but after a couple of these calls, they'll just leave the phone to ring. The soundtrack of the phone constantly ringing in the house, and the guilt associated with not picking up, is unbearable.

    My brother and I built a system where her calls get re-routed to a rotation of relatives to answer her calls, to spread the load. After a call with her, each person gets a 2 hour break (customizable). If no one is available to answer, or if everyone is on break, she gets a voicemail that my dad recorded that explains that we love her, that she lives there, all the usual stuff.

    It's working beautifully.

  • jo-m2y

    I have a rail line right under my apartment, so I built a small computer vision app running on a Rasperry Pi which records each train passing, and tries to stitch an image of it.

    It has a frontend at https://trains.jo-m.ch/.

    Edit: it's currently raining and the rain drops are disturbing the images a bit.

  • JKCalhoun2y

    I have a "TV channel" app running on a Raspberry Pi serving up local video content to a schedule I create.

    The Pi has a 5TB hard drive attached with perhaps 1000 videos or so. The app has a schedule and plays the videos according to the schedule. It starts up in the morning, plays tele-courses, moves on to old TV shows, an afternoon movie, after school shows begin around 3:00 PM, a comedy show around dinner time, an evening movie, some late-night content, then the Indian head and "We Will Resume Broadcasting Tomorrow Morning...."

    It fills dead airtime by choosing randomly among (literally) thousands of YouTube short clips I have on the drive — or showing a title card indicating when the next show begins.

    Partly it's a fantasy — to have my own "channel" with my own scheduled content — my fantasy station.

    Partly it serves to put on content I would otherwise not be inclined to pull up, double click and watch. It adds the serendipitous element to TV watching that I miss before streaming. The movie "Charly" (1968) just came on last night and I am sure I have not seen it since I was a teenager — had to stop what I was doing and watch a few scenes I recall vividly.

    Today's lineup here: https://engineersneedart.com/UHF/

    (Since the schedule is in JSON format, it was easy enough to make a web front end to display today's schedule.)

  • mltony2y

    Blind developer here; I often write tools for myself to perform some task that is not well supported by my screenreader. For example:

    * I wrote an add-on that allows me to read HN comments in a structured way. A typical screenreader would present page in a linear manner, so you'd have to read all replies in order, which is quite tedious in popular posts. My add-on parses the page and identifies the level of each comment, and then I can navigate to previous/next comment at any level. So I can quickly check top-level comments and then read replies only if I'm interested.

    * Another add-on makes Jupyter edit boxes to work with my screenreader. Jupyter was requiered at my company , so I either had to write that add-on or else. The way it works is that it sends Control+C Control+V keystrokes to the browser to retrieve contents and then presents them to me in an accessible window for editing. When I'm done it would Control+A Control+V new content back to edit box.

    * BlindCompass - iOS app that I wrote for myself to navigate on the streets. One of the problems of blind people is that it is easy to lose the sense of heading, e.g. where is north vs South. So BlindCompass would read my heading and present it as a two-pitch sound, that allows me to deduce rough direction. It's also easy to figure out the right direction and just maintain it, so with BlindCompass I can cross large open spaces easily.

  • steve_adams_862y

    I built myself an automated hydroponic grow tent.

    It measures and corrects pH, electrical conductivity, oxidation reduction potential, temperature of the air and water, water level, and humidity. It also automates pumps, lights, and fans (I know people normally advise against this). None of it is particularly sophisticated, but I’m really proud of it.

    I initially used a deep water culture and later moved on to the nutrient film technique. It produces a lot of greens and herbs — way more than I ever expected — and it’s remarkably hands off. I recently left it to do its thing for almost 3 months before I had to intervene, and the problem wasn’t the water, nutrients, or the system failing explicitly. The plants just got too big for their channels and as they became stressed, they developed some pest issues. It was such a cool and empowering experience to see real world automation Just Work.

    The whole thing is powered by an Arduino Nano RP2040 Connect. It’s a great little controller.

    I’m currently designing my first PCB to consolidate the system onto a single board so my friends can easily build their own. It’s not extremely cheap, but it’s not too expensive either and you get a tremendous amount of food from it. It’s such a fun hobby.

  • gimili2y

    For 6 years I had a long distance relationship between Peru and Germany.

    When you are in different timezones it can actually be nice to fall asleep with the other person "close" to you; so we kept Skype running while one of us went to bed and the other person was working on the PC.

    Unfortunately the internet connection would regularly drop, ending the Skype call. Now you did not want to wake the other person by calling them.

    So I wrote a small script that would allow you to send a secret word in the chat and invoke the other persons' Skype to call you instead automatically.

    Kept our relationship healthy. Now we've been married for nearly 10 years and are happily living together :)

  • modeless2y

    My townhome complex had one of those call boxes at the front gate. When Doordash/FedEx/the cleaners/the in-laws/etc arrived they would have to call me from the call box and I'd have to answer it and listen to garbled audio to figure out who it was and press 9 to open the gate. It was kind of a pain, so I made a Twilio app to answer calls from the call box.

    I set up custom entry codes that I could hand out to anyone. Everyone got their own code, and it would text me whenever someone used a code so I'd instantly know who was coming. The text conversation was my timestamped access log. I also put time constraints on some codes so e.g. Doordash couldn't open the gate in the middle of the night, or I could set up a temporary access code for a party, and I rotated codes too, with text notifications if an outdated code was used.

    I thought about making a paid app out of it, but it just didn't seem worthwhile. I didn't expect that many people would want to pay for it. For a while I was excited about a YC startup called Doorport that was going to make a hardware device that you'd install inside those dumb call boxes and make them smart with all sorts of cool features, better than my Twilio hack. But I think they pivoted to a much less interesting pure software thing and then got acquihired.

  • patcon2y

    I co-organized a weekly hacknight meetup of 40-70 people.

    I wrote a script to make Anki spaced repetition flash card decks with avatars and names pulled from the meetup API. I would use GitHub Actions to run the script a few hours before the event, then drop the importable deck into a Google Drive folder. I'd review the deck before the meetup, and then at the event, I'd not stress about names. I'd pretend to introduce myself to new people like I didn't already know their names, but I'd be able to make them feel very welcome when I remembered, or introduced them to others.

    Why do this arguably creepy thing? Because I am really forgetful with names, and when I forget, I become reluctant to approach people, which comes across as less friendly than I prefer to be. But I believe using people's names is REALLY important to community organizing. When I know names, I am really great at using them a lot, helping others learn them, generously making introductions, and helping people to feel a sense of belonging.

    It was the best community organizer hack I ever came up with, until meetup locked down their API and broke it...!

    https://github.com/CivicTechTO/anki-meetup-memorizer

  • drcode2y

    I just moved to the bay area. I made an app that scrapes all bay area events from meetup, eventbrite, and a couple of other sites- This way you end up with around 100 events a day, way too much to read through.

    So next I take each event, send it to chatgpt3.5 and ask it to rate this event on around 20 parameters. Next, I take the latitude/longitude of each event and measure driving distance from my house. Then I have a master formula based on my personal interests and driving preferences and an app shows me the 10 events every day most likely to be interesting to me for any day.

  • jwr2y

    Oh, I think I have a good one. I had an HP-25 calculator as old as myself, and couldn't use it. The original battery pack contained two sealed NiCd cells, which obviously failed many years ago. Most people replaced their NiCd cells with new ones, then with NiMh cells, or even alkaline AA batteries. This was always problematic: newer batteries were slightly larger and never fit well. Also, the power consumption of a calculator with an LED display was significant, so frequent battery replacements were needed. And the original HP charger was risky and could easily destroy the calculator.

    So I designed and built a wirelessly (Qi) charged battery pack for it.

    https://partsbox.com/blog/wireless-charging-for-a-hp-25-calc...

    After a year of use, it's totally over-engineered and has so much energy and so little idle power consumption, that I have to remind myself to charge sometimes, the thing lasts for months.

    I'm the only user. There are many people who wanted to buy one, but the step from a hobby design to small-scale production is a big one and it simply doesn't make business sense. Especially with Li-Po batteries being difficult to ship and potentially a hazard. I guess maybe if I found a manufacturer that would be willing to take the design and manufacture it on demand, taking over all of the shipping/support issues…

  • PaulHoule2y

    Smart RSS reader that, right now, ingests about 1000 articles a day and picks out 300 for me to skim. Since I helped write this paper

    https://arxiv.org/abs/cs/0312018

    I was always asking "Why is RSS failing? Why do failing RSS readers keep using the same failing interface that keeps failing?" and thought that text classification was ready in 2004 for content-based recommendation, then I wrote

    https://ontology2.com/essays/ClassifyingHackerNewsArticles/

    a few years ago, after Twitter went south I felt like I had to do something, so I did. Even though my old logistic regression classifier works well, I have one based on MiniLM that outperforms it, and the same embedding makes short work of classification be it "cluster together articles about Ukraine, sports, deep learning, etc." over the last four months or "cluster together the four articles written about the same event in the last four days".

    I am looking towards applying it to: images, sorting 5000+ search results on a topic, workflow systems (would this article be interesting to my wife, my son, hacker news?), and commercially interesting problems (is this person a good sales prospect?)

  • cobbzilla2y

    My mom digitized many many old family videos, and wanted them online for sharing with family (including elderly & not-super-tech-savvy relatives). She asked me “should I just upload them all to a YouTube channel?”

    Thankfully it was a phone call so my mom didn’t see my aghast expression. I prefer that big tech not index this stuff! Better to keep “in the family”

    Seriously why does big tech deserve this free & super-private window into me & my ancestors lives?

    So I wrote something[1] where:

    * it’s fully free & open source

    * cloud native

    * plays on any device, any bandwidth, even if shitty

    * yes my 90+yo Aunt Loretta (w00t to you Aunt Lo!) can use it on her phone & computer

    * all data can be always encrypted, both source videos and derived/optimized assets

    * and there’s more. please have fun

    Basically point it at a source bucket on S3 or B2, and get your own private YouTube.

    What I’ve built is very limited in functionality atm, but I believe the foundation is solid and plan to extend media support to photos and audio.

    This can be a nice alternative to Plex/Google Photos/YT/etc.

    It’s for when you don’t care about “building an audience” and in fact prefer that big tech can only see encrypted bytes from you.

    Try it out and lmk!

    [1] https://github.com/cobbzilla/yuebing

  • sriram_malhar2y

    My MIL is 93, and the only tech she can really deal with is turning on the radio and TV and changing channels.

    She is fond of music from old classics (from the 60's and earlier), so I hooked up a Raspberry PI with an FM transmitter and created her own private radio station. She tells me what songs she likes and I create different playlists that get broadcast on her station. It preserves the surprise element of radio, and there is nothing in there she doesn't like.

    The tiny FM transmitter is surprisingly powerful. Her neighbours (of similar vintage) are very happy too, so their requests have also started coming in :)

    EDIT: I wanted to add that I am the UI ... she doesn't get to choose the playlist. To make my life easier, I just created different playlists for different times of the day ... calm/spiritual/slower numbers in the early and late hours, peppy during the late morning and evening etc.

  • altered_state2y

    In my new house with underfloor heating, an air source heat pump was installed that turned out to have a controller that switches it on and off over 80 times per day which reduces its lifespan significantly. I decided to see if I could improve on this so I started reading lots of papers regarding temperature control.

    Since this is a tricky problem to solve, I built a quick fix solution while I work on the "real" version. The quick fix measures the average indoor temperature in the house using zigbee sensors and uses a number of weather forecast APIs to calculate the amount of heat lost from the house in a day based on the difference of outdoor / indoor temperature and the amount of solar irradiation. It runs at midnight and creates a 24h schedule based on the forecast energy price and expected COP. The heat pump is controlled with a relay from an ESP32. The algorithm/app runs on a raspberry pi and is written in Rust.

    It worked surprisingly well last winter with some tweaking needed during very cold periods. And the heat pump only switches a few times per day now and makes very long efficient runs, theoretically greatly increasing its lifespan and simultaneously reducing my energy bill.

    I'm still planning on building the better version I had planned based on a thermal model of my house, but that will require more studying and now that the quick&dirty version works so well the pressure is off a bit.

  • HornyDude2y

    Throwaway time!

    I built a custom smart motorized masturbator.

    It borrows from 3D printer design, and has a NEMA 17 stepper motor driving a 2GT belt loop around a short length of 2020 extrusion to slide a carriage along a linear rail. The carriage has attachment points that I've put clamps on, that close around a fleshlight-style sheath. There's a brace at the business end that you put around the base of the penis and it keeps everything aligned.

    All the parts are custom-designed and 3d printed.

    It has an outboard control box that contains:

      - an ESP32-based microcontroller with a small OLED screen. 
      - a clickable rotary encoder that is the single input control
      - a TMC2209 stepper driver
      - 12v power input and a buck converter to feed the esp32
      - 12v output ports for 2 additional vibrators and an an H-bridge module to control them
    
    The simple UI allows full control over the motion:

      - stroke duration
      - stroke amplitude
      - offset from the 0 position
      - motion path (just sinusoidal vs triangle wave so far)
    
    The controls also allow control over the secondary vibrators for intensity, rhythm, and duty cycle.

    It's been evolving for a couple years now and it works brilliantly!

  • simonsarris2y

    I built carefulwords.com simply because I wanted to type a word into the address bar and get a large list of synonyms and some historical quotes using the word quickly. For example:

    https://carefulwords.com/solitude

    https://carefulwords.com/think

    etc. Also unlike thesaurus.com, the search bar actually focuses so you can just start typing!

    It's not perfect, I need to do a lot of editing, but nonetheless I use it almost every time I write, now.

    The site is a little over 30,000 static HTML pages built with a number of TypeScript scripts that compile some sources for synonyms, parts of speech, and the quotes.

  • michaeltbuss2y

    Every night, at 3 AM, my cat will meow and paw at the bedroom door like a banshee. I tried everything to get him to stop, including the off-the-shelf air sprayers that trigger with motion.

    Eventually, I decided to build my own. I 3D printed a case and trigger for an air sprayer can, created some electronics with an ESP32 and RF trigger, and wrote my own "motion detection" logic - this time with an ultrasonic sensor, which works much better in the dark.

    Now, the cat knows that a meow or paw will get him sprayed, and my wife and I can finally sleep!

    I also built an air filtration system for my 3D printer, a level checker for my water softener, and a custom keepsake box that only opens with an RFID chip that you can read more about on my blog: https://www.mikebuss.com/blog

  • glapworth2y

    We recently remodelled our kitchen and dining area, and I wanted some art piece on the wall but couldn’t decide what. For months the wall was a little bare and we were having a lot of dinner guests. I realised our WiFi password was too complicated to keep reading out to family and friends so I built a QR code in Lego that automatically connects you to our guest WiFi. It looks good, and it’s Lego so it was a fun project with the kids. It took about 4 hours to build. The only problem was having enough 1x1 tiles to put on a 37x37 matrix.

  • mariusvaporware2y

    A software developer and football (soccer) fan who lives in an antipodean time zone, I enjoy watching games on demand the morning after they occur. Apart from watching the games of the team I support, I like to watch one or two of the most entertaining games in any given week, but score spoilers absolutely ruin the experience for me.

    So, I created https://laterball.com: a web app the algorithmically determines the best games of the past 7 days without score spoilers, to let me (and you) know which games are worth spending time watching. There was also an associated twitter bot at https://twitter.com/laterball which occasionally tweets when there's been a high-quality game until the recent Twitter API changes.

    Technical stuff: the back end is a Ktor server hosted on a linode instance which pulls statistics data from an API to determine the ratings. Factors used to determine ratings include goals (number, timing, swings in score, comebacks), xG, wins or draws against the odds, cards, and a few others.

  • rpastuszak2y

    The most interesting tech I've build for myself is boring: a writing tool I use every day for journaling: https://enso.sonnet.io

    With that out of the way here's some more ridiculous stuff:

    In 2016, I made a browser based AR party game where you'd fight kittens falling from the sky by dancing with vegetables in your hands (CMYK was easier to track using the webcam). I have some photos here: https://goo.gl/photos/g6Dp8GLDbuuhT1TRA

    From a technical PoV it was exciting (running AR, in a browser, in pre Pokemon GO, pre WASM times!)

    I also made a simple photography lighting tool, replacing professional lights with computer/tablet/phone screens (facade.photo). I put it in an old wardrobe bought in a thrift store on Brick Lane and during my startup launch. Results: https://goo.gl/photos/RZ3fCRcScYSGr7aG6

    Ah, I also made an AI-powered voice assistant in 2014. The tagline was HTML5-powered voice assistant, as AI wasn't really _the_ buzzword then, but _HTML5_... oh yeah.

  • mvcalder2y

    I trained the raccoons that visit my house at night. I started them out getting a peanuts from a water bottle. Then I tied the bottle to a rope. Then kept raising the bottle higher. At that point, I built an automated feeder system using a linear actuator activated by pulling the rope with the bottle attached. It had LEDs that were green / red to show when the feeder would / wouldn't dispense peanuts. It was all driven by an ESP32, it even had a web page on our LAN reporting how many correct / incorrect pulls were done. Over the coarse of a few nights they figured it out. Raccoons are so cool.

  • patrickwiseman2y

    I built a proxy number for my sister who has to deal with her abusive ex-husband. She has court ordered visitations via phone for their kids. He would give her number to any multitude of people that would send harassing messages on his behalf.

    The proxy allows any calls or texts from her number to send out with the proxy number. Any calls or texts from his number connect to her phone. All other communications are given a notice that they don't have access to call or message the proxy number and communications are recorded for court. It does not forward blocked communications to her phone. He continues to give out the number to harass her, but the family court judge gets a monthly report of all the attempted harassment.

  • JohnFen2y

    My current favorite: I often go camping deep in the backwoods with friends, far from any sort of cell service. So I built a LoRa radio system that allows us to text each other, physically locate each other, etc. when we go off and do our own things. The system consists of small radio units that are carried, and a larger (but still backpackable) base unit that gets set up in camp.

    They run as a mesh network, so you don't have to be in range of the base unit for it to work.

    Regular radios don't work well for this use case because the terrain is very mountainous.

    Currently looking into making one that can be attached to a dog collar to allow for geolocating the animal.

  • niccl2y

    Not sure if this counts:

    A lighting desk for my hobby of lighting live music. For reasons I like doing live control along with the music (known as busking). Existing things are either limited and can't control moving lights, or don't have the flexibility to busk the way I want. so, having worked a long time ago for a crowd that built what were at the time the best lighting desks in the world, I built my own

    It has 36 motorised faders and a bunch of other boards with buttons, that each ave their own AtTiny to run the function, they talk to a BeagleBone Black which runs the main code loop and uses its on board realtime processors to generate DMX, and a raspberry Pi to run the GUI for configuration.

    Worked a treat most of the time, and I've done hundreds of shows with it, with crowds of up to 400 people, Sadly, I made a dumb decision on the protocol for the fader and button boards to talk to the BeagleBone and every now and then it causes a kernel panic on the Beaglebone, which means at best you lose control of the lights and at worst it goes dark on stage.

    I started a redesign using a more sensible protocol but got hit by a double whammy of Covid killing the live music scene for a couple of years, plus the all the supply chain issues, so it's on hold now.

  • johnboiles2y

    My wife and I lived on a Sailboat for a few years. The boat had a 20 year old SeaTalk bus connected to the sensors (depth, wind speed/direction, water speed). I bought a newer radio with an AIS receiver. Of course I wanted to hook it all to my computer & phone.

    So I built some hardware to interface with the SeaTalk network, the AIS radio (and a modern GPS) https://github.com/johnboiles/Helm-hardware https://github.com/johnboiles/Helm-firmware

    And a Python proxy running on a Pi to pass messages back and forth across the network. https://github.com/johnboiles/NMEAProxy

    And an iOS app that could drive my autopilot https://github.com/johnboiles/helm-ios

    Since my proxy spoke the NMEA standard, you could also hook up with other apps like iSailor and get all the sensor data + gps + AIS data. https://apps.apple.com/us/app/wärtsilä-isailor/id398456162

    To my knowledge, 0 other people have ever used any of this but I've always been proud of it :)

  • boricj2y

    I've modified Ghidra in order to unlink pieces of an executable back into relocatable object files.

    To keep things simple, source code files are compiled into object files which are linked into an executable. Object files have sections (named array of bytes), symbols (either defined as an offset within a section or undefined) and relocations (a request to patch up an offset within a section with the final address of a symbol) while executable files only have sections. The linker takes all the object files, lays out the sections in memory, fixes up the relocation and writes out an executable file without the symbols or relocations.

    With Ghidra I can reverse-engineer an executable and recreate symbols, data types and references between symbols. Then, with my modifications I can recreate relocations with that information and, once a range of addresses has been fully processed, I can select it and export it as a relocatable ELF object file.

    Why? This allows me to extract parts of an executable as object files and reuse these by linking them my own source code ; I don't need to fully-reverse engineer these extracted parts, I just have to basically identify every relocation there was originally in that part. I can also divide and conquer my way to decompiling an executable by splitting an executable into multiple object files and recreate its source code one object file at a time, like the Ship of Theseus.

    So far it works with what I've tested it with and I've been meaning to write a series of articles to explain that process in detail, but writing quality technical articles with illustrations on a topic this esoteric is very hard.

      - My Ghidra fork: https://github.com/boricj/ghidra/tree/feature/elfrelocatebleobjectexporter
      - My initial prototype in Jython (has a readme): https://github.com/boricj/ghidra-unlinker
    
    Note: this works only with 32-bit MIPS, little endian, statically-linked executables. It can be made to work with other architectures by writing a relocation synthesizer for it, but so far I only care about decompiling PlayStation 1 games.
  • codpiece2y

    Not sure if it counts as tech, but I created a voiceboard for my mother to help her communicate while in hospice. She had a massive stroke and could no longer speak.

    I thought of a tablet app, but the stakes were too high, so it wound up as a laminated paper. You can read about my design decisions here:

    https://voiceboard.org

  • xenodium2y

    - A ChatGPT shell that integrates well into my editor of choice https://xenodium.com/chatgpt-shell-available-on-melpa

    - A scriptable screenshot/video capture utility https://xenodium.com/recordscreenshot-windows-the-lazy-way

    - An iOS habit tracker that's neither cloud-based, nor needs an account, social, wants my attention, data, etc. https://flathabits.com

    - An iOS scratch pad that removes further friction than typical note apps https://xenodium.com/scratch-a-minimal-scratch-area

    - An iOS org mode app 'cause there are lots of Markdown ones but almost no org mode ones https://plainorg.com

    - A way to easily record more complex commands (ie. ffmpeg) and make them reusable for the future https://xenodium.com/seamless-command-line-utils

  • bussyfumes2y

    When I was a student there was this power-of-two game on my friend's iPhone that I was literally addicted to. I didn't have an iPhone and eventually the game even disappeared from the AppStore. I missed it very much and my friends jokingly mentioned building a copy just for me. They never got around to it but at some point I thought "maybe I should give it a try?". So I gave it a try with no game dev knowledge and the second iteration turned out just fine for my needs: https://kiryhas.github.io/memechain/

    I've considered rewriting it to make the code better many times but every time I sit down to do that I think to myself "it works just fine, why touch it" and leave this idea for a while :)

    BTW the idea of the game is to combine cubes with the same number and color until there are only 4 left.

  • nielsole2y

    At the beginning of COVID i switched to weekly shopping and realized that it takes a significant time to inventarize the storage to make sure I make it through the week.

    I built a storage shelf that self-inventorizes based on strain gauges. Through the change in weight distribution it can determine the weight and 2D location of the item added or removed. LED strips give immediate feedback. https://www.niels-ole.com/arduino/iot/2021/03/21/storage-sys...

    I used this to automatically add the items consumed throughout the week to my shopping list.

    I only ever built a single shelf board (subsequent boards had issues) and I never fully implemented the advanced usability features of adding new items for the first time and automatically determining good places for them, but it was a very fun project.

  • nrobinaubertin2y

    We were using facebook exclusively for the 'private group' feature with a some friends in 2012. We liked the fact that it was private and asynchronous. But I didn't like the fact that it was tied to facebook. I decided to put into practice what I've learned that year at my informatics school and created forum written in php. It was not much but we liked the fact that it was ours.

    Ten years later, I'm still fiddling on it and it has grown to a real open-source project that you can find on github [0]. It's still primarly here to serve me since I'm the only maintainer but starts to be driven by external propositions. It's meant to be easy to deploy, easy to use, cheap in resources and reliable.

    [0] https://github.com/zusam/zusam

  • RowanH2y

    The G-Seat as part of my sim-rig. 9 AC Servos, borderline dangerous, beast of a simulator. The G-Seat I decided to do better than commercial offerings (had tried "the best" and it was pretty average). CNC brake folded aluminium seat with moveable flaps controlled by AC Servos - had to 'de tune' as they were literally at rib-breaking speed initially. About a year worth of development designed and prototype in Fusion 360, through to this :

    https://www.youtube.com/watch?v=STnnqonpcAU

    And another vid at max rpm on the servos...

    https://youtu.be/eMZC0ekEXQ8?t=39

  • actionfromafar2y

    My wife has her work schedule in a mobile web app, but the app is really bad. Turns out the app is just a wrapper around a web site.

    So I made a KVM instance which does one thing - login automatically, start Firefox, login with Selenium, then uses some kind of other Python desktop control contraption to press CTRL-S, tab-tab, save the web page to the Downloads folder.

    Then, the python program proceeds to parse the HTML (with BeautifulSoup), extract the schedule times from how they are showed in some <div> or other (super weird ugly text format). Checks for changes over time and emails her what has changed. (So she gets a notice when her schedule changes and she doesn't have to periodically check in with the app.)

    Finally converts the schedule to calendar format and publishes on a web site so the schedule can also be seen in the phone calendar.

  • nhaehnle2y

    A tool called "diff modulo base": https://git.sr.ht/~nhaehnle/diff-modulo-base

    Given two version (old and new) of a Git change (i.e., individual commit or patch series from a pull request) it produces a diff that is actually useful for reviewing purposes, assuming you've already reviewed the old version of the change.

    It's sort of like `git range-diff`, but where `git range-diff` produces a "diff of diffs" that is very hard to impossible to read, this tool gives you a direct diff between old and new versions, but filters out any irrelevant changes that were introduced because the author rebased on a more recent version of the target branch.

    I hope that makes sense - I never know quite how to put it into words for somebody to understand who isn't intimately familiar with Git. It is very powerful though if you combine it with a minimal amount of setup e.g. for fetching all PR branches from a GitHub repository. I use it almost daily as part of my code review workflow.

  • withinboredom2y

    A deadman's switch connected to a manner of things. It basically works by 'non-existence' instead of existence and fires a webhook once something stops. For example, if my computer is turned off for a couple of weeks, it will send an email to loved ones. When I go day hiking, something similar happens when my phone loses service/power for more than a couple hours and sends a low-quality gps track. Basically it's if-this-then-that but more like if-this-stops-then-that. I have it tracking all kinds of things, like git-commits-per-person, server/device health metrics, and things like that.

  • hohg2y

    @dang regarding pagination

        // Get the anchor tag element
        const anchorTag = document.querySelector('.morelink');
    
        // Add a scroll event listener to the window object
        window.addEventListener('scroll', () => {
          // Check if the user has scrolled to the bottom of the page
          if (window.innerHeight + window.scrollY >= document.body.offsetHeight) {
            // Fetch the content from the URL stored in the anchor tag's href attribute
            const xhr = new XMLHttpRequest();
            xhr.open('GET', anchorTag.href, true);
            xhr.onload = () => {
              // Append the fetched content to the page
              const div = document.createElement('div');
              div.innerHTML = xhr.responseText;
              document.body.appendChild(div);
            };
            xhr.send();
          }
        });
  • akhayam2y

    About 8 years back, I was leading an engineering team which was the escalation path for customer support. We were sitting on a large corpus of support tickets but didn't have any insights. I was amazed when word2vec came out and blew my mind. So I built a language model that trained on support ticket data. I modeled system logs attached to support tickets as an NLP model to predict what was going to fail next and for which customer.

    Never made it to prod but was a great tool for me to see where I want to budget my team's time.

    This is way before all the LLM and Generator models, but it was such a fun project.

  • parentheses2y

    I'm slightly embarrassed that in terms of building personally relevant things, my proudest (digital) work is always shell scripts I use daily. Most of my personal projects are non-technical meat-space things like building with wood and the like. Here's some that I've open-sourced:

    - A git interface using fzf that works pretty nicely and is very composable. https://github.com/bigH/git-fuzzy

    - An interactive evaluator, perfect for interactive `sed`, `grep`, `jq`, etc. If properly configured, it'll keep history per command or using whatever key you give it. I find myself using it often with `jq`. https://github.com/bigH/interactively

    There are many other shell functions/scripts that are interesting from my `dotfiles`. Particularly interesting snippets for anyone who wants them:

    - A recursize `which` that follows symlinks and stops at a real file. https://github.com/bigH/dotfiles/blob/3d48792b4e910d2fc82504...

    - A `watch` alternative that runs in the current shell. https://github.com/bigH/dotfiles/blob/3d48792b4e910d2fc82504...

  • susam2y

    https://mathb.in/

    I wrote this 11 years ago for my friends and myself who were going through a phase in our lives when we used to challenge each other with mathematical puzzles.

    The use of this tool spread from my friends to their friends and colleagues, then schools and universities, and then to IRC channels. Now it is the oldest mathematics pastebin that is still online and serving its community of users. Visit https://github.com/susam/mathb for the source code of this tool.

  • epiccoleman2y

    One of my big "side projects" over the last few months has been my personal website and blog (https://epiccoleman.com). It's not very interesting per se - I mean, who doesn't have a blog these days - but it has been really educational and fun to work on. It's a really simplistic stack which makes working on it pretty frictionless. I spent a lot of time tweaking the look and feel of the site and am pretty happy with how everything has turned out.

    I've also been putting a lot of work into a React component that renders a nice looking SVG Circle of Fifths, and just recently got to a point where I felt I could call a release "1.0.0". This has also been a really educational project and I'm super proud of the component. It's a little basic right now, but it looks very nice, and I have a lot of cool features planned.

    It's licensed MIT, so if this sounds like something you'd like to use in an app, you can check it out here: https://github.com/epiccoleman/react-circle-of-fifths. I'd love any feedback, issues, etc.

    Edit: Oh, I just thought of one other thing - a single line of code I wrote which frequently gives me great joy. In zsh you can define a function called `command_not_found_handler` which gets invoked whenever a command ... isn't found.

    Mine says: `figlet lol, $@`, so whenever you make a typo like "gits status" or something, you get a big "lol, gits tatus" printed out, which is amusing.

  • evandev2y

    I created a todo thermal printer so that I can write messages whenever I remember something. For example when I'm lying in bed and I remember that I have to do something or reading a book and think that's a great thought that I should look more into someday.

    Basically I have a mobile app that I can send a message to a api. Sometimes it's just a note, sometimes it is a todo item.

    Then I have a raspberry pi that polls the api for new messages and prints them onto a receipt/thermal printer on my desk. Then every morning I usually look and see if there is a todo item, or more long term item.

    I haven't exactly thought of how to store the messages, but basically when the "receipt" gets to CVS level, I rip it off and store it in in a document shelf organizer. Every few months I'll go through the receipt for any long term touch items.

  • hermannj3142y

    I hooked up an analog phone to Whisper, ChatGPT, and TTS. I used of one of those old timey candlestick phones you'd see in a 1920 gangster movie. Initially this was a prop for a murder mystery party I was hosting (ChatGPT would give clues if you said certain words), but now I use it for a silly distraction here and there. Ask ChatGPT a question by picking up a phone like it's last century! I think it is fun.

    I am using Asterisk on Debian that calls my python script. The analog phone adapter auto dials when the receiver goes off hook, because rotary dialing sucks that much and the answering extension is chatgpt role playing different characters based on prompting.

    I think it is neat. I need to work on better voice synthesis and improve latency a bit still, but it is a nice toy.

  • busyant2y

    I made a "laser-beam-break" camera trigger for my Nikon D750, which I use to capture images of hummingbirds at my feeder.

    Instead of paying $125 for this ... (https://www.bhphotovideo.com/c/product/1337050-REG/pluto_tri...)

    I decided to build one using an Arduino. I probably spent more than $125 on the project, but I ended up buying a lot of hobbyist electronics parts, soldering gun, etc.

    I learned a bit about what Arduino can do, learned some baby electronics.

    And I have some nice pics of hummingbirds.

    https://flickr.com/photos/184781347@N05/52648636091/in/datep...

    https://flickr.com/photos/184781347@N05/52325370300/in/datep...

  • neon_me2y

    My ex used to be pissed when I spent whole day coding and dont wrote her a single message...

    It was way back before gpt and twilio, so I bent one IRC bot and wrote collection of warm messages that was send via SMS on a pseudorandom timeframe. We broke up when she finds out ... Luckly for both of us I guess.

  • jonplackett2y

    I made a gender swapping algorithm for my own use only. You put in any text and it outputs the exact same thing with all the genders reversed. Man to woman, he to she, Prince to princess, witch to wizard.

    Then got a book deal to create a series of gender swapped illustrated books ‘Gender Swapped Fairy Tales’ and ‘Gender swapped Greek myths’

    It seems like a simple enough task but gets complicated in weird ways. For example - his can swap to her or hers depending on the context. And her can swap to his of him depending on context.

    The idea is to show the biases in the original stories that you are blind to because you’ve been reading them forever.

  • weberer2y

    I like to play Factorio, but too often lose track of time while playing. There's no clock in the game's UI, and no way to access the system's time through the mod API. So I made a script that runs as a process on the host machine that every minute, sends commands to the game's process to build a clock in the center of the map out of concrete. Its pretty cool because you can also clearly see the time from the mini map.

    https://gitlab.com/smew/factorio-clock

  • aetch2y

    Older 1999-2007 model year Ford vehicles don’t come with an aux input audio option and they have a cd changer under the seat instead. I made an Arduino shield that emulates the CD changer and injects my iPhone’s audio pretending to be a CD. The shield also handles intercepting the car headunit’s playback commands when you press the physical radio buttons on your car so it does a second emulation of a earphone clicker and passes headunit playback commands back to control the phone over the aux cable.

    In short I can control my phone’s audio playback using my retro radio headunit using only a wired connection and no Bluetooth.

    My schematic and source code are available at https://github.com/ansonl/FordACP-AUX

  • edelans2y

    Control your fan speed with your heartbeat.

    I created this while setting up a home trainer for bike training in my garage during the lockdown in 2020. One issue with home trainers, unlike biking outdoors, is that you don't get the benefit of the wind generated by your speed that cools you down. So you sweat a lot, and this creates dehydration. Not cool (pun intended).

    The solution is to use a fan. But when you are lazy (and focused on your workout) you don't want to have to get up and adjust fan speed (and I don't have a remote for my fan, and it's much cooler to have it automated instead).

    https://github.com/edelans/Heart-Rate-Smart-Fan

  • nicetryguy2y

    Kirby's Adventure for the NES, one of my favorite games, ignores your controller inputs sometimes. I dove into the ROM, figured out the problem and fixed it: https://www.romhacking.net/hacks/7595/

    I'm currently hacking the SNES mouse into Sim City.

  • btbuilder2y

    I built a program in Go to defeat GeoIP lock-outs for my home network.

    It runs on our home router and functions as the primary DNS server. If the record name matches a regex the DNS request is forwarded over a VPN to a DNS server in the target country. Any other requests are forwarded to my ISP’s DNS. If the response is a CNAME then the A record name is cached so that follow-up requests are also forwarded over the VPN.

    Before returning the IPs in the foreign DNS response /32 routes for the IPs are added to send any home network traffic for them over the VPN.

    This means that any client on our home network can transparently access GeoIP locked sites. It’s worked for around 8 years with no modifications.

  • mindcrime2y

    This thread is giving me a complex. Why? Well, because the answer is basically "nothing". I mean, don't get me wrong - I've built all sorts of stuff, and plenty of it was not for my $DAYJOB. And I think (at times) of myself as being fairly creative and having lots of "ideas". And yet... at least in the context of this thread (the way I'm interpreting the OP's question anyway) I just don't have much to offer up.

    FWIW, I interpret the question as being strictly about stuff one built for oneself in the context of everyday, day-in, day-out life. Stuff to use yourself. And on that front, I just realized I almost never build anything strictly for myself. I work on Open Source projects and work on projects at Fogbeam that I (want|hope|expect|whatever) other people to use, or things I would use myself in a business context. But I just don't build handy little gadgets to use around the house, or in my truck, or when out and about.

    This may be one of the first times I've really felt a strong case of the "imposter syndrome" that one hears so much about. I feel like I should have some answers for this, so why don't I? :-(

    OK, to be fair, I did built at least one thing just for myself. I have a couple of lamps that are positioned in an out of the way location in my living room, and I hate having to walk to them and stretch to reach the switch(es). So I did the whole "IP controlled lamp" thing with a relay and an Arduino Nano 33 IoT board. The power strip the lamps are plugged into is controlled by the relay, and I can send an HTTP request to turn the relay on or off. I created a shortcut on my phone's homescreen so I can easily control it from my phone. But that's such a chintzy project I almost feel worse for admitting to it. :p

  • brongondwana2y

    Back in 2001-ish, looking for a rental house with good public transport. Screen scraped the entire realestate.com.au database overnight, then fed the addresses into some mapping API that gave me coordinates, and caluclated the distance from those addresses to the addresses of Zone 1 train stations.

    Also had descriptions, so wrote a simple regex based scorer that classified the descriptions by keywords that I valued. Spat out a hitlist of likely candidate houses to go inspect.

    ...

    Also wrote a basic wedding registry that allowed people to scan our list of things we wanted and say they had purchased them, or were interested and it gave a list of others who might want to go in on a group purchase. No privacy, but it was only sent to friends. Circa 2004.

    ...

    Finally, wrote a diary and calendar tool which took emails with very simply structured subjects and built a static website showing travels through Europe in 2002. Could email from any net cafe with any email address and it would update the travel diary, or a website with a calendar saying which city we were in and how we were traveling to the next one. Friends could elect to get immediate updates or a daily summary. Purely static built from cron and email archives. Worked like a charm.

    ...

    More recently, hmm... as treasurer for various choir things I've written a ton of little commandline tools which give very quick access to data and allow tracking who owes what and logging their payments into a database, and tools which generate email invoices and receipts.

    Everything else is either opensource or work stuff. And I don't code so much these days either, though this week I started diving into Python to create tools that help keep data for our marketing team up-to-date without manually copying stuff around, and some maintenance work on code I wrote 15 years ago which is still running really nicely but needs some updates.

  • Slartie2y

    I have glued BLE beacons onto my trash cans in the backyard and written a Python program for a Raspberry Pi that uses its Bluetooth interface to detect the beacons and keep track of whether they are present or not. It also downloads the trash collection calendar from the local utility provider responsible for collecting them and produces an overview over all four types of trash cans with info on their whereabouts (in the backyard or next to the street, based on whether the beacons are visible or not) and number of days until they are collected. If collection is imminent (tomorrow) and the location is still "the backyard", a big flashing warning is shown, requesting whoever reads it to move the trash can to the street so it can be collected.

    The Python program produces a regularly updated XML document, which references some XSLT so that when it's loaded in a browser it'll render a nice HTML page with styling and images and stuff. The Raspberry Pi serves that over an HTTP server in the local WiFi, and in the kitchen there's an old Amazon Fire 7 tablet stuck to the wall where a Kiosk browser keeps that page on fullscreen display and regularly updated. The tablet also has all sleep modes deactivated so it is on all the time.

    This way we never forget to move out the trash for collection, which we did regularly before I had this solution in place (built it about 5 or 6 years ago). It's horrible in a family of four if the trash is overflowing just because you forgot to move the trash cans to the street so they can be picked up.

    2 years ago the solution (called "Internet of Trash") was extended by a little Bluetooth label printer located next to the tablet in the kitchen and some UI on the web page allowing to quickly print sticky labels with two lines of text, usually used to label boxes with food leftovers and pre-cooked ingredients (such as sauces for example) with what's in the box and the date when it was cooked. The UI has easy quick-choice buttons for the common food items we usually have and the last few days for the second line, but also allows free-form entry. It relays all input via the Raspberry Pi which sends it over Bluetooth to the printer. The labels help us immensely to keep track of leftovers stored in the fridge or the freezer - not just to know the exact type of food in the boxes, but also to determine when stuff has to be thrown away or which to use first when multiple boxes contain the same food ingredient.

  • allochthon2y

    I built a web app that keeps track of every link I ever find to be interesting. It allows for fine-grained topics (e.g., individual academic papers, or topics more specific than that). It groups the topics in a DAG, so that you can get to a topic via more than one path from the top. And it allows you to look at intersections of transitive closures over topics in order to narrow down a search.

    It keeps a history of every change to the graph in Git, so one day you could potentially implement some form of time travel and see what the graph looked like at an earlier point in time without too much difficulty.

    I have used the app every day for years. I feel like there's something promising there that is of general interest, but I have not figured out how to communicate the value.

  • troebr2y

    I bought one of these LED screens (you get 64*32px, so not a lot!), and I wrote an app to view my local surf conditions on it (so I know what I'm missing out on while working). But because it doesn't support a way to run local apps that fetch from APIs, I had to add a way to show the forecast for other spots and make it "official". No idea how many people use it, but I saw it on instagram ads so that was some kind of validation haha. It looks like this: https://pbs.twimg.com/media/FMi996lVIAAQMI3?format=jpg&name=...

  • mieubrisse2y

    Not nearly as cool as all the other stuff here, but still my favorite piece of tech for myself:

    IMO, Vim + Markdown is one of the best ways to take notes, brainstorm, or just explore ideas. However, I found the questions of "Where should I put the notes in my dir hierarchy?" and "How do I find the notes again?" and "How do I ensure I have my notes across all devices?" to be inhibiting.

    I wrote a CLI "journal" tool that says "forget putting them into folders", dumps all the Markdowns into a single Google Drive folder, and instead focuses on providing really good search.

    Now, in my day to day, I can do "journal new some-meeting-with-dan.md" and I get a fresh Markdown. I can also do "journal find" to search by name, date of creation, or tag, and then open notes in either Vim or as rendered HTML in Chrome (for copy-pasting). Behind the scenes all the information is just encoded in the filename (so it becomes "some-meeting-eith-dan~2023-04-23T22:10:23~tag1,tag2.md", with no extra DB needed).

    I'm also now trying to rewrite the frontend as a Charm TUI, which is another whole fun growth path!

  • tiew9Vii2y

    I'll share a project I've been working on that has greatly improved my meal planning. I created a tool to tell me what and how much to eat from a list of ingredients.

    Unlike most existing apps that only track what you eat, my app helps you figure out how much to eat to hit your target macros. Initially, I had created some Python scripts that worked well, but I found them inconvenient to use as I needed to be near a computer, edit the script and manually add ingredients to a dictionary. To make it more user-friendly/faster, I re-wrote it as a web app in Rust for the backend and integrated a free food database.

    Now, I can quickly and easily add a list of ingredients I have at home from my phone and hit calculate.

    Currently, I'm the only user, and the tool is designed entirely for my needs. However, I think it could be useful for others looking to plan their meals and eat healthier, which is why I host publically. If I were to build it for general public use, I would need to relax the constraints to allow flexibility on how close it can match your targets. I would also want to add more food sources, maybe the USDA database, but since I'm not in the US, a lot of the foods won't be relevant to me. Maybe if I get the time i'll work on it but for now it works perfectly for me.

    You can check it out at https://www.macrosolver.com/. Let me know what you think!

  • servercobra2y

    It's not specifically just for me but for my team at the World Largest Trivia Contest [0]. It's a 54 hour long contest, questions are broadcast over the radio, you have the length of 2 songs to call in the answers, and you can use any source to find the answer. Sounds easy, right? Just Google it? Nope. "In a big screen flick, XYZ is talking to ABC about something. In the background, a train passes. What does it say on the train?"

    This has led to a ton of fun little coding projects to help us answer questions better. A lot of very hard to Google questions involve album covers, so I ran every album cover I could get through Google Vision and built a little search engine. Another part of the contest is short (1-2s) clips of songs being broadcast and you have a few hours to come up with what they are. We built a massive fingerprint library ahead of time and used it to answer some of those (Google finally got better at this too, before we built this, it'd never work because the clip was so short). We also use AWS to live transcribe the broadcast because one of the hardest parts was remembering "were they asking for the actor? their character? the movie?" and having to wait until they ask the question again between songs.

    Next up is a parallel auto-dialer. There's only a handful of people answering phones, so actually calling in the answer can be a struggle.

    [0] http://90fmtrivia.org

  • headline2y

    I suppose this counts: Although not that interesting, I have one of those AC units in my apartment that sits on the floor with an outlet tube terminating at a window to pipe out hot air. The internal reservoir for this unit is quite small so I hacked together a float valve that triggers a pump to offload the condensation water to a larger bin, that way I don't have to empty the reservoir as often.

    Pretty simple, but saves lots of time and I don't have to worry about the air conditioner turning off in the middle of the night due to it's internal reservoir becoming full.

  • ftfish2y

    One super niche project I made recently lets you search through dialogue in public domain films:

    https://public-domain-film-quote-search.stefanbohacek.dev

    I made it so that I can quickly find vocal samples to use in music production.

  • KaiserPro2y

    I re-created a stock ticker machine. I saw an article about them on here and thought "oh that would be cool to have one, lets try and buy one" I realised that they cost $4k+.

    So I made my own. https://www.secretbatcave.co.uk/projects/stock-ticker-machin...

    Its not strictly electro mechanical like the original, that was too far out of my mechanical design skills.

  • Msurrow2y

    I build a "SaaS" wine app, for tracking wines in my cellar and for tasting notes as well.

    "SaaS" in quotes since it runs in a small production setup with all the bells and whistles (ie. CI/CD pipelines, continuous releases, user signup etc.), but I'm the only user :-)

    I'm a wine enthusiast, i.e. not a professional but interested enough to do a WSET2 in my spare time (I'll do a WSET3 when I find time some day). I like to/need to keep track of two things as part of my wine hobby: Wines in my cellar, and tasting notes.

    Used to keep the wine registry in excel and notes in Evernote, however especially the excelsheet lacked features, like easy searches from a mobile device, and notes about the wines in my cellar (not tasting notes, as I have plenty bottles I need to taste but havn't yet, and I still need some notes on those to remember where the heck I got them from and why).

    Also, WSET2 tasting notes a much quicker to do with the proper template, but copy/pasting text in Evernote became too annoying (again, phone).

    So, I build my own app to have exactly the features and mobile friendly GUI I want. I'm the only user on purpose, because then I can keep building and changing features to be just like I want them.

    Yes I know there are some "wine tracking apps" out there, like CellarTracker and Vivino, but they dont fit my needs. CellarTracker is closest to my needs but way too clumpsy GUI and not mobile friendly -- I don't have my laptop with me when I'm in the cellar to find a wine for tonight, I have my phone.

    Will I every make up the time I spent building it in time saved compared to my excel/evernote setup? Nope, not even close. But it was a fun side project, and I like fiddling with the hosting/Ops part.

  • ChicagoBoy112y

    I have a wonderful group of friends from back home, ranging all over the age spectrum, who all golf together almost religiously every weekend. I made them an app that resembles the PGATour's live scoring, so folks can be on the course and input their scores on the holes and get a live leaderboard of how everyone is doing, factoring in everyone's handicap. There are some commercial apps that kind of do this, but the issue with us there are several members who for one reason or another don't. have phones to input their scores themselves, so my app lets one person in the group put their scores in for the other ones.

    After I left the country, this has had the wonderful side benefit that I can still follow along with everyone's game, and has been instrumental in me staying in touch and connected to my friends, so that when I come to visit on vacation it's like I never left!

  • gdulli2y

    I'm a big SNL nerd and have favorite sketches/memories going back over 30 years. I find it very rewatchable, but streaming services don't have full episodes, and even downloading full episodes wouldn't make it easy to find individual sketches. So I built a Plex library of over 500 individual sketches using some automation.

    I used yt-dlp to download the metadata for over 6,000 videos on the SNL Youtube channel. I put it into a database, parsing out season/episode into fields where possible. Then I wrote a small Flask app to search or browse seasons/episodes, from which I could flag for download the sketches I wanted.

  • AIBeats2y

    I created an AI that can beat the first and second boss in my favourite pc game Dark souls 3

    First boss:https://www.youtube.com/watch?v=zcbH7jt4w0w

    Second boss:https://www.youtube.com/watch?v=IeEoQVT66t8

    I am using cheat engine to get information from the game such as hero position, boss position, hero animation, boss animation, time since animation change, life, stamina, current rotation and the angle between the boss' heading and the hero. (to see if hero is behind or in front of or to the side/behind the boss)

    When the boss or hero starts an animation i start a counter at 0. For every timestep that the animation is still running i increment that counter and feed it as inputThe AI has no knowledge about the lengths of the animations. It has to learn that.The animation names are converted to a one hot encoding and fed to the network

    The different examples shown in the videos have only been trained for a few days in real time (only 1 instance of the game running). But the episodes are cherry picked. In the Iudex case it actually kills the boss almost every time, however Vordt is a lot harder to learn so these are the some of the kills that i have picked out.

    Other games have APIs made for reinforcement learning so that the agent can take an action at each frame of the game. I have kind of hacked my own implementation and are actually doing keypresses with sleeps in between each step as i can't control the frames on a frame by frame basis.

    I am using python and stable baselines for the reinforcement learning part. I made my own implementation of a "gym" for dark souls. Then i set up a lua script in cheat engine that opens a socket from this socket i read the state in my python script.

  • pugworthy2y

    I have been working for a while on a wooden sailing ship model, where at times one will reference model parts in terms of real dimensions - e.g., a 4" x 18" piece of wood. But that has to be translated into the model's scale when measuring the model parts.

    To streamline this, I made a little Arduino-driven device with an OLED display that can plug into the digital output port that many digital micrometers have. It takes the current micrometer measurement, applies the scaling factor, and displays the scaled dimension on the OLED.

    So that means I can take a small piece of wood from the kit, measure it with the micrometer, and directly see its full scale dimension - e.g., it's a scale 8" thick plank. Or I can take the micrometer to the 8 foot measure, and use it to mark off a piece of wood that I want to be that long.

  • billylo2y

    I live on the flight path of a busy airport (Toronto) and have always wondered what type of aircrafts they are as they fly above me.

    So, I made a "Plane Above Me" app that listens to airplane sound. Once detected, it polls data from flight APIs and read out the flight info and aircraft data.

    In other words, it's my little "Flight Announcer".

    https://evergreen-labs.com/PlaneAboveMe.html

  • api_or_ipa2y

    https://neighbs.us/

    Really fucking dumb. Uses browser geolocation to tell me which neighborhood in San Francisco I'm currently standing in. Grabbed the lat/longs of each neighborhood from the SFData [0]. It works by plotting a circle representing your location + uncertainty and determining which of SF's 117 neighborhoods intersect with it. If your circle intersects with more than one neighborhood, it's smart enough to categorize them in order of certainty. It even automatically updates as you move, it's pretty fun to sit in an Uber and watch the neighborhood change as you move across the city. Learned a lot about polygon intersection algorithms, they're pretty amazing!

    Built it a number of years ago when I moved here. Since it runs entirely in the browser, it's hosted for free on github pages and I don't need to maintain a server.

    0 https://datasf.org/opendata/

  • spacec0wb0y2y

    I recently took up the banjo and as a musician who learns by ear, I wanted a way to quickly loop a phrase of music, slow it down and learn by repetition. Speeding it up as i go and moving on to the next phase.

    So I built https://looptube.xyz It takes a YouTube ID input and allows you manipulate the video to loop and change tempo

  • 2d8a875f-39a2-42y

    Made a desktop app for homebrew beer recipes.

    There are plenty of brewing tools out there, but ito data model and workflow they are all basically descendants of ProMash. I wanted something that approached home brewing with a focus on process instead of ingredients.

    My data model of a "recipe" is a DAG of typed process steps each of which can have ingredients attached. Liquid volumes move through the DAG and are modified at each step. Outputs of the recipe are at the leaf nodes. This model can represent any wacky brew day you can dream up - including and not limited to multiple mashes, splitting or combining volumes pre or post mash/sparge/boil/cool/ferment/whenever, packaging wort, etc. The regular tools usually can't even represent a partigyle batch properly.

    Honestly for my regular 20L single-infusion no-sparge brew day it is probably slightly less convenient than say Beersmith. But for unusual situations it shines. For eg this past festive season I found myself needing to stock up quickly. Designing a 40L "one mash, one boil, two different beers [1]" double batch brew day was easy, and hitting all the numbers along the way for such a mad-hatter exercise was incredibly cool.

    [1] Scottish Export and Sweet Stout

  • jdemaeyer2y

    I used to love discovering new music through Spotify's Song Radio feature. But somewhere along the way, they started personalizing it so much that every radio is now basically an echo chamber of the same songs I already know, most of which I have even already added to my Liked Songs.

    I built myself a small service to "disable" (work around) Spotify's hyperpersonalization by giving me the Song Radio as an anonymous user would see it. It's available at https://spoqify.com/ (with the name chosen that way so that I only need to replace a single letter in the URL of a Song Radio Playlist and it'll forward me to an unpersonalized version of it).

  • chrbr2y

    When I was house-hunting I ended up writing a console app for my wife and I to do a few things:

    - Pulled down applicable YNAB savings envelope balances and future income calculations from a Google Sheets spreadsheet (which included stock prices for determining RSU payouts) to know how much cash we'd have for down payments at any time in the next 12 months

    - Allowed us to either give a house price and have it output when we could afford it, or give a month and tell us how much we could afford if we bought on that month

    - Do budgetary analysis of what the monthly payment would be, given fluctuating mortgage rates and estimated insurance from scraping Zillow/Redfin

    - Calculated transit times to my office and my wife's office using Google Maps

    - Allowed for swappable "scenarios" for all the above to show what would happen if we wanted to sell our current place first and then buy, buy and then sell, or buy-renovate-sell, so we could evaluate all options. We ended up going the buy-renovate-sell path in reality, and it was a huge stress relief to have hard numbers showing us the money was going to be fine.

    - Output several months of cash reserves for each scenario after all transactions were done, so we could know if we would cut too much into savings

    - Output a yes/no decision based on all of the above to keep us grounded and help prevent over-reaching for a house we couldn't afford - basically enforcing rules on ourselves

  • paws2y

    I don't know if it qualifies as the "most interesting" but as a travel bug I wrote a little airfare scraper that I got plenty of value out of.

    Basically it's a script that scrapes several places for flight deals and "mistake fares" and notifies my phone if it matches with my city. No searching like other flight apps, you basically just set it up and wait, and various places will pop up. Helps if you're in a hub city e.g. NYC.

    The phone notification was crucial because such deals sold really fast. In case the booking didn't work out I was usually covered by the 24 hour cancellation rule [0][1].

    I started off running it on my own server but later I learned IFTTT handles device notifications without paying the Apple Developer tax, so I migrated things there. Used it more when I was single but nevertheless it's helped me land some killer deals e.g. NYC-Dublin RT for $300, NYC-Paris RT for ~$400.

    Thought about making a paid app out of it but the limited seating and time-sensitive nature of these deals is tricky.

    [0] https://www.transportation.gov/airconsumer/notice-24hour-res...

    [1] I believe this rule, which is not so broadly known, was imposed on air carriers in response to certain fraudulent online marketing practices going on at the time.

  • lalunamel2y

    I built a native mac app called FileWatcher. It watches the filesystem for events like read, write, open, mount, stat, etc etc. I wanted to investigate how xcode's build system worked [1] (which relies on `stat` to determine whether or not a file needs to be recompiled) and couldn't find any tool that would do the job.

    I was astonished when I couldn't find what I needed - surely this had already been solved by someone else! There are things like inotify and watchman, but they don't provide process information about the events.

    I haven't figured out how to distribute it quite yet because the API it uses to collect file system events isn't allowed in apps distributed on the app store. I recently made a short video demo, though[2].

    [1] https://blog.codysehl.net/2023/Understanding-the-XCode-Build... [2] https://www.youtube.com/watch?v=EPhMWXzoBWY

  • tunnuz2y

    I don't know if it's interesting, but here it is.

    The local branch of the company I work for has recently included a food allowance of 8 eur/day as a perk. I don't like / have opportunities to eat out most days, so I have built a little utility that fetches via a REST API the offers at the deli / grocery store on the way to my kid's nursery, and solves a knapsack problem to generate the most optimal shopping basket (i.e., closest to but not exceeding 8 euros). I extracted the API from the deli's website, as it seems to be something custom. Of course, I might not care about some of the items that the utility includes in the most optimal basket. To mitigate this, the utility iteratively refines the basket by asking me if there is something I want to remove, and then replaces it with the next most optimal items to fill up the remaining budget.

  • kubota2y

    I have a tractor. Mice like to chew electrical wiring because the wire casings are made of soybeans, so the tractor dealer recommended setting several traps by my tractor. I couldn't stand killing a mouse so I used "humane" catch and release traps, the problem was a mouse died because I forgot to check the trap. So I put a reed switch and an esp-32 on a catch and release mouse trap that when tripped, sent an mqtt message to aws iot, that triggered a lambda function that sent me an email notifying me I had a mouse to let out of its trap.

  • JoelMcCracken2y

    Its probably too late to comment for anyone to see/respond, but I've been working for a long time on a personal workstation automation/configruation project:

    - https://github.com/joelmccracken/workstation

    At this point, its basically ready to go. Its a weird feeling. I've been working on it for so long, and now it... works.

    Being able to use github actions with macos runners makes this project so, so, so much easier.

    Another project I've been working on is a custom authoring format - think markdown, but customized to my needs (specifically, the format is extensible). Think markdown/xmlish hybrid. There is a lot of churn though so I'm not quite ready to demo it, but once I get something interesting I'll share it more with folks.

  • meta-meta2y

    I built a VR environment for making and thinking about music, intuitively playing with alternate tuning systems, building instruments in space and livestreaming.

    https://www.youtube.com/live/v4uHqdTr-bs?feature=share&t=426...

    There are a few simple but powerful building blocks. One main feature is an egg shaped "note" which can be placed, resized, retuned and cloned on the fly. It's played by physics interactions with a "mallet" or sports balls, anything with a collider.

    One of the instruments is a sine wave organ which has drawbars to control the amplitude of overtones. Unlike a classic organ, these overtones can be independently retuned and assigned envelopes to produce a range of timbres. Pitch is consistently mapped to a spiral - an isomorphism of pitch space.

    It has a theremin which provides visual and tactile feedback and a voice with vocal formants controllable with a thumbstick.

    It has a physics based sequencer of sorts which consists of "mallets" on a wheel which spins at a desired ratio of whatever BPM is set in a DAW. These wheels can be cloned and multiple mallets arranged around the circle using the Euclidean rhythm algorithm.

    Since low latency audio in Unity is tricky, the VR app is really just a controller for synthesizers running in Max/MSP and IEM spatial audio VSTs running in REAPER. One day I'd like to package some portion of it into a mobile VR app for things like remote jamming or music lessons where models of the theoretic ideas are right there in front of us to tinker with. For now, it's just for me.

  • stpe2y

    I really like reading books, non-fiction, fiction, business, everything. But I always tended to have good reading momentum and then life/work happened that derailed the reading habit - and I forgot about it. Took months to pick up again...

    To keep reading top of mind I built a Chrome "newtab" extension to show my "Currently Reading" list, and excites me about books I've put as "to-read". It has worked wonders on my reading! And it is pretty small and polished - no tracking, no credentials, just bare-bones.

    https://chrome.google.com/webstore/detail/currently-reading/...

  • karakanb2y

    I lived in a family apartment growing up, and we'd lock the door to the entire building at night when everyone was home with a sliding lock so that it could only be opened from the inside. However, that'd mean you need to ensure at least one person from every apartment was home, otherwise you'd need to go downstairs and let the others in in the middle of the night.

    All the 3 apartments in the building were sharing the same wi-fi device, therefore I built a simple scanner to find all the devices in the network, connect them to the individuals I knew, and show the devices I found on the network in a simple website, which then I installed on my parents' devices as a PWA. The scanner would run in a Raspberry Pi I had lying around.

    In the end it wasn't very reliable, the router kept failing occasionally due to nmap, and after a few failures we stopped using it, but it was a fun experiment for me.

  • JackMorgan2y

    I used to listen to lots of mp3s on my computer in the nineties, so I built a USB IR receiver that could interpret signals from a remote control and use it to control winamp.

    I made a tool that tracks the current and historical prices of all sailboats in the world to look for possible good deals.

    I made a website that let me track my student loan payoff (since I had 30+ different loans) that showed the total payoff as a big red thermometer. I also would track the dates of payments and used that to estimate the total payoff date

    I made and open sourced an attendance tracking site for a local school that allows students to come and go throughout the day, but needs to ensure they at least showed up and returned before school let out.

    I made a tool that would determine the most efficient way to build damage per second on each hero in a moba. It used linear optimization to calculate which items to build and in what order to get the highest DPS.

  • StuGoss2y

    I like to fish at night. So I built 3D printed bobbers with an LED diode and scavenged LiPo batteries from vapes inside. It has a dime sized wireless charger receiving coil that is glued inside to a slightly flattened bottom. Externally I built a mini solar panel that charges a scavenged 18650 that charges the battery with a wireless transmitter. The bobber is about the size of a golf ball. I used a slow blinking LED diode that changes color of the bobber. Haven't caught a fish with it yet but it is mesmerizing watching it change colors and bob on the water.

  • edbrown232y

    I've been slowly working on a web app that keeps track of cocktail recipes and all the liquor bottles in my home bar, then it tells me what drinks I can make right now. It's been a fun way to spend way too much money at the liquor store buying "just one more bottle", and I've found some new favorite drinks via these recipes.

    It doesn't do anything amazing yet, but it's been fun to tinker with it over time and get back to coding as I do more and more management at work.

    The website itself is here: https://barkeep.website, and I've been blogging about it here: https://edbrown23.github.io/blog/

  • NotPavlovsDog2y

    A TDCS device. Trans-cranial Direct Current Stimulation, mostly experimental, somewhat proven for short-term depression and cognition improvement. Motivation was my solution would be simpler and easier to control as well as include triple safety.

    I had little trust for the Chinese IC steered devices nor the early US attempters at pop market that refuse to describe even their safety approach.

    Pleased with my personal results. Would not openly recommend doing it, because the DIY route as well as adopting TDCS do require that you can competently read medical studies. At least half of those I browsed fail good science test even at first glance.

    And then of course the manufacturers and sellers are even worse, such as they are quite good at parroting misquotes of study results for marketing and PR.

    Next plan is build an ECG and my own medical ultrasound, although with that one it is probably best to wait for about 5 to 7 years till the new-tech ultrasound generators get to market.

  • simonw2y

    I built a personal data warehouse just for myself, with everything from my Tweets and LinkedIn data to my Swarm checkins and a copy of my genome.

    I gave a talk about that (with a lot of video and screenshots) here: https://simonwillison.net/2020/Nov/14/personal-data-warehous...

  • uppa2y

    Sounds super simple, but was awesome at the time. In the 90s when all of my music was either on CD or ripped to MP3, I built an FM transmitter to broadcast my computer audio (sonique or winamp) to any radio or receiver in the house. It was a perfect solution that didn't take long to implement. I didn't know anyone else who did this.

    About 5 years ago, I had a car stolen and lamented what affordable tracking mechanisms I could use. I cobbled together an extra cell phone and a data only SIM. I kept the phone running in the back of my van plugged into an auxiliary cigarette lighter port. It uploaded data to google spreadsheets every 15 minutes. I had to root it to have it automatically boot when connected to power. In the end, it was flawlessly reporting its location every 15 minutes. While I was testing this, my car was stolen. The google spreadsheet pointed me to the GPS location where it was. A phone call to the police and a 40 minute wait for them to arrive got my car back only hours after stolen. Dude was sleeping with a big knife next to him, so I'm glad I let the professionals speak with him.

  • hectormalot2y

    A recipe manager for our family that strips all the SEO text out using the OpenAI API. I built this after someone in our family got diagnosed gluten intolerant and we had to make changes to our usual recipes.

    Normal recipe sites tend to be full of irrelevant (SEO optimized) text, ads and tracking, and I wanted something to just get the recipe in a clean form.

    It’s a basic web application (mostly in Go) to manage recipes. New recipes are imported from an URL, after which it extracts the plain text from the site and uses GPT to get a markdown formatted recipe and list of ingredients.

    This would’ve been much harder pre-GPT, but now was trivial to implement.

  • blakewatson2y

    I have a bunch of these. They are my favorite things to make. I've been making things like this for a long time but I only recently started to appreciate them after discovering this article. https://www.robinsloan.com/notes/home-cooked-app/

    - I have a disability and require daily personal care so I made a system for recruiting and hiring caregivers. (https://blakewatson.com/journal/a-home-cooked-app-for-hiring...)

    - I need to track those caregivers' hours so I can make sure timesheets are accurate, and I wanted to do it with minimal effort. So I created a plain text syntax readable by a web app I created that takes that syntax and outputs exactly what should go on the timesheets.

    - Sometimes the government agency that runs the program doesn't send me enough timesheets, so I created a "forgery" of their timesheets in CSS where all of the values are interchangeable via JavaScript. Now I can print any timesheet for any one of my caregivers for any time period on demand.

    - I made my own web-based bookmarking tool to replace my Pinboard account. It automatically sends every bookmark to the Wayback Machine. (I wrote about that one and a couple of others https://blakewatson.com/journal/the-joys-of-home-cooked-apps...)

    - Sadly I'm no longer able to use this one because of decreasing strength, but I once created a custom mobile-based keyboard for typing on my Mac. https://www.youtube.com/watch?v=Pre6EQGIuKY

    - I wanted to be able to share my plain text notes so I made a CLI for selectively publishing notes to the web.

    Really most everything I make outside of my day job is for me/family initially, but a lot of it I end up publishing. For example my main side project is A Fine Start (https://afinestart.me/). It actually started as an assistive technology just for me—typing is difficult so I wanted a new tab page with just clickable text links. I used it for a while myself before eventually turning it into a browser extension and service for other people.

  • Saigonautica2y

    Most useful thing?

    Honestly, a lamp that uses a 1W red LED behind a big diffuser. It uses PWM in the MHz range for dimming (so definitely no flicker), and big physical controls. My wife and I both get migraines and being able to set very dim red light seems to be better than sitting in complete darkness. I have insufficient data to tell if this is a real effect, unique to us, or placebo.

    Code is in AVR assembly, because that's easiest for me. Sometimes I feel silly that after all these years working with technology, this is the most useful thing I've managed to build for myself. Hey, it's not nothing though :)

  • texuf2y

    I built a website that you can bring up in multiple browser windows, or on multiple adjacent monitors attached to independent computers. Each browser displays a unique QR code. A user can navigate to a second webpage, activate their camera, and point their camera at the QR codes. Each QR code will switch to a unique AR code, then the user can project a single continuous image across all the monitors. It mostly works but I’m missing some 3d math to make the image line up perfect when the angles are weird.

  • dzink2y

    - I built DreamList.com originally because I was working on another startup and as a founder I didn’t want my Baby Registry showing up on search engines or my address showing up to random people who looked up my name. All the other services were using customer names as free SEO and every list was indexed by default with your address available. I built it safe and private for my own family and over time it went from side hustle to main hustle, especially as demand for privacy-respecting social and family software keeps going up.

    - A family member in an elected position needed to write a schedule for 22 healthcare professionals that take shifts every month and I wrote a tool for them that allows them to make sure everyone gets sufficient time off and nobody takes too much of the weekend load. They were elected again and to a higher leadership role partly because of the scheduling tool.

    - Regularly writing new stock trading, modeling, and timing software to improve my earnings from trading.

    - Wrote my own tool to scrape bios, cluster and find investors in different niche areas and need to rewrite it for recruiting people with niche expertise.

    - Created a social network for collaboration between nerds like me in different disciplines at top universities while I was at grad school and shut it down after it got flooded with recruiter spammers. Always thinking of ways to relaunch that.

  • ktzar2y

    I built a website to track the generation of electricity in Spain since I couldn't find a single page from the official provider that contains all the information I wanted to look at at a glance. https://energy.antizone.site/ It scrapes different pieces of data at different intervals.

  • generalizations2y

    I like thinking out loud, but don't like having to listen to voice memos. So I created a syncthing folder that is synced between my phones and my home server, and created an iphone shortcut that records voice memos and saves them into that folder (and then opens the iphone syncthing app so that it'll do the sync). I have a cronjob on the server that looks for new audio files in that syncthing folder and transcribes them with whisper, formats them into a nice looking pdf, and sends them to the printer. So now I can be anywhere, record a voice memo, and come home to find it sitting in my printer.

  • elmerfud2y

    Way back in the day before space was a non-issue I bought a used pioneer 720 disk DVD changer. Wrote a frontend to control it and mount the DVDs over iscsi for my media center.

    Also many years back when I was traveling all the time I created a thing based off the what 3 words data where I could geo drop messages at a location. My friends and I used it for a while but then just forgot about it.

  • orsenthil2y

    I wanted to practice with leetcode. Resetting the solution wasn't available as short cut key. So created a tampermonkey script to help me reset and redo the problem. Helps me a bit.

    After I got fired from twitter in 2015, I was having some remorse, dissatisfaction and sense of failure, opportunity lost. I wrote a browser extension, https://github.com/orsenthil/fortune-browser-extension that will good quotes I had collected and help me focus.

    I still go by that maxim. "There are far far better things ahead than any we leave behind. C.S. Lewis" and want to share this with anyone was let go by bad leaders in the tech layoffs.

  • muzani2y

    I was playing a MMO with a market. Sometimes people would make mistakes, e.g. selling 100 iron for $1,000,000 instead of selling 1,000,000 iron for $100. I made a little tool that polls the API and sends a notification when someone made a mistake.

    Eventually I got bored of grabbing these mistakes and left the tool with my clan. It had the side effect of getting people active on Discord, and making people more actively involved in countering raids. We ended up building one of the most elite clans in the game until some other whiz kid built a better bot.

    There was also this little augmented browser tool that calculates the best order and timing to attack in the game, and the statistically likely result.

    We'd joke that all the tools we built for that game were probably well worth hundreds of thousands of dollars and that's around the time I decided to quit and spend my time on something more useful.

  • crowdhailer2y

    I've built my own small embeddable functional language with structural record unions and effect types. By focusing on making the language tiny I have been able to embed it in arduino, web and server projects. The aim is to eventually use it for every side project I make. https://petersaxton.uk/log/

  • cehrlich2y

    When language learners learn vocab, there are two main processes: 1. Use a premade list of the top x words. Pro: they are guaranteed to be common words. Con: Once you make it past 2000 or so, they might not show up depending on what sort of niche things you read/watch/talk about 2. Look up random words as you come across them, and learn those. Pro: These are words you really saw. Con: You don't know how common that word is, maybe this is the only time in your life that you'll see it

    I made a web app that lets you note down words that you come across and might want to learn, and then generates a learning order of those words based on a variety of frequency lists, as well as linking offsite for sample sentences etc. It allowed me to pass the JLPT N1 with just 6k known words (people usually need 8-10k)

    vocab.c-ehrlich.dev

  • rozenmd2y

    I originally built OnlineOrNot (https://onlineornot.com) to have a convenient way to convince my contracting clients that their hosting sucks.

    They'd be like "Oh but I pay $5/mo for this wordpress host, it's fine?" and I'd send them a report saying their website was offline for say 10 hours that week, and to calculate how much being offline for 10 hours would cost them.

    Eventually a client asked to be setup with their own account, so I took the time to go full-SaaS.

  • impostervt2y

    A door sensor, for when my kid was sleep walking. There are various door sensors out there on the market, but they all set off a siren. I just wanted something that would alert my phone and wake me up, in case she did it in the middle of the night. Your not supposed to wake up a sleep walker, and I sure as hell didn't want a siren going off in the middle of the night.

    Kinda sorta worked ok...just in time for her to stop sleep walking.

  • knaik942y

    I have been struggling with my circadian rhythm and have been exploring light therapy and novel techniques that will help me wake up. I learned that a smart light I bought, from Kasa, has a solid community written python library that controls it on the local network. I made a little app that adjusts the lamp color based on sunrise and sunset hours. It's relatively simple technology wise, but it's forced me to rethink how I evaluate "smart" technology.

    I am thinking of expanding it to be a notification light of sorts. Not for anything related to the internet, but for chores, like the laundry machine finishing, or reminders to take a break from work. It's helped me remember to grab lunch more than a few times this week. There's something pleasant about light notifications compared to vibrations or sounds.

    I am working on making an advanced wifi enabled timer using an esp32. I love the idea of a dedicated timer, seperate from my phone, that I can use day to day. I have a basic display and webserver for scheduling countdowns/alarms, but I want to incorporate some sort of keypad and a couple input buttons. There's plenty of ways in can be improved.

    I also have a first generation raspberry pi monitoring my washing machine, it sends me notifications when a cycle finishes. It uses a simple ultrasonic sensor and is hosting a web server showing a readout.

  • qnleigh2y

    I realized at some point that in learning languages, I was often limited by how much vocabulary I was picking up. The main advice I got was to read more, but progress was slow; I learned less from more basic texts, but constantly had to look up words when reading more advanced stuff.

    So I wrote myself an e-reader (in Kivi) that is aware of my vocabulary and integrates with a flashcard system. For more obscure words it just shows the translation in-line so that I can focus on the most vocabulary. I pick up way more words and phrases, and can enjoyably read at a significantly higher level than without it.

  • kolinko2y

    When I was 15 years old and my sister was 4 or 5 years old, I wrote a pascal program that showed a big letter on a screen when my sister pressed such letter on a keyboard.

    She had fun pressing letters on a keyboard and then seeing them on the screen - possibly learning alphabet and keyboard layout at the same time :)

  • Champagn3Papi2y

    I've built a CRM (https://www.bizzey.com) for myself to automate my accounting / business administration. I was freelancing on the side and noticed that many of the business solutions where either crazy expensive for a single person business or looked like they were made in the 80's.

    It has since exploded into fully fledged CRM with all kinds of features you can choose from. I originally built it for myself to keep track of everything expenses, recurring invoices, ... At some point a freelancer saw me working in it and asked what I was using.

    Told him what I was working on and he became my first customer, since then it has spread through word of mouth.

  • mazzystar2y

    My AirPods Pro often fail to connect properly, appearing connected but music still plays on cellphone.

    As an introvert, I don't like to bother people. When I'm in a quiet coffee shop or library, I turn down my phone volume, select a white noise track in Apple Music, and put my ear near the bottom of the phone.

    So, I created the simplest app of my life: open the app, and it plays the sound of waves. If your phone is in silent mode, it won't play anything when the connection fails, even if the volume is high.

    I posted it on the web, and many people didn't understand its purpose, thinking it was just another white noise app. It received very few downloads. However, it's the only app I made that I use every day.

  • RheingoldRiver2y

    It's a Firefox extension for just me. [0] I've posted it here before, and one user said they'd start using it. I hope someone else finds it useful again. The problem: I wanted to be able to mute League of Legends streams in between games with a hotkey, and without changing visibility of any windows in the process of doing so. This is a much harder problem than you'd think, even with the existence of Autohotkey, and NirCmd, and ControlSend, because Firefox is really annoying. [1] It ended up requiring me to write an entire Firefox extension as well as use an AHK that uses ControlSend.

    Anyway, yeah, that FF extension. It represents the culmination of about 5 years of me trying to solve this problem with progressively more complex and incrementally better solutions until I finally arrived at a ridiculously over-engineered version that actually works as it should.

    [0] https://github.com/RheingoldRiver/MuteTabsMatchingPattern

    [1] https://river.me/blog/global-hotkey-mute-firefox-stream/

  • Ingon2y

    Some years ago, I was annoyed by 1password not having any support for Linux and local vaults, and their vault spec was open, so I build a JavaFX app that allows me to read/view my passwords and OTP tokens.

    https://github.com/ingon/opvaultfx

  • newmac2y

    Our house has a commercial style HVAC system. The controllers for everything (relays) are very simple. The run on a protocol called BACNet that is unauthenticated and pretty straightforward.

    I was able to read in all the data points and then use the weather forecast and a few other data points to make changes to my HVAC system. The comfort different has been very drastic. Our house doesn't overheat on hot days and doesn't get cold fast when the temperature drops. (I am in the Northeast where there are big swings).

  • almog2y

    I'm currently working on a service that would allow me to place orders using a satellite messenger.

    Some background: When I hiked the Pacific Crest Trail few years ago, I used to order items that needed to be replaced or that I lost to the next or town stop using my phone (most towns have a general store or a supermarket, often not an outfitter).

    However, it's not uncommon for sections of the trail to be outside cell service for days between town to the next one.

    Anyhow, since the next trail that I plan to hike, the Continental Divide Trail, is even more remote than the PCT, I started to play with a prototype of a satellite messenger backed service to let me order items from a predefined list (each can match multiple items of a different priority) and be shipped to a predefined shipping address (post offices of trail towns along the trail).

    So, for example, assuming that one of my contacts is a phone number that my service is monitoring, I can text a message like that:

      items: shoes, tape, filter, usb cable, ice axe;
      to: Chama;
      eta: 2023-07-01;
    
    And it should place an order of a predefined pair of shoes, water filter, Leukotape and USB cable and ice axe to Chama, NM. Messages are limited to 160 characters before they get split, and so to keep it simple, I might use shorter abbreviations for some items.

    If any item on the list can't be delivered until 2023-07-01 using prime shipping (unfortunately it's the easiest option), it should be dropped from the order. Alternatively, if the guaranteed delivery date is off by 1 day, I might just place it on a separate order, hope for the best and if it doesn't show up on time, it'll get returned individually after not being claimed.

  • akkartik2y

    As it happens, I just built the minimal, hackable tool for drawing boxes and arrows that I've always wanted.

    https://git.sr.ht/~akkartik/snap.love

  • denvaar2y

    I made a shell script that can be used to generate a diff of what data was modified in your pg database between two points in time. I use it to help me get a quick sense of what certain actions do without having to dive into the code too deeply. It's a pretty simple thing, but has been valuable to me quite a bit. https://github.com/denvaar/pgdiff

  • cloogshicer2y

    I'm writing my own app for practicing the piano. 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 :)

  • Joe23372y

    A toolset for learning Japanese with focus on listening comprehension. Most resources suggest a "writing systems first" approach, which seemed counterintuitive to me. So I started coding my own tools 10 years ago. First, a small spaced repetition system for vocabulary connected to forvo (pronunciation database) and lateron an addon for Anki (popular spaced repetition system). The addon is made for studying with movies and includes a dictionary and a parser for converting the original script to something simpler.

    In retrospect, it was totally worth it: I reached a decent amount of fluency in listening comprehension and used the tools to create a Japanese course for others, which became popular on ankiweb: https://ankiweb.net/shared/info/911122782

  • afiodorov2y

    One sentence summary of each top level comment here: https://github.com/afiodorov/notebooks/blob/main/2023_04_30_...

    I wanted to read all the ideas but it became hard to read.

  • thegoleffect2y

    A custom, DIY smart monocle from off-the-shelf parts, 3d printing, and custom electronics: 1080p60hz, 8-11hrs of battery life on a belt-clip battery + computer combo, has wifi & lte/cellular, can run ML models on device. One third the weight of upcoming Apple AR/VR glasses and one-sixth the cost. Just having it working has increased my efficiency a ton without obstructing vision or requiring me to look at secondary monitors or phone.

    Working on replacing my wireless keyboard and trackpad with some "gloves" so I can use it while on hikes or just generally outside. Then, gonna integrate some custom AR and ML/GPT.

  • chasd002y

    I have a liquid bi-prop rocket engine on the table next to me that is almost ready for a static fire and then a launch later this year likely at FAR or Spaceport America.

    It has improved pretty much all my skills. Fabrication, embedded software/controls, system integration, operations processes, research and learning and so on. So far it’s been my most challenging personal hobby project.

  • j3d2y

    Shared Slides Clicker [1] - an extension to allow for multiple people to remotely drive a single Google Slides presentation. I created this because it drives me insane when I hear people saying "Next slide please"! It leverages React and Firebase.

    Simple Weekly Meal Planner [2] - a very simple, free PWA for deciding what you want to make for dinner each week and tracking all the ingredients you need to get from the market. I built this because meal planning is one of the most annoying parts of adulting. It was built with Svelte and Firebase.

    Audiobook Locker [3] - a Tauri-based desktop app for managing your audiobooks. Think calibre-for-audibooks. I created this because I wanted a nice way to keep track of which audiobooks I'd completed and which to read next. It uses Svelte for the UI and Rust on the backend.

    [1]: https://fonner.gitlab.io/shared-slides-clicker/ [2]: https://simpleweeklymealplanner.com/ [3]: https://fonner.gitlab.io/audiobook-locker/

  • ChrisMarshallNY2y

    I’d say almost everything I’ve written, has been for personal use, even though I publish as public open-source.

    I write a lot of modules and SDKs, and regularly consume them in my own work. Comes out great.

    Lots of folks ignore my work. I won’t bother speculating as to why, but I’m fine with that, as everyone that depends on my work means I need to take them into account, when maintaining. If I’m my only customer, then I can do whatever I want. I write stuff that I need.

    Publishing as “classic” public open source, forces me to do a good job, so that means that really significant parts of my projects are pretty much “worry free.”

    You can see my stuff in my GH orgs (I don’t really have much in my personal repos).

    https://github.com/ChrisMarshallNY#here-on-github

  • zwieback2y

    Chicken coop auto-door opener so I don't have to get up at 4AM in the summer. It was just a basic Arduino system but I learned that large canning jars make excellent enclosures: waterproof, reusable, easily modified and replacable lid.

  • thedanbob2y

    I wrote my own firmware for ESP-8266 IoT devices to connect them to Home Assistant. There are many like it, but this one is mine: https://github.com/thedanbob/mqtt_light https://github.com/thedanbob/mqtt_garage_door https://github.com/thedanbob/mqtt_power_cycle

  • tiborsaas2y

    During the lockdown me and my girlfriend to watch movies remotely synced, I wrote a service to sync VNC instances together via websocket. It worked via the web control panel of VLC and a Chrome extension was handling the websocket messages and clicking on the buttons. It even added some indicators to show if we both connected.

  • rolisz2y

    I'll describe one tool that I built that sparks joy every time I use it:

    For a long time I wanted to listen to lots of different stuff, podcasts, sermons, YouTube videos, online courses. But I'd always forget about them and never got around to listening to most of them.

    So last year I started tracking this in a Google Sheet. Initially just a link of URLs, then I added date added/date completed, length, etc. Recently I even added some custom menu items in Sheets so I can add items and mark them done faster.

    I've greatly increased the amount of audio content I consume, even when I get in the car it's easy to select something to play next. But one conclusion: I add on average 4 items per week and I listen to only 3, so my queue grows unbounded.

  • difflens2y

    I built DiffLens (https://www.difflens.com/) initially just for myself. It's a diff tool that uses abstract syntax trees to make the diff more review-able. It's free for anyone to use too. I use it every day to review my diffs. If anyone works on Typescript, Javascript, HTML and/or CSS, do check it out!

  • LeoPanthera2y

    My Raspberry Pis all netboot. I have a bunch of them around the house. Some play music, some play games, some are smart TVs. Because they all boot from the LAN, there's no card to wear out, and I can change what OS they boot into just by renaming a file. It's simple, but intensely useful.

  • kaybi2y

    I built a sprinkler system that has 14 zones. Using raspberry pi and relays. It has a web interface and can run on schedule or manually. Worked out to be better than a kickstarter I backed, lono, that turned out to be dud and the company went under.

    I plan to open source it. have to clean up the code. Built with python flask, GPIO and a small custom PCB that interfaces pi with the off the shelf relay boards.

    Todo - flutter app - 3D printable enclosure to package the entire set. - basic logo etc.

  • sidwyn2y

    Built a Chrome extension to save myself money last Christmas: https://getscore.app/chrome?ref=hn.

    Ended up saving thousands of dollars for myself so far (I shop a lot online), and friends & family really love the product. We also applied to YC – so let's see how that goes!

  • khalidx2y

    I don't know about the most interesting thing I built ever, but I am pleasantly surprised with the utility and usefulness I am getting out of https://jarvis.tel.

    I built it to scratch my own itch: I wanted a way to use AI on the go the way I talk to people (via text messages) and wanted a way to quickly show off AI to the uninitiated (friends and family who have never seen or used or understand AI).

  • unsupp0rted2y

    I currently live in a place in which at 4:30am ~ 5am a mosque speaker loudly blares through my closed window, through earplugs, and wakes me up.

    I built a white noise generator on a timer, which starts up a little while before the expected disturbance, plays through it, then stops a little while after.

  • maddynator2y

    I’ve built a mac app that has all the dev tools I use on daily basis. Its 100% local & 100% offline. I was worried pasting company specific data on public website tools like JSON formatter, SQL Formatter etc and also hate having too many single trick pony apps.

    So one app to rule them all. Current list of tools in the app are: - Todo list integrated with Pomodoro timer - Notes with ability to be converted to todo list - Pomodoro timer - JSON/SQL/XML/YAML/Protobuf formatter and error detector. - Converter from JSON to CSV and other formats. - Meditation/Gratitude general - Universal time clocks - Count down timer, focus timer, stopwatch

    In development: - Unix time formatter - CloudWatch metrics reader (to monitor my other cloud apps) - S3 explorer (My own infinite cloud storage with no one reading meta-data or scanning my pictures/documents) - Cron explorer and scheduler

    In process of putting it on app store. If anyone is interested in trying, DM me.

  • Teknoman1172y

    Probably the backup and update system for my desktop.

    All of my Linux boxes use btrfs as the filesystem.

    I have some tools that makes snapshots of all the subvolumes I wish to keep backups of and does incremental transfers of them to my NAS. It will incrementally transfer any non-synced ones as well, so if you run make-snapshots multiple times without backing up, they'll all end up on my NAS eventually.

    You can also have it create a writable snapshot out of the latest full snapshot so you can muck around with updates without breaking your current environment. It also updates the rEFInd configuration dynamically so you can boot into old snapshots if the one you're working on is broken. You can also have it spin up a VM to test as well.

    I also wrote my own tiny dynamic DNS service I run on my blog's VPS so I can bind my home network's IP address to a domain name. It's just a tiny node.js app that acts an an authentication frontend to update a bind server's DNS config.

  • manceraio2y

    My flatmate used to watch TV in the living room quite loud when I was trying to sleep in my room.

    I set a Raspberry Pi with an IR led running an Apache server close to the TV. From my phone I would visit the Raspberry IP and send signals to the IR led to lower the volume.

  • prbs232y

    I rewrote the UI for an off the shelf WiFi digital photo frame so that it shows the latest raw images sent back from the Perseverance Mars rover. https://prbs23.com/blog/posts/picture-frame-from-mars/

    The picture frame secretly ran Android under the hood. Which meant I could replace the app which showed pictures pulled from the manufacturers server, with one which pulls photos from the NASA website. Fortunately they left ADB enabled with root permissions, so it was trivial to replace their startup app with my own. All the source code is public here: https://gitlab.com/prbs23/mars-photo-stream

  • arielweisberg2y

    Maybe not interesting, but a slideshow application that is much faster and more memory efficient than anything I could find.

    Image viewers I tried all beachballed constantly, were slow to respond if they even did, had many bugs, and required many interactions and pixel hunting to interact with.

    It emphasizes instant response even when working with 10s if thousands of very large photos, and a UI that eliminates or reduces required interactions, and integrates with finder smartly.

    It defaults to opening folders or images fullscreen and round robins windows across displays. The UI is a 3x3 button grid overlay that auto hides, the window name is the the last three parts of the file path. There is gesture support, but I don’t use it because focus is a pain to deal with.

    JPEG decoding is memory intensive so there is a shared rendering process so the parallelism can be managed and memory uses isn’t duplicated.

    A shared cache process contains bitmaps of images scaled to screen size that are stored on disk. This kind of assumes you are on a fast flash drive like an MBP where flash is basically as fast as memory.

    The cache is a 100 element LRU in front of Caffeine (W-Tiny LFU) and all the cache state is persistent including Caffeine so it can remember the LRU and adaptive cache state across restarts.

    Prefetching scales the previous and next five images in parallel so you can click forward/next and it is instant every time.

    When you turn shuffle off it plays forward from the image you were on. You can click a button and it will loop all files on a directory.

    You can open multiple files or directories from finder and it will play all nested files in order.

    The order is a natural order that parses numbers so if the numbers aren’t padded you still get the correct order.

    Ended up using JavaFX which works surprisingly well. Fast JPEG decoding, working HiDPI, window resizing and movement renders very nicely.

  • MrGilbert2y

    I built my own lay man's digital signage solution.

    I wanted to have a display in my living room, which shows the temperature of all rooms in my apartment. So I used an Android Picture Frame. This is connected via WIFI, and offers FTP access.

    A Docker service on my local in-house server grabs a random background image from a folder. Depending if we have day or night time, the picture will show satellite images from earth’s day or night view.

    It then connects to my home assistant instance, and pulls all the necessary values. A SVG template is then filled with these values, and they are merged with the background image. The service then uploads the image to the picture frame, and it will refresh the image after some minutes.

    The whole thing uses templates and config files, so it's easy to extend.

    Unfortunately, the picture frame broke down since, and I haven’t had the chance to buy another one yet.

  • firechickenbird2y

    An app that helps me with shopping at my main supermarket.

    I usually go always to the same supermarket twice a week. I was frustrated that every time I changed something in my shopping list I had to mentally recompute the optimal path to pick up everything.

    Now with my app I am able to build the graph of the entire supermarket (each node represents a rack with shopping items) and then given my shopping list it computes the optimal path from the entrance to the exit. It's a version of the classical travelling salesman problem

  • yamoriyamori2y

    I infrequently commute into Boston for work, I live beyond the subway system but there is a rail network (Commuter Rail). With childcare and other family logistics I might be doing errands in a different town before parking and hopping on a train, I had trouble doing a 'radius' search of stations (which might span lines) to plan a round-trip into the city. I built a site[1] to query the MBTA API[2] for stations and schedules, then custom js + leaflet.js[3] (an amazing product) to render a map. I have a /demo[4] resource which includes some hard-coded addresses for test purposes. A limitation is it only plots round-trips to the terminal stop (South Station) in Boston.

    It's been a work-in-progress for a while. It vastly helps with my weekly plans. And as a side project to up-skill, what I'm still working on:

    - UIUX and 'user flow', usability

    - hosting + CICD

    - integrations, optimization, caching

    [1]http://cr2southstation.com/

    [2]https://www.mbta.com/developers/v3-api

    [3]https://leafletjs.com/

    [4]http://cr2southstation.com/test

  • rootw0rm2y

    12 years ago my wife had 4 strokes, barely lived, was in a coma, etc.

    After lots of rehab she came home, but was paralyzed on left side, couldn't speak, couldn't hold a pen to write. Our communication technique was having her point to letters or phrases on a piece of paper.

    I wrote a typing program back then that would accept as input any USB joystick for selecting letters/phrases and then text to speech on button press. Not terribly complicated, but also better than anything I could find at the time.

  • ern02y

    I've written a bouncing color bar for Amiga, which was running without the processor.

    Amiga computers have

    - a main processor (MC68000 or higher),

    - a bit blitter, which can perform memory various operations in memory (using 3x source and 1x target, it can AND, OR etc. them),

    - and a Copper, which have own "program", it can interpret 2 type of instructions: WAIT for a scanline position (4-pixel precision), and COPY value to a specified regsiter.

    It was the name, which made me think: "Copper" is coming from "coprocessor". Well, it can run WAIT and COPY instructions, but the program's time-scope is somewhat restricted, the program is running every screen refresh cycle only once. Is it possible to write a program for Copper, which is doing some more, like animation?

    I've generated several color bar frames for Copper, which adds up as a bouncing bar, and as the last instructions, I've added a COPY instruction, which sets the address of the Copper List to the next frame (the last one pointed to first frame).

    So, it worked, the bar was bouncing without any support from the processor (besides initial generation and setting of the Copper List address first time).

    Blitter and audio DMA is fantastic, it's a big help that the processor just puts an order to a hardware and it executes, but Copper is a degree more bigger magic, it can make things autonomously, which I was demonstrated.

  • istjohn2y

    My son is an English language learner in high school, and this is the first year he is in the standard English class instead of English for ELLs. His class is reading Into the Wild and it's a bit beyond his current reading comprehension level, so I used GPT-3.5 to build an annotated version for him to read. Less common English language words can be clicked on to hear the pronunciation and see the definition in Spanish, and every few paragraphs, there is a summary in Spanish. I had GPT-4 do the web design for me.

    https://isaiah.st/john/ez/into-the-wild/authors-note.html

  • RedGreenBlack2y

    A webbapp that helps me remember names by showing them in a graph network. Super simple, use it constantly

    A webapp for sharing files/text between two devices no matter the platform. Use this all the time. No more sending emails, Facebook message, dropbox link to yourself.

  • samsquire2y

    I created a text editor that was meant to be programmable like a spreadsheet but interactive like a IPython notebook.

    There's screenshots here:

    https://github.com/samsquire/liveinterface

    The code is Angular 1 legacy codebase.

    https://github.com/samsquire/live-interface

    There's a screencast here https://github.com/samsquire/live-interface/blob/master/scre...

    It's not buildable at this time due to dependencies...

  • jen_h2y

    * A script that periodically screenscraped booked-up campsite reservation sites for cancellations during dates I wanted and sent me text messages (thanks, Twilio!). We got to stay at a bunch of amazing places at the last minute this way. We’re currently grounded, but I recently ran it again for my parents and was shocked to find it still worked!

    * An Alexa app that provides a search interface to Old Time Radio shows on archive.org and saves your place (this was technically for my mother-in-law, the proof-of-concept with arcade sounds for my spouse). We all ended up using it a ton, though, it was kind of magical (the random function was really fun). I also set up an Alexa app to read me recent CVEs, but it’s more of a goofy parlor trick than useful. ;)

    * A Rube Goldbergian bunch of terrible scripts that I can feed PDFs to, OCR, poorly-translate (using the expected engines or my own diymodel) and generate epubs from. And a bunch of scripts that convert Markdown to LaTeX and epub for personal book publishing projects.

    Thanks for asking this question, it’s so neat to see everyone’s responses! I might ping my spouse on this post, too, who’s developed a crazy amount of personal projects that combine software and hardware to fixup our/our families’ lives.

  • Implicated2y

    Years back I was living in the foothills just outside of the Yosemite NP gates and fell in love with the trails through the Sierra Nevada. It wasn't long before I realized that how much weight I carried dramatically affected _everything_ about my trips - so I got serious about finding a good compromise between "ultralight" and "comfortable but still light".

    The gear and testing it was very expensive, I wanted to make my own but didn't know how to sew - but quickly found the "cottage" industry of lightweight and ultralight backpacking gear and fell in love again. Now I loved the trail and the gear, but I was also broke.

    One of my first non-visual basic programming projects was building a scraper for a handful of backpacking forums' used gear sections - I found that I was able to acquire and test the gear I wanted at a fraction of the cost this way, as well as find buyers for the gear I was ready to cycle out.

    While I did build this for myself I eventually realized that there were so many good deals and people with good gear looking to offload it - but the forums and the communities were so fractured it made it hard for others (just like it did for me). I ended up building the whole thing (again) as my first foray into playing with Laravel.

    It's still up and working - thousands of people still using it, maybe some of you would also enjoy it... [0] (no ads, no affiliate offers, ever)

    0: https://lwhiker.com

    * Note, I'm aware some of the "source" forums are broken/no longer scraping properly, will be updating it soon.

  • RockyMcNuts2y

    I made a python script / notebook to scrape a reddit thread on music, send all the comments to ChatGPT with a prompt like 'extract all the songs to CSV' and then upload to a Spotify playlist. probably high school level these days but it was amusing. https://github.com/druce/reddit_prettiest_songs

  • database641282y

    I wrote a silly Telegram bot for my group chats: https://github.com/database64128/CubicBot

    It's mostly just some useless commands that say stupid things, and stats collection for earning "achievements" and displaying leaderboards.

    The bot was written in C# and seriously over-engineered to be completely modular. Every command and stats collector can be turned on or off in config. A running instance with all features turned on is available as https://t.me/Cubic0Bot.

  • flyingpuffin2y

    I built this simple website https://unexploredhq.com to find interesting (less known) places to travel with my SO and family. Instead of searching for new places by name, one can search for new places in a region with simple attributes.

    I have built the database by scraping some data online, and have a database of 60,000+ locations. The attributes are built with some basic ML and text processing, nothing fancy. But this is sufficient for me to do this search: find places in Europe where I can do surfing and hiking with a temperature of less than 25 degrees.

  • iwanttocomment2y

    After getting an EV many years ago (not a Tesla) which had a truly terrible phone app for checking charge status, starting charging and turning on the heater remotely, I reverse engineered the API and wrote my own web-based tool to control the car. It worked great until 3G was disabled last year.

  • stasmo2y

    I made a wagon with an electric motor to carry my things to the park and at music festivals. It has a 1000W brushless DC motor and a drive train for a go cart. It’s controlled by an ESP32 that is attached to a hand throttle on the handle for the wagon. This ESP32 also has a temperature sensor attached to the batteries in the wagon to make sure they don’t overheat. It controls a relay that powers another ESP32 that controls the Neopixels I’ve attached to the wagon using LED channels with a milky white diffuser.

    It was a very fun project and I learned a lot about electricity, batteries and the pitfalls of aliexpress.

  • gonzus2y

    Some 30 years ago, I reverse-engineered the format of Prince of Persia's save files and wrote a little C program that would create a save file for any place / level in the game. Just because I could...

  • scrollaway2y

    I wrote a hearthstone simulator when the game came out.

    https://github.com/jleclanche/fireplace

    It was used and referenced by a few scientific papers and phds since. It’s my little pride, even though it would really need a rewrite at this point to work properly with all the additions in the game.

    It contains its own little python driven dsl for actions. I could talk about it for hours. All that work led to me starting a company around hearthstone (I have since left it behind but it eventually grew into other games).

  • seurimas2y

    MUDs are a great breeding ground for bespoke programs. I've made my own system of triggers and aliases in Rust, which interfaces with Mudlet (very popular MUD client) through JSON over stdio. Being written in Rust, it has enabled a publicly usable web tool (http://seurimas.github.io/topper/explainer/?/topper/explaine...), but the majority of the code is just for me.

  • SirMaster2y

    Eh, at the moment a universal remote control app for my home theater. I expanded it somewhat for many other devices than I need, for friends and people on the AVSForums who requested things.

    https://github.com/nicko88/HTWebRemote

    It's not all that impressive per say, but a number of people seem to really like it.

    Also an app to add a "wind" effect to a home theater as well.

    https://github.com/nicko88/HTFanControl

  • bluescrn2y

    Building a small quadcopter back in 2012 or so (before cheap toy/consumer drones were everywhere) was a fun project.

    Back then, it involved an Arduino, the internals of a Wii MotionPlus (cost effective way to get the gyro sensors), a plywood frame, and the open-source 'MultiWii' code.

    That first build never flew well, but soon afterwards it started to become much easier to build a very stable quadcopter, as all-in-one flight controller boards started to appear, along with more knowledge of which brushless motors, props, and ESCs worked well together.

  • maebert2y

    My parents have a sauna in their home (northern Europe), but it takes an hour or so to heat up. I connected the controller to an arduino with Wi-Fi shield and let the sauna run its own tiny Webserver that served a single page with a single button to turn it off or on. They would turn it on before they left work so it’s nice and warm after cycling home through the freezing cold.

    Unmaintained code: https://github.com/maebert/SaunaControl

  • vintermann2y

    Not something terribly impressive or useful, but I wrote an image-scrambling (anything-scrambling, really) program which is quite unique.

    I was fascinated by the story of David A. Scott, who was obsessed with "bijective compression". It means compression programs where all files are valid archives, and moreover no two archives decompress to the same file. So no magic number file signatures, no checksums, no redundancy whatsoever. Scott felt that compression algorithms that didn't have this property were wasteful, and of course, in a narrow technical sense he was right. There are of course a number of practical reasons why we tolerate a little redundancy.

    But he wouldn't let practicality stop him. He made bijective versions of many common compression algorithms. He made a bijective Huffman encoder (one where you'll never get "unexpected end of file"), a bijective arithmetic encoder, and even a bijective LZ variant. But most impressive of all, he made a bijective BWT version.

    The Burrows-Wheeler transform is fascinating on its own, and it's almost bijective. It sorts letters in a text by their context, so that letters with similar context appear close to each other. In a strange vaguely DFT-like way, it switches long-distance and short-distance patterns around. The result is, in a typical text, long runs of the same letter, which can be easily compressed.

    But the traditional BWT technically works only up to rotation. You get a rotation of the original string back when reversing it, but you don't know if it's the right rotation. You need to store a tiny piece of extra information, either the index of the rotation, or a single sentinel character known to be the last (or first) letter in the original string. Getting rid of that last piece of information seemed impossible, but Scott figured out a way to do it!

    The result is that we have a truly bijective version of the BWT transform. Now I'm no mathematician, but surely that is beautiful? It's a true permutation now, that still does the weird low-order higher-order swapping thing, that you could surely analyse with many algebraic approaches that wouldn't work for the original.

    Anyway, what I did was implement this transformation on the lines or pixels of an image. So you get an effect similar to the "pixel sort" effect that glitch artists were into for a while, but it's reversible. I guess it's not really useful for anything other than making glitch art, but it's at least a program that does something pretty unique, and which only a very specific kind of weirdo would have the skills and inclination to write (namely me).

  • antirez2y

    A DNS server, many many years ago. Just to avoid using bind:

    https://github.com/antirez/yaku-ns

  • hczedik2y

    Type Draw Type

    A fun little drawing and writing game, I loved playing with friends and kids with pen and paper. During the pandemic I implemented a web version for us to play remotely. By now, thousands of games have been played (not only by me and my friends of course). You need at least 4 players (better 5 or more) to join one game for it to be fun.

    https://draw.gerty.roga.czedik.at

    (oh, and it is free and open source, of course)

  • aschleck2y

    I built a cross of React + Wiz (a fantastic frontend framework at Google): https://github.com/aschleck/trailcatalog/tree/main/js/corgi . Totally irresponsible and probably full of bugs, but I was so tired of writing business logic in the same place as my view logic with React and now I'm free of it!

  • epaga2y

    I made an AR-based app for myself that tracks my head in 3D space and then pipes the position and angle data to my PC which uses an open source app called OpenTrack to emulate the "TrackIR" protocol to then 3D-control the camera in sim games (like flight sims) with slight movements of my head.

    I then posted a little video of it to /r/flightsim (https://www.reddit.com/r/flightsim/comments/id7vmy/head_trac...) and it turned out to be something others wanted, too, so then I polished it and released it as a full app (SmoothTrack). It's been the most successful side project I've ever done.

  • donatj2y

    I have been working on a note taking app with a fully open API since 2008 on and off. I intended to open it to the public around 2010 but SimpleNote popped up and drank my milkshake. I even switched over myself.

    Since then however they've closed their formerly open API. This inspired me to pick it back up.

    I've got a mobile friendly webapp, an official SDK, a basic cli for scripting. Basically everything I wanted.

    The UI of the webapp is pretty spartan as I prefer, so I'm scared it doesn't have mass appeal. It's super fast however.

    I have hundreds of notes in it, use it for all my note keeping. I am it's only user. My friends have access, but they don't use regularly.

    I want to open up to the public eventually, but these days I'd really want to get e2e encryption working before doing so and just have not found the time.

  • rakoo2y

    I combined mblaze (https://github.com/leahneukirchen/mblaze), fzf and standard UNIX tools to build my own CLI MUA in under 300 lines, most of which is shell scripts.

    When UNIX is your platform you don't need a complex UI framework with thousands or millions of lines of codes, and you get to reuse knowledge you've already built elsewhere.

    I need to write more about it

  • rollcat2y

    I've written a minimalist replacement for Ansible. It started as a weekend hack, and I'm still using it daily after 7 years. Perhaps it's not technically impressive, but so wasn't the original UNIX, which served as a direct inspiration: how much work can you do with the simplest design and the least amount of code?

    https://github.com/rollcat/judo

  • kmano82y

    http://whenisgoldenhour.com .. tech isn't particularly interesting, but it gets a decent bit of usage. Does a geoip lookup to tell you the golden hour time range for today. Inspired by my photography habit.

  • koboll2y

    I don't like Reddit's UI for browsing subreddits that are mostly/entirely images, and I don't really like their gallery viewer either. I've always wanted something ultra-simple; just a grid of images and nothing else. So I built it:

    https://griid.co/

    I don't think anyone else really uses it, and I haven't promoted it at all. But I really enjoy using it.

  • RoyalSloth2y

    I built a Markdown like text format for writing technical reports. I was fed up with Word and I wanted a plain text language that supports tables, footnotes, auto validated references to any part of the document, syntax highlighting of code blocks, comments, math equations, table of contents, etc... Unfortunately, existing solutions are all slow or written with some bizarre toolchains that are a pain to set up.

    I wrote it from scratch in Go with very few dependencies, so I can compile it to a single binary that should work on all platforms. It outputs .html or .tex which is then compiled to a PDF via Xelatex. Since Latex is pain to deal with, I wanted to generate pdf directly, but life got in a way so... it's not exactly a finished project, but at least I enjoy using it.

  • greenie_beans2y

    a soil moisture sensor using capacitors as the sensor. it's how i learned to code. i found a few different versions of the project online. couldn't get them to work very well but i was able to piece together enough knowledge of basic circuits to get the sensor to work well with my own circuit design.

    once i got it to work, i left it on my desk for a few months and then cleaned it up/removed the circuit. only documented the circuit by a couple of bad photographs, so i'm not sure how to recreate it. i might could figure it out again if i spent the time, but i've been focused on other projects.

    https://github.com/smcalilly/sensor

  • fghorow2y

    Prior to the 2017 "Great American Eclipse", I made reservations at two hotels -- each within a day's drive of my location that were near the path of totality. I then built a screenscraper from one of the weather sites (WUnderground, IIRC) that took the cloud forecast for the eclipse and presented it as a time-series. (Yes, I knew there was significant uncertainty involved!)

    About 3 days before the eclipse, I decided which site to visit and ditched the other hotel reservation.

    It worked well. My wife and I each saw our first total solar eclipse!!!

    There's one coming up in 2024 too. Maybe some enterprising soul would like to expand on the idea and create cloud-coverage forecasts for the entire path of totality?

  • sowbug2y

    An automatic fish feeder. I was going on a long trip with my family and needed to feed my fish while we were gone. I remembered I had a servo from an old project. I drilled some holes in a round plastic container, glued it to the servo shaft, hung it off the tank with some wire, and wrote a small Arduino sketch to jiggle the container every 24 hours. It worked better than I thought it would; the fish survived, and in fact seemed so happy that I don't feed them by hand anymore.

    I've since built a couple more for my other tanks, and I rewrote the firmware for ESP8266/ESPHome. Now my family can ask Alexa to feed the fish, because of course the world needs that.

  • soren12y

    A few years ago I traded cryptocurrency extensively. I eventually ended up with a tax nightmare, needing to account for thousands of trades across several exchanges. After months of talking with my accountant and tax office, I eventually built https://github.com/dleber/capitalg

    It was still a lot of work aggregating trade histories from various exchanges into a standardized schema, but I took some comfort in understanding the process. I also avoided the need to share exchange API keys and trading data with 3rd party accounting tools.

    If you discover any bugs, please don't tell the tax authorities.

  • dharisd2y

    I have a pretty clear view of the road infront of my place and an old android laying around, So i wanted to know more about the stats of vehicles passing by

    ended up setting up Yolo with deepsort to track each vehicle pass, and making a cool dashboard to show stats, like speed of pass and graphs to show how busy the road is over time

    https://dharisd.github.io/posts/vehicle-monitor/

    https://dharisd.github.io/posts/vehicle-monitor-part-two/

  • moontear2y

    Automatic warning system if I sit too long

    I added a pressure sensor to my desk chair (just like the ones built into car seats) and soldered that to a Zigbee door sensor. I now know sitting/not sitting. I then set up push notifications to my watch and desktop if I sit more than one hour to get up and take a walk. Furthermore I connected it to my hight adjustable desk that if it is in up-position and I sit down, it automatically lowers itself to the perfect sitting position. I had to disable the „if I get up, move the desk up“ function because it was just too much movement on the desk end.

    I don’t wanna miss the too-long-sitting warning anymore and it is really useful.

  • asim2y

    Lots of things. But one I am coming back to is called Malten (https://malten.com). It was essentially a place for me to blackhole my thoughts anonymously rather than putting them on twitter. Recently as I've seen ChatGPT take off it's made me revisit the project and create an integration for it (not yet publicly hosted). Ideally I'd just be able to voice my thoughts to an AI now in a private manner. Let's see.

    https://github.com/asim/malten for anyone who wants to run it themselves.

  • jpatters2y

    My company has a budget for health and wellness that I use for my GoodLife gym membership. GoodLife doesn’t send receipts and instead makes you go to their website, fill in a bunch of information, and request the receipt be emailed to you. So I made a little app that simply fills in the form automatically every two weeks. I set it up on GitHub actions and now I don’t have this annoyance to deal with. It’s pretty small but made my life better.

    Not much for instructions but it’s here is anyone is interested. https://github.com/jpatters/goodlife-receipts

  • recursivedoubts2y

    https://hyperscript.org

    I wanted to have a scripting language that was inspired by xTalk for some light front end work alongside htmx. Didn't expect it to go anywhere.

  • myzreal22y

    Was a long time ago, but I used to play this game called DayZ, which back then was just a mod for ArmA2. I played on a private server hosted by a friend.

    Back then the game was very easy to cheat in because even though the map was huge, the client kept all of the objects in memory along with their positions all the time - and it was very important in the game to stay hidden from other players and to hide your stashes of objects for later use. All of these was available in memory for grabs and there was no anticheat.

    So there were people who wrote cheats that just grabbed the positions of those hidden stashes and bee-lined through all of them, robbing them.

    The server logged the position of static objects (like stashes) on startup and logged the position of every player every few minutes. So I wrote a very simple application that parses that log and puts all of that information (position of stashes and players) on a human-readable map. The admin could then select a player and track his journey. It was very easy to spot people running in straight lines from stash to stash, it was obvious they were cheating and should be banned.

    After that I added some heuristics that detected these behaviours automatically and gave hints to admin on who to check. There were more abuses possible in the game later on that I also detected.

    For example, there was a "dupe bug" which allowed a player to duplicate a backpack full of useful items and give it to their friend. It involved two players staying in the same spot, dropping the backpack on the ground, trying to open it up by two people at the same time, one of them disconnecting, etc. The backpack was duped due to lag on the database on server side.

    I modded the server files to log the information that a backpack was dropped or picked up (along with a list of items inside it in order they were arranged). Then I modified my log parser to look for two players being near each other, dropping and picking up the backpack, disconnecting and reconnecting constantly and detecting two backpacks with exactly the same list of items in the same order they were arranged it (which was very unprobable to happen out of itself) - detecting this gave a hint to the admin to check these people out as possible dupers.

  • purpleblue2y

    I wrote a program in C++ to download massive amounts of stock data from a data provider. The binary itself is 2 MB, memory use rises to over 16 GB and it frees everything at the end, so there are no memory leaks (I'm particularly proud of that). Over the years I've found better and better ways of making it run faster because a daily run will take over 6 hours of downloading and writing to my database.

    I also wrote a multi-threaded backtester in C++ because the program I was using was only single-threaded. I stopped using that several years ago but the act of writing it was a lot of fun.

  • _boffin_2y

    I haven't built it yet, but there's a homeless person that yells every night from 2am to 4am at the top of their lungs across the street. Profanities and everything.

    I've been looking into directional speakers so i can kindly ask the person to quiet down without waking the neighbors up. The person in question about 200ft away

  • dickfickling2y

    I was annoyed by having to reach for a remote or my phone when watching stuff on my Apple TV, so I made a MacOS Apple TV remote[0] that lives in the menu bar. Saves me literally seconds every day.

    [0]: https://github.com/dickfickling/honeycrisp

  • Waterluvian2y

    I make a lot of tech for myself for learning, none of which being novel, so maybe this doesn’t exactly fit.

    I made a raycasting engine to learn more about it and I’m in love. It’s the most clever thing ever. I can’t believe I have a 3D effect without using a single trig function. The math is so simple you could run it on a 286. Raycasting feels like a magical hack. It has no business being so ridiculously simple for what you get!

    I’m taking it a step further and integrating a real-time map editor so you can modify a map as you play.

    I’m not sure where to go beyond that, but I’m having a ton of fun.

  • nvartolomei2y

    A “note taking” app after spending years looking for “the right one”. Nothing ground breaking, similar to most other “connected notes” apps but with one small difference: everything is built for my brain workflow rather than the other way around.

    https://nvartolomei.com/omniverse/

    Maybe, one day, after I’m satisfied with its functionality I’ll make it open(-source). For now, in the interest of keeping friction low, moving fast and breaking things, it’s pretty private.

  • alex_lav2y

    80% of a basketball simulation engine

    80% of a Teamfight Tactics simulation engine

    80% of a data analytics platform for sports data

    40% of a PaaS to manage common open source software deployments to the cloud

    I don't finish much. It's my absolute greatest flaw.

  • bilater2y

    I built this fun little tool that takes a Tweet and gets 10 different 'AI personalities' to reply to it. I thought this was a great way to get some feedback on how a tweet might be received. I also threw in a tab to se optimized versions of the tweet.

    I want to take this further and play with the idea of an AI only Twitter. Where AIs interact with each other based on real news. Could be a fascinating game of life simulation haha.

    https://www.tweetenhance.com/

  • belzebalex2y

    Built one of the first 3d ultrasonic scanner that works in the air to make an autonomous drone [1] [2]

    [1]: https://www.alextoussaint.com/2021-04-28_How-I-built-an-ultr...

    [2]: https://hackaday.com/2021/05/15/a-phased-array-ultrasonic-3d...

  • HKH22y

    I have a music playlist program which deals with the problem of getting used to music. It's effective because I seldom want to choose a track to play, and I don't find myself skipping a lot consecutively.

    I have a dedicated key for skipping (and I keep adding meta keys to make it skip more (each meta key is x2)). The next track to play is automatically selected based on the combination of two factors: being skipped less and being played less.

    I get to hear my whole collection in a way that's far more enjoyable than an unweighted shuffle.

  • i4i2y

    A Random Movie Maker that looks at my 4 TB collection of personal history... digitized journals, email, photos, digitized cassettes, phone messages, and home videos, and creates a random 15 minute movie. Each video will include about 50 clip sources. It's a crazy trip down memory lane.

  • kilon2y

    Built a live coding library for python that allows me to reload code I edited while it was executing. It has repl and debugger support and it can be run even for embedded python. It's pretty granular so it can reload modules or even individual objects. Unlike the existing module reload python function it can change object references to the updated code and delete old objects and their references from memory. This way in the next call only the latest code is executed. I built something similar for C code too.

  • piercebot2y

    I made a safe-to-wake light for my son out of a Raspberry Pi. It serves up a responsive website on the local network so you can manually change the lights or update the schedule.

    Been running like a champ for over 3 years now, which has been the most pleasant surprise. I'm used to ecosystem entropy causing things to break.

    I documented my adventures in a 6-part series: https://ajpierce.com/2020-01-04_safe-to-wake-pt1/

  • bouk2y

    I keep all my projects and other repos that I clone under `~/src` e.g. `~/src/github.com/rails/rails` for the rails project. I then have the following fish function to navigate to a project:

      function c
        set -l directory (fd -d 5 --prune -a -H -t d -g '.git' ~/src ~/b -x dirname {} | fzf --tiebreak=length,begin,end)
        if test -n "$directory"
          and test -d $directory
          cd $directory
        end
      end
    
    I just type 'c' and then 'rails' and I'm in the rails project. I really like diving into code and this makes it much faster.

    I also have this one to clone or cd a project from github like `gc rails/rails`

      function gc --argument repo
        set -l dir $HOME/src/github.com/$repo
        if not test -d $dir
          if test -d $HOME/go/src/github.com/$repo
            set dir $HOME/go/src/github.com/$repo
          else
            mkdir -p $dir
            if not git clone "[email protected]:$repo.git" $dir
              set -l git_status $status
              rmdir $dir 2>/dev/null
              return $git_status
            end
          end
        end
        cd $dir
      end
    
    And this function:

      function list_after_cd --on-variable PWD
        ls
      end
    
    Runs ls every time I change directory, which you basically always want anyways
  • turshija2y

    About 10 years ago when Droplr deprecated their free packages (and went to paid only) I've made my own free alternative - https://pics.rs followed with its own screenshot app for Windows (C#) and later Mac (Electron) and still use it daily... I needed a screenshot tool which allows me to select a part of the screen, uploads it and immediately copies URL to clipboard. Now I'm finding myself using it without app by doing CMD + CTRL + SHIFT + 4 which copies image directly in clipboard and then opening pics.rs and pressing CMD + V (paste event triggers upload if it contains image in clipboard)

    I haven't touched the UI since then, its ugly but it works, I've tried allocating time to make more modern version and even started refactoring it a few times with a few friends in our spare time, but unfortunately finding time next to full-time jobs and family is much harder than it was 10+ years ago :)

    I've never advertised it anywhere except shared with friends and used it on some forums in the past, but it slowly grew to 10k registered members and almost 200k uploaded pictures. At this scale (~100GB of data) its very cheap to keep it online since its using very small amount of resources on dedicated servers where I host some other important apps with regular off-site backups, but if it ever spikes and becomes problematic financially it will at least give me more motivation to make something more serious out of it or just slam ads onto it and call it a day (worst case scenario, not a fan of it).

  • plank2y

    I built a ‘prezi file fixer’. In the old days, prezi used pez files which could get ‘corrupted’. Not really corrupted, but when someone scaled some objects too much down, the prezi editor could no longer solve the issue, and the prezi file (really: a presentation) could be considered lost.

    Solved it locally at first: unzipped the pez file, searched for the smallest objects, and scaled them up. It might look a bit funny (that ball which had been made much smaller would have been scaled up), but people could again fix it using the prezi editor.

    Used this manually to ‘fix’ other peoples presentations, in which they send me their pez file, I would ‘solve’ it and send it back (usually: they would invite me to be a co-author, I would make a copy, fix that and make them editor to that copy). Used to do this quite a lot on the prezi forum.

    In the end automated it completely: made a service in which one could upload a pez file, my NAS would decompress it, fix is, compress it again, and mail a link to the corrected pez file.

    Software is defunct as problems have disappeared (and changes to prezi way made it no longer work).

    Incidentally not my first prezi product: I guess that was the Android app that made it possible to view a prezi on an Android phone or tablet, ways before Prezi themselves made the Android app (I think they already had the iOs app, not sure). [That app ran in more then 50 countries, but that is another tale;-0]

  • benlamm2y

    Turn a YouTube channel into a personal podcast feed. https://gist.github.com/thebenlamm/9d862a3e6c9f481ab9d8a8afe...

    More detailed instructions in the script but the general idea is: 1. When a channel publishes a new video IFTT puts a text file with youtube link in Dropbox 2. Script downloads audio from youtube 3. Justcast.com free tier to turn a Dropbox folder into a podcast feed

  • DitheringIdiot2y

    I built a todo list extension that blocks addictive websites until you finish your tasks. Importantly it redirects you back to your todo list and shows you a pair of disappointed eyes.

    I believe it really helped me deal with procrastination, but of course the whole project was just a way to procrastinate.

    I planned to make it a business, but many of its features are now built into OS. And Google doesn’t like it.

    You can still get it for brave and Google chrome, but I’m no longer working on it. In case it you need it. The Firefox version is not good.

    prodtodolist.com

  • burtonator2y

    In the 2000s I was addicted to Elisp and contributed a ton of OSS code including JDE, EDEE, and tons of other tools.

    But... I had just a MASSIVE amount of code that was literally just for me.

    Emacs basically became my OS.

    Emacs allowed you to just eval code on the fly and the IDE would just adapt. No reload required. So if you wanted to do stupid stuff like make control+enter open the current URL at the cursor, you just write a three line script. Then you add it to your elisp on load.

    ... but mine got WAY out of hand. It was just mountains of code.

  • leblancfg2y

    My wife has a goal to run 1000km this year, and uses an Apple Watch to track them. But getting to the YTD total is a pain in the fitness app.

    So I made the worlds most basic iPhone app with React Native, that grabs the data from HealthKit and shows it across a percentage of the year.

    Simple but effective.

  • ChancyChance2y

    I built a home security system using PoE CCTV cameras, a small linux box, and copious use of GStreamer. Yes I know there are hundreds of these on GitHub, but I looked at dozens that were awful (sorry, Motion).

    At first I tried all kinds of methods to turn it on only when there was something interesting to avoid drowning in terabytes of data, detecting things like: cars, people, animals. I tried classical image processing methods, and tools like Motion, then tried similar image compression algs to find significant macroblocks; then I tried all types of methods in OpenCV; next came several neural nets with off-the-shelf YOLO/SSD object detection (using Google TFUs, Nvidia Jetsons), I even tried retraining the networks with my own tiny dataset.

    In the end, everything sucked with too many false positives blowing up my cloud alert SMS traffic to myself. So now I just record 6 cameras nonstop to files. I don't get the benefit alerts, but nothing much happens, and if it does, I have history recorded.

    It was a fun project, I tried all kinds of codecs, cameras, languages, frameworks, hardware, etc. I even started out trying to do custom battery-powered wireless device using a raw Chinese MIPI CCDs and building my own WiFI station. I spent over 3 years on it, just to end up with your basic CCTV box. But it was fun!

  • osigurdson2y

    I built an ice cream pail drum machine interface as a kid using cheap piezoelectric speakers (in reverse to generate a signal). This was amplified and brought into a micro-controller to generate a MIDI signal for the drum machine. It actually worked pretty well.

  • TrueDuality2y

    It's not personally useful but I wanted to see if I could design and build a navigation controller designed for a satellite with different configurations. I started with a sandbox simulator that emulated all the hardware sensors down to the noise (according to their data sheets) and a microcontroller emulator that ran real code compiled for a microcontroller I chose for the task (STM32G431).

    I tested different control schemes and thrust firing plans, added support for different types of thrusters, errors in sensor readings, atmospheric drag depending on altitude, weird anomalies in the earth's magnetic field, simulated bit flip events and hardware lockups (I left the internal watchdog out of the hardware lockups which is probably not realistic).

    In an effort to stress test my simulator I ended up writing a genetic algorithm solver for thruster, magneto-torquer, and reaction wheel placement on arbitrary craft bodies with different mission plans and let it solve it.

    I ended up designing a physical circuit board matching the simulator, flashing the board with the same code that was running in the simulator and it worked! I roughly made an approximate cube sat (10cm^3) (had a mechanical engineer friend design me a frame and manufacture it for me) with some small cold gas thrusters out of pressurized CO2 cartridges, controlled by solenoids, and placed by my genetic algorithm.

    I dropped it off a cliff that was ~600ft high (best I could do for a "zero gravity" environment that was away from people). It was able to completely arrest its angular rotation before slamming into the ground which is better than I was expecting.

  • z5002y

    It's probably not as cool as some of the other projects in here, but I've been working on a sound change applier, which is a hobbyist tool for applying sound change rules to a lexicon. You could use this to generate pronunciations for a language with particularly regular spelling, but these tools are mainly used for evolving constructed languages.

    The way it works is it generates an NFA for a rule. You can define sets of sounds, some of which can be multiple characters long, and also define distinctive features, which allows you to define how sounds change by adding or removing them, but also allows you to match groups of sounds based on combinations of distinctive features. It builds up these ad-hoc sets of sounds and produces a prefix tree, which it uses as a template to build the NFA. Finally, the NFA is converted to a DFA for performance. It takes a while (the console app is much faster than the browser demo), but the rules run many, many times, so they need to be fast. It's essentially a special purpose regex engine. I'm working on bug fixes and some enhancements for now, but it basically works.

    Demo: https://marriola.github.io/transmute-demo

  • Zanfa2y

    A Bluetooth dongle for my standing desk that lets me control it from my Mac. I kept bumping the wired remote with my chair when it was mounted under the table and since it had a fat Cat5 cable, it was too ugly to have on the table.

    So I hooked the remote up to an oscilloscope, figured out the signals it uses and used a nRF52 dev kit plus a small custom PCB shield to be able to control it over BLE. A small toolbar utility for the Mac and it’s more convenient than it’s ever been.

  • mncharity2y

    My laptop picked up three extra cameras on folding sticks[1] for tracking? For MediaPipe hand pose. And chopstick wands (could be held while typing) with barber-pole marker for rotation, a small Xmas half-ornament to glide over keys for keyboard-as-graphics-tablet, and an unfinished arduino pressure sensor. Face pose, low-precision gaze and higher-precision head pointing with markers on glasses. Long-thin curved mirror bar at top of keyboard to get keyboard-as-touchpad touch events from the keyboard cam. Shallow-3D UI using eye-tracked perspective, anaglyph, or arduino LCD-shutters. I was interested in software dev inside aphysical XR, to extend rather than replace existing mature laptop dev tooling. Diverse input latencies interestingly required complex event processing and backtrackable ui state. Lenovo "portable workstation" fans would crank high just from the input handling, before 3D apps even started. Battery life under half-an-hour. But... it was oddly the flop-up cameras which most gave me joy.

    [1] https://pbs.twimg.com/media/ERqCfdkX0AEWTN_?format=jpg&name=...

  • dang2y

    Definitely my HN moderation browser extension, which lets me flip through HN super fast and do routine mod tasks without gruntwork.

    If I live long enough, I will factor out a general-reader version of this that will bring joy to HN power users everywhere.

    It requires a keyboard, though. Do the kids still use those?

  • ccosmin2y

    Built my own music player for mac which I use every day. I have a large collection of ripped mp3s and I wanted to control exactly where they are stored, order in which they are played (album order) etc. It just snowballed from there with other features.

    https://snowlinesoftware.com/apps/mac/mamusique/index.php

  • rhubarbcustard2y

    I, like probably most other people, tend to start a habit and then it quickly fades away, not necessarily due to lack of wanting. I find that I might want to start, for example, strecthing my hamstrings regularly, I do them for some days/weeks and then I forget some days, then forget some more, and then after a while I realise I haven't done any for months.

    So I wrote a webapp that I usually myself constantly now, it's very basic. I enter a habit I want to keep up and then visit the site everyday and click the "done" button when its done. It also has a calendar so I can see how often I've been doing it because not every habit is to be done every day.

    I started this for exercising but i'm not using it for very basic/stupid things. One example is cleaning my glasses. I would never remember to clean them and I'd occasionally realise I'm viewing the world through a layer of grime. I now click "done" every day and the world looks crystal clear.

    I guess it's just gamified habits a little bit and its working really well for me. There's a ton of habit trackers out that but I never found anything simple and quick to use.

  • hnlmorg2y

    A few projects:

    - a in car audio system that has physical buttons and text to speech output instead of a distracting display panel. Worked really well for a few months but my soldering wasn’t (then) up to par so it eventually fell apart.

    - a Bash replacement shell, which I later open sourced and now have a few users beyond myself. But it started out as a personal project not intended to be used by anyone but myself. like is in my profile (if anyone is interested)

    - home automation software which manages everything from internet management through to some physical stuff like lights. At one stage I did also have Alexa skills and an Android app written to interact with it but I rarely ever use them so didn’t bother keeping those Alexa skills nor Android app up to date and just use the web portal (or SSH) the very few times I need to override any default automation.

    - back in the Windows 95 / 98 era I wrote a desktop shell to replace the standard one. It was inspired by Linux desktop environments though I probably didn’t realise it at the time.

    - currently I’m building a robot with my son. It has object detection, wheels, speakers and will have some rudimentary Alexa-like voice control.

  • castis2y

    I attempted to build flight control software for a quadcopter[1]. I had a few major life changes around this time and it got packed up and I stopped working on it before I got the PID controllers worked out. But I essentially wrote a small game engine and had to learn a little calculus along the way.

    [1] https://github.com/castis/currant

  • 08uhr2y

    I've made a tool to create 3D tours based on Threejs Editor and it has been really useful to make presentations more compelling.

    To create the presentation, you have to import 3D models (preferably fbx or glb) and place them in the 3D environment as desired. To create a "slide" you just have to click on the "new" button under the "slide" tab and it will capture the camera pose.

    After creating some slides you can press the "start" on the menu to preview the presentation. Once everything is loaded, you can scroll through the preview page, and the camera will be animated sequentially between the captured poses.

    That's the basic usage, but there are also other features available.

    The editor page: https://arthurmiy.gitlab.io/editor_slide_3d/editor/index.htm...

    Presentation made using the tool: https://arthurmiy.gitlab.io/se-webview/jaguariuna.html

  • alex-moon2y

    Depends what you mean by "for myself".

    For practicality: I wrote a flashcard app to use on the tube to help me learn French. I wanted a couple of things specifically: - it should be super simple to use on a mobile device - it should be trivial to add a new flashcard on the fly - it should prioritise flashcards I've got wrong more than I've got right - it should work offline, pushing back to the server once there's a connection again Code: https://github.com/alex-moon/clin

    For fun: I wrote an app that tied a bunch of machine vision ML repos together to generate "explorable dream worlds" in the form of short HD videos. I wanted a simple, fun interface that would let me specify a schema/config for the next video, then hit "go" and watch it generate over the course of however many hours, including previewing what we had so far. Code: https://github.com/alex-moon/vc

  • steedsofwar2y

    Not as exciting as some here, but helped me at times where i couldn't be at my desk however still be 'available'.

    I developed a 'transport' for Mulesoft, that would allow XMPP based communication, and relay that to my phone either by sms or email, and vice versa. At the time the communication were Jabber based and almost everything was through that, so this worked out quite nicely.

  • ScottWRobinson2y

    I made a "bot" server for myself, which is really just a server and app framework to host a bunch of scripts. The framework handles:

    - Running bots periodically - Receives webhooks - Handles OAuth - Provides a shared DB - Posts updates to and receives commands from Slack

    It's not very innovative, but super helpful. I love that I can deploy a new script so easily and already have all the tools I need so I can just focus in the logic. A few bots I have running:

    - I run a site with thousands of articles, so one bot checks 10-15 articles per day for spelling mistakes, broken links, broken images, poor formatting, etc. Tasks to fix these are then posted to Notion. - Monitor Hacker News and Reddit for mentions of the sites/apps that I run so I can respond. - Sync calendars between apps without having to make them public - Gather financials and reports from various sources for bookkeeping - Monitor all of the servers we run and sync their status to Notion

    Probably at least half of the automations could work on something like Zapier, but this is more fun and I get a lot more control over them.

  • t435622y

    It's sad to have to look so far back but:

    I installed linux for the first time in 1992 on my parents DOS machine. I had another partition for it. It was Slackware with kernel 1.2.13 I think. All off 5.25 inch floppy disks.

    Setup wasn't so simple then and I was a UNIX Noob so I managed to set the swap partition to the DOS hard drive and overwrote the first 4MB or so.

    The FAT filesystem's root directory and many others were blanked but not all files were lost. Norton tools and CHKDSK managed to get a lot of files back but many of the wordperfect documents were in the form "FILE0001.CHK" and no way to know what was in each one other than very laboriously opening all of them and trying to work it out from the contents.

    Very fortunately I had an old backup but the problem was to know, out of all the recovered files, which were covered by the backup and which were new since the backup. If I could ignore the files that I could restore from the backup then I only had to load and rename the ones that were new.

    CHKDSK couldn't recover the file size since that was in the destroyed directories. So you couldn't guess if some backed up file matched a restored one just by looking at size.

    In the end I wrote some perl+shell to get the md5 of the first kilobyte or two of all the backup files and all the recovered files. I used this to match files and get a list of all the recovered files with no corresponding match in the backup. These had to be new files and since there were far less of these I could manually load up each one into Wordperfect, see what it was and give it a sensible name.

    This program (don't have it anymore) saved my bacon and served no-one else but me. It took me from despair to triumph and that's why I like it so much.

  • giuliogabrieli2y

    I built myself a phototrap using a Raspberry Pi and a spare webcam. It was a proof of concept to demonstrate a function of a python package I developed for aesthetic analysis of images, that was presented at an international conference. The camera detects movements, and send an image to my via Telegram. I am now using it to take pictures of stray cats moving outside my house.

  • yboris2y

    Simplest File Renamer - https://www.yboris.dev/renamer & https://github.com/whyboris/Simplest-File-Renamer

    I wanted to be able to quickly rename files with my text editor (using keyboard commands), so this lets me do it. Plus I share the app online for free.

    Video Hub App - https://videohubapp.com/ & https://github.com/whyboris/Video-Hub-App

    I started it just for myself, but it ended up so good I spent several more years improving it as people kept buying it (up to almost 5,000 purchases since I started).

    Also wrote a couple of dev tools for myself (sharing via NPM too) - https://www.yboris.dev/

  • jmathai2y

    I founded 2 photo startups (2004 and 2012). My second startup was focused on data portability and was open source. https://en.wikipedia.org/wiki/Trovebox

    After failing to integrate the software into Western Digital's MyCloud NAS line of productions, I left and decided to try something different. I created a photo management tool that could feed into other photo programs. It's open source and available on github.

    https://getelodie.com

    https://github.com/jmathai/elodie

    I started off using it with Google Photos. Explained here, https://medium.com/swlh/my-automated-photo-workflow-using-go...

    I've since switched to using it with Synology Photos.

    8 years and counting.

  • can3p2y

    I've built two projects that I'm very happy with.

    I'm still using livejournal.com social network nobody cares about today and when I was really into common lisp I decided to build a cli client to it. What makes it cool is that it's just markdown files locally and the client works almost like git, you can even pull and push posts. After I wrote it I was able to pull all my posts since 2007 or so from the service and have them locally as markdown files, any updates would be synced.

    The other thing I've built mostly for my self is a notes taking service https://dabdab.org which allows to take notes the way I want it. What was cool about it was that I was able to almost reinvent django or rails but in go, so everything is fast, but still compile checks. From the product side I've managed to get to the same level of comfort one would get with github issues (markdown, image upload etc).

    Both things have 1 user at the moment (me) do I think that counts :D

  • atlgator2y

    Maybe lame by HN standards but I wrote a Chrome extension to tell me if Redfin, Zillow, and Loopnet listings are in a designated HUBZone.

  • Morloc2y

    Recently I restarted to seed and download Torrents and I was frustrated with the various search engines, all the dodgy adds and banners, the clunkiness and the difficulty of sending the torrents to my home server.

    So I created Torrent Hound https://federicocappelli.com/torrenthound.html a macOS app for searching torrents in 3 major search engines and with more advanced download options like multiple download and send to server.

    After a bit my girlfriend and some friend started using it and gave me interesting feedbacks, so I made the app easier to use and with some features for helping less tech-savvy users.

    The app is free and I'm happy to implement new features and add search engines if requested, any request or feedback can be done here: https://github.com/federicocappelli/TorrentHound/issues

  • fzeindl2y

    I had a servo motor attached to a raspberry pi which turned a small gear that connected to a plastic gear m on the analogue temperature control of my gas heater.

    Then I had it switch to various temperatures while heating and also had a geofence for my phone implemented that turned on the heating when I entered a 500m radius. Even had a calibration script for the servo motor.

  • dioxis2y

    I created an IOT 3d printed, Raspberry Pi Pico powered WIFI fish feeder with a rotating dispensing carousel with an 8 food pellet capacity. I could have made it higher capacity but NJ is a restricted state (gun joke). I plan on improving it by adding battery backup and an RTC, so I can travel and be sure that my fish still get fed in case of a power outage.

  • throwaway8748392y

    I always loved listening to music. However, the past few years I started more actively exploring new (old) music around the world and actually listening to whole albums. (I'm always amazed by the vast amount of good music that exists out there, waiting to be discovered and experienced)

    I've a few friends that have the same itch and so we were constantly exchanging recommendations via different communication channels (Signal, email, Slack etc.)

    So I started building a website that's "like Goodreads, but for music releases". You can mark albums as "want to listen", "listened" and "dig" (loved), organizing your lists with tags and notes and share them with others. You then have a public activity profile and you can add other users as friends and see their own activity.

    Original Show HN post: https://news.ycombinator.com/item?id=32551862

  • bitcodavid2y

    This hearkens back to the analog days, but I can't drive without music. My last car had a crappy stereo. I happened to have a project box lying around so I built a 12-watt, 4-channel amplifier. The best part is that I also had these beautiful old backlit analog VU meters lying around. I only had two, but it made the thing look totally awesome.

  • scary-size2y

    - Desktop app for creating a static blogs. Electron and React: https://www.project-daily.com

    - Instagram-like, private photo feed, where my partner and me can share pictures of our kids with relatives and friends. Posting works via e-mail, cron job generates the feed html. Imagemagick output multiple image formats, supports iOS live photos too. The feed isn't paginated, but with lazy loading the images it's still very performant.

    - Most recently and still ongoing: A recipe clean-up tool. Removes all the gunk and fluff from online recipes. Shows just the ingredients and instructions. Also understands units and quantities, so unit conversion is up next. Here it is: https://pretty-recip.es/recipe?recipe-url=https%3A%2F%2Fwww....

  • westoque2y

    When Teslas were hot, it was really hard to buy one in my area, it involved using the search function on the Tesla website, inputting my zipcode and waiting every few hours until new cars are out. I basically made a script that texts me if there’s new car with the configuration I want with a link to the buy page so I can buy it immediately.

  • askiiart2y

    About a year ago I got a Tesla K80 off eBay for about $200. It's basically 2 Tesla K20Xes in one card, so it's pretty powerful, but the downside is that it's a datacenter GPU - it doesn't have any cooling.

    I 3D printed a fan shroud for it and put an old (but surprisingly powerful) fan on there, and that worked ok. The issue, though, was that I wanted the fan to be quiet when the GPU was idle, and I couldn't figure out fan control on Linux, so I decided to control the fan speed via an Arduino.

    I took a spare Arduino, some wiring, and despite never before programming anything for Arduino, I managed to hack this together: https://github.com/askiiart/k80-linux-cooling

    It takes the GPU temperature, turns that into desired fan speed, then sends the desired speed to the Arduino over USB. The Arduino just controls the fan speed via PWM.

  • FourthProtocol2y

    This started out as a password mangager. It evolved into a graph database coff after reading Linked - How Everything is Connected to Everything Else

    https://www.wittenburg.co.uk/Work/Interact/History.aspx

    Still under development...

  • aabbcc12412y

    I built a starter template "create-rpc" [1] to help my freelancer friends to easily setup RPC API for Typescript projects.

    The core is powered by meta-programming, aka code that further generates code.

    It auto generate typed client SDK with named types for API input and output. And it comes with JWT integrated out of the box.

    Compared to traditional untyped restful API over http, it helps developer to prototype and evolve the application with inferred type hint.

    Upcoming improvement will be runtime type checking with cast.ts [2] or ts-type-check [3]

    [1] https://www.npmjs.com/package/create-rpc

    [2] https://www.npmjs.com/package/cast.ts

    [3] https://www.npmjs.com/package/ts-type-check

  • jamietanna2y

    Something I've recently worked on is building an SQLite database of all the dependencies my organisation uses, which makes it possible to write our own queries and reports. The tool is all Open Source (https://dmd.tanna.dev) and has a CLI as well as the SQLite data.

    Ive used it to look for software that's out of date (via https://endoflife.date), to find vulnerablilities (via https://osv.dev) and get license information (via https://deps.dev)

    It's been hugely useful for us understanding use of internal and external dependencies, and I wish I'd built it earlier in my career so I could've had it for other companies I've worked at!

  • tehwebguy2y

    Moving box management system!

    I used AirTable as a backend and UI, added boxes with a room, box number, barcode and contents details.

    Before beginning I printed barcodes for the first 10 or so boxes. I used thermal shipping labels, sliced them into 3 stickers with 2 barcodes each and slapped them on corners so every face had one.

    Then I just packed like normal and when a box was full I took a photo of the contents from the AirTable mobile app, scanned the barcode and jotted a note about the contents down.

    My local machine was pinging AirTable every few seconds to look for new boxes with photos and would then print out 2 full size labels with the photo, box number large, contents and room name which I then put on 2 sides of the box.

    Arriving was amazing, every box had a destination (room) so no double moving. Every box had contents on them so no opening boxes until you are ready. Plus the AirTable made searching for an item and it’s containing box trivial.

  • hardcopy2y

    https://ppg.report

    Shows a nicely formatted weather report for flying my paramotor, pulling data in from many different sources :-)

  • james-revisoai2y

    I built a 3D visualiser that overlays semantic topics and sentences of documents with different "embedding types and orders"[1] using Natural Language Processing.

    It colours each document with the same colour. You can see how two documents overlap, semantically - it's pretty awesome for Job Role/CV overlays for example, or educational resources and exams - a mix merging of colour shows both equally discuss something... missing colour means one document doesn't.

    Since it's semantic, depending on the embedding, the gaps in-between spots make a lot of sense intuitively, and you can sometimes even see how the conclusion of a document ends up in a different semantic space to the start as such (even though there is no time data, you just notice the later topics are semantically in a different space to the earlier ones for the same document)

    [1] Similarity based, NLI based, GPT-raw etc.

  • antgiant2y

    I live in a Hurricane/Typhoon zone and wanted a way to watch storm live status without all the panicked commentary. I had an old Chromecast laying around and discovered that it is just a web browser so I built a simple html image bouncer that auto refreshes the latest satellite image of the storm, lets you crop in, etc. It works amazingly well for days of peaceful live coverage. An unexpected side perk is my kids can now tell the category (strength) of the storm based purely on the satellite image. Turns out the code works for pretty much anything with a browser and any situation where there is an updating image at a static URL. So I’ve used it for a number of other things too. I put it all at https://github.com/antgiant/GOES-East-Big-Screen

  • SeanAnderson2y

    Uhh, I'm building a virtual pet ant farm combined with journaling / breathing exercises. Ants get fed when I submit data. It pushes me to keep on top of my mental health each day in the same way getting a dog pushes someone to go for daily walks.

    It's kind of weird, but it's fun to make and serves a decent purpose.

  • tikimcfee2y

    I’ve built this to prove to myself that viewing text in 3D fundamentally changes the interaction and information gleaned from the relationships of files and software. I’ve had fun, and some people like it. It’s a toy and I want more for it, but it gets harder and harder to make progress by myself. New topics, necessary optimizations, bad fundamentals, and honestly… lack of internal motivation.

    It’s a Mac app, it works in iOS too, and it has an AR mode. You can point it a git repo to download and view all the files. Hopefully someone else may enjoy it.

    P.s.: to the idea of highlighting word definitions, I’m working on personal dictionary building and visualizing as well.. imagine heptopod language but with words. Same tech, different code flow.

    https://github.com/tikimcfee/LookAtThat

  • jareklupinski2y

    I made a small 4 digit LED display that syncs to my work calendar and counts down the hours/minutes or minutes/seconds to my next meeting, depending on how close it is to starting.

    Currently working on moving the ICS calendar parsing part from a python script down to the microcontroller itself, then I can release.

  • mxuribe2y

    I built a pretty simple command line application (glorified python script) years ago that sends messages into a specified matrix room, and intended for use as a basic server notification system. Only recently posted to github (because a friend asked me to share); see: https://github.com/mxuribe/howler

    Like other sys admins and devs, I had used email notifications for years to notify me whenever *stuff happens* on a server (like a job ran/completed, some storage device is low, etc.). But when matrix came out several years ago, i really liked the concept, became a bit of a matrix fanboy, and built a little script to leverage - nowadays, all of - my server notifications. Again, pretty basic/not sophisticated, but it scratches my itches.

  • andy8002y

    Built a compilation of local happy hours, lunch specials, and other cheap eats at https://fullprice.no (as in, "do you want to pay full price? No."). The idea isn't all that original but I thought my layout and presentation was rather unique, for example the 24-hour slider as opposed to a clock interface.

    I thought it would be easier post-launch to get restaurants to participate and add their own information (nearly-free marketing), but that was a faulty assumption. The admin interface is also pretty cool, very simple to specify blocks of time when the specials are active.

    Unfortunately it hasn't been updated in 4 or 5 years. When Covid first started, I launched a sister site just to list restaurants that were open, I took that down about 6 months ago.

  • eyelidlessness2y

    I hobbled together a software implementation of a half-QWERTY keyboard after a serious bike accident which left me unable to type with my left hand for over a month. The hardware solutions were (probably still are?) patented and we’re expensive to my then-very-broke self, so I learned enough ObjC and enough about the underlying keyboard mapping design to ~replicate the functionality in software on my Mac (right hand only until I could start actually using it), and then enough more ObjC to relaunch the thing whenever it crashed (fairly frequently, presumably from memory management issues I wasn’t trying to to deep dive at the time). I really wanted to open source it but it was just a life hack to keep working and I definitely didn’t want to also do a deep dive into the patent litigation risks.

  • 77232y

    Maybe not the most interesting but a CLI utility that would do 2 things (gaming related):

    * guess the gameserver tick rate based on network traffic patterns between game client/server (cs:go for example) and display it in grafana

    * collect keyboard inputs while playing and display them as a heatmap on grafana

    All of this for no real reason.

  • Marcel-Jan2y

    I created a cycling statistics dashboard on a Raspberry Pi with a Pimoroni Inky Impressions e-ink display.

    It's on my desk. And every hour it refreshes my cycling stats, reminding me that a) Wow! I build a cool thing that actually works and b) I did ride a lot on my racing bike, didn't I? / It's about time to go outside and ride some more. https://github.com/Marcel-Jan/StravaInky

    I've written a couple of blogposts on how I build it: https://marcel-jan.eu/datablog/2022/12/12/strava-dashboard-o...

  • sokoloff2y

    I built a “dipping bird” boiler reset (metaphorically). Our old boiler had a fault where it would lock out every few months until manually reset. So, I wired a normally closed relay to it and a 10 line Arduino sketch to open the relay 1 minute out of every 120.

    That ran for about 7 years; when I was researching replacing the boiler with air-to-water heat pump, I had to prove the house could be heated with lower temp water, so I changed to an ESP8266, added a platinum temperature sensor, a webserver, data logging, and ran a bunch of experiments with lower supply temps to see how the house would react.

    https://imgur.io/a/VM7nD74 (that chart is entirely SVG, the whole content screenshotted was generated on the ESP)

  • kashnote2y

    Idk if this counts but I built myself a Rubik's cube timer and eventually made it public:

    https://cubedesk.io

    It was a weekend project which I used for several weeks before sharing it on Reddit. The feedback was so good I decided to make it public.

  • KomoD2y

    Nothing crazy but, an app that tracks products in grocery stores.

    Just open the app and scan a barcode and it'll give product info such as name, description, nutritional info, pricing across stores and price change past 30 days.

    Built with React Native, InfluxDB, and go for the backend and scraper, products get scraped from all the stores every day and gets stored in InfluxDB.

    -

    Also built a desktop app for toggling ANC on my bluetooth headphones, the only ways to toggle ANC were a mobile app (which requires pairing to phone, thereby dropping connection to PC), or holding a physical button (which was next to the button to enter pairing mode so I kept accidentally pressing it), so I learned how to snoop on bluetooth LE and reverse engineered it with Android and Wireshark, it was a fun project and incredibly useful to me.

  • rmholt2y

    I struggled with procrastination a lot so on top of Pi-Hole I built myself an automatic procrastination tracker and blocker, this setup helped reduce my procrastination from several hours a day to almost nothing (over the period of several years of slowly unlearning the bad habits)

  • madisp2y

    not sure how interesting but definitely useful :D I like to listen to Albums and I missed the "Give me a random album from my collection" functionality in Spotify so built a tiny webapp to do exactly that - https://shuffle.ninja.

    It uses the Spotify web APIs to fetch your album collection and gives back a random album from it. I use it daily.

  • nonoesp2y

    I wrote a live video/audio marker creator with OpenAI's Whisper.

    A Stream Deck XL button runs a Python script that creates a timestamp for ongoing video and audio recordings which I use for live stream and podcast chapters while I'm streaming or recording.

    Different buttons on the Stream Deck create markers with different labels, e.g., Introduction, Break, Marker, etc.

    But as it's hard to name markers for every section and you have to go back to the recordings to infer what each section was about, I added a dynamic marker script that trims audio around a marker with ffmpeg, locally transcribes it with Whisper, and appends the transcript to the marker, so I can easily guess what the marker title should be without having to scroll and watch the video.

  • gadgetoid2y

    It didn’t really stay personal, but I built a very basic Raspberry Pi Pinout website hosted on a Raspberry Pi [1] back in 2013. The intent was to collect the pinouts for some boards I was tinkering with at the time. It got wildly out of hand since [2] [3], but I think the original site meets the spirit of this question.

    1. https://web.archive.org/web/20130505194305/Pi.Gadgetoid.com/... 2. https://pinout.xyz 3. https://pico.pinout.xyz

  • winsbe012y

    My family has historically been very into genealogy research, so we've got lots of family tree info. I've been working with my aunt to put together a webapp to create/edit info, see relationships, show ancestors/descendants of individuals. We've also started adding photos recently, which is really cool.

    Favorite feature we've built: "are you my cousin", where you choose 2 people in our database and it calculates how they are related. First time I got to write a search function outside of a classroom!

    I'm sure Ancestry does all this and more, but it's nice to have something that we built that's just for our family. We also use it all the time to verify relationships/birthdays!

  • evanreichard2y

    Built a service and web app that listens to Frigate car events via MQTT. It analyzes the video and image to determine the make and model, as well as OCR the plate.

    Uses some fuzzy matching logic in an attempt to match it to a historical vehicle. Also attempts to look up Make, Model, Year and VIN based on the state and plate.

    Been running pretty well for a few months. Can easily see history of a vehicle or search vehicles by make or model. Has come in handy once when someone in the neighborhood experienced a road rage incident and I was able to provide info on the car to the police.

    Next step is to build “detections” for anomalous vehicles. Or weird behavior like a vehicle passing by multiple times in a given window.

    Built with Python and HTMX cause why not.

  • belthesar2y

    I've got a couple things, they're pretty simple, but they've improved my life significantly for as simple as they are.

    One is an interface for a MIDI controller I use to be able to control the Soundcraft UI16 mixer I use for my desk setup. I'm a bit of an audio nerd, having done pro-am music production, and having a love for broadcasting, and what started as a simple setup to get good quality sound at low latency has now become an audio chain with a teleconferencing audio processor, a headless digital mixer, and several microphones to do acoustic echo cancellation and noise cancellation so I can use an open microphone without headphones.

    My mixer, being headless, has no physical controls. From my DJ days, I had a MIDIFighter 3D controller not being used, and a Raspberry Pi without a dedicated task. I was able to write a small bash script to read note information from the controller and send web requests to a Bitfocus Companion server to act as API intermediary between my mixer and the controller. Now, I have physical controls for hardware muting my microphone, and the various computers at my desk. It's effectively a big Elgato Streamdeck for what I use it for, but to be able to upcycle the hardware has been quite nice.

    I also was working from home with some long hours, and I wanted to try and improve my sleep schedule. I already use redshifting software (usually what's built into the OS these days, although I used to be a longtime F.lux user), and that's been great, but I also wanted to control monitor brightness by time of day. Giving my eyeballs less light blasted into them has helped me regulate my sleep better. I wrote a small python daemon that can run on Mac or Linux, integrate with native DCC tooling to send control commands to my displays, and gradually adjust the brightness of my monitors based on the time of day. This has also been eternally useful when, being an ops guy, I'm called in during the middle of the night, sit down at my desk to address an outage, and my eyeballs are bombarded with significantly less light, making the pain of adjusting much less difficult to address, and also making falling back asleep after the incident is resolved much easier.

  • kodah2y

    I built a cloud for my family to use.

    It leverages containers and Docker Compose, mainly for it's tooling that makes it easy to deploy. I made a tool that correctly selects the right node based on the directory I'm in using Docker Profiles. The networking is both internal and external; I share some APIs externally, like to share photos or to run video game servers, while other services are entirely privileged. It, for the most part, implements mTLS, and has both public and private DNS. I have a single ingress node in my cloud provider that is connected to my home servers via Tailscale. It's been instrumental in building out things at my house and making my life easier and cheaper.

  • brightball2y

    I built a system in 2008 that would let me design a database and the automatically generate an entire admin backend, granular ACL rules for different users and roles, related records and interactive table fields like toggle switches. It wasn’t statically generated so it easily adapted to changes in the database over time too. Could also swap out the UI theme per customer. Among other things.

    Called it The Intersect because I was and still am a huge fan of “Chuck”.

    It sped up my client projects so much that it killed my hourly income.

    Now there are lots of systems that do this type of thing, but at the time I was very proud of that system. It was nice to be able to focus on web project from a purely data design back approach.

  • IgorPartola2y

    I didn’t exactly build this from scratch but it is pretty heavily modified: I use an ESP8266 with a relay module to control my garage door via Home Assistant. I use a second one mounted on my bike as a WiFi presence detector. This way when I turn the bike on, the bike module connects to my home WiFi and Home Assistant opens my garage door. Once I leave the property and WiFi disconnects, the garage door closes a minute later. When I come home the same happens: as I approach the garage door opens and after I park and shut the bike off the door closes. There are a lot of solutions for how to open the garage door from a bike but this has been the most elegant that I’ve tried.

  • semaj1232y

    When I was in college, registering for classes was always a pain since a lot of classes would fill up almost instantly once online registration opened, then it was just a game of constantly refreshing to see if any seats had become available.

    After struggling through that for a few semesters, I decided to automate it. Started out with a script that would take course IDs as input and check for openings every few minutes (used selenium/beautiful soup I think) then text me via twilio whenever a seat was available. The next semester I updated it so it would even sign me up for the course automatically.

    Also came in handy to get myself and a few friends into the coveted wine tasting class our senior year.

  • ziffusion2y

    I built some groundbreaking technology to make it easier to browse torrents on the RARBG website.

    https://greasyfork.org/en/scripts/36751-rarbg

  • koliber2y

    A shortcut on my iPhone, that I can dictate a note to, and it transcribes it and puts it into my GTD inbox in Notion. It helps me not forget things. Lowers the friction and allows me to make note of fleeting ideas, thoughts, and things to get done.

  • dividefuel2y

    I spend a lot of time listening to music, so I built my own music player for my large collection of MP3s. I'm not a big fan of streaming and could never find a player that did all the things I wanted, so I figured it'd be best to build my own using Web technologies. It's been fun adding each feature -- automatic playlists with intricate rules, some smart shuffle features, stats, tag management, displaying waveforms, syncing with my phone, etc. -- and I've learned a lot on the way. I've also fine-tuned the UX to my personal preference. It helps when you only have to worry about the exact set of features that you want!

  • squeaky-clean2y

    I've built a few audio effects that only I've used. The only one that really stuck around is a guitar pedal delay effect with pitch shifting where the pitch shifting only happens on the first repeat, it doesn't accumulate as the sound repeats. It also has an envelope follower so notes can repeat infinitely when there's no playing, and once you start strumming/picking again the feedback of the repeats drops to zero until you stop playing and it goes back to the knob setting (Which can go from 0-150% feedback). Unfortunately I've got no good sound demos except some Facebook videos I'm not willing to share ;p

  • unnouinceput2y

    It started as a necessity project and evolved over time. You see my daughter started to wanted to have her independence around 5th grade (11 years old) and didn't liked me or her mother to go to school or get her home from school. So she needed a key to enter the apartment. Problem was that she lacked the necessary strength to actually unlock the door - door lock had a certain key position and until you hit that position it required quite a strength to do that. So every day she came from school she was ringing at the door. Whoever (me most of the time) was at home, had to go to the door and open it for her.

    So that's how I started this project. Get the door to be unlocked. Bought a new lock, with electromagnetic locker in it, hooked up a Raspberry Pi to command a switch for 0.5 seconds and then wrote a server application for RPi that does the command. Wrote another Android app, that connects to RPi, sends the user/pwd via WiFi, the server verifies if all is OK and then unlocks the door.

    Then started expand the tech. Get new users to be added by an Admin user (so roles were implemented). Used as DB SQLite in RPi. Wrote my own protocol on top of crypto libraries so communication is secured with a 4096 RSA key over WiFi. Then one day a little accident happened - my daughter had problems with her stomach and the door could not open fast enough for her to go to toilet, so a little soiled pants came out of that event :). That prompted me to start expanding even more and invest in a little LoRa PCB attached to RPi so the communication now can happen from distance instead of just few meters from the door.

    Then I wanted to expand the usefulness of RPi. So when we go to vacation a little pump is pumping a predefined liters of water on our flower pots. And to make sure those do not actually get too little or too much I hooked also a number of webcams on RPi to watch them. And since I was at this step and I wanted to flex my muscle in computer vision so another camera is on our front door and automatically will try to recognize people going through its field of vision. This last step is still refined. So this is where I am with this project. Still in development, pretty sure I'll have more ideas in the future I'll attach to that RPi.

  • Towaway692y

    I've been playing around with Node-RED[0] and built a completely pointless svg manipulation flow[1] which then makes this page https://demo.openmindmap.org/ui/#!/7

    The idea is create a tool for creating a global mind map but instead it's a svg!

    [0]=https://nodered.org

    [1]=https://demo.openmindmap.org/omm/#flow/3ebb65fdbecb182e (not really mobile conform)

  • tuxie_2y

    After pushing to a branch, gitlab sends you back a URL where you can create the merge request (MR). This broke my flow because I do all my development using command line tools.

    So I created this tool that opens an MR off the branch I'm on. It opens up my favorite editor and asks me for a title and a description in the same way that git does for commits. It splits it in first line for title and the rest for the body.

    It's very simple but I'm very happy with it. Now I extended it to list the open MRs, show the tickets in the current sprint, etc...

    Nobody else in my company uses it tbh, but I don't care because it solves _my_ problem and I love it.

  • kissgyorgy2y

    SSO proxy I use for all my self-hosted needs. I have 1 user in an LDAP database and I can use it even for services with no authentication at all. I even implemented real-time QR code login, magic link and web login over SSH.

  • rikschennink2y

    It’s a tool that helps me generate code examples for multiple JavaScript frameworks.

    Input is a JSON string describing the code, out comes code examples in plain JavaScript, React, Angular, Vue, Svelte, and jQuery.

    Helps me generate extensive docs on my own.

  • bruno_rzn2y

    I'm building a MIDI controller that has knobs (rotary encoders) displayed on top of a full hd display. I looked everywhere for something similar and I'm pretty sure that it does not exist. Did my first gig with the first prototype. It's basically a mix between the Electra One, the MP Midi Controller and the Stream Deck.

    I'm working on this for months now, and I had to learn how to use tools like Fusion 360 and Kicad for this, which is incredibly fun!

    I'm looking for a name for this product, current propositions are "a screen with holes" and "écran total" but ideas are welcome :)

  • nextlevelwizard2y

    Most "useful" thing I've lego'd together from parts was RSS feed of TV show torrents and multi-threaded torrent library that would then push the shows into Plex server and send a notification to my phone, but none of this was actually created by me. I was just integrating ready made software. Although this has been dismantled for years now ever since I started earning money and was able to pay for the streaming services.

    Most "created" thing was a fishing bot for a MMORPG that used computer vision to navigate the interface and detect when you had caught a fish and reel it in.

  • skwosh2y

    I make my own digital synthesis algorithms using (relatively, w.r.t. the field) esoteric mathematics. [1]

    At some point (e.g. once I obtain patents) I hope to commercialize the processes involved as software/hardware instruments, but for now it's solely for my own practice. [2]

    [1] https://soundcloud.com/thetanull/1to1-220409-03 [2] https://soundcloud.com/goomtrex/condenser-12-54

  • keyle2y

    I create a bunch [1] of [2] stuff [3] pretty much non stop [4] and I like rolling my own, in NIH syndrome therapy.

    [1] https://noben.org/boomwrist/ [2] https://noben.org/boomdeck/ [3] https://noben.org/tvmaster/ [4] ... https://noben.org

  • simonjgreen2y

    I used to run a hackspace, so quite a lot! But in no particular order these are some of my favourites:

    - A tracking airsoft turret that would point at and fire at movement. Was coded in Processing.

    - A world clock of digital clocks that synced with NTP and could be set to many regions when working with different timezones.

    - A QFH antenna for receiving live satellite images via SSTV from weather satellites

    - A core xy assembly with a peristaltic pump that can be placed over a frying pan to make fun designs of pancakes

    - A screenshot tool that uploaded to a private site with a short code URL for sharing screenshots without relying on ott SaaS products

  • tanng2y

    I have built VS Utils [1] mostly for myself since I work with WordPress and they use serialize(), unserialize() functions a lot, and sometimes I need to convert base64, timestamps value without leaving the editor. I find it's easier to write an extension for daily use functions and publish to VS Code so I can download it easier, sync across devices. Hope it helpful for others too.

    [1] https://marketplace.visualstudio.com/items?itemName=tanftw.v...

  • jb19912y

    I used Arduino to build an automated RDT adapter for grinding espresso beans in such a manner that they don’t spread all over your counter. It was a fun project and learned a lot about the chemistry of beans.

  • tmilard2y

    I built a simple software that generates immersion of artist studios. Example (please refresh twice to visit) here: https://free-visit.net/fr/demo01

    - Why ? As a parisian living in Belleville (poorest area), where artistes build things, I used to visit a lot of "artists studios". I have always loved this places. "J'aurai voulu être un artiste", in a way. I always thought that no photography or 360-photo would feel the Space, the immersive feeling.

  • arbuge2y

    I built this about 4 years ago... I have about half a dozen of them around the house right now showing stock quotes, weather, etc. and updating every 5 minutes.

    https://foundrytechnologies.com/relay.php

    One of them has been outside the front door showing messages to visitors and exposed to the Texas elements for all that time now - still going strong. About 2 years ago I replaced the plastic case, which was looking a bit warped.

    Sold a few too - though not enough to scale things up. Hardware is hard.

  • madjam0022y

    I was running the lightshow for a medium sized nightclub and ended up building a custom React renderer that would declaratively control all of the lighting fixtures on the dance floor, strobes and smoke machines included. The entire show was controlled with various MIDI controllers (similar to Launchpads) which also had their button grid programmed using React.

    It was suddenly very intuitive to build user interfaces on a button grid MIDI controller using standard React design patterns, not to mention the actual light shows being implemented as React components.

  • rmdes2y

    I built https://osintukraine.com no clear idea who's using it but 2TB of videos go out of it every month since last year.

  • lbrockxyz2y

    My family is super into games, and as the resident programmer, they often ask me to build things related to them. Favorite two to build were

    - an Unolingo solver that we used to figure out if there could ever by more than one solution to the puzzle (there can be!)

    - a "killer" solitaire simulator that determined the optimal number of players for a max win rate. IDK if this is even a real game, but my family plays multi-player competitive solitaire with up to 8 people at a time. IIRC the optimal number for win rates is like 5-6(?) according to my simulation

  • zbtaylor12y

    I built a working version of the Christmas lights from Stranger Things (that Joyce used to talk to Will in the upside down) for a friend's Halloween party. It used an arduino board, a string of addressable LEDs, and a little web interface that guests could use to send messages to the lights.

    It was so much fun to build and a hit at the party. I wish I had the opportunity to build more things like it :)

    https://github.com/zbtaylor/stranger-things-lights

  • edem2y

    I'm late to the party, but I'll compensate by posting 2 things. 1. [Zircon][zircon] is a text gui library I have been working on for a few years in my spare time, although I haven't contributed much to it lately. It also comes with a tutorial in which I implement a simple roguelike game ([Caves of Zircon](caves-of-zircon)).

    2. This is more recent (in fact I haven't finished it yet): I have been working on a toolkit in the last few weeks that includes a scheduler, an event bus and a state machine library ([Cobalt](cobalt-ts)). Using these in conjuncion you can easily implement a workflow engine (that's what I'm gonna use this for). The interesting part is that it is implemented by using functional programming. Feel free to check it out if you need something like it (permissive license).

    [zircon]: https://github.com/Hexworks/zircon [caves-of-zircon]: https://hexworks.org/posts/tutorials/2018/12/04/how-to-make-... [cobalt-ts]: https://github.com/Hexworks/cobalt-ts/blob/master/libs/hexwo...

  • mourner2y

    Not too fancy, but I built a math model & interactive visualization of my parking spot to understand how to efficiently park there without bumping into anything: https://observablehq.com/@mourner/kinematics-of-reverse-angl...

    Discussed on HN here: https://news.ycombinator.com/item?id=21891919

  • bluetwo2y

    Currently working on building a virtual art gallery populated with fictitious works from dead artists generated by Stable Diffusion. Users in the same room can talk to each other using WebRTC.

  • pawptart2y

    I built an emulator for HUB75 LED matrix panels. https://github.com/ty-porter/RGBMatrixEmulator

    One of the side projects I work on is a scoreboard that displays MLB scores. It's highly configurable -- you buy the size panel you want and a Raspberry Pi, install the software, and you can configure it to display games, standings, and news headlines for your favorite team or division.

    The problem is that the hardware is purchased by the end user, so it can come in many different sizes. I think we officially support 6 or 7 sizes right now, and each panel can be a chunk of change if you get a nice one. If we wanted to test on every device that means I need to shell out 50 bucks x 7 sizes, plus Raspberry Pi and wiring adapter, so not insignificant for a hobby project. Instead, I wrote a drop-in replacement emulator that makes it super simple to emulate any size panel across a variety of display types.

    The most advanced display adapter spins up a minimal webserver and serves emulated images over a websocket, meaning you can display your panel over the network on pretty much any device with a web browser.

    I write about it quite a bit, if further interested: https://blog.ty-porter.dev/categories.html#emulation-ref

  • higgins2y

    I partially encrypt/decrypt a file based on the presence of special HEREDOCs (ie <<PRIVATE) so I can keep a public daily journal and keep some notes private.

    The tool is still a WIP as it isn't portable between machines -- https://github.com/higgins/privatize

    more on it here: https://encapsulate.me/writing/Privatize.html

  • florencehinder2y

    I wanted to listen to the audio version of "Founding Sales: The Early Stage Go-To-Market Handbook by Peter R Kazanjy." But I couldn't find an audible version so a friend and I downloaded an ePub version of it and converted it to audio using Microsoft's txt to speech model and built a simple UI.

    I plan to make it general purpose so you can download and ePub and convert it to audio seamlessly.

    https://listenandread.netlify.app/

  • nier2y

    As a color-blind person, most of the time when stuff on screen was only differentiated by color (like red/green status indicators), the go-to-tool would be the system’s digital colorimeter for me.

    It was tiresome to have to launch an extra application and inspect RGB percentages to derive what color I was supposed to see.

    The colorimeter I made activates while holding down an inconsequential modifier key on the keyboard and shows the name of the color.

    Now I can also quickly double-press that modifier key and copy the color value to the clipboard.

  • syngrog662y

    Hard to answer. Because the most technically challenging and interesting work I've done has been for employers or clients, and under NDA, closed source, and now part of their IP or trade secrets.

    Whereas for myself in my own free time I bias more to the ruthlessly pragmatic, which often means the simplest or easiest solution, so I can move on to the next thing.

    Random pick from those:

    - many many years ago I once wrote a Terminal-like UI widget for Java AWT/Swing apps. This was in the very very early days of Java. To scratch my own itch. It gave me a way in my Swing/AWT desktop apps to embed a console/REPL-like widget (which could be kept invisible/inactive by default, then only appear when a special key pressed) to let me issue CLI-like commands in-app, for example for cheat codes or dev testing or to provide extra features to advanced users. It provided an API for registering comands and their handlers. Had built-in commands like "help" and to repeat the last command, etc. So my Java GUI apps could have the best of both worlds: the "friendliness" of the GUI and the power and conciseness of a terminal workflow. Super simple. Only ever used in a few of my hobby apps (and a few games I considered selling then.)

    I named it, originally, in private, SwingShell. Then renamed it to Grio, because that had more personality. (Obligatory Pulp Fiction reference.) I even devised my own little theme song for it. Okay more of a tune. A melodic catchphrase. Why? Here let me show you my nerd license. Hold still, please. This will only take a second.

  • ThomasMidgley2y

    About 15 years ago we had our first chickens. Due to space and time constraints, we did not build a new chicken house, but bought an old children's playhouse on stilts. The chickens should get an automatic chicken flap. But unfortunately, at that time all purchasable automatic chicken flaps worked on the principle of a winch and the flap had to go up vertically. With our chicken house, however, only a horizontally opening flap would have worked. So I built an automatic chicken flap from parts of an old inkjet printer, two limit switches and an Arduino. It has worked flawlessly for many years. Another advantage was: my control opened in the morning at 8 o'clock and closed in the evening depending on the calculated sunset (+ 30 min). Such ingenious control I have not seen in any automatic chicken flap until today. All automatic chicken flaps that can be purchased in Germany today work either with a timer or with a brightness sensor. And then either in the morning and evening only by time or brightness as trigger. Time combined with brightness can none. And the brightness sensors usually have the disadvantage that the flap opens if you shine at night longer than 1 min on the sensor, for example with the flashlight, if you work something next to the chicken house.

  • okaleniuk2y

    My father was an amateur historian. He used to work with a lot of pictures often of poor quality. I guess his worst was a photo of a road sign printed in a book sometime in the 70s, and then recently not even scanned but taken from a book page with a phone. So I made a tool for him that allows to undo unwanted bending and also helps with the dirt: https://github.com/akalenuk/unpager

  • zacksiri2y

    I've been working on https://instellar.app. It's a SaaS product that will enable anyone to turn their own infrastructure into a PaaS without needing to hire a DevOps.

    I did this because I've had problems hiring DevOps (lack of resource / lack of people to hire / and kubernetes was just too complex). I decided that I need a tool let's me have my own heroku on my own infra and here we are.

  • cryptonector2y

    In 2011 and 2012 in between jobs I wrote a few bits of software, of which

    - one was a SQLite3-based, all-SQL reimplementation of a subset of UName*It (an object-oriented database from the 90s meant for storing NIS/DNS/etc. data)

    - another was an RCU-like lock-less, very fast user-space data structure written in C, born of frustration with read-write locks in Solaris

    Of those the latter ended up being useful to me about 5 years later, and I still use it in production, though I originally wrote it for myself.

  • BWStearns2y

    We got solar powered string lights for our balcony. The solar panel only came with a spike to stick in the dirt. Since we are several stories up that didn't really work and we didn't want to just tape it to the railing. The part that connected to the spike was a little circular bit with a couple holes for screws so I designed a little mount for it in CAD and 3D printed it and so far it works great. It fits the railing and the solar panel perfectly.

  • chaitanyapramod2y

    I made a chrome extension[0] to search MDN from address bar more than a decade back. It served me well and has since picked up a loyal set of users. I'm glad it is helping new developers as they venture onto the journey I really enjoyed my time with.

    [0]: https://chrome.google.com/webstore/detail/ffpifaemeofjmncjdb...

  • Nicholas_C2y

    Pretty simple but saved me a lot of time: using Twilio, Google maps API, and PythonAnywhere I would send myself a text if my normal route to work would take >n minutes.

  • Jalad2y

    At work we have a perk where we can expense $x,000 a year for assorted benefits such as gym memberships, public transit tickets etc. The pain point is that you need to submit receipts for them to reimburse you, which doesn't take too long, but is a pain if you forget.

    I made a small service which aggregates receipts from assorted sources (usually webpages, pdfs), takes a screenshot of them, parses the information out, and uploads them automatically for reimbursement.

  • iainctduncan2y

    Mine is Scheme for Max, now on it's fourth open source release, but really written so I could make computer music how I want to. It's an extension to the popular Max/MSP visual music programming environment that embeds an s7 Scheme interpreter and provides a substantial API/FFI to Max. It allows you to script Max (and thus also Ableton Live) with Scheme, enabling interactive coding, algorithmic music, live coding, macros, and just much more pleasant scripting than in JavaScript. It locks in with the scheduler so you can even use Scheme powered sequencers within Ableton Live alongside regular Live tracks, and you can build sophisticated Live control surfaces using the Live API.

    Github page here: https://github.com/iainctduncan/scheme-for-max

    YouTube demos here: https://www.youtube.com/c/musicwithlisp

    A recent demo of it in the context of Live is this one. https://www.youtube.com/watch?v=j0sKBA-Pv2c&t=1s&ab_channel=...

  • fouronnes32y

    I built a wifi controlled led strip controller with an ESP8266. I had it connected to an Android sleep tracking app (sleep as android), so that at some point I had the lights in my room go from 0 to 2500 lumens smoothly (following a log curve so that it's perceptually linear) over 5min or so in the morning at the optimal detected time for my sleep cycle. It was pretty awesome. I scrapped the entire thing since I last changed appartement though...

  • cknight2y

    I just made a simple sprint calendar so I could keep track of my team's big dates more effectively at work, at a glance from my phone etc.

    https://sprintcalendar.com

    My team runs with:

    https://sprintcalendar.com/3-week-sprints/start-2023-03-23/r...

  • hypertexthero2y

    Not so interesting but continuously useful for me as a learning aid: A compass rose showing the opposite bearing of a given bearing; the back azimuth.

    Useful to head back the way you came, or tell someone you see in the distance roughly where to head to meet you, in both real and virtual worlds.

    https://hypertexthero.com/compass-rose-back-azimuth/

  • lyziinc2y

    I made a custom client for the ChatGPT API, so that I can template and chain together prompts to automate content generation. I only just finished off the workflow feature to prompt chain (where one output goes into one of more prompts), but personally think its cool and has lots of applications.

    A little rough on the edges so probably not ready for a ShowHN yet.

    https://promptpro.tznc.net

  • dan-g2y

    Maybe not the interesting, but the most recent— I was annoyed that Bloomberg’s email newsletters didn’t have an associated RSS feed, so I wrote a script that uses JMAP to take the most recent emails from them from my inbox and publish to an rss file. A docker container hosts that running on a cron job, and nginx to serve.

    I run it on my NAS so my RSS reader can find it as long as I’m on VPN. Now I only need to visit NetNewsWire for all my news!

  • TheMagicHorsey2y

    When I lived in SF, I built a webcam with a raspberry pi which looked down on the street in front of my apartment and uploaded to a website if a parking spot was available. My friends could visit the page on the drive up to see me, and check if there was a parking spot available before they got to the house ... so they didn't have to circle around looking for other spots if there was a vacancy right in front.

  • dclowd99012y

    A service that ran on a Pi in my basement and periodically checks Oregon’s liquor site (OLCC) for bottles of bourbon I was interested in, and which liquor stores got new shipments. It would use mailchimp’s api to email me when inventories changed.

    https://github.com/dclowd9901/olccChecker

    It updated itself against the remote repo and ran on a daemon.

  • tndata2y

    About 30 years ago I reverse-engineered my Sega Mega Drive game console and built my own hardware dev kit from scratch. I did blog about that project here: https://nestenius.se/2022/01/18/how-i-built-my-own-sega-mega...

  • megalomanu2y

    I live in Paris, the city with the most art house cinemas in the world. There are so much of them I have a hard time following what is showed every week. I made a simple crawler that looks at these cinemas and sends a digest of the week schedule by email, listing only the movies that went out one more than year ago (because these theaters also show recent films). Nothing fancy here but I use it every week.

  • danabrams2y

    Not for me but for my dad. He has a giant vinyl collection from his teenage years at his country cabin in Vermont.

    I hooked a raspberry pi zero up to it about 7-8 years ago, and streamed the audio to a custom app on an iPhone, so he could play a record and listen to it anywhere in the house or even outside while cutting wood.

    The hard part was making a nice vector animation of a record player that animated based on the state of the playback.

  • dserban2y

    As a data engineer who is looking to leave a toxic workplace behind, I built a data streaming application to surface new dataeng jobs being posted on ATSes (Applicant Tracking Systems). There is a constant stream of new JDs being posted, which fans out to a bunch of RSS/Atom feeds for combinations of skillset and location. Most startups post JDs to either greenhouse or lever, statistically speaking.

  • mmmm22y

    I wrote a few things I use all the time.

    1. A youtube bookmark manager for Emacs using Sqlite as a back end. - You can keep track of individual videos. - Manage series that span multiple videos. - remember interesting moments.

    2. A system to help manage my finances by tracking what percent of my assets are in a given category. This helps with maintaining, say, a 60%-40% stock vs bond split across multiple financial institutions.

  • TySchultz2y

    The old Yahoo News Digest app from years back was incredible and I never could find a replacement. I decided to build my own.

    It uses Embeddings to gather thousands of articles and compare against each other. Then uses a relational graph to combine those into collections and uses an LLM to create a succinct summary, quote, map, and other info about the topic.

    It lets me the news for the day within minutes instead of endlessly scrolling.

  • rymurr2y

    A search engine. It indexes all of my personal notes as well as my entire browsing history. Previously visited pages and notes get blended w/ google results. Makes a big difference when trying to find blogs, docs, notes on things Ive worked on previously or make random connections between notes and current questions. Of course it now needs a bottoms up rewrite in the age of vector dbs and GPT.

  • goldenkey2y

    Built some systems, simulations, universes, automata or whatever you'd like to call them.

    https://github.com/churchofthought/HexagonalComplexAutomata

    https://github.com/churchofthought/ScatterLife

    Was working on a new one based off of Gerard Hooft's beable theory, a superdeterminism of sorts.

    But then WebGL 2.0 Beta got replaced by WebGPU. So it doesn't run anymore: https://github.com/churchofthought/Grautamaton

    But here is a video of it used for a non-abelian sandpile system, when Google Chrome Beta could run it:

    https://photos.app.goo.gl/NE1XU1tcdKS4ySLa9

    and the resultant "cooled" equilibrium universe: https://photos.app.goo.gl/dn5jpUW9y3JMrxJi6

  • cygnion2y

    Happy Friday! I have built a document-reading app to help me curate, visualize, and recall my knowledge as I read and annotate research papers - https://www.KnowledgeGarden.io

    The app also extracts data from documents, such as urls, keywords, and references, and generates a downloadable pdf report with annotations and extracted data.

  • cies2y

    I wrote a script that takes all the info in the database of the FLOSS DJ Software Mixxx' databse (sqlite, yeah!), and writes it to the tags of the MP3s/OGGs/FLACs.

    I have another script that reads the info from the tags and writes in back into the database. So I never have to set the cue-points/comments/scores/BPMs again for my tracks :) And all is self contained in the audio file.

  • pojon2y

    A bash-only issue tracker, written on a dare[1] then used for some projects. A laptop theft honeypot to pwn the thief[2].

    [1]: https://github.com/manpages/issues-legacy [2]: https://github.com/manpages/tar-spoon/

  • rft2y

    I hooked up my old (~25y) stereo to an RPi via AUX in. The RPi has MPD and a pulseaudio sink to play audio. And it can be controlled via Home Assistant.

    But the feature I like most is that it turns on/off the stereo via an infrared LED. It detects sound and silence on the pulse output and sends the proper IR command. A small thing, but it still makes me happy whenever it does its work in the background.

  • 2y
    [deleted]
  • vitorbaptistaa2y

    Back in university, a friend and I built an old-school arcade. It as a wooden chest with an old PC inside running Linux. We then got the arcade buttons and joystick for 2 players, connected to the serial port, and wrote a Linux driver to understand the presses as a keyboard. We even added a coin door that accepted quarters. At the time, I was the president of the CompSci student body. We had a room in the university, where we placed the arcade. There were some great games between classes, and it gave us some funds for random small stuff (printer toners, etc.).

    ---

    Another one is https://shellshare.net. I use Linux for a while, and from time to time someone would ask my help with something. If you ever tried debugging a problem in someone's else terminal over the phone, you know how frustrating it can be. So I built it as a way to share a read-only stream of your terminal with a one-liner command.

    It's been a while since I used it myself, but there are some people that use it for teaching in universities.

  • gonzus2y

    Recently, I used Zig to write a utility that runs on my NAS (ARM-based) and trawls through all directories looking for SRT subtitle files; it then cleans up these files, getting rid of any subtitles that match any of a set of patterns (such as "Please suscribe to XXX"). The utility does almost zero work for already-scrubbed subtitles, and only does work for new subtitles.

  • 0xbadcafebee2y

    A bootable mini-CDROM that I would pop into two dozen computers in a computer lab after hours that would turn the lab into an OpenMOSIX SSI cluster and auto-eject the CDs. All I had to do to reset the lab is ctrl+alt+delete on all the machines.

    I also built a CarPC back before we had smartphones that could do everything. I wrote some custom Perl software for it:

    - An audible user interface that allowed a remote control, a keypad, or voice commands to speak-navigate a series of menus, to allow running programs, selecting music to play, etc. It was extremely low-latency, fast and clear, to allow very rapid navigation. No need to look away from the road, unlike every annoying car navigation menu I've ever used.

    - A music interface to allow selecting playlists, shuffling music, pausing/skipping, etc

    - A program to play the next of a pre-written instruction when approaching a GPS coordinate; basically, ghetto turn-by-turn GPS nav

    - A wardriving interface to tell you when a new access point was captured and if it was unencrypted and high signal

    - A video player hooked up to a mini monitor installed in the dash

  • plantain2y

    Realtime, full-resolution satellite imagery, globally.

    https://satview.skysight.io

  • omeysalvi2y

    I'm using ChatGPT to build a note taking app just for myself. Haven't completed it yet but plan to open source it once it is done.

  • mccoytest2y

    I watched Stargate-SG1, the series that was on from 1999 to 2010. I bought the disks and ripped them to my Mac. I scraped episode information from various locations (Netflix, Wikipedia, IMDB, etc) for directors, writers, full cast and synopses for each episode.

    I wrote a perl script for the terminal that permitted searching all of these items for requested episode patterns/Titles/numbers/cast. The search results include info from every episode where a case insensitive match is found. I also enabled running the episode's video in QuickLook or QuickTime. The search results were color coded to differentiate search/cast/synopsys info. (no color shown below.)

    Simplest example searching for a director:

    sg1.pl 'William Waring' -terse ( just episode numbers ) Search for "William Waring" was found in 13 episodes: 109, 131, 147, 156, 164, 177, 178, 185, 194, 196, 198, 202, 212.

    sg1.pl 109 SG1 Episode=[#109] S5 E21, => 'SG 2001 Stargate SG1 S5 D5_5.m4v', "Meridian", 05/10/02, Director: William Waring, Writer(s): Robert C. Cooper, cast: [Amanda Tapping (Major Samantha Carter), Christopher Judge (Teal'c), Michael Shanks (Dr. Daniel Jackson), Richard Dean Anderson (Colonel Jack O'Neill), Don S. Davis (Major General George Hammond), Gary Jones (Sgt. Walter Harriman), Teryl Rothery (Dr. Janet Fraiser), Corin Nemec (Jonas Quinn), Carmen Argenziano, Jacob Carter / Selmak), Mel Harris (Oma Desala), David Hurtubise (Tomis)], Daniel incurs lethal radiation exposure when he prevents a potentially cataclysmic accident in a weapons laboratory on the planet Langara (P9Y-4C3) but the mysterious Oma Desala shows him that death can simply be another beginning. While the alien government responsible for the lab accuses him of attempting to sabotage their research the Kelownan Jonas Quinn tries to negotiate with SG-1.

  • chankstein382y

    I'm always building random quick solutions to problems we happen upon. In one instance, I'm gathering data for a large stream from their chat and writing ways to search and process it. Another I'm writing renaming automation.

    Most recently, my partner and I were using Anki to learn country flags but found the user experience to be annoyingly over-engineered and kind of stressful. We just wanted to be able to sit down and go through 5 flashcards while microwaving something or go through 100 in a day. With Anki it always felt like I was messing with some algorithm if I stopped early or didn't do my required number of cards for the day. Plus we were finding it annoying that the flash cards with Anki always seemed sorted. If I was looking at Albania's flag and had no idea about the next one I could guess it was maybe Algeria, etc.

    So I built a python app that will tear open .APKG files and extract relevant information (currently, due to the file spec, it's specific to this because the notes are not consistently formatted but could be reused for whatever). It'll unpack and rename the images based on the media file and, in the case of the country flags deck, spit out a JSON file that matches the "challenge" (the image) to the answer.

    Then I had ChatGPT build me a simple front end with HTML and Javascript for going through them at random and hosted it on one of my websites for the 2 of us to go through whenever we want. I'm working on doing the same with top-level domains and country codes! Turns out APKG files are a great dataset that happen to just be shoved into a somewhat over-engineered (in my opinion) file format and shoved into a software that, while great, doesn't feel conducive to casual learning where I don't have specific needs or dates the information will be come relevant. I just want to know these things not be a prisoner to them while I learn them.

  • 2y
    [deleted]
  • absoluteunit12y

    I started building a typing web app to get better at touch typing. (Doesn’t work on mobile so open on PC if curious)

    https://www.typefaster.app/

    Still very early stage and many more features (racing, user management, etc) coming but it’s probably one of the first projects I’ve built that I’ve actually used

  • spaghettifythis2y

    My MTG playgroup kept taking too long to play rounds because of indecision on which cards to play, and we consistently ran out of time part-way through games.

    A proven solution to this problem already existed - chess clocks. However, those only work for two-player games, and we play games with the number of players ranging from 2 to 6.

    So I made a little web app that's like a chess clock but supports several players rather than just 2. It's designed to be used on a phone and put between the players on the table. Your turn ends when you tap your clock. There's also a pause button for during combat so that you can't unfairly run down another player's time while deciding which creatures to block with. The KO button distributes a defeated player's remaining time amongst the players who are still in the game.

    Made with 100% organic, home grown typescript. No React in sight.

    https://mtg.viggers.net/

  • natewaddoups2y

    Around 2001-2002 I wanted to build a bipedal robot, about 1-2 feet tall, mostly using RC servos... But first I wanted to sort of prototype it in software, and that part of the project took on a life of its own.

    Coincidentally, a library called ODE had just been released, which did (still does) very nice physics modeling. After a year I had a sort of "robot construction kit" / 3D world editor and simulator GUI for ODE. I had so much fun building that app, and building random stuff in that virtual world, I didn't even start on the physical robot. Bipeds, centipedes (there's a dialog box to build N-pedes), snakes, a motorcycle, a couple cars, etc, etc.

    If anyone remembers sodaplay from back in the day, I cloned and extended their GUI for controlling simple oscillating motions. And added a smooth waveform for "up, pause, down, pause, repeat" in addition to just sine waves.

    There's a simple visual programming language for configuring the data flow from those simple wave functions to motorized joints in your contraption.

    There's multilevel undo/redo for everything, because I had just bought the GoF patterns book, and the CommandHistory chapter seemed like such a great idea that I couldn't NOT use it.

    It turned out really nice, I was super proud for a while... life moved on.

    I dusted it off a couple years ago and got it to build with a modern version of Visual Studio. The C++ standard has evolved, and there are now a billion warnings, but it does build and run. Unfortunately I wasn't able to get the MPEG library and terrain library to work. And the screenshots and MPEGs from 2002 are long lost, so I haven't got much to show for it today.

    But it is on GitHub if anyone wants to play with it: https://github.com/natewaddoups/juice

  • jaredandrews2y

    I've been meaning to write a blog post about this but the code is so messy I keep telling myself "I'll clean it up first and then show it off"...

    Growing up I had an alarm clock that you put a CD into and it would fade in the CD instead of an alarm noise. I really loved this, though having to wake up super early for school everyday, I will admit that I developed negative associations with the first track on many albums.

    I created an improvised version of this a few years ago: a timer switch hooked up to a light, a cassette player and a water heater. When the timer went off all three would turn on. This worked but wasn't great cause nothing faded in.

    I remodeled my bedroom last summer and wanted to replace this alarm with something more sophisticated.

    I used a Raspberry Pi to do the following: - At the set alarm time, access my media server and generate a playlist of 10 random songs. Start this playlist and slowly increase the volume. - I bought a separate module to hook up to a lamp that points at where I sleep. This module lets me slowly turn up the brightness of the lamp as the music volume increases.

    The water heater is hooked up to a timer in my kitchen now. But I just finished building an arduino based wifi switch, so once I get it integrated, that switch will get turned on 5-10 minutes before the alarm is set to go off and heat my water for coffee.

    I built a dashboard for all of this using HTMX. It lets you set the alarm time, snooze, play arbitrary playlists, adjust the light etc. I also added a weather widget and I have a JSON file of all important birthdays in my life, so it tells me whos birthday it is when I go to review the weather.

    Something that HN may appreciate, I have it setup so when I ssh into the Pi, I get dropped into a tmux session where an instance of emacs is running with the actual alarm code being executed inside of it. This makes editing and trying the new functions sort of like a lisp machine. You get dropped into emacs and can tweak all the scripts and test them in a sort of live environment (you have to restart the server to update the dashboard but everything else is 'live'). I have a dream of rewriting this so it really is a lisp machine and everything can be `c-x c-e`'d to run but I doubt I'll ever get around to that.

    I would also like to integrate motorized blinds and open them up when I wake. I'm still researching this, if anyone has recommendations.

  • keyP2y

    I realised I have quite a few random scripts I use for myself or to improve my usual workflow. Recently decided to start blogging again and figured some of them might make interesting reading for others. Lately:

    Made my monitor an "ambient tv" by reverse engineering the bluelooth lights and sending them pixel colours: https://www.reaminated.com/reverse-engineer-led-to-convert-m...

    I also wanted to use ChatGPT over my own files and documents. Whilst my personal system is a bit more complex, created an end-to-end tutorial of my learnings to get started with using your own docs: https://www.reaminated.com/run-chatgpt-style-questions-over-...

  • psychomugs2y

    My robotic graduation caps for my undergrad (2015) and PhD (2022) ceremonies:

    https://psychomugs.github.io/gradcap

    My wrist-mounted Spider-Man-inspired coilgun:

    https://psychomugs.github.io/webshooter

  • xiaodai2y

    An automated scrapper for all my bank accounts, 401k accounts, and share accounts, and bitcoin values. Then displays it daily

  • jojohack2y

    For fun I stitched together a map of my hometown from older fire insurance maps ( taken in 1914 ) Ironically much of the downtown area was destroyed by a fire two years later.

    https://www.joeycato.com/stuff/paris-texas-1914/

  • aryeshalev2y

    As a developer I hoard many links and also would like to get notifications on different tasks being finished (script/RSS/IoT) so I've built a chat web app for myself where you can create a channel for each specific notification or links to read later.

    The web app is a PWA so I can install it on my Android Mac and PC via Chrome browser without app/play store and access from anywhere.

    I took it further by adding Webhoom API for the notification and a Chrome extension to share links from my browser to the channels.

    People liked it (didn't try to market so much) but they wanted encryption so I have added end to end encryption as well.

    I'm currently working on (on my spare time) big files support up to 4GB from any browser including live preview and video streaming for well known file types.

    You can check it out here https://www.pushstaq.com

    Can read some of the blog posts for more info.

  • ghoshbishakh2y

    I built https://pinggy.io for myself initially. But after some years I thought others might also find it useful.

    It gives me "instant" public URLs to localhost without any downloads/configs. I use to to quickly send files, share and check frontend on my mobile device.

  • Aulig2y

    To be fair, I'm trying to turn it into a public product since I think the use-case isn't very niche.

    I've recently started building https://responsebrain.com where I can add all my blog articles and automatically let ChatGPT generate responses to questions about my other product https://webtoapp.design

    It's a pretty basic setup with a knowledge base you can feed anything you want (your blog articles, help center etc.). That gets put into a vector database and then I pass the related knowledge pieces to GPT along with the question.

    I know there's lots of similar products out there, but none of them seem to allow manual editing of your knowledge base and they all seem to be focused on creating chatbots. I've adjusted the prompts to work best for e-mails.

  • 2fast4you2y

    Right now I’m working on a heads up display using a pair of AR glasses and a pinephone. At the moment you just get the time and a battery level in the corner of your vision, but the interesting thing is the platform. Every hud app is just a Wayland client, and the apps get positioned absolutely on the screen by the compositor

  • lonesword2y

    I wrote tweetscreenr.com to fetch articles from my twitter feed, and convert it into an RSS feed. The initial use case was to follow AI researchers on twitter and get notified whenever they post a link to an arxiv.org paper. Works well for me - I get all the news from Twitter, minus all the politicized/opinionated crap.

  • psidex2y

    I built a web extension that lets me use customised bangs when searching (similar to duckduckgo but fully editable to search whatever you want), makes my regular searches much quicker https://github.com/psidex/CustomBangSearch

  • mablopoule2y

    I work in front-end development, and am very frustrated each time I encounter a front-end framework with auto-refresh without an easy way to disable it (looking at you, Next.js).

    As a result, I wrote a (Chrome only) Web extension[1], which monkey-patch the WebSocket object, so I could 'plug' or 'unplug' them by simply clicking the extension's icon. So far I'm very happy with it [2], and can finally have multiple tabs of the same page without my 'reference' tab refreshing itself while I'm working on CSS.

    [1] https://github.com/MarcMonchablon/toggle-hmr

    [2] It gets the job done, even if in some case (such as the Zola static site generator), where I had to put the link to the plugin's code in the index.html, otherwise the code would be injected too late.

  • fnordpiglet2y

    I built a device out of a large copper block interfacing with a matrix of water cooled TEC on one side to cool the block and a TEC tower on the other, with the top of the TEC tower opening into an insulated chamber. The chamber has a valve to a CO2 canister. It’s able to make dry ice without any adiabatic cooling. I 3D printed the entire insulated enclosure using Build123D (a parametric python CAD library). I’ve always been fascinating the using non mechanical systems for all sorts of tasks, in this case transferring large amounts of heat. It’s a pretty inefficient way to do things; and I did cheat by having a mechanical pump moving the water cooling into a heat exchanger with fans. The amounts of dry ice are also very small. My favorite bit was the large pure copper block acting as a large efficient thermal mass in the middle of the system.

  • NiagaraThistle2y

    Not sure how interesting they are for others, but i built a few things to keep myself accountable and track progress on parts of my life I wanted to improve - small parts, but things I just kept procrastinating on.

    1. I built a small web app to provide a cycling routine to help me go from zero miles and overweight to riding a century (100 miles) this summer. I used to ride move frequently when I was younger and my longest ride was 87 miles with camping gear on my back. But 2 decades, a web dev job, and 2 kids later I am lucky to be able to get 10 miles per week for any consistent stretch of time. The app takes my recent riding skill and athleticism, and creates a 6 week riding 'program' for me basing itself on # of miles per day for the 6 weeks and increasing each week until the culmination of the 100 mile ride, allowing for 2 rest days each week. It isn't the most robust but it's gotten me motivated to ride this summer.

    2. I built a reading list tracker that I can add the books I want to read for myself and my kids. It suggests which book to read next if I can't decide. It tracks # of books to read, # completed, # of pages & hours to read (so I can see how unlikely it is that I will ever finish my list or can plan time accordingly to know through the list systematically), allows me to categorize the books, and lists them as MY reading list or a list to read with my KIDS.

    3. A European travel planner that I track country and city costs with, can create custom travel itineraries, which then will show actual costs for the itinerary based on the costs I am tracking/inputting for cities/countries/attractions.

    4. More fun for myself and friends: A soccer scores predictor game. We each follow teams and clubs from various world leagues, and pick the scores for upcoming matches. Then the app scores us based on our predictions and we have annual competitions with each other. I built this before these were as popular as they are now, and well before the likes of FanDuel/gambling sites.

  • tojikomorin2y

    I have a "icon switcher for chatGPT".

    I know it has no value, but I can't stop using it.

    https://chrome.google.com/webstore/detail/personalized-chatg...

  • dejobaan2y

    About yen years ago, I built a site that scraped Steam and spat out the ~100 most recently-released games in a skimmable format: http://www.whatsonsteam.com

    There's a lot of weirdness that launches each day, but also lots of interesting-looking stuff.

  • grilledcheez2y

    I made a pomodoro timer display using a WiFi-connected ESP32 board with a small OLED display. I put it outside the guest bedroom/home office door during lockdown so my family members could see how long until I could be disturbed.

    It talked to my laptop using MQTT and of course it was triggered from emacs using org-pomodoro.

  • coreymaass2y

    Daily email I reply To to keep a diary: two php scripts and mailgun. My own recipe site: WordPress. Tag-based time tracking (in-progress) at timer.express: react, php api. Productively timer at timerdoro.com: react, WordPress. Configurable image cropper for client use at crop.express: vanilla JavaScript, html.

  • drewbeck2y

    Starting in HS and continuing for years I developed the first and only complete software package I’ve ever made, for my father. He’s a EE and was doing a lot of his board design in excel — if I remember this meant he then needed to map the excel design onto a layout program to connect all the parts; the layout program generates a netlist and the netlist then goes to the actual layout person who figures out the final position of parts/traces on the board.

    He hired me to make a VBA program that generates the netlist directly from excel. Refined it over the years and I believe he still uses it to this day. He can turn around a design in far keat time than it used to take.

    I’m no EE — and it’s been probably 15 years since I’ve touched that code — so I may have gotten some details wrong here. But it was a cool project to work on and taught me a lot about code!

  • Tossrock2y

    I made a visual programming / node editor environment similar to TouchDesigner, vvvv, Unreal Blueprints, etc, on top of Unity: https://www.youtube.com/watch?v=KyDpnzfSg_o

    It was originally created to drive a particular large LED installation I work on, but I've generalized it to the point of being able to drive other installations as well. It passes texture data between nodes running compute shaders to chain together patterns/effects, which is a fun and powerful paradigm for creating visuals. Not as powerful or featureful as "real" solutions like TouchDesigner, (which, if I'd known about when starting out, I probably would have just used), but I do know all its ins and outs and can change it exactly how I want, which is nice.

  • zciwor2y

    I'm a credit card point junkie so I always volunteer to pay the bill at dinner or drinks. But, if everyone doesn't get roughly the same thing, it becomes a massive headache. I got fed up with having to manually tally up what everyone ordered and then hunting them down individually to get paid back.

    Surprisingly, I haven't found a good tool that addresses this, so I spun up my own. I didn't want to force my friends to download another app just so I can get paid back so I tried to make it mostly SMS based.

    You text a picture of the receipt to my Twilio phone number. It triggers a serverless function that runs AWS Textract to itemize the receipt, then stores it in a database. Twilio responds with the unique URL for the receipt and I can text that out to my friends so they can claim their own damn items.

    Win win, I get the points AND I finally get paid back.