Skip to content

haxordx/challenges

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 

Repository files navigation

CleanShot 2022-11-22 at 01 00 56@2x

Haxor DX Bounty Logo

Haxor DX Bounty

Haxor is a community effort to help devtools maintainers remove friction from their developer experience (DX). Haxor is like a bug bounty but differs in a couple of ways:

  1. Participants submit feedback in addition to bugs. Feedback can be anything that causes you friction when completing the goal, like confusing documentation or time-wasting errors.
  2. Participants attach screen recording clips to issues.

Welcome

Hello and welcome to the Haxor DX Bounty! Here you get to try new dev tools, help make them better, and earn prizes! Every bug we find helps the next developer save time! The feedback you provide helps maintainers improve their DX.

Sponsors

      CleanShot 2022-11-22 at 01 10 01@2x

How It Works

Try to complete the challenges below. As you complete a challenge, you can file any feedback or bugs you find as issues in the challenge repo. Once you complete the challenge, you can make a pull request adding yourself to the leaderboard! Check out this example of quality feedback.

In order to earn points for an issue or pull, you'll need to attach a desktop replay clip using Replayable. Replays help maintainers understand the context of your feedback and they help our moderators validate you submissions.

Table of Contents

Quickstart

This guide will use the example challenge, but you should choose one from the list of challenges below..

1. Fork the Repository

Fork the repository and clone it.

git clone https://github.com/your-name/haxor-challenge-example
cd haxor-challenge-example
mkdir solutions/your-name
cd solutions/your-name

2. Complete the Challenge

Follow the challenge instructions. Every challenge will be unique. See some example instructions here.

3. Report Bugs and Friction

This is the whole point of Haxor! When you encounter friction, confusion, or bugs, open GitHub issues on the base repository. Every issue is worth 10 points and you can get rewarded up to 3x per challenge!

gh issue create -l "feedback" -w -b "`replayable --md`"

4. Add Your Solution

When you've completed the challenge, make a pull request to add your solution to the base repository. Successful solutions are worth 5 points.

gh pr create -w -t "I Completed the Haxor Challenge" -b "`replayable --md`"

Community

Join our Discord community to meet other Haxors and get help solving challenges!

Type !signup [your github username] in the #bot channel to get the Haxor role and personalized notificiations in our Discord.

Challenges

Javascript

Prizes

You can earn up to 35 points per challenge. You'll get 10 points for submitting feedback and 5 bonus points for completing the challenge. Redeem points for items the Haxor shop and other special prizes!

Haxor Swag

Represent your 1337 skills with Haxor branded merch.

Cult Laptop Sticker

35 Points

caffeine_input_device

70 Points

BlackHat

150 Points

Mandatory Hoodie

350 Points

Haxor Shirts

Hundreds of shirts that were programatically generated! Every design has multiple varients. Each shirt features the Haxor logo on the sleeve.

Freeke Shirt

15 Variations
150 Points

Refactory Shirt

13 Variations
150 Points

HyperBlock Shirt

20 Variations
150 Points

NoiseStorm Shirt

20 Variations
150 Points

Dancing Flame

25 Variations
150 Points

Entanglement Shirt

30 Variations
150 Points

Skrill Shirt

60 Variations
150 Points

Grand Prizes

There aren't enough challenges to earn this many points yet, but these are the kinds of prizes we dream of offering! Help us grow! Add your own challenge.

$100 Gift Card

800 Points

Steam Deck 64 GB

3,000 Points

CyberPowerPC Gaming Desktop

7,000 Points

M2 MacBook Pro

15,000 Points

Rules

Our feedback sessions are called challenges. Every challenge asks you to build a small app or add a single feature using a developer tool. Each challenge takes between 15 minutes to 2 hours and you complete them on your own machine.

Mostly everything happens on GitHub (but you should also join our Discord!). You can see a list of challenges below. Each challenge will include it's own time estimate and goal.

Replayable makes it simple to add context to bugs and pull requests without ruining your flow. Instead of spending time trying to reproduce a bug in a new screencast, Replayable lets you add footage from when you encountered it the first time. It works full pull requests and demos too! Check out our CLI and Chrome Extension for GitHub and Jira.

Scoring Points

In order to earn points for your submission, it must contain a 30-second or longer screencast demoing the bug, feedback, or feature.

Feedback (10 Points)

10 points per GitHub Issue, 30 points max per challenge

Giving feedback to maintainers is the whole point of Haxor. It's as easy as opening a GitHub issue against the Haxor challenge repo. You can file feedback for anything that you feel is "friction" to completing your task

  • Things you expected to work that didn't
  • Confusing or outdated instructions
  • Spelling and syntax errors in documentation and code samples
  • Website UI that doesn't work

