Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Have you coded any productivity software just for yourself?
51 points by marckohlbrugge 5 months ago | hide | past | favorite | 93 comments
I posted this question on my Twitter and got a lot of interesting replies[1]

Curious to hear what HN is building for private use.

[1] https://twitter.com/marckohlbrugge/status/1786658603769991375




Yes! back in 2001, I wrote a set of tools I called Ted's Toolbox, to help me with GPS, astronomy and coding things I needed. It's in Java (with Swing UI), and free today. I still use it several times a week. Download the toolbox here (get the folders too), and you must have Java installed. Then run the .jar file. https://www.dropbox.com/scl/fo/i9rqkcpqe3a742vkx29w8/AMuBUYs... Source is here: https://github.com/tdriver/JavaProjects/tree/main


Yes! Finally something relevant I can post to hacker news

I use this little script https://github.com/jmacc93/paste-to-tmux-script daily. Its for pasting your current clipboard item to a target tmux session, along with very simple dsl for controlling which tmux target to send to, opening the tmux target, killing tmux sessions, etc. It makes a vastly, vastly better and more productive repl for me. The workflow for using it looks like typically is like: use `@sw name_of_target`, `@open`, `name_of_executable`, then move my cursor to something I want to evaluate, use ctrl-c to copy the line, and ctrl-. to send it to tmux

I think I've changed stuff around since I last updated that repo, though, but the general idea and skeleton is there, if anyone wants to use it / hack on it. And I'm gonna do a rewrite of it soon, I think, so that instead of using a dsl (the `@...` forms above) it uses `!...` or some similar form to execute arbitrary shell commands

I'm hoping to (soon hopefully) integrate it with my https://github.com/jmacc93/noca notebook canvas program as well


Why yes! This is how I got into software development in the first place! I wrote all kinds of silly programs. First ever "serious" piece of software I wrote was for my parents, to help them calculate their taxes. In Borland Pascal, no less. Another time I had an old keyboard where one key stubbornly produced two key press events every time I pressed it - wrote a piece of software to intercept those and translate into single key press events. Slightly more recently, a program to parse my bank statements from PDF to QIF, because my ** bank doesn't have a QIF download (not even CSV). Etc., etc. And this is the kind of stuff I was/am truly passionate about!

Was lots of fun. I still do write "personal productivity software" (never call it that way, though). But the truth is - most of these issues are either already solved today or don't exist as a problem in the first place, provided you can afford paying for a solution and value you time more. Which is a good thing, but slightly less fun.


I built a platform for developing "mini" webapps. My thesis is that "one size does not fit all" in many domains, such a productivity, life-logging, health tracking, etc. So by using my platform you can build many useful apps with just JS code that runs in the browser and syncs back to a "primitive server" (the server just implements a couple of basic operations). In principle you can use any front-end framework, but in my work I just use vanilla JS that composes HTML strings and plugs it into div tags.

Main repo: https://github.com/comperical/WebWidgets/

Open core install guide: https://github.com/comperical/WebWidgets/tree/main/server/sc...

Home page (currently rehabbing): https://webwidgets.io/


This is super cool. I don't know if motivation to build custom widget but very nice architecture.


* Simple markdown-like markup language with math support for my website/blog. I did it so that I get nice SVG equations that show up without things jumping around all the time while it's rendering. https://github.com/dllu/dllup

* Some janky scripts to download photos from my camera's SD card and upload it to my Backblaze B2 for sharing: https://github.com/dllu/pupphoto

I also have a personal "new tab homepage" with links to my favourite websites, forms for my favourite engines/search etc, the current weather where I live (with temperature in Kelvin), and the current date/time.


> * Simple markdown-like markup language with math support for my website/blog. I did it so that I get nice SVG equations that show up without things jumping around all the time while it's rendering. https://github.com/dllu/dllup

Nice design and nice page :) I was wondering whether I should post my own take which has a set of similar requirements, too, but figured that at least currently it does not give much “productivity” but is more of a free-time activity for myself.


Reminded me of a tool that I created and use daily (and that I need to get back to adding some functionality to!) Among the things I need to do are... add a readme! But it's a low friction (for me) way to keep a log of what I've done. Basically just a digital notebook, inspired by the lab notebooks I saw whenever I went to my dad's chem lab when I was young and what we like software to do when it changes something. Keeping a record of what you've done has been incredibly helpful for me and I've gone back and referenced it many many times.

I happen to write in an obsidian-friendly markdown syntax but it's not enforced. Day and year headers are added automatically and each entry is timestamped.

https://github.com/bryan-lott/rust-lab-log


