Image Image Image Image Image Image Image Image Image

Haskell Bounty Program


Real-world problems. Remote work. Mostly open-source.

Small bounties for motivation & appreciation.

We keep coming across a lot of small problems that should have been solved in the Haskell ecosystem by now, but haven’t. Either, because, no one has spent time on them, or no one has documented a well-packaged solution. The Haskell Bounty Program is our attempt to rectify this situation.

We are offering small bounties for solving well-defined (preferably narrowly-scoped) problems in the Haskell ecosystem. Here’s how it works:

  • The problem that you’re working on should be something that can be completed in about 2-3 weeks. We can stretch to about 5 weeks, but for anything longer, you should probably consider applying to Google/Haskell Summer of Code instead.
  • We usually cannot afford bounties higher than 200-250 USD. The bounty will be paid only upon successful completion of the project/problem. However, for larger problems/projects, we can contribute funding if other organisations are participating, as well. Feel free to reach out to saurabh@vacationlabs.com to discuss things like this.
  • We will agree upon the definition of “complete” before you start working. Usually, “completion” involves getting a PR merged to some upstream open-source repository. It will almost always involve proper documentation and a blog post.
  • We will support you with mentoring, help, and general banter on our Slack channel.
  • We do NOT encourage multiple people to compete for the same bounty. We feel this is unfair to everyone involved. However, we do ask you to commit to a timeline and would expect you to maintain a reasonable line of communication to let us know of progress and roadblocks. Once you start, we will NOT assign the problem to anyone else, UNLESS you are unable to complete within a reasonable timeline. This is important because it encourages people to scope the problem narrowly and to complete it within a timeframe. Our experience has been that some people (especially students) go off on multiple tangents, or get caught-up with course-work, and never end-up completing.

List of problems
Pick one of the open problems, or propose your own.
Drop an email to saurabh@vacationlabs.com to get started.

Successfully completed bounties

Haskell record splicer

Working with records in Haskell is really, really frustrating. We built our own hacky solution using Template Haskell to alleviate some pain.

View Github repo →

GHCJS/Reflex-DOM benchmarks

We came across Reflex-DOM, an FRP framework for building user-interfaces, while researching typed-FP libraries for UI engineering. However, we weren’t sure how it would perform vis-a-vis other commonly used libraries like React or Angular. As part of this bounty problem, GHCJS/Reflex-DOM was benchmarked and a PR was submitted to JS Framework Benchmarks. Since then, the benchmark code has been included in Reflex-DOM as part of their core project itself.

View Github PR →
Blog post →

Purescript (Pux / Halogen / Thermite) benchmarks

As part of researching typed-FP options for UI engineering, we wanted to play around with Purescript, its’ UI frameworks, and take a look at some performance benchmarks. Unfortunately, no benchmarks were available. So, we benchmarked Pux, Halogen, and Thermite, which threw up really surprising results. PRs were submitted to JS Framework Benchmarks.

PR for Thermite & Pux →
PR for Halogen →
View blog post →

GHCJS/Miso benchmarks

GHCJS/Miso – a UI library heavily inspired by Elm (but written in Haskell/GHCJS) – was benchmarked and a PR was submitted to JS Framework Benchmarks.

PR for GHCJS/Miso →
View blog post →


Integrating Rails Devise cookie auth with Haskell Servant

We needed this for sharing login sessions between our existing Rails app and our shiny new Haskell codebase. Based off an existing library, we have successfully integrated Rails 3 cookie decryption and integrated it with the Servan’t auth infra. This particular work has not been open-sourced yet, but will be open-sourced along with all our web-framework related work.

List of problems
Pick one of the open problems, or propose your own.
Drop an email to saurabh@vacationlabs.com to get started.

We’re Hiring

We’re crazily-focused on building an awesome product & scaling it to solve a real-world problem throughout the world. We’re backed by some of the best investors in India.

See Open Positions →