diff --git a/src/applications/people/event/PhabricatorPeopleHovercardEventListener.php b/src/applications/people/event/PhabricatorPeopleHovercardEventListener.php
--- a/src/applications/people/event/PhabricatorPeopleHovercardEventListener.php
+++ b/src/applications/people/event/PhabricatorPeopleHovercardEventListener.php
@@ -32,6 +32,7 @@
       ->withIDs(array($user->getID()))
       ->needAvailability(true)
       ->needProfile(true)
+      ->needBadges(true)
       ->executeOne();
 
     $hovercard->setTitle($user->getUsername());
@@ -65,8 +66,39 @@
         ->truncateString($profile->getBlurb()));
     }
 
+    $badges = $this->buildBadges($user, $viewer);
+    foreach ($badges as $badge) {
+      $hovercard->addBadge($badge);
+    }
+
     $event->setValue('hovercard', $hovercard);
   }
 
+  private function buildBadges(
+    PhabricatorUser $user,
+    $viewer) {
+
+    $class = 'PhabricatorBadgesApplication';
+    $items = array();
+
+    if (PhabricatorApplication::isClassInstalledForViewer($class, $viewer)) {
+      $badge_phids = $user->getBadgePHIDs();
+      if ($badge_phids) {
+        $badges = id(new PhabricatorBadgesQuery())
+          ->setViewer($viewer)
+          ->withPHIDs($badge_phids)
+          ->execute();
+
+        foreach ($badges as $badge) {
+          $items[] = id(new PHUIBadgeMiniView())
+            ->setIcon($badge->getIcon())
+            ->setHeader($badge->getName())
+            ->setQuality($badge->getQuality());
+        }
+      }
+    }
+    return $items;
+  }
+
 
 }