Yes, quite a lot (but eventually shared with other people); examples:

- https://github.com/rochus-keller/CrossLine

- https://github.com/rochus-keller/FlowLine2

- https://github.com/rochus-keller/WorkTree

- https://github.com/DoorScope

The first one I'm still using every day and there are several hundered downloads each month.


You've got pretty impressive ideas and projects on GitHub.

I think you would get way more traction if the build instructions from hell would be eased up, and libraries would be managed with a package manager like [1] conan.

Is there a specific reason for not using a package/dependency manager in your projects? I mean, at this point, git submodules would be easier, and that's not something good to talk about because of all the --init --recursive pitfalls.

[1] https://docs.conan.io/2/tutorial.html


Thanks.

Getting traction is not the primary goal ;-)

Actually CrossLine, which is the tool I still use and maintain, is pretty easy to build. When I implemented these tools, there were no package managers; and I actually don't like tools, which download an unbounded number of misterious things of any size, but prefer to be in charge myself.

And that is precisely the advantage of open source: if someone thinks that something can be done better, they can just do it.


I have created Bartib a time tracker for the command line: https://github.com/nikolassv/bartib. I needed something to track my activities at work. All other solutions that I tried out where too complicated as they often targeted whole teams, included accounting options that I don't need or were just an usability nightmare.

When I created Bartib I tried too keep it as simple as possible which meant for me a CLI tool. Choosing a plain text file with a really simple structure meant I didn't need to implement all features right away but could always fall back to edit the file in vim.


Been searching for the same and stumbled on Toggl Track which does a really nice job for me. Popup reminder ever xx minutes.


I created a simple to use "Pomodoro" timer that uses Pomodoro technique to improve productivity. There are tons of these out there but I only wanted some thing that's dead simple

https://github.com/LeeU1911/try-pomodoro/tree/master

Unfortunately it no longer runs on herokuapp a while ago but still could be use locally very quickly if one has `node` and `grunt` installed


I have very many tools just for myself on all platforms I work on/with. I tend to automate whatever I do (or anticipate to do) more than once. I started doing this in the 80s.


This is where I'm at currently.

I'm finally in a position to be able to create custom scripts (Powershell) to help automate tasks. The ease of using Powershell+SQLite to creat minimalist "programs" has been incredibly addictive.


Oh yes, I have.

It is called Black Screen for Windows. With it, you can make your screen black by pressing a key combination.

I set it up to make my screen black for 5 – 7 minutes after every 30 minutes of work. It forces me to take periodic breaks, not to sit at the computer for too long.

It is a cool tool to refresh attention too.

Feel free to check it at https://blackscreen1.com/


Several Python scripts and Chrome extensions to bookmark articles on the web to Pocket and Anki, so that I can be reminded of interesting articles in the future using spaced repetition. These are for personal use, so not completely documented, but anyone interested in using them can email me or open issues on Github.

- https://github.com/telotortium/anki-note-saver - Chrome extension to save articles to Anki

