Scrobble tui to track vinyl record listens on last.fm, sourced from collection on Discogs
Calibre web UI 2.0 to replace Calibre's mediocre web interface. Used for browsing ebook catalog, searching and cataloging with a simple list feature.
Project Gutenberg local mirror UI to browse my local copy of Project Gutenberg books
A couple of MCP servers for self-hosted services to give access to OpenClaw. Currently working on a daily digest that Claw will generate that includes feeds from these: what news stories were popular in my feed reader, did my baseball team win, etc.
llm-consortium: prompts multiple models in parallel, loops until confidence_threshold, and synthesizes a response.
This was inspired by a karpathy tweet and the prototype created using another tool of mine: The LLM Plugin Generator plugin.
The llm model gateway lets you serve models from the LLM cli as a an openai API. This allows you to use saved consortiums in your various clients as if they where a regular model. Bringing massive parallel reasoning to any workflow.
It occured to me at some time that an collection of parallel running LLMs is not really a consortium. A consortium is a group of organizations. A group of groups. So I rectified disagreement this by adding support for actual consortiums, where each member of a consortium can itself be a consortium of models. e.g.
llm consortium save cns-glm-n3 -m glm-5.1 -n 3 --arbiter mercury-2
llm consortium save cns-k2-n3 -m kimi-k2.6:3 --arbiter mercury-2
llm consortium save cns-meta-glm-k2 -m cns-k2-n3 -m cns-glm-n3 --arbiter cns-k2-n3
Yes, even the arbiter/judge can be comprised of a consortium of models, bringing parallel reasoning to the task of judging parallel reasoning chains.
Consortiums can also now contain groups of specialists. These custom user-defined expert characters address the prompt from a different perspective. And a Westworld style Attribute matrix can be randomized to inject some more entropy into the process.
A few, but the one I use regularly and am quite proud of is
https://mediaden.ca - iOS app for storing encrypted photos/videos on storage I (the user) exclusively owns, with zero servers, zero telemetry, and a host of other privacy related features.
The tool I'm most proud of is "Hex Flex" (https://seidleroni.github.io/Hex-Flex-Web/). It is a tool to view and compare the contents of Intel Hex files. Should be useful to other people who work in the firmware field.
Not exactly a tool, but I also made pelohard.com which ranks the most recent Peloton classes by difficulty. Updated twice daily.
Lookup or modify selected text using AI (chrome extension). I just select any text and click the tiny popup button "what's this" and get an answer right there on the page. Made it mainly to explain terms and abbreviations I come across on HN often. Can also ask any other question about selected text. Can even modify the selected text the same way. [1]
OneNote to markdown/obsidian canvas converter. It did that using interop api to read the actual XML of the onenote files.
Work time tracker as 1px line on edge of monitor. Shows thin line at the edge of the display which fills up based on what i am doing.
Plaintext bookmark chrome extension that save links to local markdown file, Dynalist, Workflowy, Github Gist and import export between them. Was originally for Dynalist when AI couldn't do much 2-3 years ago. Recently added these other end points. [2]
A heart rate monitor with finger on camera. It's bit crappy though. Had to make it because many trackers, including google fit, couldn't detect 200bpm. https://github.com/SMUsamaShah/heart-rate
Hister is a full text indexer for websites and local files which automatically saves all the visited pages rendered by your browser. It provides a flexible web (and terminal) search interface with offline result previews & detailed query language to explore collected content or quickly fall back to traditional search engines.
It can provide a privacy-respecting search experience for serving "recall" type searches where users retrieve previously visited content, but falls short in "discovery" type searches (yet).
This was the first AI project I ended up working on as well, except I approached from building a meta-search first. I only added support for a local index recently (via SQLite FTS 5). But I haven't shared my project, whereas you have a truly fantastic webpage for yours. Plus going the extra distance with a terminal interface and MCP server too.
Much kudos. I hope more people discover how powerful even a local search index of previously visited content can be. And I hope more people can build large indexes as well, so we're not just relying on Brave & Mojeek & Marginalia (and EUSP) to rescue us for the fallback discovery searches.
A voice memo app, quite like the actual voice memo app from Apple. The thing is: now I can put my voice memo's on iCloud put Claude Code on it and make my transcripts into structured notes that my app then also displays.
So basically a way to just go on an hour long walk with myself, spit everything from the top of my dome stream of consciousness style, and then have Claude structure whatever I said.
It's nice to have something that structures my thoughts by just thinking out loud.
I vibecoded it (it's approaching 20K lines including tests). It works quite well but there are some bugs, so will have to do some actual engineering. But the UX is working quite well.
* Auto-Birthday - if you have a contact in your android contacts that has both a mobile number and a birthday in their contact info, you can choose to send them an automatic "Happy Birthday" message on their birthday at a specific time. Can do it with hundreds of contacts. Doesn't use hardly any battery or resources.
* Wrecker - stupid simple "throw a ball at a tower of bricks and try to clear the board" game. High score tables. Made in unity. High battery when in use, No battery use when not playing. Will use internet for high score data.
* GeoNote - Create Geo-fences to generate a notification when you enter a location with your custom text in the notification. My wife is always telling me, "Next time we're here, remind me to only order one piece of toast" or something like that, so I make a note, it pops up the next time we're there and we're both happy. Notes are stored locally. No internet access required. Uses Geo-Fencing which is more battery-friendly than always-on GPS access.
All my apps are free, very privacy-focused and as battery-friendly as possible.
No information leaves your device (other than the high score data in Wrecker).
You have to side-load my apps though. I'm not putting them on the Google Play Store. They're so annoying to deal with! OMG
https://gitlab.com/grepular/foxcage - Runs Firefox inside podman to isolate it from the host. Has some interesting features that I wanted and nothing else gave me.
Currently working on a tool for sanitising email. Will be blogging it up at https://www.grepular.com/blog/ when it's ready for others to use. Does things like applying policies to html/svg/calendar/vcard parts to whitelist or blacklist tags/attributes/css/url schemas, clean URLs, fetch remote content at delivery time and attaching to the email to prevent tracking, pgp and smime auto encryption/decryption and a million other features.
I made a tool that creates sandboxes (docker, podman, orbstack, seatbelt, tart, containerd, kata, firecracker) and then sets up an agent (claude, codex, gemini, aider, opencode) inside it with max permissiveness (no prompts to call sed, etc).
It creates its own copy of your workdir for the agent to play in, and then you pull changes out ala git diffs or commits.
It's a MASSIVE time saver, and I use it as my daily driver.
i built a program that watches wifi traffic and if it sees my phone connected to the office wifi; it marks me as in the office on our internal chat tool (Zulip).
And the inverse as well, of course.
Runs on a raspberry pi that I was otherwise using to take backups periodically… has been working pretty good honestly.
I also built a program that fills/submits my time reports, and does the same for all of my subordinates - then signs them off… Saves everyone like 5 minutes if we remember to do it, or 12 minutes and frustration if we’re reminded by HR about it (which happens because who the hell cares about time reports?)
This one converts a basic chunk of OpenStreetMap data to an SVG so I can mark it up (by hand) in Adobe Illustrator to make specifically-styled print/PDF maps, such as what get installed at trailheads: https://github.com/c0nsumer/osm_to_ai
And all of this has been put together to make the custom, local, specific-use-case maps that are at https://trailmaps.app (which, via local curation, are overall better mobile/online maps than many of the bigger auto-generated systems such as Trailforks, Gaia, RideWithGPS, etc, for visualizing local systems).
It's neat stuff where I understand all the inputs, outputs, and how most of it works, but AI tooling (Claude, mostly) has allowed me to bolt it together much faster than I would have writing it myself.
I built a half-baked CRM that has a lot of custom fields and visuals for statistics that are relevant to my potential customers. I'm selling primarily to registered data brokers, so being able to pull up their self-published compliance stats (gleaned from their own privacy pages or public filings) and contextualize them in terms of the rest of the industry ("your deletion request volume has been in the 95th percentile year over year") has been extremely helpful when starting conversations. I also gamified it a bit by giving myself targets for cold outreach and gathering hard numbers on my cadence for outbound calls and emails per lead.
I also built this site for educating potential customers and other privacy professionals about the increasing tempo of CCPA enforcement actions driving compliance: https://ccpa.world/enforcement
I could have probably coded this from scratch quicker considering that it took me two weeks to remove all of the hallucinated imaginary enforcement actions against real companies and also the citations to non-existent California law that the models kept injecting into my enforcement summaries.
I like the capabilities of C++ and imgui but didn't want to deal with C++ anymore so I had AI do it.
imping - PingPlotter-like app. They didn't have a Linux version and I'm a paying customer, so I vibe coded this one:
https://github.com/zenakuten/ImPing
- ticketing system with Stripe payments and QR scanning at the door
- Instagram/media ingestion for the club site
- genealogy tool with GEDCOM import
- scripts for downloading/archiving public-domain film material
- playlist/library tooling for DJ use
- music collaboration/sync tool for Ableton projects
- normal work stuff in a much larger existing codebase
I have become a lot more strict about process after being burned a few times. Mostly: make the change small, be clear about what it is supposed to do, check the assumptions before coding, use tests/logging/manual checks as evidence, and don’t merge anything I can’t review and explain myself.
Most of it has been to maximize productivity with AI
1) Use chatgpt pro from codex cli, opencode, claude etc as you can't get it via API. This has been the biggest boost in productivity for me as I don't have to copy and paste.
A terminal-native agent multiplexer built on tmux. Similar idea as herdr but wraps tmux in an outer TUI instead of replacing it entirely: https://hmx.dev
After coming back from paternity leave, I found that my team had really leaned in to AI driven development. This project was half catching up and half attempting to solve the burn out from the repeated books my wife and I were experiencing.
I'm building an app that uses cosign similarity across a bunch of vectors to derive team productivity metrics. To be honest the maths is trivial; the hardest part is gathering data and normalizing it in a vaguely sensible way.
I've also built a release notes app for my QA teams, a DORA metrics app, a thing to map UX journeys with Playwright, and a ton of games and stuff. AI got me back into enjoying building things again.
Built a quant system that reads earnings transcripts for what management is trying not to say. The model is surprisingly bad at this. Turns out management is too.
A dashboard to see what my local commercial free radio station (89.3 The Current) in Minnesota is playing. It shows how often tracks are played, track and artist play history as well as some other fun lookups and visualizations.
I'm close to releasing a memory safe programming language, with a declarative concurrency model, that runs on a Go-like runtime.
It has "levels" of compilation, with EASY mode being about as easy as Ruby, and the compiler can present you with options to get that as strict & performant as Rust/Tokio.
I'm going to need at least a month to finish all the documentation, though.
1. A dashboard that tracks my personal metrics (github, strava, todo completion, flossing)
2. A eink display for that dashboard
3. A realtime node graph that shows a codebase (and/or its diffs) in a way that I can visualize what functions call which, and under what conditions
4. A agent that automatically fills out government forms and creates invoices for my friends brewery based on the delivery notes in their google calendar.
We used AI to build our AI platform and now we are using the AI platform to build the tools that we need for AI. :)
But no honestly, unfortunately most tools I did for myself are not for hobbies but something that I needed for work... like this one (https://github.com/crmkit/crmkit) most recently.
It essentially uses youtube as the music source, I think I heard somewhere that playing through embedded videos skips ads but I'm not really sure, in all my time testing it I never noticed ads, but I'm also on premium so that may have been why.
by all means critique, I don't know that I have a ton of time left for it and I'm sure there's bugs here and there. I was having issues getting it to autoplay on desktop when the window itself wasn't the active tab. I never really tried it on mobile.
I was trying to get some DB of artist/song info but doing that was proving to be complicated.
I'm working on a recommendation service (which, to me, it's the piece I'm missing when I play my local mp3 collection)
I collect song metadata from various places (genre, instruments, track credits, rating). I also scrape charts by year, genre etc.
Then I run an ETL job on the json data I have downloaded, pre-building queries for extremely fast lookup tables. This gets saved to Duckdb, which is used by my go web ui/api.
It's very early days, and I only spend one or two hours a week on it, but right now it's amazingly useful. It had roughly 80k song metadata. To preview the suggested songs I ended up building a very cut-down YouTube music player, except that the playing song has all the metadata right there, and everything is a link that can take you to the artist, composer, instrument, genre, album etc. It's a great way to "wander through your collection".
Unfortunately this is only useful to me, because I targeted the music I listen to.
Next step is to download lyrics and extract song meaning, keywords etc. Then use MusiCNN,
(or CLAP,OpenL3, HTSAT) to extract embeddings. Finally train my own model for
nearest-neighbor retrieval based on a mix of metadata, giving the user the ability to tune it on the fly.
Did you ever have to pass Appstore review process? How do they look at copyright and stuff when you are publishing an app that plays your local mp3 collection (how does your mp3 collections ends up on your phone?)
I use agents to do most of the tedious admin for my hire business, and I built www.vessels.app to run them on the go because there was no native solution to talk to my agents. I’ve started working towards releasing this to the public because it’s so much better than setting up agents via telegram or slack.
https://charleswiltgen.github.io/Axiom/ – Suite of skills, agents, and tools that make general SOTA models actually good at building and/or auditing iOS/macOS apps. Built for myself initially, I FOSS'd it once I determined how generally helpful it was. It's helped me learn a lot about doing sophisicated things with LLMs in a token-efficient way.
https://charleswiltgen.github.io/TagLib-Wasm/ – Also built for myself initially, I FOSS'd it because there was nothing like Mutagen for TypeScript/JavaScript runtimes. (I don't dislike Python, but think it's a bit of a mess.) This was my first serious project to leverage LLMs for coding.
https://pwascore.com/ – Built because I wanted to quantify how bad Safari was at PWAs. Learned that, objectively, Safari is as bad as PWAs as Firefox (which is to say, not terrible, and not to blame for why PWAs continue to be mostly-irrelevant).
I was able to create a CLI (https://github.com/gitsense/gsc-cli) without knowing Go. Like 0% Go knowledge. It is currently over 300 files (266 Go files).
I built https://sdocs.dev and use it daily. It’s a CLI-driven markdown reader which (privately) renders Markdown in the browser.
When you install the CLI, it (with your permission) asks to update your base agent prompt files (e.g. `~/.codex/AGENTS.md`, or `~/.Claude/CLAUDE.md`) with info about how to use the tool.
This means all your agent chats know about SDocs, and it’s nearly always your agent which invokes the tool: “Hey Claude, sdoc me a list of all my open MRs”, etc.
basically trying to see what a vertically integrated agent looks like, where the agent has deep access inside a framework and it operates from within a framework, so like, instead of reading files, opening processes etc - it gets a bunch of framework specific runtime tools(logs are the easiest example)
All kinds of random stuff really, but to filter it down to only the noteworthy ones:
Tuber[0] - this is my favorite, use it multiple times a week. It's just a little CLI wrapper around yt-dlp for my most common use cases - downloading the video, or the audio, or the subs. And then, if you've got the Claude CLI installed, it can also shoot the subs through Claude for a summary. I use it all the time, it's a great little thing!
Scrapio[1] - this is really specific but I was so pleased with how it turned out. You give it a list of "hacks" ("mods" for Super Mario World) and it goes out to SMWCentral, grabs each of the patch files, and patches a clean ROM. I think I only used it twice but it was just a nice way to chew through a list of hacks and get a few ROMs ready, made quick work of something that would have otherwise taken a bunch of annoying schlep work.
Lotus Eater[2] - calling this a tool is a bit undersell, but I'm still really pleased with it. It's a fan site for jamtronica greats Lotus that scrapes Nugs.net for setlist data and lets you do some mildly interesting analysis on things like song frequency and co-occurrence. Also has a per-user "shows I've attended" thing, Setlist Bingo. It's been fun to hack on.
Lastly, less a tool, more just a toy: last week Google released their Magenta model for doing live music generation. I thought it was really neat, and it's open source, so I opened it up with Claude, and after a few passes and some extremely annoying toolchain issues, I was able to add a spectrograph which does key / chord analysis to the "Collider" app, so you get a live readout of "what the band is playing" and you can pull out your guitar or whatever and join the jam with some info at your disposal. It's the kind of thing that would have taken way too much effort to be worthwhile in the past, but with AI, it's a really neat result of a fun night of weekend hacking. See the README I added in my fork for a screenshot:[3]
I wish I had time, but I would definitely make some Android apps to sideload onto my phone. They would be very bespoke and probably only relevant to me, but they would be streamlined to my life.
Well, I've been pretty active in our rec baseball team for the past few seasons, so: 1) App to help my son and other kids learn baseball IQ, and 2) Streaming app to compete against GameChanger.
It's been refreshing to say the least. :)
At work, I've created a few convenience scripts in bash and Python - the second of which I am not fluent with. So, I used anonymized LLM access to create boilerplate/simple scripts with a bit of argparse and NumPy, which I then adapted to do what I actually wanted.
Would have made them without UI with a bit more elbow grease invested in web-searching for some examples, maybe even a StackOverflow question.
Generally, I'm not a fan of LLMs and their social effects.
Over the past few days I have been making a spell checking TUI app. I used AI (meaning: free Gemini web interface) to discuss various aspects about the apps and debug compiler errors ang suggest useful rust crates for various problems.
Just a more helpful discord chat generally. It also gaslights you too!
A custom harness backed by dagger, gives diff, time travel, forking of both files and env. Building a harness is a good learning project. I'm now using other tools to see what they are like. (OpenCode is quite good out of the box)
Currently working on a markdown search and wiki backed by Typesense, also has good web search, fetch, crawl. This will power my personal knowledge base system as an important step towards more leverage and better outcomes.
It's a user daemon that runs on my machine and exposes a unix socket, and then a bunch of hooks in claude, zsh, vim, etc, that report directory and commands I've run and all that, pipes it to claude Haiku for summary, and then stores context in sqlite. It also exposes that data as MCP so I can use claude to say "hey what was I doing yesterday," or any arbitrary time range.
I find that in the age of using AI agents, "Wtf was I working on yesterday" is an even harder thing to remember for me, so this helps me kind of track everything with a database that a) has AI summaries already and b) can be accessed by AI as well as a CLI.
I've vibe coded multiple helpful apps and websites for recording data. But longer term, I'm building with its help an internal research system to organize, search, compare, analyze, and esp reuse all the large amounts of data my firm produces, with the public materials without constantly starting over in separate ChatGPT or Claude conversations.
Similar to you, the things I have truly vibe-coded (having looked at <5% of the code) are largely data focused. Data labeling, organization, etc. These applications are extremely janky, I'd never ship them to users. The UI is mediocre at best. The functionality hardly better. But the point is to get data out of them. The code is a means to an end and not a product in itself. Building a custom dataset builder in just a couple hours of work is really powerful.
Scrobble tui to track vinyl record listens on last.fm, sourced from collection on Discogs
Calibre web UI 2.0 to replace Calibre's mediocre web interface. Used for browsing ebook catalog, searching and cataloging with a simple list feature.
Project Gutenberg local mirror UI to browse my local copy of Project Gutenberg books
A couple of MCP servers for self-hosted services to give access to OpenClaw. Currently working on a daily digest that Claw will generate that includes feeds from these: what news stories were popular in my feed reader, did my baseball team win, etc.
https://offmetaedh.com
Art search for magic cards
llm-consortium: prompts multiple models in parallel, loops until confidence_threshold, and synthesizes a response.
This was inspired by a karpathy tweet and the prototype created using another tool of mine: The LLM Plugin Generator plugin.
The llm model gateway lets you serve models from the LLM cli as a an openai API. This allows you to use saved consortiums in your various clients as if they where a regular model. Bringing massive parallel reasoning to any workflow.
It occured to me at some time that an collection of parallel running LLMs is not really a consortium. A consortium is a group of organizations. A group of groups. So I rectified disagreement this by adding support for actual consortiums, where each member of a consortium can itself be a consortium of models. e.g.
llm consortium save cns-glm-n3 -m glm-5.1 -n 3 --arbiter mercury-2 llm consortium save cns-k2-n3 -m kimi-k2.6:3 --arbiter mercury-2 llm consortium save cns-meta-glm-k2 -m cns-k2-n3 -m cns-glm-n3 --arbiter cns-k2-n3
Yes, even the arbiter/judge can be comprised of a consortium of models, bringing parallel reasoning to the task of judging parallel reasoning chains.
Consortiums can also now contain groups of specialists. These custom user-defined expert characters address the prompt from a different perspective. And a Westworld style Attribute matrix can be randomized to inject some more entropy into the process.
Great project! I often check the opinion of one model against others when doing research and a sort of consensus process would save many a c/p
A few, but the one I use regularly and am quite proud of is
https://mediaden.ca - iOS app for storing encrypted photos/videos on storage I (the user) exclusively owns, with zero servers, zero telemetry, and a host of other privacy related features.
The tool I'm most proud of is "Hex Flex" (https://seidleroni.github.io/Hex-Flex-Web/). It is a tool to view and compare the contents of Intel Hex files. Should be useful to other people who work in the firmware field.
Not exactly a tool, but I also made pelohard.com which ranks the most recent Peloton classes by difficulty. Updated twice daily.
Too many to enumerate but a couple highlights (and many of these I've turned into apps):
- https://blunders.ai : Chess improvement app
- https://fretwork.ai : Freelancer management app (CRM/Billing/etc)
- https://validity.ai : Provide agents the ability to check the UI code it made (w/out needing to run through your full app)
- Save money on groceries + meal planning. This has probably saved hundreds if not $1k+ for our household at this point (some details here: https://x.com/ryanlanciaux/status/2063604299590939042)
- Orchestration / Starter Kit / Chat : Tool to help me manage multiple agent sessions at once. Some details on this one here https://x.com/ryanlanciaux/status/2063976049537417408
Lookup or modify selected text using AI (chrome extension). I just select any text and click the tiny popup button "what's this" and get an answer right there on the page. Made it mainly to explain terms and abbreviations I come across on HN often. Can also ask any other question about selected text. Can even modify the selected text the same way. [1]
OneNote to markdown/obsidian canvas converter. It did that using interop api to read the actual XML of the onenote files.
Work time tracker as 1px line on edge of monitor. Shows thin line at the edge of the display which fills up based on what i am doing.
Plaintext bookmark chrome extension that save links to local markdown file, Dynalist, Workflowy, Github Gist and import export between them. Was originally for Dynalist when AI couldn't do much 2-3 years ago. Recently added these other end points. [2]
A heart rate monitor with finger on camera. It's bit crappy though. Had to make it because many trackers, including google fit, couldn't detect 200bpm. https://github.com/SMUsamaShah/heart-rate
[1]: https://github.com/SMUsamaShah/LookupChatGPT/tree/claude/fix...
[2]: https://github.com/SMUsamaShah/plainmark
I'm working on a self-hosted search service called Hister (https://hister.org/ - https://github.com/asciimoo/hister) with the goal to reduce dependence on online search engines and AI answers.
Hister is a full text indexer for websites and local files which automatically saves all the visited pages rendered by your browser. It provides a flexible web (and terminal) search interface with offline result previews & detailed query language to explore collected content or quickly fall back to traditional search engines.
It can provide a privacy-respecting search experience for serving "recall" type searches where users retrieve previously visited content, but falls short in "discovery" type searches (yet).
This was the first AI project I ended up working on as well, except I approached from building a meta-search first. I only added support for a local index recently (via SQLite FTS 5). But I haven't shared my project, whereas you have a truly fantastic webpage for yours. Plus going the extra distance with a terminal interface and MCP server too.
Much kudos. I hope more people discover how powerful even a local search index of previously visited content can be. And I hope more people can build large indexes as well, so we're not just relying on Brave & Mojeek & Marginalia (and EUSP) to rescue us for the fallback discovery searches.
A voice memo app, quite like the actual voice memo app from Apple. The thing is: now I can put my voice memo's on iCloud put Claude Code on it and make my transcripts into structured notes that my app then also displays.
So basically a way to just go on an hour long walk with myself, spit everything from the top of my dome stream of consciousness style, and then have Claude structure whatever I said.
It's nice to have something that structures my thoughts by just thinking out loud.
I vibecoded it (it's approaching 20K lines including tests). It works quite well but there are some bugs, so will have to do some actual engineering. But the UX is working quite well.
Some free side-loadable android apps: http://badcheese.com/android
* Auto-Birthday - if you have a contact in your android contacts that has both a mobile number and a birthday in their contact info, you can choose to send them an automatic "Happy Birthday" message on their birthday at a specific time. Can do it with hundreds of contacts. Doesn't use hardly any battery or resources.
* Wrecker - stupid simple "throw a ball at a tower of bricks and try to clear the board" game. High score tables. Made in unity. High battery when in use, No battery use when not playing. Will use internet for high score data.
* GeoNote - Create Geo-fences to generate a notification when you enter a location with your custom text in the notification. My wife is always telling me, "Next time we're here, remind me to only order one piece of toast" or something like that, so I make a note, it pops up the next time we're there and we're both happy. Notes are stored locally. No internet access required. Uses Geo-Fencing which is more battery-friendly than always-on GPS access.
All my apps are free, very privacy-focused and as battery-friendly as possible.
No information leaves your device (other than the high score data in Wrecker).
You have to side-load my apps though. I'm not putting them on the Google Play Store. They're so annoying to deal with! OMG
> you can choose to send them an automatic "Happy Birthday" message on their birthday at a specific time.
Nothing says “AI enthusiast” more than automating away social interaction.
https://gitlab.com/grepular/calendiff - Point it at a .ics URL and it monitors for calendar changes and emails you about them.
https://gitlab.com/grepular/foxcage - Runs Firefox inside podman to isolate it from the host. Has some interesting features that I wanted and nothing else gave me.
https://gitlab.com/grepular/claude-sandbox - Yet another Claude sandbox. Runs it inside podman again. Has a pretty powerful proxy system for securing your credentials.
Currently working on a tool for sanitising email. Will be blogging it up at https://www.grepular.com/blog/ when it's ready for others to use. Does things like applying policies to html/svg/calendar/vcard parts to whitelist or blacklist tags/attributes/css/url schemas, clean URLs, fetch remote content at delivery time and attaching to the email to prevent tracking, pgp and smime auto encryption/decryption and a million other features.
I made a tool that creates sandboxes (docker, podman, orbstack, seatbelt, tart, containerd, kata, firecracker) and then sets up an agent (claude, codex, gemini, aider, opencode) inside it with max permissiveness (no prompts to call sed, etc).
It creates its own copy of your workdir for the agent to play in, and then you pull changes out ala git diffs or commits.
It's a MASSIVE time saver, and I use it as my daily driver.
https://github.com/kstenerud/yoloai
i built a program that watches wifi traffic and if it sees my phone connected to the office wifi; it marks me as in the office on our internal chat tool (Zulip).
And the inverse as well, of course.
Runs on a raspberry pi that I was otherwise using to take backups periodically… has been working pretty good honestly.
I also built a program that fills/submits my time reports, and does the same for all of my subordinates - then signs them off… Saves everyone like 5 minutes if we remember to do it, or 12 minutes and frustration if we’re reminded by HR about it (which happens because who the hell cares about time reports?)
Three that have been really beneficial, and all support/build on a hobby / volunteer effort of mapping mountain bike trails:
This one generates maps from OpenStreetMap data + some custom curated info in YAML: https://github.com/c0nsumer/trailmaps.app-map-generator
This one converts a basic chunk of OpenStreetMap data to an SVG so I can mark it up (by hand) in Adobe Illustrator to make specifically-styled print/PDF maps, such as what get installed at trailheads: https://github.com/c0nsumer/osm_to_ai
This one takes GPS recorded rides and builds custom/personal heatmaps serving up the map tiles so I can use them in map editing software: https://github.com/c0nsumer/local-heatmap-tile-server
And all of this has been put together to make the custom, local, specific-use-case maps that are at https://trailmaps.app (which, via local curation, are overall better mobile/online maps than many of the bigger auto-generated systems such as Trailforks, Gaia, RideWithGPS, etc, for visualizing local systems).
It's neat stuff where I understand all the inputs, outputs, and how most of it works, but AI tooling (Claude, mostly) has allowed me to bolt it together much faster than I would have writing it myself.
I've created about 20 Obsidian plugins, little tools, websites, a new storefront, etc
https://tools.dsebastien.net/
I built a half-baked CRM that has a lot of custom fields and visuals for statistics that are relevant to my potential customers. I'm selling primarily to registered data brokers, so being able to pull up their self-published compliance stats (gleaned from their own privacy pages or public filings) and contextualize them in terms of the rest of the industry ("your deletion request volume has been in the 95th percentile year over year") has been extremely helpful when starting conversations. I also gamified it a bit by giving myself targets for cold outreach and gathering hard numbers on my cadence for outbound calls and emails per lead.
I also built this site for educating potential customers and other privacy professionals about the increasing tempo of CCPA enforcement actions driving compliance: https://ccpa.world/enforcement
I could have probably coded this from scratch quicker considering that it took me two weeks to remove all of the hallucinated imaginary enforcement actions against real companies and also the citations to non-existent California law that the models kept injecting into my enforcement summaries.
I like the capabilities of C++ and imgui but didn't want to deal with C++ anymore so I had AI do it.
imping - PingPlotter-like app. They didn't have a Linux version and I'm a paying customer, so I vibe coded this one: https://github.com/zenakuten/ImPing
utcolor - text colorizer for Unreal Tournament 2004 https://github.com/zenakuten/utcolor
utquery - Unreal Tournament 2004 Game Browser tool https://github.com/zenakuten/utquery
utstatsdb - This is an old project that did not work anymore with modern php+mysql. I had claude fix it. https://github.com/zenakuten/utstatsdb
Some things I’ve used AI for the last year or so:
- small club website: https://www.kolibrinkpg.com
- ticketing system with Stripe payments and QR scanning at the door
- Instagram/media ingestion for the club site
- genealogy tool with GEDCOM import
- scripts for downloading/archiving public-domain film material
- playlist/library tooling for DJ use
- music collaboration/sync tool for Ableton projects
- normal work stuff in a much larger existing codebase
I have become a lot more strict about process after being burned a few times. Mostly: make the change small, be clear about what it is supposed to do, check the assumptions before coding, use tests/logging/manual checks as evidence, and don’t merge anything I can’t review and explain myself.
Most of it has been to maximize productivity with AI
1) Use chatgpt pro from codex cli, opencode, claude etc as you can't get it via API. This has been the biggest boost in productivity for me as I don't have to copy and paste.
https://github.com/agentify-sh/desktop
2) A small gate to make sure any agent cannot run destructive rm -rf or git reset --hard commands, it has saved me many many times
https://github.com/agentify-sh/safeexec
3) For mac users, summarizes and speaks out loud after codex finishes a turn
https://github.com/agentify-sh/speak
A terminal-native agent multiplexer built on tmux. Similar idea as herdr but wraps tmux in an outer TUI instead of replacing it entirely: https://hmx.dev
The tool that converts my telegram channel into web page with catalog of all the records where emoji used as a tags, so I can quickly find any post:
Code: https://github.com/VadimKey/xorpingtonian
Catalog (in Russian): https://vadimkey.github.io/xorpingtonian/
During vibe coding I found that emojis are not that simple as I thought about them.
Built a book rotation, reading activity tracker, OpenLibrary ebook reader for my son’s story time.
https://bedtimebookhelper.com/
After coming back from paternity leave, I found that my team had really leaned in to AI driven development. This project was half catching up and half attempting to solve the burn out from the repeated books my wife and I were experiencing.
I'm building an app that uses cosign similarity across a bunch of vectors to derive team productivity metrics. To be honest the maths is trivial; the hardest part is gathering data and normalizing it in a vaguely sensible way.
I've also built a release notes app for my QA teams, a DORA metrics app, a thing to map UX journeys with Playwright, and a ton of games and stuff. AI got me back into enjoying building things again.
Built a quant system that reads earnings transcripts for what management is trying not to say. The model is surprisingly bad at this. Turns out management is too.
A dashboard to see what my local commercial free radio station (89.3 The Current) in Minnesota is playing. It shows how often tracks are played, track and artist play history as well as some other fun lookups and visualizations.
https://theundercurrent.fm
A clone of Insomnia/Postman/Yaak for my own use: https://www.apikulture.com https://codeberg.org/Sheldonari/APIKulture
I'm close to releasing a memory safe programming language, with a declarative concurrency model, that runs on a Go-like runtime.
It has "levels" of compilation, with EASY mode being about as easy as Ruby, and the compiler can present you with options to get that as strict & performant as Rust/Tokio.
I'm going to need at least a month to finish all the documentation, though.
Oh man a few things
1. A dashboard that tracks my personal metrics (github, strava, todo completion, flossing)
2. A eink display for that dashboard
3. A realtime node graph that shows a codebase (and/or its diffs) in a way that I can visualize what functions call which, and under what conditions
4. A agent that automatically fills out government forms and creates invoices for my friends brewery based on the delivery notes in their google calendar.
We used AI to build our AI platform and now we are using the AI platform to build the tools that we need for AI. :)
But no honestly, unfortunately most tools I did for myself are not for hobbies but something that I needed for work... like this one (https://github.com/crmkit/crmkit) most recently.
I am working on my own Youtube Music/Spotify replacement, just so I can ditch the youtube premium on mobile.
Already have $180 ARR prebooked (the money that I used to pay for youtube music), looking forward for more.
if anyone has links for open-source self-hosted spotify/yt music replacement, I would gladly appreciate links
I tried to do something like that here: https://musicdocks.com/
Github: https://github.com/jantznick/youtube-spotify
It essentially uses youtube as the music source, I think I heard somewhere that playing through embedded videos skips ads but I'm not really sure, in all my time testing it I never noticed ads, but I'm also on premium so that may have been why.
by all means critique, I don't know that I have a ton of time left for it and I'm sure there's bugs here and there. I was having issues getting it to autoplay on desktop when the window itself wasn't the active tab. I never really tried it on mobile.
I was trying to get some DB of artist/song info but doing that was proving to be complicated.
I'm working on a recommendation service (which, to me, it's the piece I'm missing when I play my local mp3 collection)
I collect song metadata from various places (genre, instruments, track credits, rating). I also scrape charts by year, genre etc.
Then I run an ETL job on the json data I have downloaded, pre-building queries for extremely fast lookup tables. This gets saved to Duckdb, which is used by my go web ui/api.
It's very early days, and I only spend one or two hours a week on it, but right now it's amazingly useful. It had roughly 80k song metadata. To preview the suggested songs I ended up building a very cut-down YouTube music player, except that the playing song has all the metadata right there, and everything is a link that can take you to the artist, composer, instrument, genre, album etc. It's a great way to "wander through your collection".
Unfortunately this is only useful to me, because I targeted the music I listen to.
Next step is to download lyrics and extract song meaning, keywords etc. Then use MusiCNN, (or CLAP,OpenL3, HTSAT) to extract embeddings. Finally train my own model for nearest-neighbor retrieval based on a mix of metadata, giving the user the ability to tune it on the fly.
Did you ever have to pass Appstore review process? How do they look at copyright and stuff when you are publishing an app that plays your local mp3 collection (how does your mp3 collections ends up on your phone?)
I use agents to do most of the tedious admin for my hire business, and I built www.vessels.app to run them on the go because there was no native solution to talk to my agents. I’ve started working towards releasing this to the public because it’s so much better than setting up agents via telegram or slack.
My agent checks my session logs to look for things that I should automate. I blogged about how I got there: https://austinhenley.com/blog/automatingmyjob.html Maybe I'll share some of the skills.
A JS image pixelator: https://kremerman.me/pixelate/
Can be used to resize images, but the main purpose was pixelation for a game I was making.
https://charleswiltgen.github.io/Axiom/ – Suite of skills, agents, and tools that make general SOTA models actually good at building and/or auditing iOS/macOS apps. Built for myself initially, I FOSS'd it once I determined how generally helpful it was. It's helped me learn a lot about doing sophisicated things with LLMs in a token-efficient way.
https://charleswiltgen.github.io/TagLib-Wasm/ – Also built for myself initially, I FOSS'd it because there was nothing like Mutagen for TypeScript/JavaScript runtimes. (I don't dislike Python, but think it's a bit of a mess.) This was my first serious project to leverage LLMs for coding.
https://pwascore.com/ – Built because I wanted to quantify how bad Safari was at PWAs. Learned that, objectively, Safari is as bad as PWAs as Firefox (which is to say, not terrible, and not to blame for why PWAs continue to be mostly-irrelevant).
I was able to create a CLI (https://github.com/gitsense/gsc-cli) without knowing Go. Like 0% Go knowledge. It is currently over 300 files (266 Go files).
I made a sandbox to productively work with agents while restricting files they can read and write: https://github.com/wrr/drop
I built https://sdocs.dev and use it daily. It’s a CLI-driven markdown reader which (privately) renders Markdown in the browser.
When you install the CLI, it (with your permission) asks to update your base agent prompt files (e.g. `~/.codex/AGENTS.md`, or `~/.Claude/CLAUDE.md`) with info about how to use the tool.
This means all your agent chats know about SDocs, and it’s nearly always your agent which invokes the tool: “Hey Claude, sdoc me a list of all my open MRs”, etc.
I did a ShowHN about it here: https://news.ycombinator.com/item?id=47777633
created https://github.com/frontman-ai/frontman, not exclusivly for myself but something i'm passionate about(might turn into a paid product).
basically trying to see what a vertically integrated agent looks like, where the agent has deep access inside a framework and it operates from within a framework, so like, instead of reading files, opening processes etc - it gets a bunch of framework specific runtime tools(logs are the easiest example)
All kinds of random stuff really, but to filter it down to only the noteworthy ones:
Tuber[0] - this is my favorite, use it multiple times a week. It's just a little CLI wrapper around yt-dlp for my most common use cases - downloading the video, or the audio, or the subs. And then, if you've got the Claude CLI installed, it can also shoot the subs through Claude for a summary. I use it all the time, it's a great little thing!
Scrapio[1] - this is really specific but I was so pleased with how it turned out. You give it a list of "hacks" ("mods" for Super Mario World) and it goes out to SMWCentral, grabs each of the patch files, and patches a clean ROM. I think I only used it twice but it was just a nice way to chew through a list of hacks and get a few ROMs ready, made quick work of something that would have otherwise taken a bunch of annoying schlep work.
Lotus Eater[2] - calling this a tool is a bit undersell, but I'm still really pleased with it. It's a fan site for jamtronica greats Lotus that scrapes Nugs.net for setlist data and lets you do some mildly interesting analysis on things like song frequency and co-occurrence. Also has a per-user "shows I've attended" thing, Setlist Bingo. It's been fun to hack on.
Lastly, less a tool, more just a toy: last week Google released their Magenta model for doing live music generation. I thought it was really neat, and it's open source, so I opened it up with Claude, and after a few passes and some extremely annoying toolchain issues, I was able to add a spectrograph which does key / chord analysis to the "Collider" app, so you get a live readout of "what the band is playing" and you can pull out your guitar or whatever and join the jam with some info at your disposal. It's the kind of thing that would have taken way too much effort to be worthwhile in the past, but with AI, it's a really neat result of a fun night of weekend hacking. See the README I added in my fork for a screenshot:[3]
[0]: https://github.com/epiccoleman/tuber
[1]: https://github.com/epiccoleman/scrapio
[2]: lotuseater.epiccoleman.com
[3]: https://github.com/epiccoleman/magenta-realtime/tree/eric-mo...
I wish I had time, but I would definitely make some Android apps to sideload onto my phone. They would be very bespoke and probably only relevant to me, but they would be streamlined to my life.
You mean ..to install.. right?
Year ago I made for myself a simple jar editor https://jar.tools, now it has 8000 user’s monthly
Well, I've been pretty active in our rec baseball team for the past few seasons, so: 1) App to help my son and other kids learn baseball IQ, and 2) Streaming app to compete against GameChanger. It's been refreshing to say the least. :)
I replaced the router supplied by my ISP with a MiniPC running Arch Linux and an Alfa AWUS036AXML.
Ive made some tools after "the advent of AI"
But I dont use "AI" to make them
I use a code generator
I like to use the smallest possible "toolchain", using the least possible resources, to build software tools
Ideally I want the tools to compile quickly on underpowered hardware
German language tutor, a midi piano tutor, and an isochrone map generator.
Static site generator for my blog, or at least bits of it.
A port of the open epaper lib used in home assistant, but cli based, and an mqtt interface to allow it to run on a different computer to.HA
https://github.com/mretallack/OpenEPaperCliTool
----- 3d printer pipeline, so its can print stuff directly without having to use the computer to set it up.
https://github.com/mretallack/3dprinter
----- Experiment with creating a Abdroid Auto app for phones that cannot run real AA. (WIP)
https://github.com/mretallack/AndroidAuto
----- A android 3d clay modeler to create models for 3d printer, with stl export.
https://github.com/mretallack/ClayModeller
----- Uk Fuel finder python lib and Home Assistant intergration for showing fuel stations from UK gov api.
https://github.com/mretallack/ukfuelfinder https://github.com/mretallack/ukfuelfinder-ha
---- Reverse engineer cheep drone video feed, from drone found in charity shop
https://github.com/mretallack/DroneCamera
---- App to send voice to camera using mqtt.
https://github.com/mretallack/CameraSpeaker
---- Added ONVIF to an oss rtsp android app.
https://github.com/mretallack/cams
---- Added Home Assistant to Dicio Assistant.
https://github.com/mretallack/dicio-android
---- Added telegram bot interface to kiro, with group support.
https://github.com/mretallack/kiro-remote
At work, I've created a few convenience scripts in bash and Python - the second of which I am not fluent with. So, I used anonymized LLM access to create boilerplate/simple scripts with a bit of argparse and NumPy, which I then adapted to do what I actually wanted.
Would have made them without UI with a bit more elbow grease invested in web-searching for some examples, maybe even a StackOverflow question.
Generally, I'm not a fan of LLMs and their social effects.
Over the past few days I have been making a spell checking TUI app. I used AI (meaning: free Gemini web interface) to discuss various aspects about the apps and debug compiler errors ang suggest useful rust crates for various problems.
Just a more helpful discord chat generally. It also gaslights you too!
Here is the tool: https://git.sr.ht/~asibahi/hoopoe
A custom harness backed by dagger, gives diff, time travel, forking of both files and env. Building a harness is a good learning project. I'm now using other tools to see what they are like. (OpenCode is quite good out of the box)
Currently working on a markdown search and wiki backed by Typesense, also has good web search, fetch, crawl. This will power my personal knowledge base system as an important step towards more leverage and better outcomes.
https://github.com/verdverm/gmd
Claudhd
It's a user daemon that runs on my machine and exposes a unix socket, and then a bunch of hooks in claude, zsh, vim, etc, that report directory and commands I've run and all that, pipes it to claude Haiku for summary, and then stores context in sqlite. It also exposes that data as MCP so I can use claude to say "hey what was I doing yesterday," or any arbitrary time range.
I find that in the age of using AI agents, "Wtf was I working on yesterday" is an even harder thing to remember for me, so this helps me kind of track everything with a database that a) has AI summaries already and b) can be accessed by AI as well as a CLI.
I've vibe coded multiple helpful apps and websites for recording data. But longer term, I'm building with its help an internal research system to organize, search, compare, analyze, and esp reuse all the large amounts of data my firm produces, with the public materials without constantly starting over in separate ChatGPT or Claude conversations.
Similar to you, the things I have truly vibe-coded (having looked at <5% of the code) are largely data focused. Data labeling, organization, etc. These applications are extremely janky, I'd never ship them to users. The UI is mediocre at best. The functionality hardly better. But the point is to get data out of them. The code is a means to an end and not a product in itself. Building a custom dataset builder in just a couple hours of work is really powerful.