diff --git a/papersurfer.py b/papersurfer.py
index d17379a189d017d48341cf27b73a85234530917b..434bd90bc1027d53ac40a68885b8ed96cda25abe 100644
--- a/papersurfer.py
+++ b/papersurfer.py
@@ -25,6 +25,7 @@ class PostDTO:
     """"Encapsulate Mattermost Posts."""
     id: str
     message: str
+    reporter: str
 
 
 class Mattermost:
@@ -37,11 +38,22 @@ class Mattermost:
             'port': 443
         })
         self.mattermost.login()
+        self.reporters = {}
+
+
+    def get_reporter(self, id):
+        if id not in self.reporters:
+            self.reporters[id] = self.mattermost.users.get_user(id)["username"]
+        return self.reporters[id]
 
     def retrieve_all_messages(self):
         """Retrieve all messages from mattermost, unfiltered for papers."""
         posts = self.mattermost.posts.get_posts_for_channel(CHANNEL)
-        return [PostDTO(m['id'], m['message'])
+        return [PostDTO(
+                    id=m['id'],
+                    message=m['message'],
+                    reporter=self.get_reporter(m['user_id']),
+                )
                 for m in posts['posts'].values()]
 
     def filter_incoming(self, posts):
@@ -56,7 +68,9 @@ class Mattermost:
 
     def get_filtered(self, needle):
         """Filter posts by needle."""
-        return [m for m in self.msgs if needle.lower() in m.message.lower()]
+        return [m for m in self.msgs
+                if needle.lower() in m.message.lower()
+                or needle.lower() in m.reporter.lower()]
 
 
 class Papersurfer:
@@ -74,7 +88,7 @@ class Papersurfer:
         papers = self.mtm.retrieve()
         body = []
         for paper in papers:
-            button = urwid.Button(paper.message)
+            button = urwid.Button(f"{paper.message} ({paper.reporter})")
             urwid.connect_signal(button, 'click',
                                  partial(self.handle_paper, paper))
             body.append(urwid.AttrMap(button, None, focus_map='reversed'))