- [telotortium/anki-math-ocr: OCR Anki images using Google Gemini Pro](https://github.com/telotortium/anki-math-ocr)

- [telotortium/anki-year-delay: Reschedules Anki notes with a certain tag into the future.] (https://github.com/telotortium/anki-year-delay)

- [telotortium/anki-articles-to-org: Export Article notes in Anki as individual Org-mode files to a directory](https://github.com/telotortium/anki-articles-to-org)

- [telotortium/pockexport-to-anki: Create Anki cards from your Pocket saves](https://github.com/telotortium/pockexport-to-anki)


- Terminal UI for GPT-4/Claude/etc [1]

- Terminal UI for GTD-like task management, backed by a Logseq database [2]

- Simple CLI for querying Kagi (Google Search alternative) [3]

[1] https://git.sr.ht/~bsprague/gpt4-tui

[2] https://git.sr.ht/~bsprague/logseq-ui

[3] https://github.com/bcspragu/kagi


Yep, a Telegram bot to "track it all": https://t.me/geektrackbot


I haven't released it yet, but I've been working on (and using) a clone of OmniFocus. It'll be open-sourced soonish, though I want to get it into a slightly better state before I do.

I love OmniFocus, it's good software, but my current job is really paranoid about third-party apps that phone home in any capacity. While I'm aware that you can point OmniFocus to a custom WebDAV server, there's always a risk that I forget to do that, end up sending something mildly proprietary to a third party and then getting in trouble. If I code it up myself, I do not have to worry about that; it will only send data to places where I tell it to.

OmniFocus also has the disadvantage of being Mac+iOS only. I currently only have an iPhone and a Mac so that works well enough, but when I had an Android phone for about five months last year I really ended up missing it.

Obviously there are millions of TODO apps out there, but I really like OmniFocus' project layout and reminders and the like, and it actually fits the ClojureScript + Re-frame model reasonably well.

Right now I'm just doing some Electron stuff, but I will probably start working on a port to React Native when I do the phone port, if I can get that working with ClojureScript.


Productivity software for myself:

I have added an undocumented option (--ical URL) to my script `mai3bar` that by default displays CPU, RAM and HDD usage alongside a wall time clock. When the `--ical` parameter is added, it detects whether there is an appointment within the same working day and counts down the minutes to it. Once the event is 15min away, it turns yellow and then red at 5min to go. This way, I can attend the events without having any distracting prior ”notifications”. Just occasionally glance the colors in the status bar... <https://masysma.net/32/i3bar.xhtml>.

Another productivity measure was to write down many of the “vector workflow” commands that I use to pre and postprocess various graphics, including making aliases for hard-to-remember syntax of commands (rsvg-convert ... -> svg2pdf here: <https://github.com/m7a/lp-conf-cli/blob/master/svg2pdf>). The vector graphics stuff is collected in a long, searchable document here: <https://masysma.net/37/vector_workflow.xhtml>.

My start page “Information and Links” helps me to quickly access the accurate and applicable documentation for some programming environments that I work with and allows keeping a list of links in the same UI <https://masysma.net/32/ial.xhtml>. Complete with VI-inspired key bindings :)


Yes. I'm an avid qutebrowser user, and I have a voracious appetite for learning, reading, and perpetually unfinished projects. So I created a tool to help me organize information in qutebrowser very effectively and I use it daily. It's basically like OneTab but for qutebrowser. The entire UI is just HTML files, since they're browser native and simple, and can be opened in any browser you like. No unneeded complexity.

https://codeberg.org/mister_monster/tab-manager/

I also wrote a little script for converting Firefox open tab export text files into HTML compatible with this tool, I haven't published it yet, I want to implement doing that with chromium based browsers as well before I do, but it will basically enable you to import your open chromium and Firefox tabs as sessions in tab-manager in qutebrowser, and it's not limited to that, since it's just HTML you can open it in any browser you like. If you care about that just check my codeberg in the future some time and see if it is there.


I have built a few different pieces of software around the idea of pacing. The idea of pacing is that if you can measure the progress of something (i.e. current/goal), you can compare that to the time progress (i.e. elapsed time/total time) to tell you how far ahead or behind you are from completing the goal in time. Basically, you can tell if you are "on pace" with any measurable goal. If you're not on pace, it can tell you how much you need to do to catch up.

I used this to write papers by putting in how many words I needed to write and how many words I had written into a web app that I made for pacing. I made a widget for my watch that shows me if I am on pace with how many steps I want to take every day. And the big one, using it to pace out when I spend time on distracting apps on my phone. If the amount of time I have spent on distracting apps is behind the pace, then I can use the app otherwise it kicks me out.

I'm sure they are more applications I haven't thought of. I haven't made the code public yet, but I could if people are interested.


Huh! I think I'll respond just for the sake of adding to the conversation: otherwise I mostly just lurk in here.

I read a lot of books on my Kobo e-reader and I wanted a way to retrieve the highlights of each book (a highlight is the result of gesturing over a piece of text, locally saving it on the device). But a given sentence could flow over to the next page, or a highlight could have been poorly taken (due to the previous reason, or sausage fingers, etc.) — and so I needed to retrieve context for each highlight as well.

Since I use TiddlyWiki for my personal "second-brain", I created a simple tool (using Textualize, a terminal user interface framework for Python) that retrieves highlights, provides context and allows for live-manipulation of context to achieve the correct highlight to save; it then makes a tiddler out of it. It's neat!

Here's the github if you want to have a look. It's not really anything professional, but it has been doing the job for me.

https://github.com/paotsaq/kobogarden


This is really cool! I don't have a kobo - though I've been thinking of getting one of the new color ones. This gives me another reason to consider one :-).


I have my own shell scripting replacement that I use for all my scripting tasks now. It's based on Kotlin and has a lot of quality-of-life features that bash/zsh/python etc don't have.

I uploaded the docs to share the details with friends and it can be downloaded [1], but at this time it's not productized in any way. The public-facing docs are incomplete (there are more that I have private), it doesn't commit to backwards compatibility, it needs to be faster to compile scripts and I'd need to improve the IntelliJ plugin etc.

Every so often I think about open sourcing it so I can use it in more contexts than just private use, but running open source projects can be a lot of work, it depends on some libraries that would have to go first, and I have customers to attend to so I just end up not getting around to it.

[1] https://hshell.hydraulic.dev/14.1.100/


I built a RSS feed viewer (https://rss.nkit.dev/) that is also a podcast and youtube player. I wanted it to be my primary window to wide west of internet. It is still work in progress but I'm happy that I can listen to podcasts/watch_videos on it without being pulled into recommendations. To use, give it a link to raw text file with rss feed links on separate lines (I use github gist for this), I know I should use OPML when the time comes.

I also built an android launcher (https://github.com/nkitsaini/nkit-launcher/) that has a single page grid of big icons as home page. I keep all non time consuming things on home-page and everything else I need to search for. I never see original icons of the app in my launcher.


Not super fancy & most people have moved on from Bash to ZSH these days (or at least feels that way), but [1] is mine for managing bash. The big features are breaking down a big giant mess of bashrc into reusable modules that you can take from company to company and between OSes. Better PATH management out of the box too. You just append a set of paths to add and if you reload the path module it'll compute and apply a delta instead of just blindly appending (it'll also remove paths no longer listed). You can also indicate which paths should be prepended instead of appended. There's also out of the box features like git/hg support for inserting the branch/feature name, colorizing PS1, injecting the status code of the last run command, etc.

[1] https://github.com/vlovich/bashrc-wrangler


Too many to count, over decades. Ranging from small scripts to full-fledged applications. Some get used weekly (if not daily) after years, some much less so, since conditions and environments change.

The one that had the most impact on my physical life: many years ago when I had RSI, even clicking the mouse button was a pain. I wrote a utility that looked at mouse movements, and when the mouse stopped and remained still for a second or two, automatically "clicked the mouse button". So I only had to move the mouse and wait a little, and clicking became automatic. It was pretty straightforward to implement on X11, my environment at the time. Later I wanted to have the functionality on Windows but never found anyone who knew programming that platform that well (I don't even know whether it's possible).


I made https://github.com/JoshuaEstes/pms to help me learn different shells and to also make it easier to work on the CLI for me. It makes it a lot easier to setup my laptop and such as well. It also helps me manage my dotfiles.

https://github.com/JoshuaEstes/CheatSheets was used to help me learn different shortcut keys for different programs and apps (tmux, vim, mutt, git, etc.). It's just a collection of what I found useful or found myself always looking up the same stuff. Now it's mostly used as a reference from time to time.


I'm building my own AI Agent/Chatbot, with enhanced multi-modal capability [1].

It's still early, and since I'm still learning Python and Gen AI/LLM in general, it's a bit difficult. But I've got too fascinated to learn experimenting on building my own AI Agent or just Chatbot, that could helps me, first to learn, secondly to help me with learning about new models capability and LLM landscape.

And I also open source it, fully on GitHub.

My mantra is learn by doing, and by doing, I also want to share with everyone in the open source community since most stacks and resources I use to built it is from GitHub.

[1] https://github.com/vinhnx/vt.ai


I've made simple tool to make invocation traces in java. I had to fix errors in BIG project where sometimes invocation goes throught several layers (gui -> local coordinator -> remote coordinator -> remote server and result back again through another round of functions back to gui) and some of the interactions are configurable at runtime. So I've made java agent which can install logger in methods and classes specified by regex (like "com\.company\.project\.class\.method\(.+"), which then logs all calls along with arguments. VERY usable for checking which path was actually taken for invalid executions. Not in releasable state yet, but I will someday release it.


I recently built a cli called "standup" which given a git sha, will pass the diffs + commit messages to an LLM and produce a standup message.

I still edit it a little but it saves time and means I never forget about stuff unless ofc it's not tracked by git.


What's a standup message?


I'm guessing it's a paragraph of text that you recite every morning at the daily stand-up.

"I did X yesterday, starting Y today, no blockers."

Stand-ups are such a waste of time.


Only if you talk about things other than blockers (and say hi to your teammates). Standup isn't a status update, etc.


In the agile/scrum world people often do a daily "standup" meeting where you go over what you did yesterday and plan on doing today.

Many of the teams I've worked with recently have moved to doing this async with a "standup" message in slack etc.


That's really cool, do you mind sharing?



I made a little platform to house some of my simple tools. It is part REPL, part form-builder. All tools run on the client, which constrains what is possible, but still proves useful for many basic applications.

For example, convert Word to Markdown… https://www.takeymakey.com/convert/files/word-to-markdown/

Or this quick anagram checker… https://www.takeymakey.com/calculate/text/anagram-checker/


I am building my own web platform based solely on web standards, without relying on any CLI or frameworks.

--- https://RTCode.io is my real-time web playground with 2-way IO sync.

(Check out the multi-device remote sync video on the home page!)

I created this playground while working on https://try.WebPDF.pro PDF web components. It allowed me to view and edit the light DOM state of my components without reloading the page and losing the DOM state.

---

https://RTEdge.net is the edge network where the playground deploys code.

You can code an in-editor service worker on RTCode.io (which works inside the editor and keeps its internal state until you edit it again) that deploy to the edge with a single click. Edge workers are paired with enterprise-grade storage options KV, R2, ...

See https://new.rt.ht → Backend for more details.

Deployments can be edited by appending '?' at the end of the pathname: <https://new.rt.ht/?>

Code Versions is a new feature I am working on that gives users full history, diffs, rollback, and a whole lot more!

---

Both the web playground and the edge network will launch publicly in 2024 (around Christmas?), after being in closed alpha for over a year.

(I say closed but anyone can Sign in with a provider and start deploying code today. Editing does not even require sign in.)

They have already proven to be incredibly useful for several teams who appreciate the power and simplicity of web standards.

Upon launch, these platforms will position themselves between CodePen and Vercel, offering superior features while maintaining laser-sharp focus on speed, efficiency, and the discipline to say no to bloat, hype, and complexity.


Yes, I have written extensions or simple functions for emacs.

My latest one is a minor mode called markdown-notebook [1]. It lets you add and execute python codeblocks into markdown files. The results of the codeblock are inserted just below the codeblock. It's a reasonable way to add code examples to your readme or github wiki without having to copy and paste things from the terminal.

Still need to do some work to get it to paste images (say from matplotlib) into the markdown document.

[1] https://gist.github.com/abdullahkhalids/83055b1abbd2cdf2416a...


1) mass-ssh utility, that knows how to deal with cisco/juniper network equipment

2) llm use utility, so I can have llm conversations by editing documents (need to update this for llama3-70b btw, it works pretty well, and it's very reproducible. Or rather I made it reproducible)

3) my website, to help my kids through their classes. Half the pages/exercises were made by the LLM utility from point 2.

4) something to check the school website and get grades and ... of my kids, to help them pass the year (they've had to change languages multiple times in the past 2 years)

5) an attempt at automating something I like to do for my kids: create stamps with 3d printing


My AArch64 reverse engineering tool has been incredibly useful to me: https://s1.danielc.dev/re64/ I use it almost every day.


A web-based "note taking app with weird functionality I want, with a bit of an Acme feel" is the latest one (README severely outdated, but I post screenshots and screen captures of new features in Twitter to leave myself a track record to update it) https://github.com/rberenguel/weave

Somewhat earlier, expiring tabs for Chrome https://github.com/rberenguel/bestBefore

Most of my projects are in one way or another scratching my own itches.


I've been working on an app that helps me track job applications and interviews. It includes a Chrome extension that let's me easily save job descriptions, company information and contacts from LinkedIn. I also use AI to parse the job descriptions, etc. Prior to this I was doing a lot of copy and pasting in a giant spreadsheet.

The next feature is to start pulling down jobs from LinkedIn and other job boards and apply very specific filters based on my wants, experience, etc. The filters on most websites never seem to be good enough for my needs.


A python script that lets you turn the Apple Health export.xml (wild schema!) into a 5 column .parquet file

  - type (string)
  - value (string, mostly float numbers)
and 3 datetime cols:

  - start
  - end
  - created
https://github.com/atlaslib/atlas

tweet: https://twitter.com/__tosh/status/1783904471212335366


A small but extremely useful shell script which can be run with the 'f' command. It fuzzy finds over a subset of directories and pulls the path I want. I can then pick from a series of small workflows with a single keystroke such as jumping to the directory and running a 'ls', opening the file, opening the file in a text editor, opening the file in Mac finder, searching for text within the file or directory, etc. It has mostly replaced most terminal navigation and has been extremely useful.


We use time tracking at work and I have a daily goal that I need to meet. I wrote a small Vite React app to visualize how well am I doing on a given day, week, month, how many hours I need to make up, how many I'm missing, etc.

The coolest feature is probably the dynamic SVG in the favicon that shows the daily progress.

I wrote it to motivate myself, but in reality it was actually a fairly significant demotivator unless I actually met the target consistently - then it suddenly became very motivating to keep the streak going.


If you're an emacs user, coding quality-of-life one-offs in elisp is all you do.


I like to write mini apps and browser extensions for myself, half because it's useful and quick, and half because it's just a darn pleasure to code in Elm so I take any excuse I can to do so. Here's one:

- Battle Objectives (demo in the README) a web app to automate generating battle objectives in the tabletop game Gloomhaven. https://github.com/tristanpendergrass/battle-objectives


I'm a front-end developer who specialises in Typescript. I made a Home Assistant add-on that allows me to code all my automations in TS with type safety and autocompletions. Once I had been using it for a good few months and saw its potential, I put some effort into making it open source, although I'm pretty sure I'm still the only user

https://github.com/TypedAssistant/TypedAssistant


- A replacement for Google Desktop Search, a mini python app that puts up a textbox that can launch a Google search after me clicking Ctrl Ctrl anywhere.

- A script that syncs my work calendar to my private calendar.

- A GUI app to manage my Jira worklogs in a calendar view, after my company decided to ditch the Jira plugin providing that functionality as it was expensive and unstable. https://github.com/marczellm/NWork


I'm not much of a developer, but I found these useful:

1) An auto-start manager for i3/Sway. A script around a structured config... with things I want to run on-login, under certain circumstances.

When a work day, when the weekend, etc. Conditional automatic setup of my apps, windows, and their arrangement

2) A note taker/organizer, run by the first thing. Basically a wrapper around 'vim' with a calendar week per file/tab. I open this week and the previous week by default


