After years of technical research and foundational work, the Fedora Badges application service has been rebuilt from the ground up, and it is heading to production. Whether you have been collecting badges for years or you are brand new to the Fedora Project community, here is what is waiting for you there.

Completely modernized user interface

The archaic server rendered pages are now gone. The Fedora Badges application service now runs on a modern single page application. This provides you with a much faster and more responsive experience, while functioning across various screen sizes and devices types, all without full refreshes or front-end reloads.

Navigations have been revamped as well. But do not worry at all – if you have bookmarked any old service links, they should redirect you to the right place.

Colour schemes, Dark mode

You can now customize the look of the Fedora Badges application service choosing from eight colour schemes. Your choice flows through the various elements of the front-end – from navbar to borders, from charts to accents, etc. The dark mode and light mode switch respects your system preference and can also be toggled.

Your choices are persistent across visits residing in your session storage. As long as the same session is used, the colour schemes and dark mode settings stay.

Revitalized badges collectathon experience

Not only does the profile page show your precious badges, it also shows a radar chart that maps your collection across categories.  This is a rudimentary method to gauge your progress and discover the areas you have not explored yet. Giving a means to diversify the activities, this encourages more people to join in.

The refreshed history page also adds a collection time-line chart showing yours (and your friends’) contribution activities over months and years at a glance.

Compare (or compete) with your friends

The renewed difference page lets you compare your badges collection with those of your friends’ possessions.  See which badges you both share, which ones only you have, and most importantly, which ones they have earned that you have not yet.  It’s a fun way to discover new badges and unearth new ways to contribute.

You can also reach out to your fellow community members for potential mentoring opportunities, based on their contribution activities and collected badges.

Explore badges by rarities

Every active badge now has a rarity tier based on how many users currently hold it:

  • Fedorable— Unobtanium stuff
  • Legendary— Mythical prestige
  • Epic— Serious bragging
  • Rare— Principled hustle
  • Uncommon— Striving future
  • Common— Warm greeting

You can now browse active badges by their rarity tiers, making it easy to hunt down the ones that fewer people have earned.  Not only does it allow you to find new pathways for contribution,  you also get a sense of the impactful work and relevant tracks that are waiting for you in your community activities.

Involved semantic collective lookup

Departing from different searches for badges and users, the search bar now helps unified lookup across both badges and users.  Start typing and results start appearing immediately after – with better lookup results. These will appear when the query is general enough to return more than eight results.

To save server resources, the asynchronous search request begins only when at least four characters are entered into the search bar for the query.

Leaderboards with time navigation

Departing from the restricted rankings page, it is now possible to request custom period filtering on the leaderboards page.  Filters can be based on days, weeks, months, and years. One can see who has been earning most badges in those times, and generally look back at the community’s evolving progress over a time period.

The rankings are deterministic and can be shared with others, using the sharing link that inherently applies the same filters. This creates a reproducible resource.

Clearer badge activity lifecycle

Badges can now be manually marked as legacy (retired, unobtainable) after they should no longer be awarded to the users.  For instance, the badges for joining the Fedora Linux Release Party 42 should no longer be available to new users in 2026. Hence, they should not be accounted for while computing rarity tiers.

And nope — we are not taking awarded badges away from users who have already earned them. These retired badges are still going to be visible in the history.

Stronger foundational supports underneath

You see, the revamp was not just about the front-end. The data layer that powers the application service got a major overhaul as well. The Database Library project, which handles all database operations, saw 105 commits across 7 contributors during the same period, pushing from version 1.4.1 to 1.5.5.

