Watch the video:

A simple open source extension for Steam Badge crafting and managing.
Over 5,000 Chrome users, and 203 Firefox users.
The Problem
Crafting multiple badges on Steam takes time, and to level up meaningfully, you need to craft many badges. Steam users collect trading cards, and craft into badges, which can be displayed on the profile, and each give XP towards leveling up the Steam account. This number is more than just a number, giving users higher chances of random booster pack drops, a higher Steam friends list limit, and more. So there is a lot of functionality to this (to a certain point).
The Solution
Clicking Craft
on the Steam badge list page makes a call to Steam’s API, then refreshes the page showing new information. Replaying that Craft message with different IDs allows crafting of more than just one badge at a time before the reload - you can actually do quite a few.
The Chrome and Firefox extensions add buttons that loosely emulate Steam’s button style, and let you craft more than just one of a specific game’s badges at a time, and craft all of your available badges.
This simple jQuery-powered extension automates Steam’s AJAX endpoints, making life easier.
Features
- Adds multi-craft to the badge list: Craft one or more badges at once quickly.

- Adds a Round Up button to the buy page: No more raising the decimal to create buy orders, one click, and it’s done (if set to $1.00, and an item is on sale for $0.03, it is bought for that lower price).

- Non-invasive: No ads, no added text, just functionality

- Forces HTTPS: Surprisingly, at the time, not always enforced on steamcommunity.com
Difficulties
This was my first browser extension project, so it didn’t come together perfectly on the first go. This was a fantastic learning opportunity, however.
The script uses the page’s Profile_CraftGameBadge
function, which does trigger a reload once it’s complete (after a delay, I assume), so the page does forcibly reload once a badge is crafted. Multi-crafting works well as requests are sent so quickly, but may not always execute correctly. If I were to write this again, I would handcraft and modify network requests. At some stage, I may return to do so.