I made a bunch, as far as I know I'm the only one using them:

An advanced TODO list app with calendar and development-oriented features: https://github.com/DexterLagan/todo-master

A MySQL database manager: https://github.com/DexterLagan/database-master

A CSV->SQL tool: https://github.com/DexterLagan/csv-to-sql

A one-click invoicing tool: https://github.com/DexterLagan/invoicer

A photo folder organization tool: https://github.com/DexterLagan/picture-mover

A photo dupe killer (fixes botched Adobe imports from SD cards and cameras): https://github.com/DexterLagan/delete-duplicate-pics

A Hosts file installer for winhelp2002: https://github.com/DexterLagan/hosts-installer

A tax filing helper: https://github.com/DexterLagan/tax-helper

A CSV file analyzer for programmers: https://github.com/DexterLagan/csv-analyzer

A tiny Web browser meant to automatically search for text on the clipboard: https://github.com/DexterLagan/auto-search

A clipboard dashboard-type app: https://github.com/DexterLagan/paster

A Gnome .desktop file generator: https://github.com/DexterLagan/launcher-maker


I programmed a garden planner just for myself, to keep track of cultivars in the orchard and rose varieties. Originally it was to let other people help me design the garden, but now I have garden design nailed down (well, for this year).

https://garden.simonsarris.com/

