Generate flashcards from an API

I feel like I am spending inordinate amounts of time looking up functions I should absolutely have memorized by now. To the point where it might be more efficient to just generate flashcards (or even better: something like Lingvist or Duolingo) for APIs.

Such an app would consist of two parts: First scraping through docs. And then generating interesting memory retrieval tasks from it. For Haskell that could involve guessing the order of arguments to functions, matching name to type signature, guessing type class constraints, matching one-line haddock comment to name (and reverse).

This might be monetized by offering to support company-internal APIs for faster onboarding. Not sure, how useful this would be though. Might help a bit, but probably the real cost is understanding the architecture.

I am kinda planning on implementing this sometime next year (Backend: ASP.NET core/Giraffe, Frontend: Flutter). If you would like to join in, drop me a message!


Store ideas for more interesting conversations

Many conversations follow very predictable patterns. “Hey, how are you?” “Fine, you?”, even when we have so many interesting things happening to us. But when we are stressed or spend the last few hours thinking about some homology group, we might not remember them. So, why not store them in an app?

At the moment I am storing them in Google Notes, but this is unsatisfactory for a few reasons:

  • Clutter: I have way too much in Google Notes already
  • Hard to lookup based on topics. I currently save notes with the name of the person as title, but I would like to keep a story for people interested in coding, feminism, that latest techno artist and then have it appear for every person I tagged with this previously.

Maybe this could even be a business. One could for example scrap the Instagram timelines of people for interests. Then strangers would just need to exchange their Instagram names and would get a ton of shared interests to talk about. Or one turns this into a more personal CRM for businesses.

I don’t have time to do it right now, but write me if you like this idea too (no strings attached). My email is (* github user name *)


Tracking club attendance in Flutter

My debating society always has lots of new people, but then exam time rolls around and afterwards they don’t come back. So we wanted to track who had a real interest in debating to make sure we could keep these active.

The solution: A custom app in which we can add events, add people to events and sync this with Mailchimp. The app can then sort people into categories (came a few times but not in the last month, etc.) and add these as a target audience in Mailchimp so we can send a personalized campaign to them.

I decided to write this in Flutter, a framework from Google that promises near-native iOS and Android Apps. If you have ever developed a webapp with React or Angular, Flutter will feel instantly familiar.

First, I needed a model of the Mailchimp member API. It is a REST API, but since dart:mirrors doesn’t work in Flutter we can’t just derive classes from the JSON. Instead I generated it with a custom fork of Json to dart.

Building the App itself was fairly straightforward. While some things took longer than I would have hoped, I never encountered a point where something I wanted to do was impossible or different from how I expected it to work.