diff --git a/SciPost_v1/settings/staging_release.py b/SciPost_v1/settings/staging_release.py
index a9290b92b0524e7a61c13d6322275fcd9d6dfe4f..6d8b1fed0ff69b3321cbbdbb96e0b8589aa8865d 100644
--- a/SciPost_v1/settings/staging_release.py
+++ b/SciPost_v1/settings/staging_release.py
@@ -20,5 +20,7 @@ MEDIA_ROOT = '/home/jdewit/webapps/scipost_media/'
 WEBPACK_LOADER['DEFAULT']['CACHE'] = True
 WEBPACK_LOADER['DEFAULT']['BUNDLE_DIR_NAME'] = '/home/jdewit/webapps/scipost_static/bundles/'
 
-# Error reporting
-ADMINS = MANAGERS = (('J. de Wit', 'jorrandewit@outlook.com'), )
+
+# Logging
+LOGGING['handlers']['scipost_file_arxiv']['filename'] = '/home/jdewit/webapps/scipost/logs/arxiv.log'
+LOGGING['handlers']['scipost_file_doi']['filename'] = '/home/jdewit/webapps/scipost/logs/doi.log'
diff --git a/scipost/managers.py b/scipost/managers.py
index b62ac59bb7cfdf7faa5990ed6afa2f20b55e812b..b16b82034b11303f60ffa2074a90b55b3a51b86a 100644
--- a/scipost/managers.py
+++ b/scipost/managers.py
@@ -52,6 +52,9 @@ class UnavailabilityPeriodManager(models.Manager):
     def today(self):
         return self.filter(start__lte=today, end__gte=today)
 
+    def future(self):
+        return self.filter(end__gte=today)
+
 
 class AuthorshipClaimQuerySet(models.QuerySet):
     def awaiting_vetting(self):
diff --git a/scipost/static/scipost/assets/css/_nav.scss b/scipost/static/scipost/assets/css/_nav.scss
index 974bcde176520b2f82900249c0c8a030a514c39e..d33cb87ddac8b2f23a73f83970814fe8d1764fca 100644
--- a/scipost/static/scipost/assets/css/_nav.scss
+++ b/scipost/static/scipost/assets/css/_nav.scss
@@ -71,3 +71,8 @@ nav.main-nav {
 .nav {
     flex-wrap: nowrap;
 }
+
+.tab-pane .loading {
+    text-align: center;
+    padding: 3rem;
+}
diff --git a/scipost/static/scipost/assets/js/dynamic_loading.js b/scipost/static/scipost/assets/js/dynamic_loading.js
new file mode 100644
index 0000000000000000000000000000000000000000..5064be98fb68d318671d523bd3694ce75d0efb3c
--- /dev/null
+++ b/scipost/static/scipost/assets/js/dynamic_loading.js
@@ -0,0 +1,54 @@
+function dynamic_load_tab( target_tab ) {
+    var tab = $(target_tab);
+    var url = tab.attr('sp-dynamic-load');
+    if(tab.data('sp-loaded') == 'true') {
+        // window.history.replaceState('scipost', document.title, url);
+        return;  // Only load once
+    }
+
+    var target = $(tab.attr('href'));
+    $(target)
+    .show()
+    .html('<div class="loading"><i class="fa fa-spinner fa-pulse fa-3x fa-fw"></i></div>');
+
+    $.get(url).done(function(data) {
+        $(target).html(data).promise().done(function() {
+            tab.data('sp-loaded', 'true');
+        });
+
+        // window.history.replaceState('scipost', document.title, url);
+    });
+}
+
+$(function(){
+    // Change `tab` GET parameter for page-reload
+    $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
+        dynamic_load_tab( e.target )
+    })
+    $('[data-toggle="tab"][sp-autoload="true"]').tab('show');
+
+    // Simple simple Angular-like loading!
+    $('a[data-toggle="dynamic"]').on('click', function(event) {
+        event.preventDefault();
+        var self = this,
+            url = $(this).attr('href'),
+            target = $(this).attr('data-target');
+
+        $(target)
+        .show()
+        .html('<div class="loading"><i class="fa fa-circle-o-notch fa-spin fa-3x fa-fw"></i></div>');
+
+        $.get(url + '?json=1').done(function(data) {
+            $(target).html(data).promise().done(function() {
+                init_page();
+            });
+            $('[data-target="active-list"]')
+                .find('> li')
+                .removeClass('active')
+            $(self).parents('[data-target="active-list"] > li')
+                .addClass('active');
+
+            window.history.replaceState('scipost', document.title, url);
+        });
+    });
+});
diff --git a/scipost/static/scipost/assets/js/scripts.js b/scipost/static/scipost/assets/js/scripts.js
index 62d164fb742284d5822e5663d37e7cab1e401187..4e96974ec3df7596e5d8cdc9f2fbafa8daedad99 100644
--- a/scipost/static/scipost/assets/js/scripts.js
+++ b/scipost/static/scipost/assets/js/scripts.js
@@ -59,12 +59,6 @@ $(function(){
     // Remove all alerts in screen automatically after 15sec.
     setTimeout(function() {hide_all_alerts()}, 15000);
 
-    // Change `tab` GET parameter for page-reload
-    $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
-        var tab_name = e.target.hash.substring(1)
-        window.history.replaceState({}, null, '?tab=' + tab_name);
-    });
-
     init_page();
 
     // Simple simple Angular-like loading!