A few people have asked me to make it generalized so they can use it too, but that might take some time. Maybe in the winter.



Most of my shell work is encapsulated in a helper script, which is capable of doing things like querying our build server, looking at properties of pull requests, etc.

I'm often glad I wrote it to print out the command it's going to run before running it, because none of my coworkers want to use my helper script, but they've many times asked me to for some obscure command that I encapsulated in it and don't actually remember myself.


I wrote a serverless browser app called Gojira that assists in organizing and opening Jira tickets quickly and easily, and it even keeps a history of what I opened. I use it every day.

Edit: I forgot I also wrote a JS utility called SJS that encodes a JS object to a base-64 encoded and encrypted string and then decodes it back to a JS object, using my own cipher (it’s similar to symmetrical encryption). I use it professionally and on personal projects.


I did just for myself, but open sourced it: https://github.com/bjarneo/LFG


I recently built a quick grammar fixer, leveraging the Alfred[0] MacOS app and OpenAI, if that counts for you. It's open source, and the demo video is cool: https://github.com/alfonmga/grammar-fix-alfred-workflow.

[0] https://www.alfredapp.com


Sort of.

I created my own static site generator. It allows me to work faster, fully offline, with version control and on slow hardware (at the time, a 12" Macbook). It made my work much easier than when I did updated content through a CMS.

Aside from that, a lot of small optimisations. Sublime Text build systems, shortcuts to switch between projects, SSH aliases, clever dotfile functions, deploy-on-push, and so on.


Most of the software that I put out for others, I design for myself.

An example is my Rift Valley Timer[0] app. I use it all the time, but it isn't very popular with others.

I just believe that everything I do, I apply myself as if it was a shipping product.

[0] https://github.com/RiftValleySoftware/ambiamara


A variation on the pomodoro timer, where you get promoted when the segment ends, but the clock keeps ticking. You have to manually move to the next segment, and the app times actual time spent per zone.

This lets me use this for tracking efficiency, not just structuring the day. I also find it excessively rigid to force myself to stop a work segment on precisely 25 min tick.


What do you mean, promoted?


s/promoted/prompted/

(Can't edit anymore)


My most used tool is a command line script I made which takes copied text input and applies some formatting to it, with flags that control what exactly is done. The primary use-case is formatting text from Excel documents/csv into SQL lists or table inserts. It's saved me tens of hours at least in the ~year since I completed it, maybe more.


I've created: 1. a very minimal bookmark app, 2. a completely local (localStorage) markdown notes app, and 3. now working on a local Kanban app (like a local Trello).

1 and 2 are publicly available. Apart from tweeting once about the second app, I didn't post links anywhere so it almost satisfies the "just for yourself" criteria.


https://aihelper.bot/ was a combination of testing some APIs and scratching my own itch.

Now arguably filtering Twitter isn't the apex of productivity software, but if I can get my news and out without wasting eyeball juice on trolling, that's a win :)


A personal website built with markdown and javascript. A website generator to keep that personal site up to date. A utility to download and parse Electronic Programme Guides to schedule TV shows I want to watch. Scripts to build dynamic email signatures for my multiple email accounts. Many others that I no longer use.


I started efforts on a script to take voice recordings from my iPhone and transcribe them into markdown I can load into Obsidian. I still like to take handwritten notes, but it is tedious to always type these out into Obsidian.

This solution lets me just quickly read them in to the default voice recording app on the iPhone.


Not exactly coding but I have been nerding out of Alfred workflows. With the ability to open browsers tabs based on url patterns and fire JavaScript or click the mouse on x,y coordinates I am saving a lot of time of repetitive actions. I’m not sure how I lived without Alfred for so long.


Got any code examples you can share? I’ve been using Alfred as a glorified app launcher forever (with a few ither integrations) but never did anything too fancy with it.


I wrote a command line tool for myself at work. We have a microsurgical architecture and the tool uses the project configuration of the current directory. I can quickly connect to the right db, show credentials for the db or redis or other services and quickly connect a remote debugger.


I gave up fighting Trello's new editor which kept fetching and auto-linking http addresses and I made my own Trello using SQLPage + htmx. It's even better than I expected because it's not shunting megabytes of json around and polling Atlassian's servers every second.


I've built a programmable tooltip on Mac for using at work. You write your own provider script.

You can select a text on any app and activate a tooltip to do things like jumping to a URL using that string, converting epoch millis to date. I used it possibly hundreds of times a week when I worked at Stripe, mostly for object lookup.

Here: https://apps.apple.com/us/app/universal-tip/id1495732622

The difference between this tooltip and other tooltips like PopClip is that the tooltip runs in App Sandbox, doesn't request any permission, and doesn't see anything except the selected string that you use for activating tooltip. It's extremely privacy-focused.

Then, I also built a mouse utility, so I can activate the tooltip using a mouse button: https://apps.apple.com/us/app/noo-mouse/id1514904040


A lot of small automations. Probably the most notable one is my vim-mode for macOS Finder (implemented as a Karabiner-plugin): https://github.com/chrisgrieser/finder-vim-mode


I wrote some scripts that I bind to hotkeys: speech to text, answer the text from clipboard https://github.com/samoylenkodmitry/Linux-AI-Assistant-scrip...


I went mad trying to find good domains for new projects, and while instantdomainsearch was good, their suggestions were unusable. So I created comsensei.com to get a list of really good .coms that are still available (actually available). It's been amazing so far!


This _probably_ counts?

I moved from iTerm2 -> Wezterm and missed itermocil. So, I wrote a replacement specifically for Wezterm called weztermocil.

https://github.com/alexcaza/weztermocil


i made a simple app to print todo lists since i use mostly pen and paper to keep track of tasks

printodos.com

it’s open source



Printed a page. It worked :)


