Akr.asia1 is a project I have been working on for the past week or so (and at my first ever Pomodoro Poker session at the Seattle meetup!)2. In short, Akrasia provides:
- Extra integrations for Beeminder (it currently has integrations for Pinboard, Memrise,
Last.fm, Codecademy, Leetcode, Codewars, Project Euler, and the Beeminder Forum), and
- A way to quickly create integrations for Beeminder without having to write boilerplate code for OAuth, data persistence, etc.
For a more detailed explanation of how this works and how to write a new integration using Akrasia, see my blog post on the project which covers more of the technical aspects.
Also, check out the source code for the Beeminder Forum: Posts Count integration for a quick example of what this looks like (the whole integration is just the
integration.json file and the
server.js file, which only has a single endpoint handler) (remixing/forking an existing integration, you could write a new integration in just ~30 lines of code, including the JSON config).
Any feedback, suggestions, or questions/comments would be welcome!
Edit: updated blog post with more formal specification of the protocol/requests between Akrasia and the integration fetch endpoint
1: Not the most creative name, I know :p
2: A disclaimer: all the functionality seems pretty stable now, but the project is still under fairly active development, so a few bugs may pop up. If enough people start using it, I'll begin following best practices more (e.g. separating staging/testing from prod more, etc.).