Your experience will help maintainers improve their tools and remove friction for the next developer. And remember, developer experience uses many tools and is different for everyone.

Check out this example of quality feedback.

Using the Replayable CLI

The following shell script will open a GitHub issue with a clip of the last 30 seconds of your screen.

gh issue create -w -t "My Feedback" -b "`replayable --md`"

Adding Your Solution (5 Points)

5 Points and Hall of Fame!

While Haxor is all about giving feedback, we still want to award those to complete the challenge successfully!

Every challenge will include some exit criteria that marks it as "complete." Once you successfully complete the challenge, you'll get added to the "Hall of Fame" via https://contrib.rocks/.

In order to get your github profile on the scoreboard and earn points for completing the challenge, you must:

  1. Open a pull request that adds your name to the leaderboard
  2. Attach a replay of you demonstrating the exit criteria to the PR
Using the Replayable CLI
gh pr create -w -t "I Completed the Haxor Challenge" -b "`replayable --md`"

Prizes

Haxor moderators get pinged on new submissions to the repositories and will comment on the issue or pull request to confirm your points.

Once you've earned enough points for a prize, you can cash out by simply emailing the Haxor staff with the prize you want, size (if appropriate), and your address.

Points will be deducted from your total (you can see this on in our leaderboard) and you'll get shipping notifications in your inbox.

FAQ

What makes quality feedback?

Note that all feedback should include a Replayable replay as well as a short description of your problem and experience.

  • Identify specific areas where you struggled, such as with understanding documentation or debugging an error
  • Provide concrete suggestions for improving the developer experience, such as adding more examples to the documentation or clarifying ambiguous language
  • Offer suggestions for alternative approaches or tools that may be more effective
  • Be respectful and constructive, rather than critical or dismissive

What are some examples of quality feedback?

Check out this example of quality feedback. You can find some more examples below, but remember your bugs, issues, and feedback need to include Replayable replays!

At first, I tried installing through the gradle plugin, but it kept throwing errors, despite installing it how the documentation said to. Then I switched to a maven project which, admittedly, I am not familiar with. Even then following documentation and examples online, it was not allowing me to download and execute the example getting started code.

Using my existing account/number/service plan didn't work through Java SDK, but does work through the button click online interface. When I released that account/number/service plan and created a fresh one, sending an SMS through the Java SDK worked.

Setting up the virtual number is confusing. Not sure if my phone number will suffix or do I really need a virtual number. Also, its not exactly clear how to create the virtual number on the site.

Message is always "This is a test message from your account", regardless of what message I put in when using the Java SDK. Is this a limitation of the trial account/free account? Or is it a bug? If the former, I didn't see it documented clearly anywhere.

How does this work if solutions are public?

Haxor isn't really about completing challenges, it's about the feedback we give maintainers. Sure, you could copy feedback and solutions, but that's why we use Replayable to validate submissions.

How do you prevent cheating?

At the end of the day this is a community effort. Points and prizes are a cool thing we can do to reward community members. We reserve the right to refuse submissions, ban participants, revoke your points, etc.

Code of Conduct

See our code of conduct here.

What programming languages?

Currently the only languages we support are Javascript and Java.

What's the story behind Haxor?

Haxor started when I wondered "how can we reward developers for participating in open source?" Then I realized that developer experience in itself was valuable to the maintainers of dev tools, but there wasn't a great way for developers to share their experience. So I started Haxor, an developer experience agency while building Replayable, a tool that makes sharing context instant.

For 3 years Haxors has privately been helping open-source projects and companies like AWS, Snap, and Mailchimp get feedback from developers who try their tools. Now we're excited to bring Haxor to the larger open-source community with the help of our scren recording tool, Replayable.

How can I add my own challenge?

Looking for feedback on yoru own API, SDK, or developer tool?

  1. Fork the haxor-challenge-example repo.
  2. Make a new repo called haxor-challenge-${your-tool}
  3. Replace the readme in your template with your own challenge details.
  4. Make a pull request to the list above linking to your tool
  5. We will approve or request changes to your challenge
  6. We will supply you with a webhook to add to your repo. This tells Haxor moderators to review submissions and award points.
  7. Developers will be notified of your new challenge!
  8. You'll get GitHub notifications of new issues!

You will be responsible for maintaining your challenge.

Requirements

Your challenge:

  • Must be entirely self-service and publicly available
  • Must not require payment details to complete
  • Must target Javascript or Java developers (for now)

About

Level up and earn prizes by reporting friction in developer tools!

Topics

Resources

Code of conduct

Stars

Watchers

Forks