Not sure if it counts as "productivity software", but I do all my everyday coding work using a homebrewed editor:

https://www.github.com/marssaxman/ozette


One of my unfinished side project is a physical time tracking. Nothing fancy, just few color buttons, an ESP32, an MQTT server and a unfinished frontend.

Just need to find the time to finish it and release open source.


A Windows WPF app to do a quick API request search for records (Contacts, Accounts) in Dynamics online CRM. Because got annoyed by slow Dynamics web page loading times.


WebExtension for new tab control, with custom shortcuts, embedded simple kanban (trello and notes).

Keeps sticky note off desktop for quick notes and easy reminders. Win/win.



Who does not? If you have the ability to make computer do things for you, or control databases, or whatnot, it's really a no brainer to make your life easier this way. You can pretty much adapt your solution exactly to what you need/want.


Windows service for tracking how much time I spend in each app.


Hundreds of scripts/apps to automate and track stuff over the years. The most recent is a wiki with a slightly modified Quill editor (no public repo). I use it to track the things I'm working on that day and to capture items as they come in. It doesn't offer much over something like Obsidian, but critically, a self-contained version can be kept in any repo and used by coauthors without them needing to know anything about Obsidian.

The most recent "from scratch" app is used to track my projects. I never felt the existing solutions did a good job. Writing my own let me customize it just for my needs (also no public repo, and really not likely to be interesting to anyone else).