Here’s what changed under the hood, and why it matters to you:

  • Faster queries— Redundant database lookups were eliminated, foreign key indexes were added, and pagination now happens at the database level instead of in the application code. Pages that list badges or users load significantly faster, especially as the count of badges or users grow.
  • Effective lookup— The search you use from the navbar section is powered by new search methods added to the API. This covers both badges and users. This not only makes the search noticeably faster, but the actual process is also more efficient on a synchronous database accessing layer.
  • Rarity calculation— The rarity tiers you see on badge pages are computed every day by an updated algorithm in the API code. Various edge cases are now handled too. The fall-back is set to the common tier on zero available users who own the said badges at that particular time.
  • Legacy support— A schema level change was made to introduce a newcolumn to thelegacytable to distinguish active badges from the retired ones. Filtering is built into the API code so the front-end shows them on separate pages when requested by the users.badges
  • Categories normalization— Badge tags are now stored in their own tables instead of as raw comma separated strings. This makes category browsing reliable.
  • Cascading deletions— Removing a badge when done in exigent circumstances now properly cleans up its assertions in the database purging orphaned data.
  • Removing invitations— Invitations are soft deleted and not hard removed. This preserves access history while preventing accidental assertions.
  • Quality assurance— Nearly every new feature ships with its test cases. Python < 3.9 support was dropped in favor of Python > 3.13.

Overall smoother authentication events

Authentication has been reworked. The old session-based login has been replaced completely with a modern token-based flow using OpenID Connect. The application service now has its own dedicated authentication client so logging in through Fedora Accounts is more consistent across other things.

If you are visiting for the first time, like it has been for years, your user account is automatically created without requiring any further steps.

Your privacy really matters

Email addresses are no longer visible across various API responses. They are hashed before being sent as an asynchronous response, for use by Libravatar. Users have the choice to opt out of the Fedora Badges application service entirely. In that case they will stop receiving badge awards for their community tasks.

RSS feeds are now limited to recent entries for performance and efficiency, so you can still stay informed about the latest incoming activities on the app.

For badge creators, maintainers, and administrators

If you are a part of the team, the new interface gives you a full set of tools.

  • Advanced database management front-end
  • Creating and revoking awards from your users
  • Creating and expiring invitations for the badges
  • Creating and revoking authorizations from your users
  • Creating and updating badges
  • Creating and updating users

Access control is tiered — community members see the service experience, while authorized team members get the administrative controls they need.

Progress by the numbers

This revamp (codenamed स्वातंत्र्य or Svātantrya) represents a year of active work across the two repositories. These comprised 165 commits in Tahrir and 105 commits in Tahrir API. This occurred after many years of technical research and foundational work  resulting in a leaner codebase with a net reduction of 13,320 lines of code.

Thank you to our amazing contributors

I mean it when I say, this revamp would have been dead in the water without the help of the following folks (in the alphabetical order):

  • Akashdeep Dhar
  • Aurelien Bompard
  • Awwal Adetomiwa
  • Chibuezem Marvinrose
  • Daniel Mungai Chege
  • Emma Kidney
  • Gregory Sutcliffe
  • John Iweh
  • Joy Aruku
  • Kevin Fenzi
  • Michael Scherer
  • Michal Konecny
  • Olamide Peter Ojo
  • Payal Sumbhe
  • Shounak Dey
  • Vanshikha Shri
  • Yash Sheorey
  • Xavier Lamien

And those, of course, from Flock 2026’s workshop on the Fedora Badges Revamp Project.

  • Ankur Sinha
  • Cornelius Emase
  • Emmanuel Seyman
  • Guillermo Leiro
  • Jakub Jelen
  • Jona Azizaj
  • Jonáš Hubený
  • Justin Wheeler
  • Mat Holmes
  • Matthew Miller
  • Misia Mary
  • Shawn Dunn
  • Vít Smolík
  • Vittorio Cioe

This revamp project was in a development hell for quite some time. It was able to come out of it thanks to those listed above and countless others who have helped maintain the project for the past fourteen years or so. It is now time for me to pass this torch on to others who can help maintain this.

The project codebase currently lives on the Fedora Infrastructure’s GitHub namespace. Please consider providing feedback and contributing changes to help maintain the projects. You can also hang out with us in the Fedora Badges chat room on Fedora Project’s Matrix server to learn more.

Go on – give it a try!

The production deployment should be live by the time this article is publicly available. Head over to Fedora Badges to explore the refreshed experience. As it might be a little rough around the edges in the starting days, please bear with us while we hammer down the oddities with your useful reports.

Your input influences what comes next to the Fedora Badges application service. Please consider giving it a try right now and let us know what you think!