diff --git a/scipost/templates/partials/scipost/personal_page/account.html b/scipost/templates/partials/scipost/personal_page/account.html
new file mode 100644
index 0000000000000000000000000000000000000000..bcb731d9b2bb8a84ff3b75b0403485f9c52db829
--- /dev/null
+++ b/scipost/templates/partials/scipost/personal_page/account.html
@@ -0,0 +1,184 @@
+{% load bootstrap %}
+{% load user_groups %}
+
+{# Save all Permission groups into template variables #}
+    {% is_edcol_admin request.user as is_edcol_admin %}
+    {% is_scipost_admin request.user as is_scipost_admin %}
+    {% is_editorial_college request.user as is_editorial_college %}
+    {% is_advisory_board request.user as is_advisory_board %}
+    {% is_vetting_editor request.user as is_vetting_editor %}
+    {% is_ambassador request.user as is_ambassador %}
+    {% is_junior_ambassador request.user as is_junior_ambassador %}
+    {% is_registered_contributor request.user as is_registered_contributor %}
+    {% is_tester request.user as is_tester %}
+    {% is_production_officer request.user as is_production_officer %}
+
+<div class="row">
+    <div class="col-12">
+        <div class="card card-grey">
+            <div class="card-body">
+                <h2 class="card-title mb-0">Your Account</h2>
+            </div>
+        </div>
+    </div>
+</div>
+<div class="row">
+    <div class="col-md-6">
+        <h3>Your personal details:</h3>
+        {% include "scipost/_private_info_as_table.html" with contributor=contributor %}
+
+        {% if contributor %}
+        {# Scientist fields #}
+            <h3 class="mt-3">Your main discipline:</h3>
+            <ul><li>{{ contributor.get_discipline_display }}</li></ul>
+
+            <h3 class="mt-3">Your expertises:</h3>
+            {% if contributor.expertises %}
+                {% include "scipost/_expertises_as_ul.html" with contributor=contributor %}
+            {% else %}
+                <p>You haven't listed your expertise(s).<br/>
+                Do so by <a href="{% url 'scipost:update_personal_data' %}">updating your personal data</a>
+                </p>
+            {% endif %}
+        {# END: Scientist fields #}
+        {% endif %}
+    </div>
+    <div class="col-md-6">
+        {% if contributor %}
+            {# Scientist fields #}
+                {% if not contributor.is_currently_available %}
+                  <h3 class="text-warning">You are currently unavailable</h3>
+                  <p>Check your availability underneath if this should not be the case.</p>
+                  <hr>
+                {% endif %}
+            {# END: Scientist fields #}
+        {% endif %}
+
+        {% if not contributor.petition_signatories.exists %}
+            <div class="border border-danger p-2">
+                <h3 class="text-danger">Scientists, please help us out!</h3>
+                <p class="mb-1">If it is not listed on our Partners page, please encourage your institution (through a librarian, director, ...) to join by <a class="h3 text-blue" href="{% url 'petitions:petition' slug='join-SPB' %}">signing our petition</a>.</p>
+            </div>
+            <hr>
+        {% endif %}
+
+      {% if is_scipost_admin %}
+          <h3>You are a SciPost Administrator.</h3>
+      {% endif %}
+      {% if is_edcol_admin %}
+          <h3>You are a SciPost Editorial Administrator.</h3>
+      {% endif %}
+      {% if is_advisory_board %}
+          <h3>You are a member of the Advisory Board.</h3>
+      {% endif %}
+      {% if is_editorial_college %}
+          <h3>You are a member of the Editorial College.</h3>
+      {% endif %}
+      {% if is_vetting_editor %}
+              <h3>You are a SciPost Vetting Editor.</h3>
+      {% endif %}
+      {% if is_registered_contributor %}
+              <h3>You are a Registered Contributor.</h3>
+      {% endif %}
+      {% if is_tester %}
+              <h3>You are a SciPost Tester.</h3>
+      {% endif %}
+      {% if is_ambassador %}
+              <h3>You are a SciPost Ambassador.</h3>
+      {% endif %}
+      {% if is_junior_ambassador %}
+              <h3>You are a SciPost Junior Ambassador.</h3>
+      {% endif %}
+      {% if is_production_officer %}
+          <h3>You are a SciPost Production Officer.</h3>
+      {% endif %}
+
+      {% if contributor.fellowships.exists %}
+          <h3>Your Fellowships:</h3>
+          <ul class="mb-2">
+              {% for fellowship in contributor.fellowships.all %}
+                <li class="pt-1">
+                    {{ fellowship.contributor.get_discipline_display }}
+
+                    {% if fellowship.guest %}
+                        (Guest Fellowship)
+                    {% else %}
+                        (Regular Fellowship)
+                    {% endif %}
+
+                    {% if not fellowship.is_active %}
+                        <span class="label label-outline-warning label-sm">Inactive</span>
+                    {% endif %}
+
+                    {% if fellowship.start_date or fellowship.until_date %}
+                        <div class="text-muted">
+                            {% if fellowship.start_date %}
+                                from {{ fellowship.start_date }}
+                            {% endif %}
+
+                            {% if fellowship.until_date %}
+                                until {{ fellowship.until_date }}
+                            {% endif %}
+                        </div>
+                    {% endif %}
+                </li>
+
+              {% endfor %}
+          </ul>
+          <a href="{% url 'submissions:pool' %}" class="h3 text-primary ml-4 px-3 d-block-inline">Go to the Submissions Pool</a>
+      {% endif %}
+
+      <h3 class="mt-3">Update your personal data or password</h3>
+
+      <ul>
+        <li><a href="{% url 'scipost:update_personal_data' %}">Update your personal data</a></li>
+        <li><a href="{% url 'scipost:change_password' %}">Change your password</a></li>
+      </ul>
+    </div>
+</div>
+
+{% if unavailability_form %}
+    <hr>
+    <div class="row">
+        <div class="col">
+            <h2 class="highlight">Your Availability</h2>
+        </div>
+    </div>
+    <div class="row justify-content-center">
+        <div class="col-md-4 mr-md-5">
+            <p>To help with the editorial workflow, you can inform us of any periods during which you are unavailable. We will do our best to respect these.</p>
+            <h3 class="mb-3">Mark a period as unavailable:</h3>
+            <form action="{% url 'scipost:mark_unavailable_period' %}" method="post">
+                {% csrf_token %}
+                {{ unavailability_form|bootstrap }}
+                <input class="btn btn-secondary" type="submit" value="Submit" />
+            </form>
+        </div>
+        <div class="col-md-4 ml-md-5">
+            {% if unavailabilities %}
+                <h3>Your unavailability periods in our records</h3>
+                <p class="text-muted">(YYYY-MM-DD)</p>
+                <table class="table">
+                    <tr>
+                        <th>Start</th>
+                        <th colspan="2">End</th>
+                    </tr>
+                {% for unav in unavailabilities %}
+                    <tr>
+                        <td>{{ unav.start }}</td>
+                        <td>{{ unav.end }}</td>
+                        <td>
+                            <form action="{% url 'scipost:delete_unavailable_period' unav.id %}" method="post">
+                                {% csrf_token %}
+                                <input class="btn btn-danger" type="submit" value="Delete" />
+                            </form>
+                        </td>
+                    </tr>
+                {% endfor %}
+                </table>
+            {% else %}
+                <p>You don't have any upcoming unavailability periods on record.</p>
+            {% endif %}
+        </div>
+    </div>
+{% endif %}
diff --git a/scipost/templates/partials/scipost/personal_page/author_replies.html b/scipost/templates/partials/scipost/personal_page/author_replies.html
new file mode 100644
index 0000000000000000000000000000000000000000..2149474b1344a93ed81533cd57b93ce41af54ce0
--- /dev/null
+++ b/scipost/templates/partials/scipost/personal_page/author_replies.html
@@ -0,0 +1,23 @@
+<div class="row">
+    <div class="col-12">
+        <div class="card card-grey">
+            <div class="card-body">
+                <h2 class="card-title mb-0">Your Author Replies</h2>
+            </div>
+        </div>
+    </div>
+</div>
+
+<div class="row" id="myauthorreplieslist">
+    <div class="col-12">
+        <ul class="list-group list-group-flush">
+          {% for own_reply in own_authorreplies %}
+              <li class="list-group-item">
+                  {% include 'comments/_comment_card_extended_for_author.html' with comment=own_reply %}
+              </li>
+          {% empty %}
+              <li class="list-group-item"><em>You do not have Author Replies yet.</em></li>
+          {% endfor %}
+        </ul>
+    </div>
+</div>
diff --git a/scipost/templates/partials/scipost/personal_page/commentaries.html b/scipost/templates/partials/scipost/personal_page/commentaries.html
new file mode 100644
index 0000000000000000000000000000000000000000..2e50be5535ef30f630b23b89d014ade1d59e8e30
--- /dev/null
+++ b/scipost/templates/partials/scipost/personal_page/commentaries.html
@@ -0,0 +1,32 @@
+<div class="row">
+    <div class="col-12">
+        <div class="card card-grey">
+            <div class="card-body">
+                <h2 class="card-title">Commentaries</h2>
+                <ul class="mb-0">
+                    {% if nr_commentary_authorships_to_claim > 0 %}
+                        <li><a href="{% url 'scipost:claim_authorships' %}">Potential authorships to claim (auto-detected: {{ nr_commentary_authorships_to_claim}})</a></li>
+                    {% endif %}
+                    <li><a href="{% url 'commentaries:request_commentary' %}">Request opening a SciPost Commentary Page</a></li>
+                </ul>
+            </div>
+        </div>
+    </div>
+</div>
+
+<div class="row" id="mycommentarieslist">
+    <div class="col-12">
+        <h3>Commentaries for which you are identified as an author:</h3>
+    </div>
+    <div class="col-12">
+        <ul class="list-group list-group-flush">
+            {% for com in own_commentaries %}
+                <li class="list-group-item">
+                    {% include 'commentaries/_commentary_card_content.html' with commentary=com %}
+                </li>
+            {% empty %}
+                <li class="list-group-item"><em>No Commentaries found</em></li>
+            {% endfor %}
+        </ul>
+    </div>
+</div>
diff --git a/scipost/templates/partials/scipost/personal_page/comments.html b/scipost/templates/partials/scipost/personal_page/comments.html
new file mode 100644
index 0000000000000000000000000000000000000000..f6a5f52db29c21f347f7cc59073eb7ed99940173
--- /dev/null
+++ b/scipost/templates/partials/scipost/personal_page/comments.html
@@ -0,0 +1,23 @@
+<div class="row">
+    <div class="col-12">
+        <div class="card card-grey">
+            <div class="card-body">
+                <h2 class="card-title mb-0">Your Comments</h2>
+            </div>
+        </div>
+    </div>
+</div>
+
+<div class="row" id="mycommentslist">
+    <div class="col-12">
+        <ul class="list-group list-group-flush">
+            {% for own_comment in own_comments %}
+                <li class="list-group-item">
+                    {% include 'comments/_comment_card_extended_for_author.html' with comment=own_comment %}
+                </li>
+            {% empty %}
+                <li class="list-group-item"><em>You have not commented yet.</em></li>
+            {% endfor %}
+        </ul>
+    </div>
+</div>
diff --git a/scipost/templates/partials/scipost/personal_page/editorial_actions.html b/scipost/templates/partials/scipost/personal_page/editorial_actions.html
new file mode 100644
index 0000000000000000000000000000000000000000..ffd9844f50aeebf31bc1b66010cab5049542eb23
--- /dev/null
+++ b/scipost/templates/partials/scipost/personal_page/editorial_actions.html
@@ -0,0 +1,167 @@
+
+<div class="row">
+    <div class="col-12">
+        <div class="card card-grey">
+            <div class="card-body">
+                <h2 class="card-title mb-0">Pending Editorial Actions</h2>
+            </div>
+        </div>
+    </div>
+</div>
+
+<div class="row">
+    {% if perms.scipost.can_vet_registration_requests or perms.scipost.can_draft_registration_invitations or perms.scipost.can_manage_registration_invitations %}
+    <div class="col-md-4">
+        <h3>Registration actions</h3>
+        <ul>
+            {% if perms.scipost.can_vet_registration_requests %}
+                <li><a href="{% url 'scipost:vet_registration_requests' %}">Vet Registration requests</a> ({{ nr_reg_to_vet }})</li>
+            {% endif %}
+            {% if perms.scipost.can_resend_registration_requests %}
+                <li><a href="{% url 'scipost:registration_requests' %}">Awaiting validation</a> ({{ nr_reg_awaiting_validation }})</li>
+            {% endif %}
+            {% if perms.scipost.can_draft_registration_invitations %}
+                <li><a href="{% url 'scipost:draft_registration_invitation' %}">Draft a Registration Invitation</a></li>
+            {% endif %}
+            {% if perms.scipost.can_manage_registration_invitations %}
+                <li><a href="{% url 'scipost:registration_invitations' %}">Manage Registration Invitations</a></li>
+            {% endif %}
+        </ul>
+
+        {% if perms.scipost.can_manage_registration_invitations %}
+            <h3>Notifications</h3>
+            <ul>
+                <li><a href="{% url 'scipost:citation_notifications' %}">Manage citation notifications</a></li>
+            </ul>
+        {% endif %}
+
+        {% if is_scipost_admin %}
+            <h3>Email communications</h3>
+            <ul>
+                {% if perms.scipost.can_email_group_members %}
+                    <li><a href="{% url 'scipost:email_group_members' %}">Email Group Members</a></li>
+                {% endif %}
+                {% if perms.scipost.can_email_particulars %}
+                    <li><a href="{% url 'scipost:send_precooked_email' %}">Send a precooked email</a></li>
+                    <li><a href="{% url 'scipost:email_particular' %}">Email a particular individual/address</a></li>
+                {% endif %}
+                {% if perms.scipost.can_manage_mailchimp %}
+                    <li><a href="{% url 'mailing_lists:overview' %}">Manage mailing lists</a></li>
+                {% endif %}
+            </ul>
+
+            <h3>SciPost Administation</h3>
+            <ul>
+                <li><a href="{% url 'affiliations:institutions' %}">Manage Institutions database</a></li>
+            </ul>
+        {% endif %}
+
+        {% if perms.scipost.can_view_timesheets %}
+            <h3>Finance</h3>
+            <ul>
+                <li><a href="{% url 'finances:timesheets' %}">Production Team Timesheets</a></li>
+            </ul>
+        {% endif %}
+    </div>
+    {% endif %}
+
+    <div class="col-md-4">
+        {% if perms.scipost.can_vet_comments or perms.scipost.can_vet_submitted_reports %}
+        <h3>Vetting actions</h3>
+        <ul>
+            {% if perms.scipost.can_vet_commentary_requests %}
+                <li><a href="{% url 'commentaries:vet_commentary_requests' %}">Vet Commentary Page requests</a> ({{ nr_commentary_page_requests_to_vet }})</li>
+            {% endif %}
+            {% if perms.scipost.can_vet_comments %}
+                <li><a href="{% url 'comments:vet_submitted_comments_list' %}">Vet submitted Comments</a> ({{ nr_comments_to_vet }})</li>
+            {% endif %}
+            {% if perms.scipost.can_vet_thesislink_requests %}
+                <li><a href="{% url 'theses:unvetted_thesislinks' %}">Vet Thesis Link Requests</a> ({{ nr_thesislink_requests_to_vet }})</li>
+            {% endif %}
+            {% if perms.scipost.can_vet_authorship_claims %}
+                <li><a href="{% url 'scipost:vet_authorship_claims' %}">Vet Authorship Claims</a> ({{ nr_authorship_claims_to_vet }})</li>
+            {% endif %}
+            {% if perms.scipost.can_vet_submitted_reports %}
+                <li><a href="{% url 'submissions:vet_submitted_reports_list' %}">Vet submitted Reports</a> ({{ nr_reports_to_vet }})</li>
+            {% endif %}
+        </ul>
+        {% endif %}
+
+        {% if perms.scipost.can_oversee_refereeing %}
+            <h3>Editorial Admin actions</h3>
+            <ul>
+              <li><a href="{% url 'submissions:reports_accepted_list' %}">Accepted Reports</a>{% if nr_reports_without_pdf %} ({{nr_reports_without_pdf}} unfinished){% endif %}</li>
+              <li><a href="{% url 'submissions:pool' %}">Submissions Pool</a></li>
+              <li><a href="{% url 'submissions:treated_submissions_list' %}">Fully treated Submissions</a>{% if nr_treated_submissions_without_pdf %} ({{nr_treated_submissions_without_pdf}} unfinished){% endif %}</li>
+              <li><a href="{% url 'journals:harvest_citedby_list' %}">Harvest citedby data</a></li>
+              <li><a href="{% url 'journals:manage_comment_metadata' %}">Manage Comment metadata</a></li>
+              <li><a href="{% url 'colleges:fellowships' %}">Manage Fellowships</a></li>
+              <li><a href="{% url 'journals:manage_metadata' %}">Manage Publication metadata</a></li>
+              <li><a href="{% url 'journals:manage_report_metadata' %}">Manage Report metadata</a></li>
+              <li><a href="{% url 'proceedings:proceedings' %}">Manage Proceedings Issues</a></li>
+            </ul>
+        {% endif %}
+
+        {% if perms.scipost.can_attend_VGMs %}
+            <h3>Virtual General Meetings</h3>
+            <ul>
+                <li><a href="{% url 'virtualmeetings:VGMs' %}">List of VGMs</a></li>
+            </ul>
+        {% endif %}
+    </div>
+
+    {% if perms.scipost.can_oversee_refereeing or perms.scipost.can_take_charge_of_submissions %}
+        <div class="col-md-4">
+            <h3>Info</h3>
+            <ul>
+                <li><a href="{% url 'submissions:editorial_workflow' %}">How-to guide: summary of the editorial workflow</a></li>
+            </ul>
+
+            <h3>Submissions assignments</h3>
+            <ul>
+                <li><a href="{% url 'submissions:assignments' %}">Your assignments</a></li>
+                <li><a href="{% url 'scipost:Fellow_activity_overview' %}">View assignments overview</a></li>
+
+                {% if perms.scipost.can_assign_submissions %}
+                    <li>Assign Submissions via the <a href="{% url 'submissions:pool' %}">Submissions Pool</a> ({{ nr_submissions_to_assign }})</li>
+                {% endif %}
+                {% if perms.scipost.can_take_charge_of_submissions %}
+                    <li>Accept or decline assignments via the <a href="{% url 'submissions:pool' %}">Submissions Pool</a> ({{ nr_assignments_to_consider }})</li>
+                {% endif %}
+            </ul>
+
+            {% if perms.scipost.can_oversee_refereeing %}
+                <h3>Refereeing overview</h3>
+                <ul>
+                  <li>View (and act on) outstanding refereeing invitations in the <a href="{% url 'submissions:refereeing_overview' %}">refereeing overview</a></li>
+                  <li><a href="{% url 'stats:statistics' %}">View statistics</a> for submissions, refereeing, publishing</li>
+                </ul>
+                <h3>Voting</h3>
+                <ul>
+                    <li>Prepare Editorial Recommendations for voting via the <a href="{% url 'submissions:pool' %}">Submissions Pool</a> ({{ nr_recommendations_to_prepare_for_voting }})</li>
+                </ul>
+            {% endif %}
+        </div>
+    {% endif %}
+</div>
+
+{% if active_assignments %}
+    <div class="row">
+        <div class="col-12">
+            <h3 class="highlight">Submissions for which you are Editor-in-charge</h3>
+        </div>
+        <div class="col-12">
+            <ul class="list-group list-group-flush">
+                {% for assignment in active_assignments %}
+                    <li class="list-group-item">
+                        <div class="card-body px-0">
+                            {% include 'partials/submissions/submission_card_content.html' with submission=assignment.submission %}
+                            {% include 'submissions/_submission_status_block.html' with submission=assignment.submission %}
+                            <p class="card-text mt-2">Manage this Submission from its <a href="{% url 'submissions:editorial_page' assignment.submission.arxiv_identifier_w_vn_nr %}">Editorial Page</a>.</p>
+                        </div>
+                    </li>
+                {% endfor %}
+            </ul>
+        </div>
+    </div>
+{% endif %}
diff --git a/scipost/templates/partials/scipost/personal_page/publications.html b/scipost/templates/partials/scipost/personal_page/publications.html
new file mode 100644
index 0000000000000000000000000000000000000000..302090e22d865ec6c41654a8311462e886883fb5
--- /dev/null
+++ b/scipost/templates/partials/scipost/personal_page/publications.html
@@ -0,0 +1,36 @@
+<div class="row">
+    <div class="col-12">
+        <div class="card card-grey">
+            <div class="card-body">
+                <h2 class="card-title">Publications</h2>
+                <ul class="mb-0">
+                    {% if nr_publication_authorships_to_claim > 0 %}
+                        <li><a href="{% url 'scipost:claim_authorships' %}">Potential authorships to claim (auto-detected: {{ nr_publication_authorships_to_claim}})</a></li>
+                    {% endif %}
+                </ul>
+            </div>
+        </div>
+    </div>
+</div>
+
+
+<div class="row" id="mypublicationslist">
+    <div class="col-12">
+        <h3 class="mb-3">Publications for which you are identified as an author:</h3>
+    </div>
+    <div class="col-12">
+        <ul class="list-unstyled">
+            {% for pub in own_publications %}
+                <li>
+                    <div class="card card-grey card-publication" id="{{pub.doi_label}}">
+                        {% include 'journals/_publication_card_content.html' with publication=pub current_user=request.user %}
+                    </div>
+                </li>
+            {% empty %}
+                <li>
+                    <em>No Publications found</em>
+                </li>
+            {% endfor %}
+        </ul>
+    </div>
+</div>
diff --git a/scipost/templates/partials/scipost/personal_page/refereeing.html b/scipost/templates/partials/scipost/personal_page/refereeing.html
new file mode 100644
index 0000000000000000000000000000000000000000..877189bf00c38496e2f037c5dc6a6cedfa90484b
--- /dev/null
+++ b/scipost/templates/partials/scipost/personal_page/refereeing.html
@@ -0,0 +1,88 @@
+<div class="row">
+    <div class="col-12">
+        <div class="card card-grey">
+            <div class="card-body">
+                <h2 class="card-title">Refereeing Tasks</h2>
+                <ul class="mb-0">
+                    <li><a href="{% url 'submissions:accept_or_decline_ref_invitations' %}">Accept/decline refereeing invitations</a> ({{ contributor.referee_invitations.open.count }})</li>
+                </ul>
+            </div>
+        </div>
+    </div>
+</div>
+
+<div class="row">
+    <div class="col-12">
+        <h3>Pending Refereeing Tasks:</h3>
+    </div>
+    <div class="col-12">
+        <ul class="list-group list-group-flush">
+        {% for task in contributor.referee_invitations.in_process.all %}
+            <li class="list-group-item">
+                <div class="card-body px-0">
+                    {% include 'partials/submissions/refereeing_invitation_card_content.html' with invitation=task %}
+                </div>
+            </li>
+        {% empty %}
+            <li class="list-group-item"><em>You do not have any pending refereeing task</em></li>
+        {% endfor %}
+        </ul>
+    </div>
+</div>
+
+{% if contributor.reports.in_draft.all %}
+    <div class="row">
+        <div class="col-12">
+            <h3>Unfinished reports:</h3>
+        </div>
+        <div class="col-12">
+            <ul class="list-group list-group-flush">
+            {% for report in contributor.reports.in_draft.all %}
+                <li class="list-group-item">
+                    <div class="card-body px-0">
+                        {% include 'partials/submissions/submission_card_content.html' with submission=report.submission %}
+                        <a class="btn btn-outline-primary my-2" href="{% url 'submissions:submit_report' report.submission.arxiv_identifier_w_vn_nr %}">Finish report</a>
+                    </div>
+                </li>
+            {% endfor %}
+            </ul>
+        </div>
+    </div>
+{% endif %}
+
+{% if contributor.reports.non_draft.all %}
+    <div class="row">
+        <div class="col-12">
+            <h3>Finished reports:</h3>
+        </div>
+        <div class="col-12">
+            <ul class="list-group list-group-flush">
+            {% for report in contributor.reports.non_draft.all %}
+                <li class="list-group-item">
+                    {% comment %}
+                        Temporary: There is already a template for a "Report summary" in a parallel (unmerged) branch. Awaiting merge to use that template.
+                    {% endcomment %}
+                    <div class="card-body px-0 {% block cardblock_class_block %}{% endblock %}">
+                        <h3>Report on Submission <a href="{{report.submission.get_absolute_url}}">{{report.submission.title}}</a></h3>
+                        <table>
+                            <tr>
+                                <th style='min-width: 100px;'>Received:</th><td>{{ report.date_submitted|date:'Y-n-j' }}<td>
+                            </tr>
+                            <tr>
+                                <th>Status:</th><td {% if report.status == 'vetted' %}class="text-success"{% elif report.status == 'unvetted' %}class="text-danger"{% endif %}>{{report.get_status_display}}</td>
+                            </tr>
+        {% if report.doi_label %}
+        <tr>
+          <th>DOI:</th><td>{{ report.doi_string }}</td></th>
+{% endif %}
+                            <tr>
+                                <th>Anonymous:</th><td>{{report.anonymous|yesno:'Yes,No'}}</td>{% if report.anonymous %}<td>You can <a href="{% url 'journals:sign_existing_report' report_id=report.id %}">click here to sign this Report</a> (leads to confirmation page){% endif %}</td>
+                            </tr>
+                        </table>
+                    </div>
+                </li>
+            {% endfor %}
+            </ul>
+        </div>
+    </div>
+{% endif %}
diff --git a/scipost/templates/partials/scipost/personal_page/submissions.html b/scipost/templates/partials/scipost/personal_page/submissions.html
new file mode 100644
index 0000000000000000000000000000000000000000..10215feea9d957c33393ba981509d81b0b40779f
--- /dev/null
+++ b/scipost/templates/partials/scipost/personal_page/submissions.html
@@ -0,0 +1,50 @@
+<div class="row">
+    <div class="col-12">
+        <div class="card card-grey">
+            <div class="card-body">
+                <h2 class="card-title">Submissions</h2>
+                <ul class="mb-0">
+                    {% if nr_submission_authorships_to_claim > 0 %}
+                        <li><a href="{% url 'scipost:claim_authorships' %}">Potential authorships to claim (auto-detected: {{ nr_submission_authorships_to_claim }})</a></li>
+                    {% endif %}
+                    <li><a href="{% url 'submissions:submit_manuscript' %}">Submit an arXiv preprint to a SciPost Journal</a></li>
+                </ul>
+            </div>
+        </div>
+    </div>
+</div>
+
+{# {% if own_submissions %}#}
+<div class="row" id="mysubmissionslist">
+    <div class="col-12">
+        <h3>Submissions for which you are identified as an author:</h3>
+    </div>
+    <div class="col-12">
+        <ul class="list-group list-group-flush">
+            {% for sub in own_submissions %}nr_submission_authorships_to_claim,
+                <li class="list-group-item">
+                    <div class="card-body px-0">
+                        {% include 'partials/submissions/submission_card_content.html' with submission=sub %}
+                        {% include 'submissions/_submission_status_block.html' with submission=sub %}
+
+                        {% if request.user.contributor == sub.submitted_by %}
+                            <p class="card-text mt-1">
+                                {% if sub.editor_in_charge %}
+                                    <a href="{% url 'submissions:communication' sub.arxiv_identifier_w_vn_nr 'AtoE' %}">Write to the Editor-in-charge</a>
+                                {% endif %}
+                                {% if sub.status == 'revision_requested' %}
+                                    &middot; <a href="{% url 'submissions:prefill_using_identifier' %}?identifier={{ sub.arxiv_identifier_wo_vn_nr }}">Resubmit this manuscript</a>
+                                {% endif %}
+                            </p>
+                        {% endif %}
+                    </div>
+                </li>
+            {% empty %}
+                <li class="list-group-item">
+                    <em>No Submissions found</em>
+                </li>
+            {% endfor %}
+        </ul>
+    </div>
+</div>
+{# {% endif %}#}
diff --git a/scipost/templates/partials/scipost/personal_page/theses.html b/scipost/templates/partials/scipost/personal_page/theses.html
new file mode 100644
index 0000000000000000000000000000000000000000..de0e22998d920a70b8a3ac95e133ae82c0d9c372
--- /dev/null
+++ b/scipost/templates/partials/scipost/personal_page/theses.html
@@ -0,0 +1,32 @@
+<div class="row">
+    <div class="col-12">
+        <div class="card card-grey">
+            <div class="card-body">
+                <h2 class="card-title">Theses</h2>
+                <ul class="mb-0">
+                    {% if nr_thesis_authorships_to_claim > 0 %}
+                        <li><a href="{% url 'scipost:claim_authorships' %}">Potential authorships to claim (auto-detected: {{ nr_thesis_authorships_to_claim}})</a></li>
+                    {% endif %}
+                    <li><a href="{% url 'theses:request_thesislink' %}">Request a SciPost ThesisLink</a></li>
+                </ul>
+            </div>
+        </div>
+    </div>
+</div>
+
+<div class="row" id="mytheseslist">
+    <div class="col-12">
+        <h3>Theses for which you are identified as an author:</h3>
+    </div>
+    <div class="col-12">
+        <ul class="list-group list-group-flush">
+            {% for thesis in own_thesislinks %}
+                <li class="list-group-item">
+                    {% include 'theses/_thesislink_card_content.html' with thesislink=thesis %}
+                </li>
+            {% empty %}
+                <li class="list-group-item"><em>No Theses found</em></li>
+            {% endfor %}
+        </ul>
+    </div>
+</div>
diff --git a/scipost/templates/scipost/personal_page.html b/scipost/templates/scipost/personal_page.html
index a52677412895330839337f2beeec6e73d2549ad3..07ef2154191f647be2d7e03d1addc02b35542ea6 100644
--- a/scipost/templates/scipost/personal_page.html
+++ b/scipost/templates/scipost/personal_page.html
@@ -45,40 +45,40 @@
                         <!-- Nav tabs -->
                         <ul class="nav btn-group personal-page-nav" role="tablist">
                           <li class="nav-item btn btn-secondary">
-                            <a href="#account" class="nav-link active" data-toggle="tab">Account</a>
+                            <a class="nav-link" {% if tab == 'account' %}sp-autoload='true'{% endif %} href="#account" sp-dynamic-load="{% url 'scipost:personal_page_account' %}" data-toggle="tab">Account</a>
                           </li>
                           {% if is_scipost_admin or is_edcol_admin or is_editorial_college or is_advisory_board or is_vetting_editor or is_ambassador or is_junior_ambassador %}
                               <li class="nav-item btn btn-secondary">
-                                <a href="#editorial-actions" class="nav-link" data-toggle="tab">Editorial Actions</a>
+                                <a class="nav-link" {% if tab == 'editorial_actions' %}sp-autoload='true'{% endif %} href="#editorial-actions" sp-dynamic-load="{% url 'scipost:personal_page_editorial_actions' %}" data-toggle="tab">Editorial Actions</a>
                               </li>
             		      {% endif %}
                           {% if perms.scipost.can_referee %}
                               <li class="nav-item btn btn-secondary">
-                                <a class="nav-link" data-toggle="tab" href="#refereeing">Refereeing {% if refereeing_tab_total_count %}({{refereeing_tab_total_count}}){% endif %}</a>
+                                <a class="nav-link" {% if tab == 'refereeing' %}sp-autoload='true'{% endif %} data-toggle="tab" href="#refereeing" sp-dynamic-load="{% url 'scipost:personal_page_refereeing' %}">Refereeing {% if refereeing_tab_total_count %}({{refereeing_tab_total_count}}){% endif %}</a>
                               </li>
                           {% endif %}
                           {% if contributor %}
                           {# If user is contributor #}
                               <li class="nav-item btn btn-secondary">
-                                <a class="nav-link" data-toggle="tab" href="#publications">Publications</a>
+                                <a class="nav-link" {% if tab == 'publications' %}sp-autoload='true'{% endif %} data-toggle="tab" sp-dynamic-load="{% url 'scipost:personal_page_publications' %}" href="#publications">Publications</a>
                               </li>
                               <li class="nav-item btn btn-secondary">
-                                <a class="nav-link" data-toggle="tab" href="#submissions">Submissions</a>
+                                <a class="nav-link" {% if tab == 'submissions' %}sp-autoload='true'{% endif %} data-toggle="tab" sp-dynamic-load="{% url 'scipost:personal_page_submissions' %}" href="#submissions">Submissions</a>
                               </li>
                               <li class="nav-item btn btn-secondary">
-                                <a class="nav-link" data-toggle="tab" href="#commentaries">Commentaries</a>
+                                <a class="nav-link" {% if tab == 'commentaries' %}sp-autoload='true'{% endif %} data-toggle="tab" sp-dynamic-load="{% url 'scipost:personal_page_commentaries' %}" href="#commentaries">Commentaries</a>
                               </li>
                               <li class="nav-item btn btn-secondary">
-                                <a class="nav-link" data-toggle="tab" href="#theses">Theses</a>
+                                <a class="nav-link" {% if tab == 'theses' %}sp-autoload='true'{% endif %} data-toggle="tab" sp-dynamic-load="{% url 'scipost:personal_page_theses' %}" href="#theses">Theses</a>
                               </li>
                               <li class="nav-item btn btn-secondary">
                                   {% with contributor.comments.regular_comments.awaiting_vetting.count as count %}
-                                    <a class="nav-link" data-toggle="tab" href="#comments">Comments{% if count %} ({{count}} unvetted){% endif %}</a>
+                                    <a class="nav-link" {% if tab == 'comments' %}sp-autoload='true'{% endif %} data-toggle="tab" sp-dynamic-load="{% url 'scipost:personal_page_comments' %}" href="#comments">Comments{% if count %} ({{count}} unvetted){% endif %}</a>
                                   {% endwith %}
                               </li>
                               <li class="nav-item btn btn-secondary">
                                   {% with contributor.comments.author_replies.awaiting_vetting.count as count %}
-                                    <a class="nav-link" data-toggle="tab" href="#author-replies">Author Replies{% if count %} ({{count}} unvetted){% endif %}</a>
+                                    <a class="nav-link" {% if tab == 'author_replies' %}sp-autoload='true'{% endif %} data-toggle="tab" sp-dynamic-load="{% url 'scipost:personal_page_author_replies' %}" href="#author-replies">Author Replies{% if count %} ({{count}} unvetted){% endif %}</a>
                                   {% endwith %}
                               </li>
                           {# END: If user is contributor #}
@@ -92,676 +92,45 @@
         <div class="tab-content">
             <!-- Tab: Account -->
             <div class="tab-pane active" id="account" role="tabpanel">
-                <div class="row">
-                    <div class="col-12">
-                        <div class="card card-grey">
-                            <div class="card-body">
-                                <h2 class="card-title mb-0">Your Account</h2>
-                            </div>
-                        </div>
-                    </div>
-                </div>
-                <div class="row">
-                    <div class="col-md-6">
-                        <h3>Your personal details:</h3>
-                        {% include "scipost/_private_info_as_table.html" with contributor=contributor %}
-
-                        {% if contributor %}
-                        {# Scientist fields #}
-                            <h3 class="mt-3">Your main discipline:</h3>
-                            <ul><li>{{ contributor.get_discipline_display }}</li></ul>
-
-                            <h3 class="mt-3">Your expertises:</h3>
-                            {% if contributor.expertises %}
-                                {% include "scipost/_expertises_as_ul.html" with contributor=contributor %}
-                            {% else %}
-                                <p>You haven't listed your expertise(s).<br/>
-                                Do so by <a href="{% url 'scipost:update_personal_data' %}">updating your personal data</a>
-                                </p>
-                            {% endif %}
-                        {# END: Scientist fields #}
-                        {% endif %}
-                    </div>
-                    <div class="col-md-6">
-                        {% if contributor %}
-                            {# Scientist fields #}
-                                {% if not contributor.is_currently_available %}
-                                  <h3 class="text-warning">You are currently unavailable</h3>
-                                  <p>Check your availability underneath if this should not be the case.</p>
-                                  <hr>
-                                {% endif %}
-                            {# END: Scientist fields #}
-                        {% endif %}
-
-                        {% if not request.user.contributor.petition_signatories.exists %}
-                            <div class="border border-danger p-2">
-                                <h3 class="text-danger">Scientists, please help us out!</h3>
-                                <p class="mb-1">If it is not listed on our Partners page, please encourage your institution (through a librarian, director, ...) to join by <a class="h3 text-blue" href="{% url 'petitions:petition' slug='join-SPB' %}">signing our petition</a>.</p>
-                            </div>
-                            <hr>
-                        {% endif %}
-
-                      {% if is_scipost_admin %}
-                          <h3>You are a SciPost Administrator.</h3>
-                      {% endif %}
-                      {% if is_edcol_admin %}
-                          <h3>You are a SciPost Editorial Administrator.</h3>
-                      {% endif %}
-                      {% if is_advisory_board %}
-                          <h3>You are a member of the Advisory Board.</h3>
-                      {% endif %}
-                      {% if is_editorial_college %}
-                          <h3>You are a member of the Editorial College.</h3>
-            		  {% endif %}
-            		  {% if is_vetting_editor %}
-                              <h3>You are a SciPost Vetting Editor.</h3>
-            		  {% endif %}
-            		  {% if is_registered_contributor %}
-                              <h3>You are a Registered Contributor.</h3>
-            		  {% endif %}
-            		  {% if is_tester %}
-                              <h3>You are a SciPost Tester.</h3>
-            		  {% endif %}
-            		  {% if is_ambassador %}
-                              <h3>You are a SciPost Ambassador.</h3>
-            		  {% endif %}
-            		  {% if is_junior_ambassador %}
-                              <h3>You are a SciPost Junior Ambassador.</h3>
-            		  {% endif %}
-            		  {% if is_production_officer %}
-            		  <h3>You are a SciPost Production Officer.</h3>
-            		  {% endif %}
-
-                      {% if contributor.fellowships.exists %}
-                          <h3>Your Fellowships:</h3>
-                          <ul class="mb-2">
-                              {% for fellowship in contributor.fellowships.all %}
-                                <li class="pt-1">
-                                    {{ fellowship.contributor.get_discipline_display }}
-
-                                    {% if fellowship.guest %}
-                                        (Guest Fellowship)
-                                    {% else %}
-                                        (Regular Fellowship)
-                                    {% endif %}
-
-                                    {% if not fellowship.is_active %}
-                                        <span class="label label-outline-warning label-sm">Inactive</span>
-                                    {% endif %}
-
-                                    {% if fellowship.start_date or fellowship.until_date %}
-                                        <div class="text-muted">
-                                            {% if fellowship.start_date %}
-                                                from {{ fellowship.start_date }}
-                                            {% endif %}
-
-                                            {% if fellowship.until_date %}
-                                                until {{ fellowship.until_date }}
-                                            {% endif %}
-                                        </div>
-                                    {% endif %}
-                                </li>
-
-                              {% endfor %}
-                          </ul>
-                          <a href="{% url 'submissions:pool' %}" class="h3 text-primary ml-4 px-3 d-block-inline">Go to the Submissions Pool</a>
-                      {% endif %}
-
-                      <h3 class="mt-3">Update your personal data or password</h3>
-
-                      <ul>
-                        <li><a href="{% url 'scipost:update_personal_data' %}">Update your personal data</a></li>
-                        <li><a href="{% url 'scipost:change_password' %}">Change your password</a></li>
-                      </ul>
-                    </div>
-                </div>
-
-                {% if unavailability_form %}
-                    <hr>
-                    <div class="row">
-                        <div class="col">
-                            <h2 class="highlight">Your Availability</h2>
-                        </div>
-                    </div>
-                    <div class="row justify-content-center">
-                        <div class="col-md-4 mr-md-5">
-                            <p>To help with the editorial workflow, you can inform us of any periods during which you are unavailable. We will do our best to respect these.</p>
-                            <h3 class="mb-3">Mark a period as unavailable:</h3>
-                            <form action="{% url 'scipost:mark_unavailable_period' %}" method="post">
-                                {% csrf_token %}
-                        	    {{ unavailability_form|bootstrap }}
-                            	<input class="btn btn-secondary" type="submit" value="Submit" />
-                            </form>
-                        </div>
-                        <div class="col-md-4 ml-md-5">
-                            {% if unavailabilities %}
-                                <h3>Your unavailability periods in our records</h3>
-                                <p class="text-muted">(YYYY-MM-DD)</p>
-                                <table class="table">
-                                    <tr>
-                                        <th>Start</th>
-                                        <th colspan="2">End</th>
-                                    </tr>
-                                {% for unav in unavailabilities %}
-                                    <tr>
-                                        <td>{{ unav.start }}</td>
-                                        <td>{{ unav.end }}</td>
-                                        <td>
-                                            <form action="{% url 'scipost:delete_unavailable_period' unav.id %}" method="post">
-                                                {% csrf_token %}
-                                                <input class="btn btn-danger" type="submit" value="Delete" />
-                                            </form>
-                                        </td>
-                                    </tr>
-                                {% endfor %}
-                                </table>
-                            {% else %}
-                                <p>You don't have any upcoming unavailability periods on record.</p>
-                            {% endif %}
-                        </div>
-                    </div>
-                {% endif %}
             </div><!-- End tab -->
 
             {% if is_scipost_admin or is_edcol_admin or is_editorial_college or is_advisory_board or is_vetting_editor or is_ambassador or is_junior_ambassador %}
                 <!-- Tab: Editorial Actions -->
                 <div class="tab-pane" id="editorial-actions" role="tabpanel">
-                    <div class="row">
-                        <div class="col-12">
-                            <div class="card card-grey">
-                                <div class="card-body">
-                                    <h2 class="card-title mb-0">Pending Editorial Actions</h2>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-
-                    <div class="row">
-                        {% if is_scipost_admin or is_advisory_board or is_ambassador or is_junior_ambassador %}
-                        <div class="col-md-4">
-                            <h3>Registration actions</h3>
-                            <ul>
-                                {% if perms.scipost.can_vet_registration_requests %}
-                                    <li><a href="{% url 'scipost:vet_registration_requests' %}">Vet Registration requests</a> ({{ nr_reg_to_vet }})</li>
-                                {% endif %}
-                                {% if perms.scipost.can_resend_registration_requests %}
-                                    <li><a href="{% url 'scipost:registration_requests' %}">Awaiting validation</a> ({{ nr_reg_awaiting_validation }})</li>
-                                {% endif %}
-                                {% if perms.scipost.can_draft_registration_invitations %}
-                                    <li><a href="{% url 'scipost:draft_registration_invitation' %}">Draft a Registration Invitation</a></li>
-                                {% endif %}
-                                {% if perms.scipost.can_manage_registration_invitations %}
-                                    <li><a href="{% url 'scipost:registration_invitations' %}">Manage Registration Invitations</a></li>
-                                {% endif %}
-                            </ul>
-
-                            {% if perms.scipost.can_manage_registration_invitations %}
-                            <h3>Notifications</h3>
-                            <ul>
-                                <li><a href="{% url 'scipost:citation_notifications' %}">Manage citation notifications</a></li>
-                            </ul>
-                            {% endif %}
-
-                            {% if is_scipost_admin %}
-                                <h3>Email communications</h3>
-                                <ul>
-                                    {% if perms.scipost.can_email_group_members %}
-                                        <li><a href="{% url 'scipost:email_group_members' %}">Email Group Members</a></li>
-                                    {% endif %}
-                                    {% if perms.scipost.can_email_particulars %}
-                                        <li><a href="{% url 'scipost:send_precooked_email' %}">Send a precooked email</a></li>
-                                        <li><a href="{% url 'scipost:email_particular' %}">Email a particular individual/address</a></li>
-                                    {% endif %}
-                                    {% if perms.scipost.can_manage_mailchimp %}
-                                        <li><a href="{% url 'mailing_lists:overview' %}">Manage mailing lists</a></li>
-                                    {% endif %}
-                                </ul>
-
-                                <h3>SciPost Administation</h3>
-                                <ul>
-                                    <li><a href="{% url 'affiliations:institutions' %}">Manage Institutions database</a></li>
-                                </ul>
-                            {% endif %}
-
-                            {% if perms.scipost.can_view_timesheets %}
-                                <h3>Finance</h3>
-                                <ul>
-                                    <li><a href="{% url 'finances:timesheets' %}">Production Team Timesheets</a></li>
-                                </ul>
-                            {% endif %}
-                        </div>
-                        {% endif %}
-
-                        <div class="col-md-4">
-                            {% if is_vetting_editor or perms.scipost.can_vet_submitted_reports %}
-                            <h3>Vetting actions</h3>
-                            <ul>
-                                {% if perms.scipost.can_vet_commentary_requests %}
-                                    <li><a href="{% url 'commentaries:vet_commentary_requests' %}">Vet Commentary Page requests</a> ({{ nr_commentary_page_requests_to_vet }})</li>
-                                {% endif %}
-                                {% if perms.scipost.can_vet_comments %}
-                                    <li><a href="{% url 'comments:vet_submitted_comments_list' %}">Vet submitted Comments</a> ({{ nr_comments_to_vet }})</li>
-                                {% endif %}
-                                {% if perms.scipost.can_vet_thesislink_requests %}
-                                    <li><a href="{% url 'theses:unvetted_thesislinks' %}">Vet Thesis Link Requests</a> ({{ nr_thesislink_requests_to_vet }})</li>
-                                {% endif %}
-                                {% if perms.scipost.can_vet_authorship_claims %}
-                                    <li><a href="{% url 'scipost:vet_authorship_claims' %}">Vet Authorship Claims</a> ({{ nr_authorship_claims_to_vet }})</li>
-                                {% endif %}
-                                {% if perms.scipost.can_vet_submitted_reports %}
-                                    <li><a href="{% url 'submissions:vet_submitted_reports_list' %}">Vet submitted Reports</a> ({{ nr_reports_to_vet }})</li>
-                                {% endif %}
-                            </ul>
-                            {% endif %}
-
-                            {% if is_edcol_admin %}
-                                <h3>Editorial Admin actions</h3>
-                                <ul>
-                                  <li><a href="{% url 'submissions:reports_accepted_list' %}">Accepted Reports</a>{% if nr_reports_without_pdf %} ({{nr_reports_without_pdf}} unfinished){% endif %}</li>
-                                  <li><a href="{% url 'submissions:pool' %}">Submissions Pool</a></li>
-                                  <li><a href="{% url 'submissions:treated_submissions_list' %}">Fully treated Submissions</a>{% if nr_treated_submissions_without_pdf %} ({{nr_treated_submissions_without_pdf}} unfinished){% endif %}</li>
-                                  <li><a href="{% url 'journals:harvest_citedby_list' %}">Harvest citedby data</a></li>
-                                  <li><a href="{% url 'journals:manage_comment_metadata' %}">Manage Comment metadata</a></li>
-                                  <li><a href="{% url 'colleges:fellowships' %}">Manage Fellowships</a></li>
-                                  <li><a href="{% url 'journals:manage_metadata' %}">Manage Publication metadata</a></li>
-                                  <li><a href="{% url 'journals:manage_report_metadata' %}">Manage Report metadata</a></li>
-                                  <li><a href="{% url 'proceedings:proceedings' %}">Manage Proceedings Issues</a></li>
-                                </ul>
-                            {% endif %}
-
-                            {% if perms.scipost.can_attend_VGMs %}
-                            <h3>Virtual General Meetings</h3>
-                            <ul>
-                                <li><a href="{% url 'virtualmeetings:VGMs' %}">List of VGMs</a></li>
-                            </ul>
-                            {% endif %}
-                        </div>
-
-                        {% if is_edcol_admin or is_editorial_college %}
-                        <div class="col-md-4">
-                            <h3>Info</h3>
-                            <ul>
-                                <li><a href="{% url 'submissions:editorial_workflow' %}">How-to guide: summary of the editorial workflow</a></li>
-                            </ul>
-
-                            <h3>Submissions assignments</h3>
-                            <ul>
-                            {% if perms.scipost.can_view_pool %}
-                                <li><a href="{% url 'submissions:assignments' %}">Your assignments</a></li>
-                                <li><a href="{% url 'scipost:Fellow_activity_overview' %}">View assignments overview</a></li>
-                            {% endif %}
-                            {% if perms.scipost.can_assign_submissions %}
-                                <li>Assign Submissions via the <a href="{% url 'submissions:pool' %}">Submissions Pool</a> ({{ nr_submissions_to_assign }})</li>
-                            {% endif %}
-                            {% if perms.scipost.can_take_charge_of_submissions %}
-                                <li>Accept or decline assignments via the <a href="{% url 'submissions:pool' %}">Submissions Pool</a> ({{ nr_assignments_to_consider }})</li>
-                            {% endif %}
-                            </ul>
-
-    			{% if is_edcol_admin %}
-        			<h3>Refereeing overview</h3>
-        			<ul>
-        			  <li>View (and act on) outstanding refereeing invitations in the <a href="{% url 'submissions:refereeing_overview' %}">refereeing overview</a></li>
-        			</ul>
-                    <h3>Voting</h3>
-                    <ul>
-                        <li>Prepare Editorial Recommendations for voting via the <a href="{% url 'submissions:pool' %}">Submissions Pool</a> ({{ nr_recommendations_to_prepare_for_voting }})</li>
-                    </ul>
-    			{% endif %}
-		    {% if perms.scipost.can_view_statistics %}
-		    <h3>Statistics</h3>
-		    <ul>
-        	      <li><a href="{% url 'stats:statistics' %}">View statistics</a> for submissions, refereeing, publishing</li>
-		    </ul>
-		    {% endif %}
-                        </div>
-                        {% endif %}
-                    </div>
-
-                    {% if active_assignments %}
-                        <div class="row">
-                            <div class="col-12">
-                                <h3 class="highlight">Submissions for which you are Editor-in-charge</h3>
-                            </div>
-                            <div class="col-12">
-                                <ul class="list-group list-group-flush">
-                                    {% for assignment in active_assignments %}
-                                        <li class="list-group-item">
-                                            <div class="card-body px-0">
-                                                {% include 'partials/submissions/submission_card_content.html' with submission=assignment.submission %}
-                                                {% include 'submissions/_submission_status_block.html' with submission=assignment.submission %}
-                                                <p class="card-text mt-2">Manage this Submission from its <a href="{% url 'submissions:editorial_page' assignment.submission.arxiv_identifier_w_vn_nr %}">Editorial Page</a>.</p>
-                                            </div>
-                                        </li>
-                                    {% endfor %}
-                                </ul>
-                            </div>
-                        </div>
-                    {% endif %}
                 </div><!-- End tab -->
             {% endif %}
 
             {% if contributor %}
-                {# If user is contributor #}
+            {# If user is contributor #}
                 <!-- Tab: Publications -->
                 <div class="tab-pane" id="publications" role="tabpanel">
-                    <div class="row">
-                        <div class="col-12">
-                            <div class="card card-grey">
-                                <div class="card-body">
-                                    <h2 class="card-title">Publications</h2>
-                                    <ul class="mb-0">
-                                        {% if nr_publication_authorships_to_claim > 0 %}
-                                            <li><a href="{% url 'scipost:claim_authorships' %}">Potential authorships to claim (auto-detected: {{ nr_publication_authorships_to_claim}})</a></li>
-                                        {% endif %}
-                                    </ul>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-
-                    {# {% if own_publications %}#}
-                    <div class="row" id="mypublicationslist">
-                        <div class="col-12">
-                            <h3 class="mb-3">Publications for which you are identified as an author:</h3>
-                        </div>
-                        <div class="col-12">
-                            <ul class="list-unstyled">
-                                {% for pub in own_publications %}
-                                    <li>
-                                        <div class="card card-grey card-publication" id="{{pub.doi_label}}">
-                                            {% include 'journals/_publication_card_content.html' with publication=pub current_user=request.user %}
-                                        </div>
-                                    </li>
-                                {% empty %}
-                                    <li>
-                                        <em>No Publications found</em>
-                                    </li>
-                                {% endfor %}
-                            </ul>
-                        </div>
-                    </div>
-                    {# {% endif %}#}
                 </div><!-- End tab -->
 
 
-                    {% if perms.scipost.can_referee %}
+                {% if perms.scipost.can_referee %}
                     <!-- Tab: Refereeing -->
                     <div class="tab-pane" id="refereeing" role="tabpanel">
-                        <div class="row">
-                            <div class="col-12">
-                                <div class="card card-grey">
-                                    <div class="card-body">
-                                        <h2 class="card-title">Refereeing Tasks</h2>
-                                        <ul class="mb-0">
-                                            <li><a href="{% url 'submissions:accept_or_decline_ref_invitations' %}">Accept/decline refereeing invitations</a> ({{ nr_ref_inv_to_consider }})</li>
-                                        </ul>
-                                    </div>
-                                </div>
-                            </div>
-                        </div>
-
-                        <div class="row">
-                            <div class="col-12">
-                                <h3>Pending Refereeing Tasks:</h3>
-                            </div>
-                            <div class="col-12">
-                                <ul class="list-group list-group-flush">
-                                {% for task in pending_ref_tasks %}
-                                    <li class="list-group-item">
-                                        <div class="card-body px-0">
-                                            {% include 'partials/submissions/refereeing_invitation_card_content.html' with invitation=task %}
-                                        </div>
-                                    </li>
-                                {% empty %}
-                                    <li class="list-group-item"><em>You do not have any pending refereeing task</em></li>
-                                {% endfor %}
-                                </ul>
-                            </div>
-                        </div>
-
-                        {% if contributor.reports.in_draft.exists %}
-                            <div class="row">
-                                <div class="col-12">
-                                    <h3>Unfinished reports:</h3>
-                                </div>
-                                <div class="col-12">
-                                    <ul class="list-group list-group-flush">
-                                    {% for report in contributor.reports.in_draft.all %}
-                                        <li class="list-group-item">
-                                            <div class="card-body px-0">
-                                                {% include 'partials/submissions/submission_card_content.html' with submission=report.submission %}
-                                                <a class="btn btn-outline-primary my-2" href="{% url 'submissions:submit_report' report.submission.arxiv_identifier_w_vn_nr %}">Finish report</a>
-                                            </div>
-                                        </li>
-                                    {% endfor %}
-                                    </ul>
-                                </div>
-                            </div>
-                        {% endif %}
-
-                        {% if contributor.reports.non_draft.exists %}
-                            <div class="row">
-                                <div class="col-12">
-                                    <h3>Finished reports:</h3>
-                                </div>
-                                <div class="col-12">
-                                    <ul class="list-group list-group-flush">
-                                    {% for report in contributor.reports.non_draft.all %}
-                                        <li class="list-group-item">
-                                            {% comment %}
-                                                Temporary: There is already a template for a "Report summary" in a parallel (unmerged) branch. Awaiting merge to use that template.
-                                            {% endcomment %}
-                                            <div class="card-body px-0 {% block cardblock_class_block %}{% endblock %}">
-                                                <h3>Report on Submission <a href="{{report.submission.get_absolute_url}}">{{report.submission.title}}</a></h3>
-                                                <table>
-                                                    <tr>
-                                                        <th style='min-width: 100px;'>Received:</th><td>{{ report.date_submitted|date:'Y-n-j' }}<td>
-                                                    </tr>
-                                                    <tr>
-                                                        <th>Status:</th><td {% if report.status == 'vetted' %}class="text-success"{% elif report.status == 'unvetted' %}class="text-danger"{% endif %}>{{report.get_status_display}}</td>
-                                                    </tr>
-                                                    <tr>
-                                                        <th>Type:</th><td>{{ report.invited|yesno:'Invited,Contributed' }} Report</td>
-                                                    </tr>
-                            					    {% if report.doi_label %}
-                            					    <tr>
-                                                        <th>DOI:</th><td>{{ report.doi_string }}</td>
-                                                    </tr>
-                                                    {% endif %}
-                                                    <tr>
-                                                        <th>Anonymous:</th><td>{{report.anonymous|yesno:'Yes,No'}}</td>{% if report.anonymous %}<td>You can <a href="{% url 'journals:sign_existing_report' report_id=report.id %}">click here to sign this Report</a> (leads to confirmation page){% endif %}</td>
-                                                    </tr>
-                                                </table>
-                                            </div>
-                                        </li>
-                                    {% endfor %}
-                                    </ul>
-                                </div>
-                            </div>
-                        {% endif %}
                     </div><!-- End tab -->
                 {% endif %}
 
                 <!-- Tab: Submissions -->
                 <div class="tab-pane" id="submissions" role="tabpanel">
-                    <div class="row">
-                        <div class="col-12">
-                            <div class="card card-grey">
-                                <div class="card-body">
-                                    <h2 class="card-title">Submissions</h2>
-                                    <ul class="mb-0">
-                                        {% if nr_submission_authorships_to_claim > 0 %}
-                                            <li><a href="{% url 'scipost:claim_authorships' %}">Potential authorships to claim (auto-detected: {{ nr_submission_authorships_to_claim}})</a></li>
-                                        {% endif %}
-                                        <li><a href="{% url 'submissions:submit_manuscript' %}">Submit an arXiv preprint to a SciPost Journal</a></li>
-                                    </ul>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-
-                    {# {% if own_submissions %}#}
-                    <div class="row" id="mysubmissionslist">
-                        <div class="col-12">
-                            <h3>Submissions for which you are identified as an author:</h3>
-                        </div>
-                        <div class="col-12">
-                            <ul class="list-group list-group-flush">
-                                {% for sub in own_submissions %}
-                                    <li class="list-group-item">
-                                        <div class="card-body px-0">
-                                            {% include 'partials/submissions/submission_card_content.html' with submission=sub %}
-                                            {% include 'submissions/_submission_status_block.html' with submission=sub %}
-
-                                            {% if request.user.contributor == sub.submitted_by %}
-                                                <p class="card-text mt-1">
-                                                    {% if sub.editor_in_charge %}
-                                                        <a href="{% url 'submissions:communication' sub.arxiv_identifier_w_vn_nr 'AtoE' %}">Write to the Editor-in-charge</a>
-                                                    {% endif %}
-                                                    {% if sub.status == 'revision_requested' %}
-                                                        &middot; <a href="{% url 'submissions:prefill_using_identifier' %}?identifier={{ sub.arxiv_identifier_wo_vn_nr }}">Resubmit this manuscript</a>
-                                                    {% endif %}
-                                                </p>
-                                            {% endif %}
-                                        </div>
-                                    </li>
-                                {% empty %}
-                                    <li class="list-group-item">
-                                        <em>No Submissions found</em>
-                                    </li>
-                                {% endfor %}
-                            </ul>
-                        </div>
-                    </div>
-                    {# {% endif %}#}
                 </div><!-- End tab -->
 
                 <!-- Tab: Commentaries -->
                 <div class="tab-pane" id="commentaries" role="tabpanel">
-                    <div class="row">
-                        <div class="col-12">
-                            <div class="card card-grey">
-                                <div class="card-body">
-                                    <h2 class="card-title">Commentaries</h2>
-                                    <ul class="mb-0">
-                                        {% if nr_commentary_authorships_to_claim > 0 %}
-                                            <li><a href="{% url 'scipost:claim_authorships' %}">Potential authorships to claim (auto-detected: {{ nr_commentary_authorships_to_claim}})</a></li>
-                                        {% endif %}
-                                        <li><a href="{% url 'commentaries:request_commentary' %}">Request opening a SciPost Commentary Page</a></li>
-                                    </ul>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-
-                    <div class="row" id="mycommentarieslist">
-                        <div class="col-12">
-                            <h3>Commentaries for which you are identified as an author:</h3>
-                        </div>
-                        <div class="col-12">
-                            <ul class="list-group list-group-flush">
-                                {% for com in own_commentaries %}
-                                    <li class="list-group-item">
-                                        {% include 'commentaries/_commentary_card_content.html' with commentary=com %}
-                                    </li>
-                                {% empty %}
-                                    <li class="list-group-item"><em>No Commentaries found</em></li>
-                                {% endfor %}
-                            </ul>
-                        </div>
-                    </div>
                 </div><!-- End tab -->
 
                 <!-- Tab: Theses -->
                 <div class="tab-pane" id="theses" role="tabpanel">
-                    <div class="row">
-                        <div class="col-12">
-                            <div class="card card-grey">
-                                <div class="card-body">
-                                    <h2 class="card-title">Theses</h2>
-                                    <ul class="mb-0">
-                                        {% if nr_thesis_authorships_to_claim > 0 %}
-                                            <li><a href="{% url 'scipost:claim_authorships' %}">Potential authorships to claim (auto-detected: {{ nr_thesis_authorships_to_claim}})</a></li>
-                                        {% endif %}
-                                        <li><a href="{% url 'theses:request_thesislink' %}">Request a SciPost ThesisLink</a></li>
-                                    </ul>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-
-                    <div class="row" id="mytheseslist">
-                        <div class="col-12">
-                            <h3>Theses for which you are identified as an author:</h3>
-                        </div>
-                        <div class="col-12">
-                            <ul class="list-group list-group-flush">
-                                {% for thesis in own_thesislinks %}
-                                    <li class="list-group-item">
-                                        {% include 'theses/_thesislink_card_content.html' with thesislink=thesis %}
-                                    </li>
-                                {% empty %}
-                                    <li class="list-group-item"><em>No Theses found</em></li>
-                                {% endfor %}
-                            </ul>
-                        </div>
-                    </div>
-
                 </div><!-- End tab -->
 
                 <!-- Tab: Comments -->
                 <div class="tab-pane" id="comments" role="tabpanel">
-                    <div class="row">
-                        <div class="col-12">
-                            <div class="card card-grey">
-                                <div class="card-body">
-                                    <h2 class="card-title mb-0">Your Comments</h2>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-
-                    <div class="row" id="mycommentslist">
-                        <div class="col-12">
-                            <ul class="list-group list-group-flush">
-                                {% for own_comment in own_comments %}
-                                    <li class="list-group-item">
-                                        {% include 'comments/_comment_card_extended_for_author.html' with comment=own_comment %}
-                                    </li>
-                                {% empty %}
-                                    <li class="list-group-item"><em>You have not commented yet.</em></li>
-                                {% endfor %}
-                            </ul>
-                        </div>
-                    </div>
                 </div><!-- End tab -->
 
                 <!-- Tab: Author Replies -->
                 <div class="tab-pane" id="author-replies" role="tabpanel">
-                    <div class="row">
-                        <div class="col-12">
-                            <div class="card card-grey">
-                                <div class="card-body">
-                                    <h2 class="card-title mb-0">Your Author Replies</h2>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-
-                    <div class="row" id="myauthorreplieslist">
-                        <div class="col-12">
-                            <ul class="list-group list-group-flush">
-                              {% for own_reply in own_authorreplies %}
-                                  <li class="list-group-item">
-                                      {% include 'comments/_comment_card_extended_for_author.html' with comment=own_reply %}
-                                  </li>
-                              {% empty %}
-                                  <li class="list-group-item"><em>You do not have Author Replies yet.</em></li>
-                              {% endfor %}
-                            </ul>
-                        </div>
-                    </div>
                 </div><!-- End tab -->
 
             {# END: If user is contributor #}
diff --git a/scipost/urls.py b/scipost/urls.py
index 3389075ecd634d4edeeecb7fc0f6a3522f58c16d..102f794c0ffad8e8266a6a5c290672e5c85864ef 100644
--- a/scipost/urls.py
+++ b/scipost/urls.py
@@ -124,13 +124,33 @@ urlpatterns = [
     # Authentication
     url(r'^login/$', views.login_view, name='login'),
     url(r'^logout$', views.logout_view, name='logout'),
-    url(r'^personal_page$', views.personal_page, name='personal_page'),
     url(r'^change_password$', views.change_password, name='change_password'),
     url(r'^reset_password_confirm/(?P<uidb64>[0-9A-Za-z]+)-(?P<token>.+)/$',
         views.reset_password_confirm, name='reset_password_confirm'),
     url(r'^reset_password/$', views.reset_password, name='reset_password'),
     url(r'^update_personal_data$', views.update_personal_data, name='update_personal_data'),
 
+    # Personal Page
+    url(r'^personal_page/$', views.personal_page, name='personal_page'),
+    url(r'^personal_page/account$', views.personal_page,
+        name='personal_page_account', kwargs={'tab': 'account'}),
+    url(r'^personal_page/editorial_actions$', views.personal_page,
+        name='personal_page_editorial_actions', kwargs={'tab': 'editorial_actions'}),
+    url(r'^personal_page/refereeing$', views.personal_page,
+        name='personal_page_refereeing', kwargs={'tab': 'refereeing'}),
+    url(r'^personal_page/publications$', views.personal_page,
+        name='personal_page_publications', kwargs={'tab': 'publications'}),
+    url(r'^personal_page/submissions$', views.personal_page,
+        name='personal_page_submissions', kwargs={'tab': 'submissions'}),
+    url(r'^personal_page/commentaries$', views.personal_page,
+        name='personal_page_commentaries', kwargs={'tab': 'commentaries'}),
+    url(r'^personal_page/theses$', views.personal_page,
+        name='personal_page_theses', kwargs={'tab': 'theses'}),
+    url(r'^personal_page/comments$', views.personal_page,
+        name='personal_page_comments', kwargs={'tab': 'comments'}),
+    url(r'^personal_page/author_replies$', views.personal_page,
+        name='personal_page_author_replies', kwargs={'tab': 'author_replies'}),
+
     # Unavailabilities
     url(r'^unavailable_period$', views.mark_unavailable_period, name='mark_unavailable_period'),
     url(r'^unavailable_period/(?P<period_id>[0-9]+)/delete$', views.delete_unavailable_period,
diff --git a/scipost/views.py b/scipost/views.py
index a9fe527bf5667f0f4f2368b966a3ca8c66dc58a7..f370969ba51a399f604980fd9005c591be154a8c 100644
--- a/scipost/views.py
+++ b/scipost/views.py
@@ -9,6 +9,7 @@ from django.contrib.auth.decorators import login_required, user_passes_test
 from django.contrib.auth.models import Group
 from django.contrib.auth.views import password_reset, password_reset_confirm
 from django.core import mail
+from django.core.exceptions import PermissionDenied
 from django.core.mail import EmailMessage, EmailMultiAlternatives
 from django.core.paginator import Paginator
 from django.core.urlresolvers import reverse
@@ -715,14 +716,216 @@ def delete_unavailable_period(request, period_id):
 
 
 @login_required
-def personal_page(request):
+@user_passes_test(has_contributor)
+def _personal_page_editorial_account(request):
+    """
+    The Personal Page tab: Account
+    """
+    contributor = request.user.contributor
+    context = {
+        'contributor': contributor,
+        'unavailability_form': UnavailabilityPeriodForm(),
+        'unavailabilities': contributor.unavailability_periods.future().order_by('start')
+    }
+    return render(request, 'partials/scipost/personal_page/account.html', context)
+
+
+@user_passes_test(has_contributor)
+def _personal_page_editorial_actions(request):
+    """
+    The Personal Page tab: Editorial Actions
+    """
+    permission = request.user.groups.filter(name__in=[
+        'Ambassadors',
+        'Advisory Board',
+        'Editorial Administrators',
+        'Editorial College',
+        'Vetting Editors',
+        'Junior Ambassadors']).exists()
+
+    if not permission:
+        raise PermissionDenied
+
+    context = {}
+    contributor = request.user.contributor
+
+    if contributor.is_SP_Admin():
+        # count the number of pending registration requests
+        context['nr_reg_to_vet'] = Contributor.objects.awaiting_vetting().count()
+        context['nr_reg_awaiting_validation'] = Contributor.objects.awaiting_validation().count()
+        context['nr_submissions_to_assign'] = Submission.objects.prescreening().count()
+        context['nr_recommendations_to_prepare_for_voting'] = EICRecommendation.objects.filter(
+            submission__status='voting_in_preparation').count()
+
+    if contributor.is_VE():
+        context['nr_commentary_page_requests_to_vet'] = (Commentary.objects.awaiting_vetting()
+                                                         .exclude(requested_by=contributor).count())
+        context['nr_comments_to_vet'] = Comment.objects.awaiting_vetting().count()
+        context['nr_thesislink_requests_to_vet'] = ThesisLink.objects.awaiting_vetting().count()
+        context['nr_authorship_claims_to_vet'] = AuthorshipClaim.objects.awaiting_vetting().count()
+
+    if contributor.is_MEC():
+        context['nr_assignments_to_consider'] = contributor.editorial_assignments.open().count()
+        context['active_assignments'] = contributor.editorial_assignments.ongoing()
+        context['nr_reports_to_vet'] = Report.objects.awaiting_vetting().filter(
+            submission__editor_in_charge=contributor).count()
+
+    if contributor.is_EdCol_Admin():
+        context['nr_reports_without_pdf'] = Report.objects.accepted().filter(pdf_report='').count()
+        context['nr_treated_submissions_without_pdf'] = Submission.objects.treated().filter(
+            pdf_refereeing_pack='').count()
+
+    return render(request, 'partials/scipost/personal_page/editorial_actions.html', context)
+
+
+@permission_required('scipost.can_referee', return_403=True)
+@user_passes_test(has_contributor)
+def _personal_page_refereeing(request):
+    """
+    The Personal Page tab: Refereeing
+    """
+    context = {
+        'contributor': request.user.contributor
+    }
+    return render(request, 'partials/scipost/personal_page/refereeing.html', context)
+
+
+@login_required
+@user_passes_test(has_contributor)
+def _personal_page_publications(request):
+    """
+    The Personal Page tab: Publications
+    """
+    contributor = request.user.contributor
+    context = {
+        'contributor': contributor,
+        'own_publications': contributor.publications.order_by('-publication_date')
+    }
+    context['nr_publication_authorships_to_claim'] = Publication.objects.filter(
+        author_list__contains=request.user.last_name).exclude(
+        authors=contributor).exclude(
+        authors_claims=contributor).exclude(
+        authors_false_claims=contributor).count()
+    return render(request, 'partials/scipost/personal_page/publications.html', context)
+
+
+@login_required
+@user_passes_test(has_contributor)
+def _personal_page_submissions(request):
+    """
+    The Personal Page tab: Submissions
+    """
+    contributor = request.user.contributor
+    context = {'contributor': contributor}
+
+    context['nr_submission_authorships_to_claim'] = Submission.objects.filter(
+        author_list__contains=request.user.last_name).exclude(
+        authors=contributor).exclude(
+        authors_claims=contributor).exclude(
+        authors_false_claims=contributor).count()
+    context['own_submissions'] = contributor.submissions.filter(
+        is_current=True).order_by('-submission_date')
+    return render(request, 'partials/scipost/personal_page/submissions.html', context)
+
+
+@login_required
+@user_passes_test(has_contributor)
+def _personal_page_commentaries(request):
+    """
+    The Personal Page tab: Commentaries
+    """
+    contributor = request.user.contributor
+    context = {'contributor': contributor}
+
+    context['nr_commentary_authorships_to_claim'] = Commentary.objects.filter(
+        author_list__contains=request.user.last_name).exclude(
+        authors=contributor).exclude(
+        authors_claims=contributor).exclude(
+        authors_false_claims=contributor).count()
+    context['own_submissions'] = contributor.commentaries.order_by('-latest_activity')
+    return render(request, 'partials/scipost/personal_page/commentaries.html', context)
+
+
+@login_required
+@user_passes_test(has_contributor)
+def _personal_page_theses(request):
+    """
+    The Personal Page tab: Theses
+    """
+    contributor = request.user.contributor
+    context = {'contributor': contributor}
+
+    context['nr_thesis_authorships_to_claim'] = ThesisLink.objects.filter(
+        author__contains=request.user.last_name).exclude(
+        author_as_cont=contributor).exclude(
+        author_claims=contributor).exclude(
+        author_false_claims=contributor).count()
+    context['own_thesislinks'] = contributor.theses.all()
+    return render(request, 'partials/scipost/personal_page/theses.html', context)
+
+
+@login_required
+@user_passes_test(has_contributor)
+def _personal_page_comments(request):
+    """
+    The Personal Page tab: Comments
+    """
+    contributor = request.user.contributor
+    context = {
+        'contributor': contributor,
+        'own_comments': contributor.comments.regular_comments().order_by('-date_submitted')
+    }
+
+    return render(request, 'partials/scipost/personal_page/comments.html', context)
+
+
+@login_required
+@user_passes_test(has_contributor)
+def _personal_page_author_replies(request):
+    """
+    The Personal Page tab: Author Replies
+    """
+    contributor = request.user.contributor
+    context = {
+        'contributor': contributor,
+        'own_authorreplies': contributor.comments.author_replies().order_by('-date_submitted'),
+    }
+
+    return render(request, 'partials/scipost/personal_page/author_replies.html', context)
+
+
+@login_required
+def personal_page(request, tab='account'):
     """
     The Personal Page is the main view for accessing user functions.
     """
+    if request.is_ajax():
+        if tab == 'account':
+            return _personal_page_editorial_account(request)
+        elif tab == 'editorial_actions':
+            return _personal_page_editorial_actions(request)
+        elif tab == 'refereeing':
+            return _personal_page_refereeing(request)
+        elif tab == 'publications':
+            return _personal_page_publications(request)
+        elif tab == 'submissions':
+            return _personal_page_submissions(request)
+        elif tab == 'commentaries':
+            return _personal_page_commentaries(request)
+        elif tab == 'theses':
+            return _personal_page_theses(request)
+        elif tab == 'comments':
+            return _personal_page_comments(request)
+        elif tab == 'author_replies':
+            return _personal_page_author_replies(request)
+        raise Http404
+
     context = {
         'appellation': str(request.user),
         'needs_validation': False,
+        'tab': tab,
     }
+
     try:
         contributor = Contributor.objects.select_related('user').get(user=request.user)
         context['needs_validation'] = contributor.status != CONTRIBUTOR_NORMAL
@@ -730,127 +933,14 @@ def personal_page(request):
         contributor = None
 
     if contributor:
-        # Compile the unavailability periods:
-        now = timezone.now()
-        unavailabilities = contributor.unavailability_periods.exclude(end__lt=now).order_by('start')
-        unavailability_form = UnavailabilityPeriodForm()
-
-        # if an editor, count the number of actions required:
-        nr_reg_to_vet = 0
-        nr_reg_awaiting_validation = 0
-        nr_submissions_to_assign = 0
-        nr_recommendations_to_prepare_for_voting = 0
-        if contributor.is_SP_Admin():
-            # count the number of pending registration requests
-            nr_reg_to_vet = Contributor.objects.awaiting_vetting().count()
-            nr_reg_awaiting_validation = (Contributor.objects.awaiting_validation()
-                                          .count())
-            nr_submissions_to_assign = Submission.objects.prescreening().count()
-            nr_recommendations_to_prepare_for_voting = EICRecommendation.objects.filter(
-                submission__status='voting_in_preparation').count()
-
-        nr_assignments_to_consider = 0
-        active_assignments = None
-        nr_reports_to_vet = 0
-        if contributor.is_MEC():
-            nr_assignments_to_consider = (contributor.editorial_assignments
-                                          .open().count())
-            active_assignments = contributor.editorial_assignments.ongoing()
-            nr_reports_to_vet = (Report.objects.awaiting_vetting()
-                                 .filter(submission__editor_in_charge=contributor).count())
-
-        nr_commentary_page_requests_to_vet = 0
-        nr_comments_to_vet = 0
-        nr_thesislink_requests_to_vet = 0
-        nr_authorship_claims_to_vet = 0
-        if contributor.is_VE():
-            nr_commentary_page_requests_to_vet = (Commentary.objects.awaiting_vetting()
-                                                  .exclude(requested_by=contributor).count())
-            nr_comments_to_vet = Comment.objects.awaiting_vetting().count()
-            nr_thesislink_requests_to_vet = ThesisLink.objects.awaiting_vetting().count()
-            nr_authorship_claims_to_vet = AuthorshipClaim.objects.awaiting_vetting().count()
-
         # Refereeing
-        nr_ref_inv_to_consider = contributor.referee_invitations.open().count()
-        pending_ref_tasks = contributor.referee_invitations.in_process()
-        refereeing_tab_total_count = nr_ref_inv_to_consider + len(pending_ref_tasks)
+        refereeing_tab_total_count = contributor.referee_invitations.open().count()
+        refereeing_tab_total_count += contributor.referee_invitations.in_process().count()
         refereeing_tab_total_count += contributor.reports.in_draft().count()
 
-        # Verify if there exist objects authored by this contributor,
-        # whose authorship hasn't been claimed yet
-        own_publications = contributor.publications.order_by('-publication_date')
-        own_submissions = contributor.submissions.filter(is_current=True).order_by('-submission_date')
-        own_commentaries = contributor.commentaries.order_by('-latest_activity')
-        own_thesislinks = contributor.theses.all()
-        nr_publication_authorships_to_claim = (Publication.objects.filter(
-            author_list__contains=contributor.user.last_name)
-                                              .exclude(authors=contributor)
-                                              .exclude(authors_claims=contributor)
-                                              .exclude(authors_false_claims=contributor)
-                                              .count())
-        nr_submission_authorships_to_claim = (Submission.objects.filter(
-            author_list__contains=contributor.user.last_name)
-                                              .exclude(authors=contributor)
-                                              .exclude(authors_claims=contributor)
-                                              .exclude(authors_false_claims=contributor)
-                                              .count())
-        nr_commentary_authorships_to_claim = (Commentary.objects.filter(
-            author_list__contains=contributor.user.last_name)
-                                              .exclude(authors=contributor)
-                                              .exclude(authors_claims=contributor)
-                                              .exclude(authors_false_claims=contributor)
-                                              .count())
-        nr_thesis_authorships_to_claim = (ThesisLink.objects.filter(
-            author__contains=contributor.user.last_name)
-                                          .exclude(author_as_cont=contributor)
-                                          .exclude(author_claims=contributor)
-                                          .exclude(author_false_claims=contributor)
-                                          .count())
-        own_comments = (contributor.comments.regular_comments()
-                        .select_related('author', 'submission')
-                        .order_by('-date_submitted'))
-        own_authorreplies = (contributor.comments.author_replies()
-                             .order_by('-date_submitted'))
-
-        appellation = contributor.get_title_display() + ' ' + contributor.user.last_name
-
-        context.update({
-            'contributor': contributor,
-            'appellation': appellation,
-            'unavailabilities': unavailabilities,
-            'unavailability_form': unavailability_form,
-            'nr_reg_to_vet': nr_reg_to_vet,
-            'nr_reg_awaiting_validation': nr_reg_awaiting_validation,
-            'nr_commentary_page_requests_to_vet': nr_commentary_page_requests_to_vet,
-            'nr_comments_to_vet': nr_comments_to_vet,
-            'nr_thesislink_requests_to_vet': nr_thesislink_requests_to_vet,
-            'nr_authorship_claims_to_vet': nr_authorship_claims_to_vet,
-            'nr_reports_to_vet': nr_reports_to_vet,
-            'nr_submissions_to_assign': nr_submissions_to_assign,
-            'nr_recommendations_to_prepare_for_voting': nr_recommendations_to_prepare_for_voting,
-            'nr_assignments_to_consider': nr_assignments_to_consider,
-            'active_assignments': active_assignments,
-            'nr_publication_authorships_to_claim': nr_publication_authorships_to_claim,
-            'nr_submission_authorships_to_claim': nr_submission_authorships_to_claim,
-            'nr_commentary_authorships_to_claim': nr_commentary_authorships_to_claim,
-            'nr_thesis_authorships_to_claim': nr_thesis_authorships_to_claim,
-            'nr_ref_inv_to_consider': nr_ref_inv_to_consider,
-            'pending_ref_tasks': pending_ref_tasks,
-            'refereeing_tab_total_count': refereeing_tab_total_count,
-            'own_publications': own_publications,
-            'own_submissions': own_submissions,
-            'own_commentaries': own_commentaries,
-            'own_thesislinks': own_thesislinks,
-            'own_comments': own_comments,
-            'own_authorreplies': own_authorreplies,
-        })
-
-    # Only add variables if user has right permission
-    if request.user.has_perm('scipost.can_manage_reports'):
-        context['nr_reports_without_pdf'] = (Report.objects.accepted()
-                                             .filter(pdf_report='').count())
-        context['nr_treated_submissions_without_pdf'] = (Submission.objects.treated()
-                                                         .filter(pdf_refereeing_pack='').count())
+        context['refereeing_tab_total_count'] = refereeing_tab_total_count
+        context['appellation'] = contributor.get_title_display() + ' ' + contributor.user.last_name
+        context['contributor'] = contributor
 
     return render(request, 'scipost/personal_page.html', context)
 
diff --git a/webpack.config.js b/webpack.config.js
index b27be106e76544fa453dadb207f296cebe238ad2..6a9275d4de51bfd576ea29122e1eb64da64ec829 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -10,6 +10,7 @@ module.exports = {
     entry: {
         main: [
             "bootstrap-loader",
+            "./scipost/static/scipost/assets/js/dynamic_loading.js",
             "./scipost/static/scipost/assets/js/scripts.js",
         ],
         homepage: [