So it's funny because I _set out_ to build productivity software for lots of people, I just completely failed at that goal, probably in part because I did build what I wanted, which is not what the mass market wants. Plus, design is hard and very important in the space. But I completely succeeded at building software that made my life better, at least.

I know HN sometimes dislikes relenteless self-promotion which this comment will be so I wanted to give a shoutout to two productivity apps I have no affiliation with - Inbox When Ready which lets you search Gmail without being distracted by new emails, and Unhook which lets you search Youtube without seeing recommendations, both of which I find useful for avoiding distractions.

So I made an ultimate habit tracker personalized for my desires. But I feature creeped it to death with features I want and nobody else wants. So one of the "habits" I optimize for is getting enough focused work done on any given day, which I use a time tracker for. And I like to take notes on my work as I do it so I can focus. This is called "interstitial journaling". So I refactored just the time tracking and journaling app into a new app called Interstitch

https://interstitch.app

This app _completely_ flopped on Product Hunt and Reddit as well, despite being free, for a few reasons but one is that people think "interstitial journaling" is more about journaling when its' really more time tracking.

However, it was a double-edged sword because the Reddit post I got 2 upvotes on is now the #2 Google Search result for "interstitial journaling app" which gets me about 5 new users every week. (useful lesson to be learned that sometimes the best SEO is not on your own website).

