
Ask HN: What apps did you build for yourself and why? - timojaask
A great thing about being a developer is you can make apps to your liking. If it&#x27;s simple and doesn&#x27;t take a year to build, why not make your own?<p>My wife and I have been traveling extensively in the recent months, and I&#x27;ve got increasingly frustrated with the clunky and ugly currency converters. All I want from it is just type in the number and see the result instantly. I don&#x27;t wanna be tapping input fields to gain focus, and I don&#x27;t wanna be selecting stuff all the time, I just want a minimum number of taps to get the result. Would also be nice if it wasn&#x27;t sore for my eyes.<p>So, since it&#x27;s a pretty damn simple type of app, and us being a designer&#x2F;developer couple, we rolled our own: https:&#x2F;&#x2F;www.billyconverter.com<p>And then besides happily using something that fits your needs, it&#x27;s also pretty cool to see it being used by other people around the world.<p>What apps have you built yourself just out of a need to get something that fits your needs exactly? Why? Did you publish them on Android or Apple stores?
======
clusmore
I built a web app called Bucket for tracking todos, inspired by the technique
described in this video[1] whereby you put tasks into buckets based on the
time horizon for completion.

Your tasks are stored entirely in your browser, so there's no back-end, no
risk of losing access, works offline, you can export any time, and you can
share your tasks between devices using the Sync URL. You can use it here (for
now, looks best on mobile):
[https://lusmo.re/bucket/](https://lusmo.re/bucket/)

I built it because it was easy, it does exactly what I want, and I don't need
to rely on some 3rd party to profitably monetise todo apps so that I can use
it indefinitely.

[1] [https://youtu.be/iNG1a--SIlk?t=28m48s](https://youtu.be/iNG1a--
SIlk?t=28m48s)

~~~
timojaask
That's very interesting. I like this approach. I've been using a sort of
simplified Kanban for my own tasks, but I find this time-based sorting
interesting.

Technically the only downside for me in this tool would be having to sync
manually betwen devices, as I'm constantly jumping between managing the list
on my phone and on my laptop.

I found that Trello works pretty well for my own needs, having automatic sync
and offline functionality.

~~~
clusmore
>Technically the only downside for me in this tool would be having to sync
manually betwen devices, as I'm constantly jumping between managing the list
on my phone and on my laptop.

Yeah, I can definitely agree that this is an annoyance if that's your workflow
- personally I mostly stick to my phone. I might look into whether
Chrome/Firefox tab syncing could do this for me, if I kept the hash fragment
up-to-date. Feel free to raise any issues in the linked GitHub for requests.

------
emilburzo
I agree, being able to build things that scratch your own itch can be amazing.

Some of mine:

\- a simple real time location sharing app[1] -- all the alternatives at that
time were either clunky, with time limits, designed just for driving or with
horrible privacy issues

\- an SMS app for when the Nexus 7 2013 tablet was still relevant[2] -- google
blocked all SMS clients on that device for some reason until Android 6.0, but
I managed to find a workaround

\- a way to find out the real network operator of any mobile phone in
Romania[3] -- when you switch operators, you have the possibility of taking
your phone number with you, so you can't rely just on number prefixes for
lookup

[1]
[https://play.google.com/store/apps/details?id=com.emilburzo....](https://play.google.com/store/apps/details?id=com.emilburzo.graticule)

[2]
[https://play.google.com/store/apps/details?id=com.emilburzo....](https://play.google.com/store/apps/details?id=com.emilburzo.nexus7sms)

[3]
[https://play.google.com/store/apps/details?id=com.emilburzo....](https://play.google.com/store/apps/details?id=com.emilburzo.portabilitate)

~~~
timojaask
Cool! That last one is interesting. If not a secret, does it use some third-
party service to get the operator for a given number?

~~~
emilburzo
Not a secret, just less known I would say :-)

The national communications regulations body provides the information on
[http://portabilitate.ro](http://portabilitate.ro)

Example: [http://portabilitate.ro/ro-
no-0744112233](http://portabilitate.ro/ro-no-0744112233)

~~~
timojaask
I love it when the governmental organizations release data for public use. I
wish this happend more often. Good find!

------
ioddly
I built an application for myself called meditations:
[https://github.com/ioddly/meditations](https://github.com/ioddly/meditations)

It's actually...a todo application, but focused on habit formation and
creating a positive feedback loop around a few consistent habits or projects.

I wrote it for myself because there was nothing quite like it that I was aware
of. I use it on a daily basis; I also learned a lot of frontend development by
having to maintain and use a real, interactive application.

> it's also pretty cool to see it being used by other people around the world.

It is cool! I've gotten one or two reports of people using it, despite the
fact that I've taken almost no effort to make it easy to use, and it feels
good.

I haven't published it on any stores because it's a self-hosted application --
you can keep all your data (encrypted if you want). I actually thought there
would be no market for anything like it but over the years I've learned of a
few that are making a decent revenue.

Bottom line, it's fun and rewarding to work on.

~~~
timojaask
I really like the idea of being able to track your overall progress. I use
trello for all my tasks, but it always stays on the granular task level and
it's sometimes difficult to see the bigger picture. Maybe you can explore this
concept a bit more and work on a polished product?

~~~
ioddly
Meditations actually was originally a Trello board. I built out a frontend
that gave made it easier for me to see statistics and manipulate the
individual cards (e.g. just click on one to cycle through labels). Eventually
it became evident that it needed its own backend, so it's been through a
couple large iterations since then.

I don't see it becoming a SAAS-type product, but I would like to make it easy
to download and use at some point in the future. I like working on it, but I
can only really get into major things when I have time between client
projects.

------
neilsimp1
I have a music streaming app
([https://audiostreamer.org/](https://audiostreamer.org/)) running from a
machine at home that I like to listen to at work.

Verizon FIOS loves changing my home IP address randomly, especially whenever
we lose power at home, which is unfortunately common. Since I can't know my IP
in that case without being at home, I built a super small web app that I call
Waypoint.

Essentially, every morning my PC pings the server running Waypoint. The app
stores my IP address. If the IP ever changes and I'm not at home, all I need
to do is go there to get the new one. (Yes, the website is password
protected).

All-in-all, it took probably less than 30 minutes from start to finish to get
this setup working, and it solved a minor problem in my life.

~~~
timojaask
Nice one. I used to have a large mp3 collection (now replaced by Spotify) and
would have loved to use audiostreamer and Waypoint to get to it while at work.

------
tstack
I built lnav ([https://lnav.org](https://lnav.org)) to help dig through the
log files of the product I was working on at the time. I grew tired of having
to manually interleave log messages from multiple files, so I created lnav to
do the work for me. I started it over a decade ago and have used it at every
job I've worked at since then.

~~~
virtualmic
I recently discovered it and started using it. It is pretty awesome and
feature-rich. Thanks for this!

------
pigpen34
I built CronAlarm ([https://www.cronalarm.com](https://www.cronalarm.com)) to
solve a problem I was having at my primary job. I had several dozen cron jobs
/ scheduled tasks that ran at various times of the day, multiple times of the
day, and across a range of servers. It became a little unwieldy to adequately
monitor and I too often didn't know anything was wrong until somebody
complained. So I built an internal tool to centralize the results of the jobs
and to send me alerts when a problem was detected.

There are other cron monitoring tools out there, but at the time I didn't
realize that. I didn't even look for one before building my own, actually.
After stumbling across another option online one day, I thought to myself that
if somebody was willing to pay for such a service, why not put my own out
there? I thought mine was/is different enough from the others that it may be a
compelling alternative to existing solutions. Thus, CronAlarm was born.

------
marssaxman
I've been working on a tool for analyzing my DJ track library, with the goal
of doing a little semi-supervised learning to help organize my crates, remind
me about music that might be getting lost in the shuffle, and - eventually, if
all goes well - automatically scan beatport, soundcloud, etc for new tracks
and notify me about music that might fit into my library. It doesn't actually
do anything useful yet, but even if it never comes together the way I'm
imagining, it's already been a great ML learning experience:

[http://www.github.com/marssaxman/robocrate](http://www.github.com/marssaxman/robocrate)

~~~
timojaask
That sounds like a great idea. I used to have a decent vinyl collection, and
would often forget about some of the good ones I have after not playing them
for a while.

There isn't any info on the github page. Could you describe a bit how exactly
does it organize the music?

~~~
marssaxman
There's no info yet partly because I've been trying a variety of approaches,
and I'm not sure yet which approach will work out best. The core of the tool
is a scanner which extracts an audio feature vector for each track in your
library. Armed with this feature matrix, we can apply clustering algorithms -
the most successful so far has been a Gaussian mixture model. I'm currently
working on a system which will hopefully improve accuracy by bootstrapping a
feature selection model, using metadata tags as an initial ground truth for
music similarity, thereby allowing us to reduce the actual number of features
which need to be compared.

I started out imagining that this tool would continuously update the contents
of my crates, but now I think I want it to be more of a manual process. I'm
imagining it as an analysis and reporting tool more than an organizer; I'll
ask it to identify the outliers in a given crate, or ask for suggested
additions, then choose how to arrange things myself. This way, I can use the
manually-curated organization of my library as additional training data for
the similarity model.

------
o1lab
Building REST APIs for database schemas which do not follow conventions of
frameworks (rails,django,play etc) is incredibly tedious.

Xmysql solves this problem [1]. Within 2 seconds you can serve REST APIs for
any MySql database. Other than CRUD-List APIs it has few more cool APIs and
features relating to filtering, grouping and prototyping.

[1] [https://github.com/o1lab/xmysql/](https://github.com/o1lab/xmysql/)

~~~
timojaask
This is awesome, and github stars speak for themselves. Nice one!

------
will_dev_4_food
A built a free password helper for iOS because I’ve accepted that password
reuse sucks, but so do traditional password managers. So this app takes
snippets from valid site information and uses a secure hash algorithm which
creates a binary, which I map to an string of ascii values to generate a
password. It includes a per site salt and a device specific code to counter
reverse engineering attempts. The salt can be which whatever you want, and you
must remember a final passphrase (if you use one) to get the passwords
regenerated. You have to kind of keep track of the length of these generated
passwords yourself, because it’s truncated for differing password lengths.
Anyway, on the whole imho it’s more secure than many a password manager on the
market, save that it’s still new and requires use of copy/paste buffers. But,
all of that is of course predicated on using the tool correctly, and using
caution with passwords, which you should do anyway.

The App is DyfynderX if you’re interested. The name comes from dyfnder, which
is the Welsh word for depth.

------
desaiguddu
I built a macOS App last year for managing Screen Shots.

I run a development agency and love taking snapshots from various blogs &
websites. They were getting difficult to manage.

So I created a small utility to manage screenshots on macOS.

[https://shots.mobilefirst.in](https://shots.mobilefirst.in)

Send me your feedback on this.

------
busymichael
I built [https://dndemail.com](https://dndemail.com) because I wanted do not
disturb functionality for my email. I like to only check email 2x a day, but I
would find that my workflows would often require me to visit my email (to look
up an old email or send a new email). I would get distracted by new emails in
my inbox.

DNDEmail keeps my inbox empty -- my new messages are only delivered on the 2x
day schedule. It helps me stay focused even when I have to go into my email.

On the weekends, I keep my email off entirely.

It is also in the chrome webstore:
[https://chrome.google.com/webstore/detail/do-not-disturb-
for...](https://chrome.google.com/webstore/detail/do-not-disturb-for-
gmail/plpeflfgccdjdoalphmpcahkedbabkno)

------
shanecleveland
As "the computer guy" at my office, I was tasked with printing a football pick
'em pool sheet each week of the NFL season (no way we could get everyone to
use an app). Built something that fit our needs and assumed others would use
it, as well: [http://footballpickempool.net](http://footballpickempool.net)

Another fun one that I love sharing with people:
[http://donetemperature.com](http://donetemperature.com). I love to grill, and
I am a stickler for doneness of the meat, for both safety and preference. I
found myself always relying on a web search each time, and the top results are
all for random food blogs, and the info I needed was always buried somewhere
in a massive recipe post.

------
donald544
My app Baajet was also created extensively for travelling purpose, which I
created to help me keep track of my travelling budgets with simple UI, no
reports or charts and graphs.

Just keep tracking daily budget. Plain and simple.

[https://baajetapp.com](https://baajetapp.com)

~~~
timojaask
That's cool! I can totally see this being useful. I like the logo and the
sheep :-)

I love how simple it is, but I have one wish -- when you enter an expense, by
tapping the red (+) button, it would be nice if the text field was already
selected, so I don't have to tap on it -- would save one extra step. Then,
once you select the text field and enter an amount, the next problem is that
the continue button (>) is hidden below the keyboard, so I need to somehow
dismiss the keyboard in order to proceed. Would be cool if you could tap the
keyboard "return", or "OK" button to proceed.

Otherwise really nice. I like the simplicity of it very much! Good job!

------
Artemix
I built an image sharing utility connected to a friend's service, because I
wanted to be able to directly share an image from anywhere on my phone without
going on his website.

[https://pix.artemix.org/](https://pix.artemix.org/)

~~~
timojaask
Nice. I was actually looking for a simple image host with an API that I could
use for a personal project, and didn't know about Pix. Ended up using
Cloudinary, which is way overblown for my needs. Maybe I'll make an iOS port
of your app!

~~~
Artemix
If you do so, don't hesitate to contact me so I can also advertise it, and
send the information to the service's owner, a friend of mine.

------
pattle
I built
[[https://scinder.io](https://scinder.io)](https://scinder.io\]\(https://scinder.io\))
as a way to analyse my running and cycling data to see how well I was training
and if I'm on track to achieve the goals I've set myself. I've found that a
lot of the services I'd used previously didn't give me the depth of analysis
that I needed to be able to make decisions about my training schedule.

For a long time the project just sat on my PC but I'm now trying to try to
turn it into a paid service as I think some of the features I've added are
pretty cool and I've not seen them anywhere else.

------
latexr
I’ve built Fog[1] which is an Overcast[2] wrapper for macOS. I started it
because I wanted to listen to podcasts on the Desktop but also wanted to
control playback via media keys. I’ve since added a few more features.

I’ve made SandwichTimer[3] because no other pomodoro timer did what I wanted —
to be minimally controllable via the CLI (so I could do it from Alfred[4],
without needing the mouse) and to show the remaining time just as minutes
(seconds are distracting, and a pie isn’t accurate enough). Since I also
frequently needed regular timers and needed to use the phone for those, I’ve
baked that in as well.

PinPlus[5] because I wanted a simple app to add Pinboard[6] bookmarks that
looked good and I could dismiss with ⎋.

Sacar Musak[7] not for me, but for my friends that want to download videos
from Youtube and kept downloading shady apps I did not trust.

I have a ton more in the form of CLI tools, but _the_ apps I use most
frequently are the Alfred Workflows I’ve made[8].

[1]: [https://github.com/vitorgalvao/fog](https://github.com/vitorgalvao/fog)

[2]: [https://overcast.fm/](https://overcast.fm/)

[3]:
[https://github.com/vitorgalvao/sandwichtimer](https://github.com/vitorgalvao/sandwichtimer)

[4]: [https://www.alfredapp.com/](https://www.alfredapp.com/)

[5]:
[https://github.com/vitorgalvao/pinplus](https://github.com/vitorgalvao/pinplus)

[6]: [https://pinboard.in/](https://pinboard.in/)

[7]: [https://github.com/vitorgalvao/sacar-
musak](https://github.com/vitorgalvao/sacar-musak)

[8]: [https://github.com/vitorgalvao/alfred-
workflows](https://github.com/vitorgalvao/alfred-workflows)

------
howlett
I built [https://www.remotepassword.com](https://www.remotepassword.com)
because I didn't want to hardcode passwords in my scripts and wanted a way to
disable them remotely (ie my raspberry pi has been stolen and I don't want
them to mount my backup truecrypt containers).

It works fine and gave me some peace of mind!

------
travisr
I wrote a simple web-based RSS client:
[https://github.com/travisred/bottomfeeder](https://github.com/travisred/bottomfeeder)

I got tired of looking for a lightweight option that would run on pretty much
any VPS or webhost. And I can modify it any time I want without learning a
large codebase.

------
IanDrake
A long time ago I built an app to monitor online retailers for items that were
hard to find in-stock. It would send me text alerts so I could buy them before
they went out of stock again. I made it into a business for a while, then the
retailers caught on and stopped paying commissions on a those items.

I’ve also built code generators for myself.

~~~
is_true
I've built something similar just the other day. But the purpose is to find
items on sale below a price point.

------
larisadeac
Here's a link to the app mentioned in the OP:
[https://itunes.apple.com/us/app/billy-currency-
converter/id1...](https://itunes.apple.com/us/app/billy-currency-
converter/id1311724635)

@timojaask developed it and I designed it

------
paulcole
I got sick of how slow ESPN/Sportsline/NFL.com etc. were when all I wanted was
to see NFL scores. So I made a little script to pull the NFL's live JSON game
data file and display it in plain text. Bold who had the ball, italicize if
they were in the red zone, etc.

~~~
is_true
But what API do you use that you can get the data faster?

~~~
paulcole
It’s not an API just some random JSON file. It’s some random php file on a web
server. I just refresh the page when I want to see the score. It’s the speed
of all the other stuff on the page (videos, whatever) that makes ESPN, etc.
unbearable. I just want the numbers.

[http://www.nfl.com/liveupdate/scores/scores.json](http://www.nfl.com/liveupdate/scores/scores.json)

------
ccajas
I wrote a Greasemonkey script that creates page previews for Wikipedia, so I
could cover more ground understanding terms and articles. This was about a
year before Wikipedia's official page preview feature was made live.

------
tenkabuto
Right now I'm slowly building a Git GUI for working with changes I make in my
TiddlyWiki instances. The app will keep me from getting behind in my commits
and be a fun way for practicing Python and working with Toga.

------
ocdtrekkie
I wrote my home automation software because none of the prebuilt applications
I could find did exactly what I wanted or let me customize them in the way
that I wanted to. It's not _good_ software, but it works.

