I spotted that the website served its data to the frontend via an unsecured internal JSON API, so I built an Elixir app that would poll the API endpoint and upsert the cat data into the database. Any new records would get posted to a twitter account (a free way to get notifications on my phone).
It worked beautifully, and when a black cat called "Fluff" popped up, we both knew he was the right one, and we were able to phone them and arrange a meeting before anyone else. Fast forward five years, and he's sitting next to me on the sofa right now, purring away.
https://updownredgreenetc.franzai.com/
https://dance.franzai.com/ (basically a lava lamp you can interact with)
from the app side i like
coded to save my 2 factor backup codes qr encoded and encrypted in my photo stream
and
https://github.com/franzenzenhofer/thisismy
a command line trim©&paste tool for files and webpages
- Cone: This started out as a small tool to help me identify the name of the colors of objects around me (i am a red-green colorblind). Now it's a full fledged color picker app with a Pantone license - https://cone.app
- CBVision: This is another small tool for colorblind people which shifts the problematic colors to a visible hue for easy differentiation - https://cbvisionapp.com/
- Unwind: I made this to help me with box-breathing - https://unwind.to
- LookAway: This is the latest app that I've created to help me with digital eye strain. - https://lookaway.app
It grew out of a niche, almost historical need: using a QWERTY keyboard, but needing access to German Umlauts (ä, ö, ü, as well as ß). Switching keyboard layouts is possible but exhausting (it's much more pleasant sticking to one); using modifier keys is similarly tedious, and custom setups break and aren't portable.
So this tool can do:
$ echo 'Gruess Gott, Poeten und Abenteuergruetze!' | srgn --german
Grüß Gott, Poeten und Abenteuergrütze!
meaning it not only replaces Umlauts and Eszett, it also knows when not to (Poeten), and handles arbitrary compound words. Write your text, slap it all into the tool, it spits out results instantly. The original text can use alternative spellings (ou, ae, ue, ss), which is ergonomic. Combined with tools like AutohotKey, GUI integration through a single keyboard shortcut is possible. See [0] for a similar example.A niche need I haven't yet come across someone else having as well! (just the amount of text explaining what it's all about is saying a lot in terms of specificity...)
The tool now grew into a tree-sitter based (== language grammar-aware) text manipulation thing, mostly for fun. The bizarre German core is still there however.
[0]: https://github.com/alexpovel/betterletter/blob/c19245bf90589...
It works by fetching the XML feed, downloading the file and applying an open-source audio fingerprinting library to identify timestamps of the same segment repeated multiple times, using ffmpeg to delete all instances of repeated segments, and republishing a new XML feed that I then consume with a standard podcast app. It works surprisingly well.
FFuzion CAD - https://ffuzion-cad.cubicle6.com/ - small CSG (constructive solid geometry) CAD app that uses a Lisp variant for defining geometries. Can export to STL for 3D printing.
StationKeeper - https://station-keeper.cubicle6.com/ - a space station construction toy inspired by Townscaper.
Send - https://send.cubicle6.com/ - a rough-around-the-edges web-based alternative to AirDrop for getting files from a Windows machine to my iPhone.
Studium - https://studium.cubicle6.com/luke/1 - a minimal web-based Bible reader that uses GPT to extract place from the current chapter and render them on a map. Just started working on this one, so it lacks polish.
https://rate.house is a user generated media database. It's like IMDb but also has music, literature, video games, and podcasts.
https://newsasfacts.com provides the most important news around the world concisely.
https://wordhoot.com is a word guessing game inspired by Wordle featuring multiplayer, unlimited plays, and detailed playing history/stats.
I won't go into complete detail but it works like this.
-> Define area to be screenshotted using ShareX
-> Set ShareX auto-capture feature to screenshot defined area every 30sec (in my case, the area where the question and answer choices will be)
-> Using pytesseract, parse the image and retrieve the parsed text.
-> Make API call to ChatGPT using the parsed text with the temperature param set as low as possible along with instructions for it to return the correct answer as a series of dot(s)
A = .
B = ..
C = ...
D = ....
This is done in order for it to appear as inconspicuous as possible and not draw any attention from the exam proctor.
This is also done along with setting the tool ui and text to be almost exactly the same color as the exam progress bar so that I can hide the response within the bar. (the tool window is absolutely tiny)
There's more that goes into it but I'm only using this tool since I'm busy trying to get a degree to better my chances of getting another software job with all these insane layoffs and only 2 YoE (got laid off months ago)
- full text tabs forever [1]: chrome extension to provide full text search over web pages I've visited
- browser-gopher [2] (formerly browser parrot): collect browsing history from all browsers
- prompta [3]: a ChatGPT UI with full text search and some other niceties
[1]: https://chromewebstore.google.com/detail/full-text-tabs-fore...
[2]: https://github.com/iansinnott/browser-gopher
[3]: https://github.com/iansinnott/prompta
edit: formatting
It's a menu bar app, so you click on the icon and there are a few options.
- You can choose how long will take for the bar to complete, 1, 5, 10... ( I have hardcoded all minutes in intervals of 5 minutes up to 1h :D ).
- Choose a color. - Choose the sound it will make at the end, the options are the standard mac sounds.
Additionally:
- Choose screen to video capture your work.
The idea is to have a pomodoro app that helps with time blindness and time perception, having a constant reminder, it's a bit video game like if you can image.
The video capture feature it's a kind of self accountability and documentation. It's also useful to resume work where you left.
Shockingly there aren't many other options out there for tree-based to-dos so when I posted it to my personal Twitter some people really liked it and started paying for it which turned my weekend project into more of a full-time side project.
As of today, I've been working on it for almost a year on and off and in fact yesterday I submitted my first iOS app to the app store for approval (a quick rejection but easily solvable!).
I think everyone should build their own to-do list app not least because it encourages you to actually use a to-do list app but also because I've learned so many interesting lessons from it along the way. Through this project, I've learned Svelte, iOS development with SwiftUI, lots of things about PWAs, and much more that is not easy to convey about engineering solutions.
You can find it at https://tatask.com if you're interested.
It has a lot of niche features, but my favorite is the ability to preview or jump to references even when they are not linked in the PDF file.
For example:
$ ch rg -Mt
rg - recursively search the current directory for lines matching a pattern
-M NUM, --max-columns=NUM
When given, ripgrep will omit lines longer than this limit in bytes.
Instead of printing long lines, only the number of matches in that
line is printed.
-t TYPE, --type=TYPE
This flag limits ripgrep to searching files matching TYPE. Multiple
-t/--type flags may be provided.
---See also: "Ask HN: Most interesting tech you built for just yourself?" https://news.ycombinator.com/item?id=35729232
I’ve built an app that connects multiple phones together wirelessly and records audio with all of their microphones simultaneously. Once you finish recording all the recorded audio tracks are immediately available on all the phones for full-mix playback.
If you aim for the best, studio quality, you can attach any professional microphone to the phone, too.
Should be a nice tool for musicians/bands, podcasters, filmmakers. I’ve created it because I wanted to be able to record my band rehearsals. Handheld recording devices or single mobile phone did not cut it and studio space or equipment was not available or too expensive.
Recording with multiple microphones (multi-track recording) is how you typically record in a recording studio to achieve best quality. The app allows you to do just that but without expensive studio equipment (mixing console, audio interfaces, DAWs, computer, etc.). Also the time to get the full mix that you can play and share is cut almost to zero.
They were paying for cheapest tier WordPress hosting at the time, and didn't believe me when I said random 5 min blocks of downtime throughout the day were adding up.
I built a dirt-simple form that takes a URL and sends a notification when the site goes down/up, with a weekly summary email.
Then, I kept adding features every day, 2 hours at a time, even after I stopped being a contractor.
That app was OnlineOrNot (https://onlineornot.com).
Since then I also added status pages, like https://hackernews.onlineornot.com/
As well as cron job monitoring, to ensure database backups and whatnot run when I expect.
So I made a little script using youtube-dl that turns YouTube channels or playlists into RSS feeds for consumption in podcast apps. It gets rid of so much of the noise that makes consuming media on the platform itself a pain.
It's more or less deliberately crappy because I spent just enough work on it for it to be useful to me and intentionally avoided over-engineering so that I'd just get it done. The plan is to make it nicer, but I haven't gotten around to it so far.
- RuGiVi: https://github.com/pronopython/rugivi - Browse your collection of images on an endless screen. Tested with more than 700.000 images at once!
- Fapel System: https://github.com/pronopython/fapel-system - Organize your adult images and videos by just using hardlinks and directories.
- TopZemen: https://github.com/pronopython/topzemen - Let the images float on your screen or rain down next to your browser window.
- Fplyr: https://github.com/pronopython/fplyr - An audio player to play moaning sounds in the background.
Everything for Ubuntu Linux and in parts also for Windows!
https://www.youtube.com/watch?v=nITIMrND0Z0
Using it, I can quickly build up tiny apps and have them online reliably, eg. I use https://yourip.varunbiniwale.com/ while looking for vulnerabilities.
I protected the admin panel for `dockn` with my own nginx auth proxy (https://auth.varun.ch), which lets me control user account access and rate limiting for all my self hosted websites in a central place.
Before creating Mikochi, I used to access my collection of movies through Jellyfin. Jellyfin has a really nice UI and does a ton of things like adding metadata, but I didn't use those things. I also didn't use their in-browser video player because it didn't work with H265. In addition to that, I wanted to easily manage the files without having to switch to sftp. Mikochi lets me easily create, delete, rename, download, and upload files (or whole directories).
As a bonus, it only requires 26MB of RAM to run on my server.
At the time, I recall finding one or two tools on GH, none of which seemed suitable. There was also a 3rd party service for calculating tax which integrated with exchanges, but it didn't sit well with me for privacy reasons.
Eventually I felt I had no choice but to build a tool to calculate capital gains from an input CSV of transactions. I wanted to keep it simple, so it puts the burden on the user to download transactions from exchanges and get them in the correct format, which it then processes.
I finally submitted some very late tax returns, and the tax office was kind enough to withdraw the late interest penalty after I explained the effort involved.
https://www.catnapgames.com/tiny-player/ https://www.catnapgames.com/tiny-player-for-mac/
I use the projects to improve my development skills - both started as Objective-C programs, later rewritten to Swift and the iOS one now uses SwiftUI 100%. Fun!
http://moros.cc - A hobby operating system, with a shell, an editor, a lisp interpreter, and many other little things
https://geodate.org - A lunisolar calendar with decimal time (centidays and dimidays)
https://github.com/vinc/geodate - An implementation of the calendar + time
https://github.com/vinc/geocal - A tool to visualize the calendar + time
https://github.com/vinc/littlewing - A chess engine written in Rust (and another one before that in C++)
https://vinc.cc/software/ - A more complete list, on my personal website
I'm good at scratching my own itches but less good at finding projects that could be useful to other people.
So I built a simple Telegram bot which automatically stores anything I send as a text embedding into a vector database, and allows me to search over it in that same chat (same process that powers the AI Q&A assistants these days).
If I post a link, it automatically scrapes it and stores text as chunks for better search, extracts text from youtube videos (still wip), turns images into text with the visual models, etc.
One thing I'm unhappy about is not being able to easily edit any notes I search for later, but it's miles ahead of my previous "system". Hopefully I can open source this when I clean it up - if anyone is interested, let me know.
- Budget Zen: https://budgetzen.net - Simple and end-to-end encrypted budget & expense management. (OSS and self-hostable, web + PWA, and is also a profitable product)
- LockDB: https://lockdb.com - A CLI & NPM + Deno package that makes event locking easier. (OSS and self-hostable)
- Apollo: https://apollowrites.com - An affordable brand copywriter for blog posts and articles. (web app)
- Loggit: https://loggit.net - Simple and end-to-end encrypted life tracking & logging. (OSS and self-hostable, web + PWA)
There are apps for that, but I couldn't find any that is lightweight and able to get around some edge cases, like when while you drag with three fingers and let one finger up, it should let you scroll with two fingers, but let you to continue dragging if that was an accidental move and you put third finger back. And you have to address many such small details to have a seamless user experience with touch.
So I wrote my own, and have been happy with it everyday since. It works with any Microsoft Precision Touchpad certified devices, so driver-independent, but I found that implementation of it can differ from vendor to vendor, and it can malfunction on some. And it is very hard to debug without access to device, so I tested only on my laptop, and couple of my friends'. So due to it, I didn't try to make it widely available, and therefore it actually is for my own use. I'll leave the link if anyone want to try: https://github.com/klkvsk/precise-three-fingers-drag, but if anything, don't ask me, make a PR :)
https://github.com/sosedoff/pgweb
The app is super simple, made with Go + jQuery and I still use it almost every day, and has brought it to every single company I've been with.
Rather than spending lots of effort on migration, or switching clients entirely, I made a local proxy so that any IMAP (or POP/SMTP) client can be used with a “modern” email provider, regardless of whether it supports OAuth 2.0 natively: https://github.com/simonrob/email-oauth2-proxy. No need for your client to know about OAuth at all.
Quick access for Fastmail Masked Emails (I use both, iCloud' Hide My Mail and Fastmail's Masked Email, so I needed something for Fastmail as well): https://apps.apple.com/lt/app/secret-inbox/id6462335670
Too Many Records: returns 3 records from my Discogs collections: https://apps.apple.com/lt/app/too-many-records/id6449257927
- Pasty: A pastebin alternative that I regularly use. (https://github.com/abcdlsj/pasty)
- Golink: A straightforward URL shortener that uses 'go/' as its domain.(https://github.com/abcdlsj/share/tree/master/go/golink)
- Readability: This tool strips down websites to their clean, readable content. For more information, visit my blog post at <https://abcdlsj.github.io/posts/write-a-readability-tool.htm...> or view the code at https://github.com/abcdlsj/share/tree/master/go/readability.
- Gnar: My personal alternative to tools like Ngrok or FRP, crafted for my own use. (https://github.com/abcdlsj/gnar)
I'm excited to share these with the community!
But I also like making annotations and like the reading app I use (KOReader) quite a lot, so firing up a browser would hurt the experience.
So I made a script that turns websites into cleaned-up epub files that get synced over to my E-Reader:
https://github.com/solarkraft/webpub
It's deliberately engineered just far enough to be good enough for my use case :-)
https://lemonwatcher.com/baby-names-1.png
https://lemonwatcher.com/baby-names-2.png
https://lemonwatcher.com/baby-names-3.png
I decided to create an end-to-end solution with a nice user interface, and the result is Local Hero (https://localhero.dev). You can import your strings from Xcode, translate them with GPT-4, and share links for others to edit your translations. For quality control, you can translate the translations back into the source language. When you've finalized your translations, you can easily import them back into Xcode.
The prompts sent to GPT-4 include the comments associated with your strings for context, and you can also provide additional instructions to ensure more accurate translations. For example, you can instruct the language model not to translate your app's brand name.
So far I haven't done much to promote it, and it might just remain mostly for my own use, but if you get a chance to try it out, let me know what you think!
1. mainly focused on Simplified Chinese as it is spoken in Mainland China and Traditional Chinese/the Taiwanese variant is just an afterthought
2. mobile-/tablet-only
3. a website which requires access to the internet/doesn't integrate well with a traditional desktop-first workflow, or
4. only has Chinese to English, but no monolingual definitions which are preferable for advanced learners
Thus I have decided to take things into my own hands and started developing the Traditional Taiwanese Mandarin Chinese dictionary I have always wished for that caters perfectly to my way of studying and my personal workflow. I've been dog-fooding it for a few weeks now and it feels great to finally have a tool that makes my studying routine more enjoyable and smoother!
Link to the dictionary source code: https://github.com/HalfAnAvocado/willow
RSS-to-Email service https://feedmail.org/
Tool for identifying grids in D&D map images https://gridfinder.kevincox.ca/
A solver for the Ricochet Robots board game https://ricochetrobots.kevincox.ca/
A tool for quickly picking a first player when playing board games: https://playerone.kevincox.ca/
* Mosaic has issues, and I have not tested on many pre-Mosaic browsers. I've never tested with WorldWideWeb. I've done extensive testing with Netscape and IE. Older versions of Chrome are extremely flaky for some reason, and often don't even run. Most old and retro browsers work, however, including sessions, posting, voting, etc.
For textures and sprites, I made WadMaker and SpriteMaker, which can convert a directory full of images (including Photoshop and Krita files) to the specific formats that HL uses: https://github.com/pwitvoet/wadmaker/
For creating levels, I made an automation tool named MESS (Macro Entity Scripting System) that can do things like covering terrain with props, simplifying level scripting and automatically applying workarounds for known bugs: https://pwitvoet.github.io/mess/
It's been very educational (and fun), learning about color, geometry and making programming languages.
I’d been unwillingly paying for LA fitness for around 6 months but the only way to cancel was to send certified mail so I released bye bye fitness last week to do it from home and was my own first customer https://byebyefitness.com
Last year I made stream switcher because I use Apple Music and my girlfriend uses Spotify. We send songs back and forth a lot and she couldn’t easily listen to the links I’d share. My app is an iMessage extension that shows your recently played Apple Music songs and allows you to search for and send Spotify links within the messages app https://kevindiem.com/stream-switcher
[1] https://renegat0x0.ddns.net/apps/rsshistory - news
[2] https://renegat0x0.ddns.net/apps/places - domains & places
[3] https://renegat0x0.ddns.net/apps/catalog - music elements
Software project: [4] https://github.com/rumca-js/Django-link-archive
If above does not work, do not worry. These are exported then to github repositories:
[5] https://github.com/rumca-js/RSS-Link-Database - bookmarks
[6] https://github.com/rumca-js/RSS-Link-Database-2023 - 2023 year news headlines
[7] https://github.com/rumca-js/Internet-Places-Database - all known to me domains, and RSS feeds
Some examples:
- Enso: https://enso.sonnet.io — a stream-of-consciousness writing I use for my daily notes and a bunch of other things. Here's how I use it every day: https://untested.sonnet.io/Stream+of+Consciousness+Morning+N...
- Sit.: https://sit.sonnet.io – I meditate with it daily
Why I built Sit: https://sonnet.io/posts/sit/
Projects and apps I built for my own well-being: https://untested.sonnet.io/Projects+and+apps+I+built+for+my+...
A Wishlist of things I want to build or see made: https://untested.sonnet.io/Things+to+support+my+own+well-bei...
Currently working on Midnight: https://midnight.sonnet.io
Check it out at: https://jobstash.xyz
Most recent thing I wrote for myself is not really an application, just a piece of JS to pull the entire history of a chat with a specific person on tinder to keep archive of especially weird humans I encountered. Oh, how low have I fallen...
* A board game server for playing Scrabble over the internet, without either having to change it enough to not get sued, or withstand whatever crap the licensed apps do. Can't be released for obvious reasons.
* A server that runs on a Raspberry Pi connected to my digital piano via MIDI, recording a MIDI file of everything that ever gets played. No more "drat, I wasn't recording".
So like, during covid lockdown I wanted to assess cumulative risk from me going to the supermarket, or seeing my girlfriend, or each of us hanging out with meeting 1 vs. 2 vs. 3 people per day. This led to me writing a pretty insane Markov Chain engine/GUI for defining time- or repetition-based curves for expected outcomes of bespoke events (basically like: I go to a bar N times, each one gives me a probability of encountering covid around 5%, if any of those happens it triggers another event in which having a covid-positive test result goes in a parabolic curve from 0% to 100% and back over the 12 days from contact, anchored around day 5), and chaining them together with other events that would only happen if the initial conditions had been met. I credit that beast with preventing me from getting covid... but it's also basically so visually insane and complicated that just explaining to someone why they'd need it would be pointless. Yet it has an entire login system, a custom engine in PixiJS for drawing time curves, and a whole multi-threaded worker system on the back and front for comparing monte carlo versions of the chains. Me and one friend are the only users.
[edit] Also: An engine for identifying stock market patterns. It's my form of "low frequency trading" - one of the goals being to avoid wash sales. So far, averaged over last 2 years it's turned out trades about 14% over base increase/decrease on the stocks it's trading... and I set aside a fund with which I follow it religiously. It only suggests trades every month or two. I have no interest in making picks for other people, or in trying to market the software. Occasionally I give my brothers tips from it.
I use this one myself: we like to take walks, and not always are the routes marked that clearly. Still only a handful of users, but usefull I guess for anyone that wished that e.g. Google maps made it possible to upload a picture to be laid upon the background map.
Earlier apps: 1 - the UNofficial Prezi Player app. Used in 56 countries, it relied upon a hack to be able to play a prezi on an Android phone or tablet. Was quite succesfull, untill of course Prezi made an official Android app of their own. (Actually: demonstrated it to Prezi and they asked nicely to make sure no one would think it was official)
2 - a ‘fixer’ of Prezi’s. This was in the time that Prezi’s could become ‘corrupt’ as one of the elements was to small such that the code would give a ‘divided by zero’ problem. I fixed a lot of these errors by hand, before I made a (paid) service, and before that a java program that fixed this by going into an XML file, finding the smallest item, and enlarging it. (Am very happy with Prezi by the way, was invited (but declined in the end) to join them for a hackathon in Budapest, was made their first ‘prezi champion of the month’, and they gifted me a life long licence for their software).
3 - I do have another app - LetsDoThis - but this one is different: it did not scratch one of my own itches, but that of my eldest daughter: she wanted to ‘swipe’ away choices like one can on Tinder. This app never really went of (my daughter did not come through on her promise to market it among her fellow students;-0
(Edit: added ‘1’ ‘2’ etc)
https://github.com/combatwombat/rmdb imports the IMDb database (at least the limited .tsv files they provide) into MySQL so you can query it. List the highest rated horror movies of the 90s, genre distribution by year etc. I made that mostly to c̶h̶e̶a̶t̶ ̶o̶n̶ help with https://www.reddit.com/r/GuessTheMovie, with limited success. Still fun though to SQL-query over all movies ever made.
A GIF screen recorder - https://iobureau.com/ugiffer
A calorie/food tracker - https://i.imgur.com/bSFBFcE.png
It was easier to write exactly what I needed than to try and adapt to existing options.
Also, while working on maps, felt there weren't any good alternative to GeoJSON editor online so built something by spending hours, it's one of the best GeoJSON Editors out there which is free to use https://krata.app
So in my app I usually at the afternoon I just write:
I had a large cappuccino a Bretzel a protein bowl with 500 calories a protein shake with 35g of p etc…
It then parses everything and adds it up and then I know my „budget“ for the rest of the evening.
So takes me a few seconds to enter it all I also integrated it with apple health.
SPX (benchmark): -3.31%
VIX TA Macro MP Extreme: +29.91%
VIX TA Macro Advanced: +23.08%
VIX TA Advanced: +3.42%
VIX Advanced: -0.67%
Vix: -4.18%
TA MR: +10.12%
TA T: +2.3%
cove is a self-hosted torrent browser that bundles a BitTorrent client, DHT indexer, and a web UI on your device. It provides additional functionality like automatic transcoding of resources for browsers and Chromecast. cove requires no external servers. The search capabilities, streaming, transcoding and other features are operated entirely on your device.
I made this by cannibalizing various torrent components I had built for various separate projects. Some components are open source some are not, but the big ones you can find on my GitHub profile https://github.com/anacrolix
Used it every single day for almost 4 years now, and it gives me informed decisions on what I rarely wear, my favourite combinations, value for money, and what clothes I should consider selling or donating. It’s been great to reduce my consumption and keep a closet only filled with items I can pair well with
A tool which allows me to embed shell scripts into text files. I use it to generate my website.
I realized I needed something outside of the app to push me. So I ended up building Nuj. https://nuj.app
It’s an alarm clock app that charges me $10 if I don’t get up and scan my toothpaste barcode within a 5 mins of my 7am alarm.
The alarms are stored in the cloud so if I kill the app or try to cheat, I still get charged the penalty. Also, alarms “lock” 1 hour before going off so I can’t turn off the alarm and stay in bed if I wake up before it goes off.
I created it originally for myself. By now it has a few hundred thousand users.
I’ve been using it almost daily for the past couple of years, and so far it has served me quite well.
→ Project site / docs / demo: https://klog.jotaen.net
→ File spec: https://github.com/jotaen/klog/blob/main/Specification.md
Wow, this is cool. I never thought that this Ask HN of mine would result in so many replies by people talking about the apps they have created. It was fun and inspiring reading many of them, so far, after I checked back on the post today evening. I was quite surprised.
Anyway, it only goes to show that there is a lot of hidden innovation happening out there in the world. Great to know.
I'll now have to spend a bit or byte :) of time over several days at least, ha ha, checking out more of the comments, and the apps mentioned, for those that have links.
Nice way to spend some of the year-end partial down time :)
So once again, thanks, guys, for talking about what you built.
An enterprise toolkit for Apache Kafka (and now another for Flink).
I spent years working in large enterprise orgs, a few more working with distributed systems. Along the way I picked up Clojure and by the power of greyskull managed to combine all those factors into a company. Now I work with a small team shipping tools for programmers. Good times.
Today we have users in 100+ countries, but it started off as something I needed for myself / my team when working on client projects.
- wisecash - a cash-flow forecast SaaS app (which I used for my own financial piloting)
- Kiba ETL - not an app but a framework to build data processing pipelines with Ruby (using it for a lot of automated tasks, including VAT management, at the moment)
- a tool to automate the selling of books on Amazon via barcode scanning (I sold hundreds of old books like this at some point)
- a CLI tool to help my sons learn multiplication tables and also languages (vocabulary) in Spanish and English
- hackerbooks.com (retired) - a book aggregator based on what is shared on HN
- learnivore (retired) - a developer screencast aggregator
- I created `gcopy` (https://github.com/TheDen/gcopy) because I wanted to extend `pbcopy` to copy nontext data from the terminal to the clipboard, so I could quickly paste such data in Slack (or as email attachments)—I got tried to having to find it the specific file in Finder to copy or drag it to an app. I've since aliased `pbcopy` to `gcopy` since it's a drop-in replacement.
- Also created `galvani` (https://theden.mmm.page/galvani) to show and change the the power mode status on MacOS from the menubar
2. Gneutronica, a MIDI drum machine program https://github.com/smcameron/gneutronica
3. gaseous-giganticus a program to generate textures for gas giant planets https://github.com/smcameron/gaseous-giganticus
4. explodomatica, a program to generate "explosion noises" by filtering white noise https://github.com/smcameron/explodomatica
5. note-driller a simple program to drill guitar fretboard notes and chord shapes https://github.com/smcameron/note-driller
6. wordwarvi a side-scrolling shoot-em-up similar to Defender, Stargate, and Scramble https://github.com/smcameron/wordwarvi
7. cosmic-space-boxinator a program (in the Processing language) to create sky-boxes for my space game, Space nerds in space https://github.com/smcameron/cosmic-space-boxinator
Here my favorites:
https://github.com/rafaeldelboni/cajus-nfnl neovim configuration / documentation, focused on working with clojure, that I wrote trying to convince an Emacs friend to jump into nvim. (It didn't worked he still on Emacs :D)
https://github.com/rafaeldelboni/nota Static Markdown blog/site using Fulcro & Pathom with no backend source that I did for my blog and for learning cljs + pathom.
https://github.com/rafaeldelboni/super-dice-roll-clj Discord and Telegram bot that roll dices using using commands like /roll 4d6+4 that I did for playing RPG on telegram and testing a clojure backend stack I built.
https://github.com/rafaeldelboni/Graphmosphere A Twitter bot that create random geometric pictures and gifs using only clojure and Java that used GH Action as post trigger. (Disabled because the new api pricing thing on Twitter.)
https://github.com/rafaeldelboni/paro Tool for managing dotfiles directories; Heavily based on rcm that I did for learning Rust. (Horrible code)
I wrote a tiny Bash script called by cron that pinged the URL every hour, parsed the HTML and sent me an email when the text "" wasn't there.
Not rocket science, but I enjoyed the fact that it was so simple.
https://dee.kitchen/bookmarks/
Because it made everything I typically access available so easily, I took up resetting my browser each time it started, and then using private/incognito browsing when that became available. My browsing session is essentially ephemeral and I don't keep tabs open, I just reopen whatever I need.
I'm actually unsure how everyone else browses, do you all just start where you left off? You use bookmark toolbars? Just search for things?
I feel that what I do requires very low cognitive load, like it's mentally traveling light, no burdens.
This feels like a good time to rewrite it TBH... it's my only remaining PHP and JS is so capable now that I could just do this 100% client side and make the whole thing cacheable, except for the "fetch RSS" which could be simplified to a cron.
I would front-load the prompt with a dictionary of stats i cared most about in a 1-5 ranking system for that character, this setup via through another screen's ui.
I'm pretty serious about keeping my hands on my keyboard, and I wanted an app that wouldn't let me down by leaving out a hotkey for some tiny thing or another.
It's also got the best date picker I've ever used, which has become my favorite feature.
I haven't revisited it in a while, and the docs could probably do with some love, but I use it every day.
WEB: I wrote a news app (plain-text website) that provides byte-sized news and optimizes for skimmability (https://news.tatooine.club/).
API: I needed to import indian mutual fund data into beancount, so I wrote up an API (https://mf.captnemo.in/) and wrote a small beancount plugin for that uses it.
CLI: I wanted to download songs from youtube, but they were often stitched as complete albums - so I wrote a youtube-cue generator that generates cuesheets that can then be used to split and tag the yt-dlp downloaded audio file. (https://github.com/captn3m0/youtube-cue)
I’ve also written code for Arduino and for rtlsdrs to read my smart water meter’s RF mesh network and insert the data into influx / Grafana. This project came about after my city utility office called me when I was on vacation to ask if I was filling a pool. Turns out a toilet had been stuck running for days.
Then, once I realised there's no good tools to promote it, I built https://rizz.farm so I can promote Persumi.
It's cool I've been using it a couple years now and one of my friends uses it too https://github.com/fsmv/daemon
- Also made a PHP SDK for said API [1]. Has a handful of users, but looking to transfer it to someone else in the community who is more involved with that community right now.
- Made a small server tool that tracked South Africa's loadshedding schedules and would issue Minecraft rcon commands to save the world, warn players, and safely shut down the machine prior to the scheduled power cut.
- Rolled my own Ansible setup for Nextcloud and a handful of other services (these days I'd rather use yunohost/sandstorm/umbrel/etc).
- Currently working on my minimalistic (or rather, alternative) Laravel stack as a SaaS starter kit, called Toybox [2]. Currently waiting on FrankenPHP's Octane support to go live and then will transition to using that as the Toybox server. Right now it's in a bit of a WIP state. My intent is to use this as my own springboard for indie hacker type projects.
- Made a Carrd site for my Airbnb side hustle [3] - currently busy trying to sell the property again so the Airbnb side of it is shut down.
[0] https://github.com/nikspyratos/mneme-kai-nous
[1] https://github.com/nikspyratos/investec-sdk-php
- https://github.com/dbeley/lastfm_cg: a scriptable lastfm collage generator (it has been active on my Mastodon account https://mamot.fr/@dbeley for years now)
And on the same model as F-Droid Insights but with different data sources:
- https://github.com/dbeley/firefox-addons-table: to discover Firefox addons available on NUR repository
- https://github.com/dbeley/lpa-table: to discover Linux apps tracked on LinuxPhoneApps.org
Character Entities for HTML, CSS and Javascript: https://oinam.github.io/entities/
Source (relocated a few times before this): https://github.com/oinam/entities/
First published in early 2012: https://brajeshwar.com/2012/list-of-character-entities-for-h...
It supports company shares, real state funds, BDRs (Brazilian Depository Receipts) and day-trade with future contracts.
The main motivation was the taxes management (annual income taxes and 'darfs') as this things can be complicated considering the rules of swing-trade, day-trade, profit, losses and excemptions around here.
It was also a personal learning experience in Android development(Kotlin and Jetpack Compose) and Supabase (big fan of it).
In the end, it took me 2 years doing it on my spare time and as I was kept adding features, I decided to published it as well, since I don't know good alternatives (most people don't know how to do taxes in Brazil).
Any feedbacks are much appreciated.
https://github.com/porridgewithraisins/coffee-pesto
Should get around to publishing it to the aur, but haven't yet.
It has support for all types of data, and you can put any custom information you want programmatically into the search index for the search feature. By default you can search by content, application name or datetime. Has a gui in gtk, but it's pretty modular so you can write your own simple rofi script for it if you wanted. It just stores stuff in a single folder so you can sync it by syncing the folder.
2. I made a simple tool that turns markdown into html+css in the exact way github does it with darkmode and everything. It uses the github web api to convert the markdown, and then uses the exact css as well (courtesy sindre sorhus' package)
https://github.com/porridgewithraisins/scripts/blob/master/g...
3. I made a simple colorpicker using gtk that copies the color to clipboard directly. https://github.com/porridgewithraisins/scripts/blob/master/c...
4. I made a GUI image batch resizing script that uses yad for the gui and imagemagick for the resizing internally. It is designed to be used as a thunar/other file manager custom action. But of course it works it you just pass all the filenames in args.
https://github.com/porridgewithraisins/scripts/blob/master/r...
So I made a game that is like Sudoku but uses 9-letter words instead of digits.
Technically, it’s just a simple substitution.
But playing it requires much more mental effort than you’d expect. Due to the fact that letters are shuffled, so it’s not easy to keep track of them.
I’ve made an app, a web version and a paper book.
iOS app: https://apps.apple.com/ch/app/word-sudoku-pro/id6472858788?l...
Website: https://wordsudoku.win
Paper book: https://www.amazon.com/dp/B09GZDT5JQ
DSTream - Bespoke music player for web - Includes web gui and android app
eepromlogic - LISP package for turning EEPROMs into simple programmable logic
RacingGPSTracker - Package for rendering a nice GPS overlay on top of gopro videos when road-racing.
superawesomedraw - For my (then) 2 year old son to learn how to use a mouse
justhpscan - hook scanner up to raspberry pi and scan via web gui, no drivers required so it can be used with any computer/phone on the network
u64view - bespoke client for receiving the video and audio streams from the Ultimate64 FPGA implementation of a Commodore64, for streaming on twitch
boilerController - The firmware and hardware for automatic startup and turnoff of my wood gasification boiler
chromogen - static image gallery generator for making online albums to share with friends and family
I've made many more small tools, but the above are what can be found on my github
I can run `atu file.png` and have a link to it copied to my clipboard a second later. I added options for creating secret URLs, auto-deleting after time or after views, and other features like that.
For the subdomain hoster (I named it phost), I can run `phost create subdomain directory` and the directory will be uploaded and served on `subdomain.mysite.com`. I have commands for updating and deleting as well, and versioning built in.
It's extremely useful for quickly deploying little demos or one-off projects without having to commit to set anything up on a cloud console or edit NGINX config files.
https://github.com/ferrislucas/promptr
There’s a templating system (liquidjs) included which is useful if you have a library of prompts that you want to reference often.
You can think of it as a junior engineer that needs explicit instructions.
Here are a few example PR’s implemented by Promptr - see the commits for the prompt that was used to produce the code:
I couldn't find a simple app that would automatically read our transactions reliably and generate this daily spending limit.
My app does 2 things: Shows transactions: https://imgur.com/a/aJ9G02q Shows limit overviews: https://imgur.com/a/ugnmnFq
Stack: - Phoenix LiveView - Postgres - Plaid
When debugging network issues I realized I was going back and forth between my computer, router, and cables under the desk. I created an audible network check [2] so I could just listen to hear the status.
I am a ML researcher/engineer at heart, so building out the attributes by scraping the web was straightforward (have over 26000 locations indexed). But learn React as a hobby (with help from ChatGPT) to build this :)
We have been doing months and months of training and she has improved a lot but occasionally regresses. If I could record the data I could potentially see some trends.
I've been recording each dog interaction in a spreadsheet but that quickly got cumbersome and required me to remember each interaction first and then remember to log it at a later point. This lead(s) to a lot of missed data.
So I'm putting together a simple app that will allow me to log the entry on my phone with a couple of taps and eventually generate charts, etc.
Well it is easy for everyone who learned it as a kid, but for me that was the hardest part.
So I wrote an app to practice breathing daily. Actually, it is not finished, but still WIP. I write a daily log about it: [0]
If you want to try it out or are in the same boat: [1]
[0] https://kiru.io/blog/posts/2023/advent-of-app/ [1] https://testflight.apple.com/join/p4YTTKZY
Building it gave me a chance to learn modern iOS dev and SwiftUI. And I even had a bit of fun playing around with audio streaming protocols to get the private listening feature working!
https://apps.apple.com/us/app/roam-a-better-remote-for-roku/...
1. A script to canonicalize the name of PDF statements from financial institutions and sort them into a directory structure
2. A CLI (not TUI, actual CLI with custom command syntax and read line integration) for a 3rd party todo service with 2 way sync that gets synchronized with the app on ny iPhone.
3. A web app that I self host that allows me to estimate availability of bicycles at the bike share stations near where I live or where I am and availability of docks in the places that I want to go or I typically go, because I could not deal with a crowded slow loading map in the app.
When I started using it, I thought it would be great if I could filter categories/tags that are not interesting to me. For example all the Verge's "Deals" content is focussed on the US and not at all relevant to me, so you can simply disable that category and never see any of those articles.
To make it a bit more challenging from a technical perspective, it is build to work without any JavaScript :-)
I also started recording audio reflection drills to help me get better at saying how I felt and dealing with emotional conflict. Those are available at www.emoko.fit
I'm sharing these mostly in case others find benefit in them as well. And if you do, I'd love to hear about it :-)
I used it for the 24 hours of Le Mans and the next races and had a blast watching them that way :) It was also a good excuse to learn React.
I plan to add a few more features and write about the placement logic when I get the time for it.
Software: Swift library to read and modify ZIP archives: https://peakstep.com/claquette/ Screen recording/video/GIF creation app for macOS: https://github.com/weichsel/ZIPFoundation A small CMS to maintain my websites (unreleased)
Hardware: A Time Machine compatible NAS based on a Raspberry PI (PoE powered, 3D printed mountable enclosure)
If anyone would like to try "pro" features, please feel free to send me an email and I'll give you a code. Feedback is more than welcome! :)
* Small util on an ESP32 to turn my garage lights on when I open the side door.
* An app to track players I've played against before in Dota2 and pop up before a match so I can skip matches with players who I've found to be toxic.
Anyway, earlier this year I thought it would be neat to have a journaling app that had the UI of twitter, so built it and finally released it recently: https://minders.ussherpress.com/
An app that supports a database of nutrients, recipe ingredients, supermarket shopping links. Something like "give me 10 balanced[1] meals, give me the shopping list with no duplicates and links to supermarket X" Nothing new, but all other apps I've tried are always missing something I want.
- Started creating a repo of NuShell scripts to scratch my own itch
I added things organically (when I needed something I tried to break the action into smaller functions). By the end I had quite nice library that dealt from Kubernetes deployments to Linux hardening.
[1] According to my own criteria...
It gathers top 50 stories from HN (and all articles in case of Ars) for the previous day and sends me an email with the links (along the number of points/comments for HN and the blurb for Ars).
Each morning I have an overview of the tech news from the two sites I read the most, and have completely removed my compulsion to check them every now and them.
(I've just found this Ask HN thread by clicking on the link in the digest email for yesterday which is why I'm 20ish hours late to the party :)
Another project I worked on for my own use was a network isolated, lightweight video monitoring system. Around 5 years ago, I was looking to install a camera in our living room. I couldn't find anything I trusted that worked completely offline without some companion app pinging their servers. So I bought a basic IP camera on Amazon that supports rtsp and a raspberry pi. Created a fenced wifi network and added the camera to it.
Had an FFmpeg process read camera stream on demand and write to local buffers. Wrote a simple python server to listen for incoming connections on a different interface and stream the video on API requests. Then built an android app that talks to the python server to stream video on demand.
Also installed motion (https://github.com/Motion-Project/motion) on raspberry pi to detect motion in the video and store those snippets to local storage. With motion running, the adapter I was using wasn't delivering enough power resulting in storage occasionally unmounting and raspberry pi restarting taking the camera system offline. With motion detection disabled, the entire setup ran reliably for many years.
I made Hazumi News for web and iOS to browse HN. It's the only side project that I've stuck with for years and still enjoying working on.
It's more of a modern presentation layer on top of HN with images and summaries of the linked article. The goal is to try connect a more casual audience with this amazing trove of tech news and discussion.
Funded mostly by myself and the handful of people who subscribe for €1 per month on iOS.
So I built a quick little app that can reimagine a house from a single photo.
https://dream-house.clarkdinnison.com/
It uses Replicate API to send your photo to an AI model that is specifically good at detecting straight lines/edges (perfect for architecture applications) - then layers on a remodeling prompt I iterated on for a few weeks.
1. I organize all my photos in my computer, with albums, tags, faces, geolocation, etc.
2. The photos and the Digikam DB (SQLite) get replicated to my home server (using Syncthing, but anything would work).
3. Changes are automatically visible in the running webapp. I can access it anywhere, especially useful on mobile while away.
I have an MVP almost done, just had trouble with Digikam's thumbnails because they use an extremely obscure image format, PGF [1]. I wrote a WebAssembly version using emscripten that I called webpgf [2] and am now in the process of integrating with the web gallery. However I'm concerned about CPU and RAM use in the browser, so I will probably have to end up reencoding the thumbnails in the backend.
I will make a public announcement once the project is officially launched. It will be a bit crude at first, as it'd made to scratch my own itch, but I hope it will be useful to more people.
[1] https://en.m.wikipedia.org/wiki/Progressive_Graphics_File
- No account needed
- Importing `My Clippings.txt` from your Kindle, exporting as json or markdown
- Browsing highlights from books, bookmarking highlights
You can check the demo here: https://karlosos.github.io/kindle_clippings_webapp/#/demo
It's been a couple of weeks of work, but it's at the point where it's actually fun and pretty quick to blast out a little tune and experiment with different chord progressions.
Version with all 450 words: https://simplespell.netlify.app/
Version with the easy words removed: https://dev2--simplespell.netlify.app/
It mostly connects to hosts over SSH, and uses CLI commands to gather data and make configuration changes as needed. Think things like NMVe storage health, disk space usage, Windows AD/Exchange/SQL/VSS health, Docker containers, reverse proxy mappings, Netflows hinting at BitTorrent or other data exfiltration, finding a MAC on a port, configuring VLAN access for a port/trunk, Wireguard tunnels, etc.
It's absolutely horrible, code-wise, since I tend to use this project to experiment with just about anything I think of. Current rewrite is about 2 years old, C#/.NET 5->8, UI using Tailwind and htmx, plus chartjs for the pretty pictures, although I have some custom rendering things for switch ports and traffic. Data store is SQLite, with some hacked-on time series features, and this is probably the most terrifying part of the whole mess, since I explored some really bad ideas there. But that also lead to some very good stuff for other projects, so possibly still a net win.
I started it many years ago for my own use, but it is an open source project and has aquired some public "audience" in the meanwhile.
It has a recent Linux port (beta quality) which brings the same interactive improvements when working with bash.
I wrote https://gardenate.com for my own use so I could get reminders for when to plant vegetables - it's expanded a bit since then.
Built this because existing solutions like ZeroTier and Tailscale are trying to be too "smart" (auto-selecting relays, auto-allocating IPs, etc.) and do not work well for complex network topologies.
I didn't particularly like existing options and it was a fun way to learn some Swift/SwiftUI/AudioKit, all of which are outside the typical programming I do for work (Julia). It was also a great experience to "launch" a product. I sell a few units per month so it also nets me a hilariously small passive income.
At first I was using lush.nvim to build sunburn.nvim, but quickly it became a hassle to only be able to specify colors via RGB or HSL. My initial thought was a PR to add Oklab support to lush, but that framework does so much that it was hard to see where to start. So I ended up writing polychrome.nvim[2], which is a dead simple micro framework in comparison to lush.nvim, but does enough to take care of all the boilerplate, and supports a bunch of color spaces (which are converted to RGB on the fly).
I also wanted push notifications for when certain RSS feeds I follow were updated, because I suck at remembering to check in on things or check an RSS feed app. But I didn't want to pay for IFTTT or other bespoke solutions, so I wrote notifeed[3]. It's designed to run as a service on a server, and then check all your feeds at predetermined intervals and send the necessary webhooks based on your configuration. Feeds and clients are configured via the CLI and stored in a SQLite DB for simplicity.
[1] https://github.com/loganswartz/sunburn.nvim
Normally I would have written this kind of thing in Python since I'm more familiar with the language, but I wanted to take the plunge into Rust and this is the first project I created using it. There's still a couple bugs that I haven't gotten around to fixing like finding out why the Prometheus metrics descriptions don't get displayed in Grafana or finding out why the NMC itself just seems to need to be manually rebooted every few weeks. Other than that it's been working great.
1. https://gptgames.io - A gaming platform using OpenAI. It came from a silly idea for another project I have, and I ended up putting it together in 1 month.
2. https://creepyface.io - I wanted to animate my face on my resume, and I decided to allow everyone else to do the same.
3. https://react-guitar.com - I wanted to learn guitar theory and tell me a better way to do it than coding a react component :D
4. https://github.com/4lejandrito/fetchbook - I wanted to organize my http requests at work without depending on postman or anything else.
5. https://github.com/4lejandrito/next-plausible - Since I started using Plausible analytics on all my sites, I found the need of reusing some code.
I hope you find any of these interesting!
- https://consumebefore.jose.gr/ to keep track of when the food expires once opened
- https://markdowntable.jose.gr/ generates markdown tables with a link to edit the table
- https://mazes.jose.gr is a simple maze generator. It never got traction inside my family, so I didn't invest much time in adding features.
- https://bookmarklet.jose.gr/ a bookmarklet generator
- https://docmati.com/ I did this for a friend and tried to productize it without much success
- https://keepthis.site/ is just for me but open to everyone. It would be cool if it gets some traction, but I know there are several alternatives, and it lacks some basic features.
https://github.com/tommie/btinhibitor - keeping my laptop unlocked while near a BLE beacon (and a configuration utility for JDY-25M modules: https://github.com/tommie/jdy25m-py)
https://github.com/tommie/prometheus-connectivity-exporter - constantly checking my ISPs connection (running in Docker on all machines) and https://github.com/tommie/chargen2p running on a server to do speed tests
https://github.com/tommie/pygalaxybuds - CLI/library for configuring the Galaxy Buds, without their app
Anyway, I also wrote a Autohotkey program that converts qwerty keystrokes to my chorded keyboard layout. The problem is, I switched completely to Linux and now can't use my AH script :(
edit: to provide some context, I was inspired by the Ginny 10 key keyboards and the ASETNIOP keyboard layout:
Ginny keyboard : https://www.reddit.com/r/MechanicalKeyboards/comments/hltqdt...
ASETNIOP : https://asetniop.com/
1. I built https://pixelist.app as an extremely minimalist habit tracker, incorporating ideas from Atomic Habits and other similar books. ~3 years ago there weren’t many great habit trackers (as opposed to todo-lists), but now there’s been an explosion of them; IMO it’s still better than others in its simplicity, ability to quickly update your checklist for the prior week, and ability to self-rate “intensity” of completions. Still using it many years after the initial prototype.
2. I’m building https://mujo.app to replace my paper journal as a classical guitarist; think “Fitbit for musicians”. Knowing several pro musicians, the industry largely prefers paper or Google Docs/Sheets, due to existing apps being too complex. The UX is inspired by a simple digital metronome, adding modular widgets to record practice time, take notes, count repetitions, save tempo for exercises, etc. It’s niche, but I use it every day and love it.
- m4b-tool[1], an audio book utility
- tone[2], an audio tagger
mainly for myself because the existing tools did not fit my needs or weren't FOSS. I did never think so many people would be interested. By the end of the year I plan to make my first donation of my github sponsoring income to a charity project.
Currently I'm working on `pure-todo`, a todo list with sqlite, REST API and JWT based user management. The first approach was to publish it with a single index.php file without ANY dependency, but this is something I have to think over again. Maintenance will be a nightmare :-)
Next FOSS project I will work on is `Tone Audio Player`, a fully cross platform (Linux, Windows, macOS, Android, iOS, WASM) audio player app, that fully supports background playback without stuttering. But C# / Avalonia UI is just not there yet, I'm currently switching to flutter.
[1]: https://github.com/sandreas/m4b-tool [2]: https://github.com/sandreas/tone
Another one I launched was Pill Reminder (https://zaldih.github.io/pill-reminder/). If you are taking something for a cold or medical treatment it allows you to easily swipe and note down when you have taken your medication and lets you know when you are due to take it next.
ScrollTabs (https://github.com/zaldih/scrolltabs-extension) was born so soon after I migrated from chrome to firefox years ago and I missed being able to switch between tabs with the mouse scroll.
+ many others that I would like to prepare and make public for the future.
I was mostly interested in solving a very specific problem for myself (basically poll a website behind auth + 2fa and react/notify to changes) and since I also had recently gotten into frontend decided to also try out building extensions.
I knew about Tampermonkey and such but had never used them, and I also wasn't sure if they would be long term viable with MV3 coming in. Moreover I also wanted to explore some way to keep options open in case chrome ended up being very heavy handed with extensions, in the process I discovered there are still a lot of things you can do if you really really wanted to bypass the current limitations.
In the end though I personally decided to use Violentmonkey instead of this, but this could be an alternative direction for others who don't/can't use dev mode for extensions.
https://avimar.github.io/fonts-hebrew/demo.html?text=%D7%97%...
When I was in Chinese class I developed a pencil and paper system that enabled me to memorize writing about 10 words per day. It's simple: I should be able to write a single word in about 15 seconds. I usually memorized a 20-word list at once. Set a timer for 15 sec * len(words) and speed through it looking at a list of definitions/pronunciation. Pencil down when the timer goes off. Grade harshly, a single mistake means the word is wrong. As I'm grading I rewrite each word I got wrong. Then drill again with the list of words that I got wrong again. Repeat until no words are left. Occasionally restart with the entire list.
I wrote it in Python using PyQt6 and standardizing on importing Pleco flashcard CSVs since many of them are readily available for most textbooks. I have lots of ideas and little time to improve it, but it is useful already.
It was mainly born out of my need to re-learn a lot of hotkeys when switching from using Windows to macOS. I wanted an easy way to record and keep all the new shortcuts I learned every day in one place.
I was looking up train connections so often that this became too painful and built an app that would accept from/to train station pairs via email and send you back the best connection.
It’s available on macOS in the App Store. https://apps.apple.com/us/app/hyperfocus-2/id1621523525?mt=1...
[^1]: https://github.com/jon49/Soccer
[^2]: https://github.com/jon49/WeightTracker
[^3]: https://github.com/jon49/drive-time-tracking
Now it's my playground for new technologies and ideas.
- Book tracker to track books I want to read (for self, with kids) and will randomly suggest a book from the list i should read next if I am unsure. It tracks my progress through reading the HUNDREDS of books I add to my reading list and estimates how long it will be until I am through with my list...far too long.
- Soccer Score 'pickem' game to play with friends during world cup, Euros, and multiple leagues. I don't like Fantasy sports b/c too much time/attention, and I can just add the leagues we follow only.
- Eurotripr: a tool to plan trips to Europe and track current average costs in european countries and cities for planing purposes.
- an "Intrview status tracker" to help me create interviews with other travelers for my Eurotripr project. I can email an invite to a traveler I want to interview and from a bank of over 150 questions it generates a simplified interview of 10-15 questions, tracks the interviewees progress, notifies me when they have submitted the 'completed' interview, let's me know what percent of the questions they answered. I can provide feedback and request further detail for the responses from interviewees. Plus it will track the status of each interview request: declined, in progress, completed, published. So at a glance I can see how many pending interviews I have to stay on top of or publish.
- A cycling tool that provides a basic 6-8 week cycling plan to get me from 0 miles to riding a century by the end of the plan. I had plans tot try to monetize this with a stripe checkout and if you finish the century (100 mile) ride and don't miss more than 2 rides per week during th plan, you are not charged your money, but shiny object syndrome got in my way.
I often hear something in a podcast that I want to write down, but don't want to peck out notes on my phone, so I built a GPT Vision-powered tool to help.
Workflow:
- hear something interesting → just screenshot lock screen
- use screenshot to auto-identify podcast, episode, and timestamp
- summarized bullet points at that timestamp via GPT, logged to a virtual notebook
[0] some screenshots - https://twitter.com/samarthrawal/status/1735133820008141170
[1] demo vid - https://twitter.com/samarthrawal/status/1735852196493971593
I have a half built CNC machine, currently stuck on replacing the mainboard because the first one I used died. I want to design a web UI around a pen plotter as a piece of artwork, not a slave to the "bored moms monetized cloud" like my Cricut is.
I took time off from this project because my career exploded. Things are finally getting a lot better. Looking forward to working on this again, experiences like this teach you how bad you really want it.
1. https://github.com/hamon-in/invoice/ was a command line invoicing program that I wrote and used for 2 years before moving to something SasS based.
2. https://github.com/nibrahim/Calligraphic-Rulings is a command line (and later web based - http://calligraffiti.in/rulings) tool I wrote and use regularly while to practise calligraphy
3. https://github.com/nibrahim/Hyde And emacs mode to manage Jekyll/Octopress blogs which I use for my personal site
A bunch of smaller scripts for daily work (e.g. mini pomodoro timer, Emacs scripts to manage client conversations etc.)
That's not even counting all the firmware I've written for hobby projects: mostly robots, complex art displays, and musical instruments.
• A keyboard layout to type numerous non-English letters, punctuation marks and mathematical symbols, originally for Windows but subsequently ported to Linux and Mac [https://github.com/bradrn/Conkey]
• A ‘sound change applier’ for my hobby of language construction, to simulate the process of historical sound change [https://bradrn.com/brassica/]
• A small browser extension to save the full text of all webpages I visit, and a local client to search the database [not open-sourced, apologies!]
The first two have gained a few other users since being released, but I’m pretty sure I’m still the one who uses them the most!
Also, developed another app to reduce my Twitter usage. The reason why I created this one is that even though there a lot of Safari Extensions out there, they can access to your Safari history but the app that I've developed can't because it is just a content blocker: https://apps.apple.com/us/app/not-for-me/id6451205605
Alternatively, for something slightly less polished, I made an app that connects to the spotify API, fetches synced lyrics for the track currently playing, and displays them on an electromechanical (flip-dot) bus sign from the 80s that's sat in my kitchen!
[0] https://play.google.com/store/apps/details?id=uk.nthn.androi... (paid, but feel free to reach out if you want a free copy)
It's a little web app where you make the crd to your taste, address it and once generated, you can share it with anyone.
I'm scrambling to make a Github repo out of this as some others might want to adapt this for their own needs. Creating a public facing project out of it, even as small as this is taking some time. Anyway, the project will be up here in an hour or two :) [1]
Accounting system (creditors/payments, debtors/billing, bank reconciliation) with optimised workflows suited to our businesses (which exports to Xero so we have a “real” accounting system too). Has a touch of AI — I use ChatGPT to help with bank reconciliation.
Lots of tools related to the above. Like automating budget reports and stuff.
“megasearch” which is just a lightweight interface that wraps full text search queries of Everything (for files), Microsoft Graph (for emails, tasks & calendar), and Fuse.js (for iMessages, Telegram, & WhatsApp messages that I manually import). I really want to automate message importing, and I really really want to make this search actual file contents (alas Everything gets slow if you index content), and I really reallly really want to make this use a vector DB and AI search!
“video-clone” — paste any video url and it downloads it using yt-dlp, uploads it to my file server, and gives me a public URL.
Parcel inventory system for our post office. This was the most involved. I made an Android app AND REGRET USING REACT NATIVE! Version 2, which is nearly done, is a simple Java app with a web view. Version 1 has been used by staff since September 2022, handling thousands of parcels per day, with very little maintenance! It’s mostly a CRUD app, but I’m quite proud of it.
I also use this Node platform for random stuff — like one-off scripts for scraping web content, or crunching some spreadsheets in a way that’s annoying to do with just formulas or Excel’s other features.
Having an environment that is batteries-included, debugging-friendly, logged, connected, scheduler’d, web UI’d, CLI’d, etc, plus that I’m familiar with makes programming far more suited as a pocketknife tool. Oh, especially when it comes to dates, times, and datetime formatting! TC39 + my helper methods = less fear of dates
The biggest issue we faced was stock management/stockout issues. Available ones like dynnamics/topshelf/sap were very expensive for us, so I developed a web based inventory management tool in php/aurelia. It could do multi-warehouse/shelf level inventory. Shelfs are barcode labelled and its all paper free. Also added point-of-sale for shop use, catalog management, multi-pricelist/multi-currency (retail/wholesale) etc. It still runs the business as of today.
Now writing new version from scratch using nestjs/svelte with multi-tenantancy (so that others can sell on it).
I basically just found a bunch of recipe sites that actually provide nutrition info and scraped them.
I was tired of YouTube website UI, so I created a simple macOS app to track YouTube channels and playlists. It is called Telik and available both as open source and for a small fee in Mac App Store.
Both the app and the idea worked pretty well.
A flavor pairing app, inspired by The Flavor Bible and similar books
* gui to start a timed shutdown on windows: https://github.com/a-sync/shutd.exe
* shell command to send or pipe content to slack: https://github.com/a-sync/slackr
* a discord/telegram/slack bot to show live server info, player list and population graph https://github.com/a-sync/game-server-watcher
This one was just for fun, a synchronized video player/chat app to watch movies/shows together online: https://a-sync.github.io/ws.cinema
I've blocked reddit and now rely on getting the top updates from the niche communities I care about: https://redditletter.com
There were no "declarative" sourdough bread recipe calculator, so I built one: https://breadfriend.com. All other recipe generators are based on entering the amount of flour and water -- but what you're (usually) caring about is the ratio % and total dough size.
I was curious when I could get Vitamin D from the sun where I live, and started fiddling with sun angles and created: https://whencanigetvitamind.com.
I wrote goat [2] (EBS disk attacher) at the same company on a solo project where I needed to create a "Kafka-cluster-IaC" recipe in Terraform and wanted us to be able to replace EC2 broker instances dynamically but preserve their data on the EBS volume
In both cases, existing tools weren't helping me and I wrote these to help myself immediately (and they became general/popular a bit later)
Most notable ones are:
- Nudge (CLI for Pushover): https://sr.ht/~bayindirh/nudge/
- Railgun (CLI for Mailgun): https://sr.ht/~bayindirh/railgun/
- Magazine Renamer (Auto PDF renamer): https://sr.ht/~bayindirh/magazine-renamer/
There are other older ones lost to the sands of time due to being inexperienced with these things. Nudge is being actively developed, Railgun & Magazine Renamer are stable. Another tool is on the design board.
https://github.com/jftuga/less-Windows - [not really mine, but I just help maintain the port] - GNU less compiled for Windows 10 & 11. Stand-alone version with no dependencies.
https://github.com/jftuga/gofwd - A cross-platform TCP port forwarder with Duo 2FA and Geo-IP integration
https://github.com/jftuga/spotprice - Quickly get AWS spot instance pricing - a bit easier to use than the aws cli; is also faster and has more features
https://github.com/jftuga/tcpscan - A standalone, fast, simple, multi-threaded cross-platform IPv4 TCP port scanner
https://github.com/jftuga/ipinfo - Return IP address info including geographic location and distance when given IP address, email address, host name or URL
https://github.com/jftuga/photo_id_resizer - Resize photo ID images using face recognition technology
https://github.com/jftuga/chars - Determine the end-of-line format, tabs, bom, and nul characters
Here is a fairly new Firefox extension that I created...
https://addons.mozilla.org/en-US/firefox/addon/foxcolorbox/ - allows you to change and customize browser Window colors. When you open a new window, it will have a distinct color. You can also change colors by clicking on the extension icon.
I've made a lot of progress with my Spanish this way (it's fun), so I started to build a language learning app based on the idea, but then decided I do not want to build language learning app, so instead I just added a web UI layer over the tool:
I've just finished it. If you want to use it, note that only DRM-free epub ebooks are supported. Since it's tough to find DRM-free ebooks, especially in foreign languages, I've included a section in the FAQ on where to find them.
It's small and simple but it makes my life better!
- 4 day week job aggregator. Currently ~200 listed jobs from companies around the world: https://okjob.io/
- 4 day week companies. 120 hand picked companies hiring for 4 days (not seasonal 4 day week or 4x10hrs)): https://okjob.io/companies
- 4 day week calculator. A funny little tool to calculate the number of workdays you save before retirement by switching to 4 day week job:https://okjob.io/4-day-week-calculator/
https://apps.apple.com/us/app/onetoday-automatic-to-do-list/...
I did make one app public last year: AutoPTT [1]. It's a Windows desktop app that gives you advanced control on how your mic activates and deactivates in voice chat. It's written in C. I'd used it as a CLI for a long time myself but then a few others asked if they could use it too, so I added a GUI and released it.
At the moment, I'm working on a desktop image/comic viewer (in Rust, of course :) because I'm not happy with CDisplayEx.
I started to add some more features like asking chat gpt meal plans and other things I have on my mind but I haven't gotten around implementing yet.
Then I thought: I might as well make it a full fledged product and see how it goes, which was an interesting exercise in itself, although I haven't promoted it, and the monetisation strategy definitely needs some work. Not many are willing to pay monthly for such a limited set of features. Maybe a small one time payment will do better.
Currently is on an hiatus as I changed jobs recently but I'd like to work on it some more.
I've been meaning to ask for some directions about marketing it to get some feedback. There's a handful of users that have tried it, but none even bother with the first month free trial to check the full version features. Perhaps these should be fully available for a time and then put them after the paywall again.
But building a product has helped me a lot on interviews so that's another nice outcome at least.
People really seemed to like the design, so I cleaned it up a bit and made it available to everyone. The site (https://cubedesk.io) has been free to use for 3 years and has 50k users.
Most recently, I've been working on an email marketing platform to help me email those 50k users. I noticed that emailing all those people was expensive and tedious, so created and launched https://cc.dev
CLI - TOTP/2FA tool with fuzzy search - A script on top of timetrap, to type a number and change your current activity (emulating a Timeflip) - A simple view of % of time spent for each activity - A few scripts on Python, PHP or Go to automate stuff at work
CLI/Web - http://gemugami.com/week/ Get the current ISO week
Web - A site to ask people of their preferred time for a meeting, trying to find one working for all (quite difficult :) - https://eapl.mx/price/ Compare price and sizes/weights of 2 products to know which one is 'more' convenient - https://eapl.mx/twtxt/ A public view of my twtxt microblogging, and a single-user admin view - http://gemugami.com/time/ Get your browser's timezone
Not tools, but quite interesting - http://gemugami.com/hexclock/ An hexadecimal clock - http://gemugami.com/clock/ A decimal clock ('hours' from 0 to 1000) - http://gemugami.com/kcolc/ Time goes in reverse from 24h to 0 - http://gemugami.com/solar/ Shifts the time to be 7am at sunrise, based on your location - http://gemugami.com/holmes/ A scoring app for a board game
And a bunch of game prototypes, mostly to learn new stuff and game design
* `inlinehashes`[1] - To help build the CSP of websites that I don't control the source/development.
* `worker-ddns` [2] - simple DDNS solution using cloudflare workers
* `kinspect` [3] - a web tool to quickly inspect PGP keys without importing them to my keyring.
[1] https://github.com/dethos/inlinehashes
To facilitate this I came up with an idea of an online web app allowing testers to produce testing reports in more structured way. For example, you can quickly merge a few tables, remove unnecessary columns, copy as markdown. Also it includes a few other features such as testing JSONPath expressions, creating decision tables and checklists.
It took a while to finish, but now https://qanotebook.com/ exists :)
I've written a BitGrid simulator in Lazarus.[2] BitGrid is a hypothetical computing architecture I've been noodling with for decades. I'm hoping to learn Verilog/VHDL/RTL enough get a chip made in one of the free shuttles.
Then comes the hard part... programming the thing. I keep pushing myself back into perpetual analysis paralysis.
My goal is to learn SwiftUI and explore new technologies.
The app is now open source on GitHub as well, it's my way to give back to the community as I was learning it.
---
[1] Download link: https://apps.apple.com/app/clendar-a-calendar-app/id15481020...
[2] Landing page: https://vinhnx.github.io/clendar-site
[3] GitHub: https://github.com/vinhnx/Clendar
Now I'm using Paprika and the need is forever solved, but as an exercise in terms of managing general UI, database persistence and relationships, and calendar & dates is hard enough without being overwhelming.
Other people create binary file editors, this is my problem of choice ;)
the one that meant the most for me was earlier this year, I made an add-on for me and my friends that automatically syncs esports matches (e.g. Valorant, CS, LoL etc.) to Google Calendar . Things took some turns 10 months later I now have 100+ users (https://tournacat.com/).
It has 49 actions now even when I keep removing obsolete ones.
I also made PDF viewer for comparison of 2 documents - synchronized zoom and scroll, even overlay.
There are more apps like this, but they all weigh too heavy on me because I simply want a directory three representation of my files and not be managing a library. Also it’s super low memory.
There is a similar Go project on GitHub, but that does not support directories mixed with files, and I don’t think it supports streaming comic book pages.
At first, I made a simple notification bot that checks the website regularly and sends a Telegram notification once a lecture is free. Recently, I added a script that logs me to the lecture automatically, so I don't have to follow notifications. Simple and useful project.
I also was unwary enough to build my own web framework over time, so part of the code I initially developed for a non profit to manage memberships is now also used as my status page to check on website status, hosting renewals, to keep a list of clients, organize invoices. I also use part of it in my house automation instead of something like home assistant. The interesting part is that developing a complex module for one project sometimes creates new possibilities for the others.
https://dflate.io/state-of-tofu
I then further cut scope and extracted a few useful actions into a less revolutionary but more well rounded vscode extension
It also inspired me to take the learnings and build a mobile code editor for shaders
- https://ramdass-search.net - Full-text search in videos of talks by Ram Dass, aka Richard Alpert, a former Harvard professor of Psychology who became a well-known spiritual teacher in the 60s and 70s.
- https://rtfcal.de - Get the dates of amateur cycling events (Gran Fondos) as an .ics file so I can import them to my calendar. The app submits the search to the cycling association's site, parses the resulting HTML and creates an .ics file.
This one-by-one approach forces a decision: read now or discard, which significantly helped me clear my backlog. It has no users except me, but I'm glad I created something that effectively solved my problem
https://apps.apple.com/nl/app/readstack-read-later/id1558413...
There is no better way to finish something that write a replacement for something that sucks.
They can be found here https://noben.org
I bet there are tons of similar analog clock apps out there but mine is 100% free and open source (https://github.com/alokmenghrajani/kidsclock), without any tracking or ads.
I needed:
- app groups to easily enable/disable group of programs - wildcards in program path names - efficient IP addresses blocking, as in PeerBlock - speed limiting - auto-apply program's rules to its child processes - control SvcHost services by service names - traffic statistics history
2. https://github.com/tnodir/luaplsql - LuaPlSql is a Lua Plug-In framework for PL/SQL Developer IDE.
I used it 10 years ago to write scripts in IDE for Oracle DB.
So I made an app with Laravel that scrapes Themeforest and uses OpenAI APIs to summarise all the bad reviews.
The app is not publicly available but the result of my first scrape (circa 10 days ago) is on Gumroad https://albertofort.gumroad.com/l/themeforest-templates-ai-d...
1. https://mapofthebest.com - Simplifies finding the best restaurants & bars around the world
2. https://barspro.com - Helps me identify the healthiest energy & protein bars
3. https://www.foodie.bot - Automatic restaurant reservation checker & booker
I'm starting to realize all my projects are food-related...
A code editor that I have been using for the past 4 years. It is a neovim distro based upon the ideology of emacs.
Presently, I'm working on an app to selectively enable/disable silent profile for contacts. It involves leveraging Android's contact groups to establish user profiles. When you activate a profile, silent mode will be activated for contacts not in it.
The tool evolved quite a bit since the first versions. I'm also using it for testing GPU code, teaching, and it has become one of the main drivers behind a lot of the research that I do.
The source is a single HTML file that also contains the JS. Just view source and modify if you're interested in taking this further. What's cool is that the protocol allows you to receive readings from the train and not just send commands. Also, it allows you to drive the train faster than you can via the official mobile app.
And
Todo list app: https://ivanr3d.com/tools/todoapp/
Also a little games to help me to learn flags of the world :)
This is a mdns repeater for (primarily home) networks. The "recommended" way is to use use PIM/IGMP but you can not control the specific mdns names that'll be repeated over the vlan boundary. There are a few other repeaters but nothing that would've worked for me so I wrote this. It still needs a few improvements around caching responses. mdns enabled devices do known prefix suppression which some times causes problems.
edit: another that springs to mind was a distance tracker for my phone using gps coords so i could see how far id jogged each session. it was educational buy my gosh phone apps are painful to make, it was the first and last one ill do.
I released an alpha build early this year (https://play.google.com/store/apps/details?id=ai.morrissey.m...) but abandoned it because I stopped using reddit altogether, and didn't love the idea of potentially having to pay reddit for an app I was giving away for free.
Was certainly fun building it though, no regrets.
Cooking with a standardized recipe view is just so much better.
It’s also free for others to use but I don’t think anyone outside my family does.
I've published the app a couple of month ago: https://apps.apple.com/app/enchant-amazing-timers/id64460937...
I think it would be really cool if anyone other than myself could like it
https://play.google.com/store/apps/details?id=io.whathappen https://apps.apple.com/us/app/whathappen/id6473885439
It helps decipher JS error stack traces by applying source maps to them. In my previous company, we struggled to configure Sentry to work with source maps, and every error message was cryptic due to minification. First, I created a little command line utility and later made it a web app.
https://github.com/rmuratov/hledger-tools
Just some charts to summarize my monthly finance activity based on hldger journal.
https://www.github.com/marssaxman/ozette
I do not imagine that anyone else would ever want to use this tool, which has little to recommend it beyond the fact that it is perfectly tailored to my own idiosyncratic preferences - but it does suit me, and I have certainly gotten more hours of use out of it than any other code I have ever written.
CheckYourList.app for routine checklists.
A now discontinued Woolworths (Aussie grocery store) price alert per product when I used to bulk buy for my online chocolate business.
A personal note taking app, focused on capturing hashtagged notes quickly into markdown files which I may release publicly one day.
Beeptestwatch.com to do beep tests without sound from my Apple Watch
Autounsubscribe.me to clean up my inbox.
Getfive.app as an attempt to limit my infinite todo lists.
Some of these apps I released as products, but they all start as an app I built for myself.
then this thread popped up in app while I was testing the new version,
I think it would be really cool if anyone else like it too!
https://play.google.com/store/apps/details?id=io.whathappen https://apps.apple.com/us/app/whathappen/id6473885439
If you're interested: https://pylaunch.com
I also spent years searching for a way to open file links in vim (all within a tmux session). Ended up writing it: https://github.com/artemave/tmux_super_fingers
It allows to easily spin up the SSH server inside container for Pycharm or VScode remote development, automatically sets a UID\GID inside container to the same as outside to help with permissions problem when files created in container are created as root.
[1] https://chromewebstore.google.com/detail/photos-new-tab/fplj...
Another bunch takes care of creating invoices, gathering bank statements, and paying using the bank account.
Finally, a temperature limiting daemon because thermald doesn't seem to work.
it's just a web scraper ran via github actions. i get emails whenever my subscribed permits changed.
i shared it with other people on reddit. they signed up through google form that triggered a gumroad payment link (via zapier). it also notified me about the new subscriptions so i could add them (via changes to the google form's google sheet and the notification triggered by zapier). i had two sign ups and donated the money to trail maintenance org.
$connected = $false
while($true)
{
if (-not $connected)
{
$connected = Test-Connection www.google.com -Quiet
}
else
{
Write-Host "Connected"
[console]::beep(1000, 500)
}
Start-Sleep -Seconds 2
}
I built this web + mobile app (PWA) written in React Native + TypeScript that does simple revenue forecasting for a SaaS that uses Stripe.
Stripe's mobile app and others kinda do this already but some of their numbers can be inaccurate (as detailed in the repo's readme) so that made me open-source + solve an issue my own SaaS[1] has with Stripe.
Chrome extension - view hyperlinks (internal and external links, phones, emails) https://chromewebstore.google.com/detail/link-list/caifphhfa...
https://github.com/Bogdanp/remember
I’ve been using it every single day since I wrote it.
It's an actual itch I'm having. (If anyone's interested, there's a TestFlight going on, see the website.)
I built this to teach myself all the aspects of computational chemistry that I am interested in
Private podcasting / photo albums for family members, using Cloudflare Pages, R2, D1.
I also created a library to help me fill in (random, again!) data on web forms: https://github.com/zikani03/ika
I plan to use this as a base for a few other bots I have in mind (homelab control/monitoring for e.g.).
It is a simple interface, read-only (so they don t delete photos/videos from their devices as they have done already) and also private.
My extended family ia using it as well.
I might turn it up as a saas product but needs to find the time...
Https://m.emori.es
Web site for my sailing adventures. I upload a gps track, images, text. It parses the track, paints it on a map.
Small, android, no frills app for calling http backends, that arranges the calls in tiles. For very basic home automation.
A lot of non-AI, small bots for personal use. For example a bot that notifies in a group chat when a member did a new bike ride. Also collect stats so we can compare :)
Several tools for some games that I play.
I used to write everything in Java, but recent years more and more stuff is JS with Node. And more recently Go in the backend.
https://github.com/mckirk/aocparser
Granted, at this point the syntax has become convoluted enough that I'm not sure anymore whether it would actually be faster to type, which was also part of the motivation, but I think it at least looks cool :D
GitHub: https://github.com/PaulSinghDev/personal-flight-tracker
Public site: https://personal-flight-tracker.vercel.app/no-key
I originally intended it to be much more and planned to add API integrations for the variables, but I changed jobs pretty soon after deploying the current version and didn't find much use for it.
https://floooh.github.io/fips/
...I still hesitate to recommend it to other people over a pure cmake-based workflow though because it's very opinionated and violates some cmake "best practices".
- Dual-stack S3 URLs on browser. Most S3 links available online need to be converted to be used on IPv6 only instances on AWS. https://www.miyuru.lk/ipv6s3
- track your food
- track your Sports
- track your Habits
- track your whatever :)
Feedback welcome
Main feature is just having something I can use effortless across all my devices.
Only runs on google cloud ATM, since it used their proprietary database =/
https://303-gen-06a668.netlify.app - A tool to generate randomised 303 acid loops (Chrome only)
https://metronic-studio-0d0680.netlify.app - Unfinished web daw project started a few years ago
You basically send it a message that says : "Pay water bill in two days at 9am", and it will send you a notification that says "Pay water bill" in two days, at 9am. You can also easily snooze notifications using handy quick-actions buttons.
It's free btw, anybody can use it.
A web page to record and graph my asthma medications and peak flow numbers. Impressed my doctor, if nobody else.
Another web page that started as a tracker for all the new beers that kept coming on the market here in Denmark. That evolved to tracking all my drinking and restaurant visits. Been using it since 2016, and improving it along the way. Now some 3k lines of more or less readable perl.
(edit: typos)
I was halfway across the world when I needed to make a lot of phone calls to my bank back home. So I pulled up Twilio's docs and built this app to make phone calls and send SMS from anywhere.
I tried monetizing it by selling it to digital nomads but this kind of problem is not recurring enough or painful enough to justify them paying for it So I ended up open sourcing it
I also created a music player because I dislike the shuffle algorithm in Spotify.
And I have created a travel app for my family to provide public transport route suggestions, offline maps and reminders.
My Postman/Insomnia alternative is open-source for the public now: https://github.com/sunny-chung/hello-http
Then, I expanded the infrastructure and built a web scraping API on top of it: https://scrapingfish.com
Not the most original of ideas, but I was really sold on djot [1] and wanted something less fussy than pelican [2], so it just happened.
All that is needed in the repository is a plain text GraphQL schema file that defines what the data structures look like. The Git repository itself can be located on GitHub, GitLab, or in the local filesystem.
I don't work in VR or gamedev, but I do enjoy making models in blender. I was able to model roughly half the assets in the game and set up an elevenlabs.io integration in unity for AI voice generation.
It's almost exclusively been for my own entertainment, but I hope to get a beta release out by Christmas.
Made with Django
It was easier to DIY my own thing over a year than deal with these 'tools' that once did what they said on the tin.
And I get to have joined the annoying HTMX crowd!
https://chromewebstore.google.com/detail/mustachio-redux/hbn... - made an offline version from the API based one a long time ago.
It finds the best tech events in town by going to various websites, my private Gmail, and a few Slacks/Discords I'm a part of and uses LLMs to normalize all the unstructured event data.
Some friends recently pushed me to publish it - it has a permanent audience of 1 :) http://fogcity.events/
I use it all the time when I need to serve up some data in JSON for example. I can specify IP and Port to bind to, it has directory listing enabled and it always sets the headers "Access-Control-Allow-Headers: " and "Access-Control-Allow-Origin: " for easier quick testing.
I just threw together some components in Delphi. ;)
On the more productive side, I made todometer because I wanted a progress bar with my todo list: https://cassidoo.github.io/todometer/
- A tool to transform paragraphs from a single Notion page into a microblog (html + rss) [2]
Both are done with Clojure because they seemed like a good opportunity to try something new.
I like to think about it as a Polaroid where the camera and printer are on opposite ends of the world.
So after a fast prototype I created rtpmidid and I'm quite happy on how it works.
And it also helps with the USB ground loop noise that it seems unavoidable some times.
For some time I had even two Orange Pis connected to two sections of my gear, using USB gadget support so my MPC One could speak rtpmidi. MPC One has support to connect as host to MIDI devices, but as guest (connect to the computer) only in controlled mode which is not what I needed to convert my MIDI tracks to my DAW.
[1] https://github.com/davidmoreno/rtpmidid [2] https://github.com/davidmoreno/aseqrc
I needed really high quality performance telemetry ("profiling" is a mixed choice) for my PhD. You specify the payload type in an IDL and it generates types and transport code. Fill in a struct and hit save(). If the process is being observed, this'll copy the struct to a lock-free ring buffer that the observer injected in. Includes CPU performance counter support.
For my little girls I built https://www.howdoyousayit.rodeo to practice English vocabulary.
In the past, I built Pegao.co, a bookmark to share public lists of links, but I've shut it down.
Right now I'm in a hiatus in development (as I had to find a new job) but I'm planning to go back to it in some time.
Tactically I achieved a substantial improvement using it.
I'm sad about the mobile app world. Lots of ridiculous bloated apps to do the same things that a very simple CLI or CGI script could do.
- hints are acronym of textContent ( or metadata ) of html elements.
- A command bar with fuzzy search for browserhistory.
Helped reduce mouse usage, which I think was causing strain on my wrist.
Desktop: git client, music player, video editor, text editor, calculator, schematic capture and simulation soft, perfboard designer, to-do, spreadsheet, and about 30 one off tools and chrome extensions.
I still have to go into each campaign but no more copying the data into excel or using a calculator to figure out what the bid should be. Probably saves me 30 min a day.
Moving from Android to an iPhone some years back, it was the only thing I missed. So far haven't released this to the appstore but if there is interest, I could.
I created a web based mobile ticket scanner.
They said the ticket companies would take huge subscription fees for their scanners and they didn't need all the features they offered.
So, I bought a 30€ Bluetooth scanner, wrote a small UI that allowed them to create events and check that each ticket is only scanned once.
Of all my software, this is probably the most regularly used one, lol.
- Several games (for DOS, TI-83+, and later Windows or the browser).
- A wiki.
- A chatroom for our Tremulous clan.
- A forum for our travel group.
- Several programming languages - currently working on one as well.
- A budget tool that would take my transactions and group them.
- A web framework for Scala based on React.
Some with friends, some alone. Plus, as it goes, a bunch of things that never reached a usable state.
Anyway, I wrote a C++ (boost) command line tool to brute force MAC addresses to a popular illegal IPTV service out of Russia. The server had > 9000 channels available though I was only interested in the Dutch ones.
I’d feed the MAC address into Kodi’s Stalker Client.
in case you want to check (only osx):
Using Kotlin to code, Soup to do the web scraping and that's pretty much it.
I use it all the time, at least a few times a week.
I wrote it because the secure passwords generated by iOS and various password managers are overkill for most purposes and extremely hard to type out by hand to an airgapped destination
It is basically a timer for your breathing exercises, as the idea is that you inhale and exhale slowly, hold your breath in between, each step lasting 4 seconds.
I tried to make it as simple as possible, and to make it usable with old devices as well.
It uses the Marvel API so it's not monetizable and it's hard to get motivated to run a money-losing project. I've reconsidered modernizing it and opening it up now that I have more disposable income for hosting.
skuilder: https://github.com/NiloCK/vue-skuilder - a flexible SRS environment, which I currently use myself for harmony / ear training piano stuff, but also with my daughters who are learning to read.
Lately I've also made a couple of webextensions that layer some power tools on top of chatGPT (search past chats, faster keyboard based nav beween chats, faster keyboard based copying of gpt produced snippets). Also a cli utility to bundle the current directory into a zip file in the clipboard so that I can quickly share small projects with chatGPT.
(It feels a little weird to me that OpenAI's default offering doesn't offer more power-user friendly functionality off the shelf).
Tool for teaching myself piano / real book chord symbols, scale degrees, chord progressions, etc.
Works best with a MIDI keyboard attached. Be warned... I've only tested it on my own computer, since it is truly for my own use.
backgammon: https://github.com/nenadalm/backgammon - board game for 2 players, no single player - I use it when I'm out with someone and there's nothing better to do - couldn't find free one on play store without adds and in-app purchases
life-counter: https://github.com/nenadalm/life-counter - life counting app for 2 players, usable with several board games. It has profiles that allow to configure number of hp, count-up/count-down. I use it mainly for StarRealms and Cribbage. - couldn't find one on play store that would allow quickly adding/subtracting specific amount of hp. All I've tried could either add/subtract by 1 (annoying with bigger numbers, like 24) or set specific amount (I have a phone, which is capable of doing the math, so why would I do it?).
bbb-games-list: https://github.com/nenadalm/bbb-game-list - I attend various board gaming places with sometimes crappy list of games on their website (just names, nothing else - like player count...), so I wrote my own site, which download's games from these sites and enriches them with info from bgg (updated via cronjob once a week via PR)
postgresql-log-viewer: https://github.com/nenadalm/postgresql-log-viewer - I needed to see which sql queries were executed by an app, so I wrote an app that can read them real-time from csv logs of postgres and show them formatted with copy-paste option (didn't use it for quite a while, since I don't use postgres lately).
[1] https://github.com/looshch/gouse [2] https://github.com/looshch/gouse-vsc
edit: last word was missing
RSS/Atom reader for CLI: https://github.com/lallassu/gorss
Simple Todo list (replacement for Wunderlist): https://github.com/lallassu/doit
Made this quickly, and then a python version based on awswrangler for work (not open source, unfortunately).
https://github.com/nicko88/HTWebRemote
Originally it was for myself, but then I expanded the features and devices that it supports for friends and other home theater enthusiasts over at the AVSForum.
As a true 'own use' project it has no onboarding, no marketing, but if anyone is interested in using it, let me know
(Paste substitution ciphertext into the textarea on the left.)
Doesn't work so well for actual "cryptograms" because they're too short, but fun for substitution ciphers with longer texts.
It's been satisfying!
I’m starting with manually translating VHDL into Racket to get a feel for it and how to model it. The goal is to implement a language extension for VHDL with the help of the Beautiful Racket book.
https://sps.bio/?q=scifi+-bitcoin+-russia+-mastodon
Beware of spam. I did not clean the data for a while.
I just wanted an app to tell me which direction I'm driving and how fast. It works best while moving lol. I'm looking at how to expose other sensor APIs to make it more compass-like.
while true; do
termux-tts-speak -l fi "5 5 5 1 2 3 4"
sleep 1
done
I use it everyday alongside 25,000+ people to stay informed.
I created an Anki plugin to learn Japanese. All the plugin I knew back then were bloated with unnecessary features, so I created my own.
I like it KISS, simple things that works well.
https://j11g.com/2019/11/16/foster-how-to-build-your-own-boo...
it also gives you the option to play songs using either attached airpods or using the internal speaker (impossible using any other app)
it's called sync-sing :)
I also have a bot to verify the agenda for my local consulate, because it is very hard to get an opening and they don't send alerts: you have to login and check the calendar.
I wrote it to be able to extract exceptional plays from footage of my daughter's volleyball teams and be able to zoom in on each clip. Pretty much a minimal viable product.
There are many apps that do this already but my friends mostly use Telegram and it was easier to not having to install another app for such a simple task.
https://github.com/Leggin/dirigera
I use it for controlling my home via a telegram bot and logging climate data to a database for interesting plots.
If anyone knows of a free hosting site please let me know: rdschaefer {dot} consulting {at} gmail {dot} com
A static site/blog generator written in c++.
I initially made it with markdown support for my blog but latter I've added also templates based on json for another project.
useful and quick GUI to see the time across the world.
on phone:
touch & swipe to pan the map / highlight timezone (upper clock)
tap to select a timezone (lower clocks)
swipe left/right the line below the clock above to change the time
This is a tool for synth people. What is cool about my tool is that I show the signal flow with a graph. Drag and drop planner.
libaws: make aws easy
aws-exec: make services easy
aws-gocljs: make webdev easy
s4, bsv: make big data easy
arch-setup, alpine-setup: make laptop bootstrap easy
backup: make backup easy and unborkable
all at https://github.com/nathants
This is a sms based reminder tool that I made for myself and use quite heavily due to its convenience. (No additional apps/website and other requirement)
Simple markdown note taking app that works offline in the browser and lets me save the notes in the browser local storage or export as txt.
Our bowling scores haven't improved much but it's fun.
https://wirelessfootball.co.uk/
All the existing feeds were either per channel or overwhelmed with ads.
My dev team were falling asleep during our plannings/refinement meetings. So we've built a tool to keep everyone engaged. Worked surprisingly well
I track taking vitamins, doing laundry, exercise, etc. using this application.
Do online ATC on VATSIM and hated being unprofessional. Gives you airport names, abbreviations, and helps with some calculations.
Surprisingly annoying to get airport data.
Every 20 minutes that I’m logged into my mac, it literally “say Recalibrate Vision” yes it’s corny but I like it.
A good reminder to rest my eyes for a few seconds by looking way at something distant, and back to coding.
It just takes a list and makes it a python list (with quotes and commas)
I generally try to inspect the code of any extensions in my browser, but found it's too much work to also do it for the upgrades.
I plan to sell it, yes, but I also want it for my own use.
It was a wonderful time. It was also a fun one-off to make.
A scrabble-esque word game to play with my friend, and try out some modified game rules. Built with Elm.
Check it and out and let me know if you'd use it.
Link to app - app.coachpoints.ai
I wish the grouping API was available on Chrome, even if the docs say they are, they just don't work properly.
I'm currently working on it, and I use it myself for all tab management.
I use it in all my firefox profiles since it can be used as a sidebar and as a popup for smaller windows.
I do bit of property investing in South Africa and needed something to evaluate all potential deals.
0: atbswp.com
1: tinytask.net
There’s a calculator app, measuring app, and two music apps
I need to transfer photos of receipts/invoices (taken with my phone) to accounting software on my laptop. Google Pictures/Drive is too cumbersome
1. open url on laptop
2. scan QR code with phone
3. choose files/take a picture of receipt on phone
4. appears on laptop
Files are E2E encrypted, as I used it as an excuse to play around with the JavaScript "SubtleCrypto" API
tag-based file manager CLI app * keeps all files/directories in a "~/t/multi./tag./structure./" * directory structure is kept in a hierarchical order based on tag frequencies - most common tags are always at the top level directory.
https://gitlab.com/WRFpcT/surface-tools
filcker-fix (ahk): fix top line flicker bug of SB1 and SB2.
cursor-keys (ahk): maps right shift + cursor to home, end, pgup, pgdown
event-filter (java): get event logs in useful text format
zettel.cards: browser extension+ Android app using LLMs to easily create high quality zettel cards (still a work in progress).
svekyll-cli (https://svekyll.com) and extrastatic.com: svelte based static blogging tools
I've built it about 10 years ago for myself because I was too lazy to get up from the couch to control my media PC and the existing apps were all terrible to use. Turns out many people found good use for it, over 10 million across platforms by now.
https://play.google.com/store/apps/details?id=com.steppschuh...
Distributed test automation for the browser.
A WebSocket client and server.
A code beautifier for a great many languages.
A diff tool.
Some accessibility tools.
The idea is first-time senders will be moved out of your inbox and you will get a screener to manually whitelist/blacklist them.
Am now trying to productize it, my thesis is emails will becoming even spammier now that LLMs can pass the Turing test, so a feature like this will be key to restore sanity to your inbox.
- https://flathabits.com - After reading Atomic Habits, I wanted a habit tracker but most had more friction than I wanted, required accounts, had distractions, lock-in etc. so I built a privacy-focused app, with little friction and no-lock-in (saves to plain text).
- https://plainorg.com - There are a gazillion markdown apps on the App Store, but hardly any supporting org markup, so I built one.
- https://xenodium.com/scratch-a-minimal-scratch-area - I wanted a surface where I could just dump text with as few taps as possible.
- https://github.com/xenodium/macosrec - I wanted to take either screenshots or videos of macOS apps from the command line, so I could integrate anywhere.
- https://github.com/xenodium/chatgpt-shell - I'm far down the Emacs rabbit hole, so I prefer Emacs-integrated tools. Built a ChatGPT Emacs shell to see what the hype was all about ;) tl;dr it really does help.
- https://github.com/xenodium/dwim-shell-command - A way to manage and easily apply the gazillion one-liners (and more complex scripts) I've come across. I got close to 100 utils check-in now.
- https://github.com/xenodium/ob-swiftui - Play around with SwiftUI layouts from the comfort of my preferd editor.
- https://github.com/xenodium/company-org-block - Org block completion.
- https://xenodium.com - I tend to scratch own itches and post my solutions here.
It’s a Chrome extension that shows me what web page elements I’ve missed in testing.
We used it in the car when having her fall asleep before arriving would have caused problems (having to wake her up, not getting her to sleep in bed).
Had the idea while on a trip with friends last year in Mexico. The postcards we sent were a huge hit with our boomer parents.
xpensetrackr.com - track expenses
https://fullcalendar-test.vercel.app/ - minimal journal to log my exercises
Several of us, which I found out by reading comments here, have each developed on our own our little utility to do the same thing: clean up / deduplicate / get rid of old files.
And it's not just a matter of using fdupes or jdupes: I created a database where I tag files based on their cryptographic hash (and size, for speed). For example a file can be tagged as "file with that hash can always be deleted" or "file with that hash can always be renamed to xxx".
I then can run my "bezerker" on entire filesystems and it'll delete files tagged for deletion.
I used the Blake3 hash for speed but I also saved which hash is used, so if something much faster comes up, I can switch (I'd still need to use Blake3 for the hashes already in the DB but that's no issue).
I did this because I got tired of having for example the wife and mother-in-law coming with yet another USB stick, with yet another "directory inside a directory inside a directory with family pictures and movies from 2017" or whatever and having to delete for the ten times that same blurry picture or that same little 3 seconds movie taken by mistake etc.
So, basically, instead of lamenting, in that xkcd 1360 style, about old files and old directories, I made my own little utility to get rid of the problem once and for all.
Works wonder but as you asked: it's really for my own use and I kept it private.
That said I take it there's at least some interest in a public / open-source utility doing that: otherwise there wouldn't be several of us here on HN (and certainly elsewhere too) developing our own solution for this problem.
It’s for calculating bread baking recipes using bakers percentages
Early in my University time I always felt most productive when sketching out my day in Google calendar, then keeping up with that plan and if necessary, adjusting it. For a long time I was envisioning something that would allow me to follow that workflow but without the browser window or telling Google my plans, ideally in the terminal, ideallyer something as nice to use as Vim.
When I sat down to learn Go I decided to make that my project and, although messy, it's become my longest-running (though sporadically developed) personal project.
Realistically, I wouldn't suggest anybody use this except to try it, but for myself it is really useful and a fun project to tinker with sometimes.
rejected by Apple but exceedingly useful for myself
The project is on hold though, after the wife complained about it being a time sink.
1) Product data management system that generates 7-digit product codes based on the product category hierarchy and in a way that minimizes the probability of typos leading to picking the wrong product items, plus bundling of items. Data managed in NocoDB and exported into CSV and ODS.
2) Product information view and search system using FastAPI and HTMX (for live search), with an async file watcher that triggers a re-loading of the data in the CSV from (1) whenever it's written anew, and provides simple views, tables, and GET endpoints for querying, as well as a parameter "xml=True" to make the data loadable using LibreOffice's FILTERXML(WEBSERVICE(...)) functions. Also, it calculates bundle prices, displays stock quantities from (3), and fetches relevant invoice lines from (4).
3) Inventory view and search system in the same vein as (2), but the data store is an ODS spreadsheet we edit by hand whenever stock quantities change (up or down, either way). Also provides GET endpoints, just like (2)
4) Invoice view and search system in the same vein as (3), in that the data store is an ODS spreadsheet in which we store invoice and invoice position information (together with pivot-table sheets). Again, it also provides GET endpoints.
5) Company information system that polls the EU VIES database and my country's SOAP API for company information, stores it together with the NACE codes as JSON in an SQLite database, plus provides fields such as notes, customer number, etc., all editable using HTMX. Also provides GET endpoints and the ability to filter the set of companies by criteria such as NACE code, location, company age, etc.
6) Quotation generation tool that provides a GET endpoint and uses (1) and (5) to generate print-to-PDF-ready quotations styled with Bootstrap5, plus generate a downloadable ODT file (using relatorio), and in any case generates/embeds a QR code with an order-tracking URL on the bottom-right corner of every page of the quotation, whether printed or ODT-ed.
7) Order status tracking/display frontend in FastAPI that uses the ULID-based URL of quotations generated with (6) and pulls order status data from a Django backend (I used Django-admin to save time on building web UI). Example: https://track.tectra.gr/01H0-WAR-Y2W
8) (WIP) Automatic pricing recommendation API that uses information from some of the above to generate quotation price recommendation based on historical price levels per customer and segment, customer engagement patterns from invoices, etc.
Other than that:
9) A python script that takes my photos from 2001, and uses darknet-yolov3 to generate a list of detected objects, the HERE Maps Reverse Geolocation API to link the GPS coordinates to landmarks, and then writes that information to the photo's database on Emby using Emby's API (which makes all my photos searchable at a good-enough state).
10) (WIP) Currently developing a Phoenix LiveView web app that downloads Linux kernel ChangeLogs, parses them into commits, extracts structured information and will eventually make them searchable by keyword, contributor, etc. Mainly a learning opportunity, but I'll eventually self-host it publicly. https://github.com/waseigo/Changelogrex
11) A Go program that runs a NextJS app and responds to Gitlab's push-event webhook requests with a rebuild and restart of the web app https://github.com/waseigo/webhook-gitlab-nextjs-runner
First thing I built, when I started doing full-stack stuff: https://pushdata.io It's a super simple time series data storage. You don't even have to register an account, just do "curl -X POST https://pushdata.io/youremail@yourdomain.com/temperature/47" and you've stored your first value. I use it a lot to log various stats about all the things I've built, like user signups or whatnot.
Then I wanted to create simple crosswords with image clues to help my kids learn to read. That resulted in a crossword generator backend and a simple game: https://puzzlepirate.net
Puzzle pirate is great, but I wanted to print the crosswords on paper also, so I slapped together https://crosswordcomputer.com. The UI is rather ugly (like Pushdata) but you can create pretty cool crosswords for kids with it.
Then I wanted to create more flexible shields.io so I created https://supershields.io - basically a shields.io but with programmable (in Lua) logic for the shields you create. I'm not using it myself anymore though so not maintaining it very well and it seems there is something funny with the Lua execution right now. It is using AWS Lambda servers to run Lua scripts, perhaps they're not firing as they should or something. If someone wants to use it, get in touch and I'll see if I can get the Lua execution operational again :)
I also wanted to backup private photos and videos from household phones to a USB memory on a local storage server (Raspberry Pi) and then have that server automatically back everything to the public cloud but encrypted (as I don't trust public cloud providers to keep my data safe forever). I couldn't find a good solution for this, so I wrote some shell scripts that do the trick: https://github.com/ragnarlonn/savethepictures
My daughter was playing Minecraft too much, on our own server, and I created a small Python program to enforce "screen time" in Minecraft: https://github.com/ragnarlonn/mctimer
I once needed to simulate broken DHCP clients and couldn't find a good tool to do so, so I wrote "dhcptool": https://github.com/ragnarlonn/dhcptool
All of these taught me a lot, especially the later forays into full-stack development after having been pretty much clueless about frontend stuff for a long time (still clueless but at least I can create ugly UIs now).