Most time tracking apps really focus on the invoicing or employee time market, understandably since it's more B2B, but I prefer my app because it's more focused on personal productivity. If you want to lose weight, track what you eat, if you want to focus more on work, track how much time you spend focusing, it keeps you honest and unveils trends. I'm also a big believer it's a helpful tool for ADHD people because "time boxing" / "calendar blocking" is very prescriptive, whereas journaling what you actually did lets you be more flexible with your specific task but still keeps you honest about your overall productivity.

Specifically, my gripe with habit trackers was:

1) They are usually optimized for tracking just a few things. But I have a _lot_ of habits I want to track - health habits, work habits, hell, giving my dog a monthly bath habit. It's not even about perfectly doing everything, it's about gathering the data so that you can view insights and understand yourself. This is also called "life logging" or "the quantified life".

2) They were too prescriptive instead of descriptive. So in my habit tracker, you can just set a goal to say "exercise every day", then if I track that I specifically lifted weights, it "bubbles up" to say that I exercised, since weight lifting is a child of exercise in a big DAG. In this big DAG, I have a bunch of "views" of different sub-trees, so my dog has his own sub-tree that reminds me to get him baths and bring him to the vet, but that's not in my daily core view.

3) I want something with both a good web and mobile experience, though there's a few other apps that do this such as Everyday, none of them also do 1) and 2). My real dream is also super slick Apple Watch integration which I started but it was too much work to build SwiftUI for mobile and Typescript for web and integrate them nicely.

So the app is called Navigoals ( https://navigoals.com ) . For reasons I still can't explain, YC actually gave me an interview to pitch it but the pitch went about as terribly as it possibly could have. Because of aforementioned feature creep, I closed signups and if I build on anything it would just be Interstitch which is simpler and more polished but Navigoals does have a Youtube demo on its landing page.

I want to say that people love to dunk on programmers building another TODO-list apps or habit tracker. I do think it's going to be a bad business strategy the vast majority of the time unless you have top notch design and marketing skills. But, I think it's a fantastic way to do things like learn a new tech stack or design stack and the end result is a tool that's optimized for your own use case. Productivity tends to be a very personalized thing without good "one size fits all" solutions , even things like Notion which try to be the kitchen sink don't have basic things like real features you need for a great habit tracker, so I highly encourage people to ignore the naysayers and build the best tool for themselves.

I can say personally that Navigoals and Interstitch both forced me to be a lot more honest about some bad habits I had and how I spent my time. For example, I was in huge denial about the impact of marijuana use on my productivity but seeing the days I used it and the clear decline in other health and focus metrics in the week I used it made me realize I had to quit partaking in it if I wanted to achieve my other goals.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: