diff --git a/euscanwww/djeuscan/helpers.py b/euscanwww/djeuscan/helpers.py
index fb93a94..f7a6b82 100644
--- a/euscanwww/djeuscan/helpers.py
+++ b/euscanwww/djeuscan/helpers.py
@@ -74,3 +74,35 @@ class catch_and_return(object):
             except self.err:
                 return self.response
         return wrapper
+
+
+def get_account_categories(user):
+    from djeuscan.models import Package, CategoryAssociation
+
+    # TODO: This is quite ugly
+    category_names = [obj.category for obj in
+                      CategoryAssociation.objects.filter(user=user)]
+    return [c for c in Package.objects.categories()
+            if c["category"] in category_names]
+
+
+def get_account_herds(user):
+    from djeuscan.models import Package, HerdAssociation
+
+    ids = [obj.herd.pk for obj in
+           HerdAssociation.objects.filter(user=user)]
+    return Package.objects.herds(ids=ids)
+
+
+def get_account_maintainers(user):
+    from djeuscan.models import Package, MaintainerAssociation
+
+    ids = [obj.maintainer.pk for obj in
+           MaintainerAssociation.objects.filter(user=user)]
+    return Package.objects.maintainers(ids=ids)
+
+
+def get_account_packages(user):
+    from djeuscan.models import PackageAssociation
+    return [obj.package for obj in
+            PackageAssociation.objects.filter(user=user)]
diff --git a/euscanwww/djeuscan/templates/euscan/accounts/index.html b/euscanwww/djeuscan/templates/euscan/accounts/index.html
index 46ba5c7..d2acf33 100644
--- a/euscanwww/djeuscan/templates/euscan/accounts/index.html
+++ b/euscanwww/djeuscan/templates/euscan/accounts/index.html
@@ -1,5 +1,6 @@
 {% extends "_base.html" %}
 {% load url from future %}
+{% load sub %}
 
 {% block title %}
   {{ block.super }} - Welcome {{ user }}
@@ -8,4 +9,88 @@
 
 {% block content %}
   
Welcome {{ user }}
+
+
+  Summary
+
+  
+    
+      {% with categories|length as num_categories %}
+        Watching {{ num_categories }} categor{{ num_categories|pluralize:"y,es"}}
+        
+          - {{ categories_upstream }} new upstream version{{ categories_upstream|pluralize:"s"}}+          {% if categories_upstream %}
+
- 
+              Hot categories:
+              
+                {% for c in categories|slice:":3" %}
+                  - {{ c.category }} ({{ c.n_versions|sub:c.n_packaged }})+                {% endfor %}
+
 +
+          {% endif %}
+
+      {% endwith %}
+    
+
+    
+      {% with herds|length as num_herds %}
+        Watching {{ num_herds }} herd{{ num_herds|pluralize:"s"}}
+        
+          - {{ herds_upstream }} new upstream version{{ herds_upstream|pluralize:"s"}}+          {% if herds_upstream %}
+
- 
+              Hot herds:
+              
+                {% for c in herds|slice:":3" %}
+                  - {{ c.herds__herd }} ({{ c.n_versions|sub:c.n_packaged }})+                {% endfor %}
+
 +
+          {% endif %}
+
+      {% endwith %}
+    
+
+  
+
+    
+      {% with maintainers|length as num_maintainers %}
+        Watching {{ num_maintainers }} maintainer{{ num_maintainers|pluralize:"s"}}
+        
+          - {{ maintainers_upstream }} new upstream version{{ maintainers_upstream|pluralize:"s"}}+          {% if maintainers_upstream %}
+
- 
+              Hot maintainers:
+              
+            +          {% endif %}
+
+      {% endwith %}
+    
+
+    
+      {% with packages|length as num_packages %}
+        Watching {{ num_packages }} package{{ num_packages|pluralize:"s"}}
+        
+          - {{ packages_upstream }} new upstream version{{ packages_upstream|pluralize:"s"}}+          {% if packages_upstream %}
+
- 
+              Hot packages:
+              
+                {% for c in packages|slice:":3" %}
+                  - {{ c }} ({{ c.n_versions|sub:c.n_packaged }})+                {% endfor %}
+
 +
+          {% endif %}
+
+      {% endwith %}
+    
+