(2023-10-30) Watson Magnoliajs2023 The Joys Of Home Cooked Apps

Blake Watson: MagnoliaJS 2023 talk: The joys of home-cooked apps.What is a home-cooked app? It’s the kind of app that you make for yourself, to solve your own problem or for your own entertainment. I didn’t invent the term, home-cooked app. A couple of years ago I read an article by Robin Sloan. (2020-02-28-SloanAnAppCanBeAHomecookedMeal, indie)

In this article he described making this sort of short form video messaging service just for use in his household.

I’ve been making these kinds of apps for myself for years.

Making a home-cooked app is about redefining what success looks like

There are several good reasons you should make your own home-cooked apps.

You can make exactly what you want.

If you build with the idea that you are only serving yourself or a few people, you can skip over many of the challenging problems of software development: compatibility, extensibility, standards, best practices, scaling. (situated software)

Another reason is privacy.

Lastly, it’s fun.

let’s take a look at some examples.

Okay I’m going to start (heh) the tour of examples by breaking one of my own rules. I made this new tab page called Start for myself but ended up packaging it up for other people to use. It ultimately became my main side project, A Fine Start.

The idea here was to have a single HTML file as a new tab page that would allow you to add and organize text links directly on the page

My DIY Pinboard replacement

it was also becoming the place where my bookmarks went to die. I felt like retrieving things from it wasn’t very easy

It’s a NodeJS app that saves URLs along with metadata like descriptions and tags. It automatically sends the URL to Wayback Machine via an API and it saves the cached URL that Wayback returns, so that I always have access to a cached copy.

I did break my own rule and open sourced this app with instructions for setting it up. But it comes with the huge caveat that I designed this for me and didn’t take any other people into account.

PayMeNow

My family is constantly getting mixed up about what money we owe each other.

We’ll use Cash App or something separately to make the actual payment then we can hit the Complete all payments button

Writer Emergency Pack card viewer

Every year I participate in a marathon event called National Novel Writing Month.

So I ordered this deck of cards called Writer Emergency Pack. It’s a thing for storytelling. Every card has advice on how to get your story unstuck

I’m not able to physically handle a deck of cards, so I had my assistant help me scan them all in and I created a web viewer that lets me flip through the cards, draw them at random, flip them over to read the back, and generally use them as you might the physical deck.

A home-cooked language

My brother and I have a team of caregivers that work various day and night shifts. At the end of each pay period they need to turn in detailed timesheets.

I wanted a way to keep my own records and also help my caregivers complete the timesheets accurately

I toyed around briefly with a spreadsheet. I know they’re powerful, but man I hate them

I decided that what I really needed was something that worked like Markdown.

That last piece of metadata is represented by an asterisk and it means my bother and I were together for the whole shift and the caregiver worked with both of us. That means they’ll need to do a timesheet for each of us and split the hours.

I wrote a little frontend tool that can process this syntax and spit out a table of dates and times that I can print out for my caregivers to help them complete their timesheets.

The agency requires that the timesheets be completed by hand so what my tool does is output something that my caregivers can use as a reference while they are filling out the timesheets.

this kind of thing has a name—it’s called a domain-specific language.

Crowd-sourced examples

I put out a form and took submissions from people on social media

Scout

Scout is a dog who has epilepsy so her owner, Gaston, made this page that keeps track of her seizures and he shares it with friends and family who want to know how she’s doing.

I love living

Spencer said “[I] have started keeping a note in my phone where I had a timestamp every time I am intimate with the feeling of an indomitable joy of / gratitude for life. It’s a Siri shortcut now

David made a breast feeding tracker for his partner that only asks which side and when you hit the button it records the time in localStorage until the next time. That’s it. A two-button app.

Felix struggled with being lonely after starting his degree so he made an app where you list out your achievements and, after a short loading sequence, it gives you a compliment.

I’m not expecting you to think, “Oh I could use that,” necessarily. I just want to get your creative juices flowing about how you could address some of your own specific wants and needs.

Let’s call it a minimum viable meal. That’s your job as a home cook to figure out at this stage.

The main thing is to solve your problem, not some abstract user’s problem.

Determine the easiest way to get to your goal.

Even if it’s a larger project, just make small progress toward it.


Edited:    |       |    Search Twitter for discussion