Custom User fields on Usercard

I would not call it “JS hack”. It uses Discourse Plugin API as explained here:

2 Likes