diff --git a/gms/memberdb/forms.py b/gms/memberdb/forms.py
index 4aa5ee0fc85885e49bbb9eabacf9d1db0f93a4bf..5f6657a42d5e55a05e43335673198313d537f80f 100644
--- a/gms/memberdb/forms.py
+++ b/gms/memberdb/forms.py
@@ -1,5 +1,7 @@
 from django import forms
 
+from .models import Member, Membership
+
 """
 Custom ModelForm class with some extra features
 """
@@ -11,5 +13,7 @@ class MyModelForm(forms.ModelForm):
         self.request = kwargs.pop("request")
         super().__init__(*args, **kwargs)
 
-
-
+class MemberHomeForm(MyModelForm):
+    class Meta:
+        model = Member
+        fields = ['display_name', 'email_address', 'phone_number']
diff --git a/gms/memberdb/templates/home.html b/gms/memberdb/templates/home.html
new file mode 100644
index 0000000000000000000000000000000000000000..2336bfee4fe193dd3ae1f3cc45a37d63ef5352ba
--- /dev/null
+++ b/gms/memberdb/templates/home.html
@@ -0,0 +1,25 @@
+{% extends "register.html" %}
+{% block title %}UCC Member Home{% endblock %}
+{% block content_title %}
+    <h1>Member home</h1>
+{% endblock %}
+
+{% block tips %}
+{% if not object %}
+<b>Your account exists already but no membership information has yet been recorded in this system.</b>
+<br>Please update/correct the details below as necessary.
+{% else %}
+Please confirm that the details below have not changed since your last registration or membership renewal.
+{% endif %}
+{% endblock %}
+
+{% block extra_preform %}
+<div class="form-row readonly">
+    <label for="id_username">Username:</label>
+    <span class="text" id="id_username">{{ request.user.username }}</span>
+</div>
+{% endblock %}
+
+{% block action_url %}{% url 'memberdb:renew' %}{% endblock %}
+
+{% block action_text %}Renew{% endblock %}
\ No newline at end of file
diff --git a/gms/memberdb/views.py b/gms/memberdb/views.py
index ddecabd07c5399f393965ec9840cfb3227e6573a..f704ae3724f1e39ba788723eb85980c2e2f03c02 100644
--- a/gms/memberdb/views.py
+++ b/gms/memberdb/views.py
@@ -4,9 +4,10 @@ from django.shortcuts import render
 from django.urls import reverse
 from django.forms import ModelForm
 from django.views.generic.edit import UpdateView
-from django import forms
+from django.contrib.auth.mixins import LoginRequiredMixin
 
 from .models import Member, IncAssocMember, Membership
+from .forms import MemberHomeForm
 
 def index(request):
     member_list = Member.objects.all()
@@ -32,9 +33,32 @@ class MyUpdateView(UpdateView):
     object = None
 
     def get_object(self):
-        return self.object
+        if (not self.object is None):
+            return self.object
+        try:
+            sobj = super().get_object()
+            if (not sobj is None):
+                return sobj
+        finally:
+            return None
 
     def get_form_kwargs(self, **kwargs):
         kwargs.update(super().get_form_kwargs())
         kwargs.update({'request': self.request})
-        return kwargs
\ No newline at end of file
+        return kwargs
+
+class MemberHomeView(LoginRequiredMixin, MyUpdateView):
+    model = Member
+    template_name = 'home.html'
+    form_class = MemberHomeForm
+
+    def get_object(self):
+        return Member.objects.filter(username__exact=self.request.user.username).first()
+
+    def get_context_data(self):
+        d = super().get_context_data()
+        m = self.get_object()
+        d.update({
+            'memberships': m.memberships.all() if m is not None else None,
+        })
+        return d