diff --git a/src/lib/components/Image.svelte b/src/lib/components/Image.svelte
new file mode 100644
index 0000000..e69de29
diff --git a/src/lib/components/Post.svelte b/src/lib/components/Post.svelte
index 5952384..cad9002 100644
--- a/src/lib/components/Post.svelte
+++ b/src/lib/components/Post.svelte
@@ -3,7 +3,7 @@
     import PostButton from '$lib/components/PostButton.svelte';
     import PostBody from '$lib/components/PostBody.svelte';
 
-    export let success, username, content, upvotes, downvotes, id;
+    export let success, username, content, upvotes, downvotes, id, isAuthor;
 
     let query = (id) ? `/post/${id}` : '';
 
@@ -24,6 +24,20 @@
             downvotes = j.data.down;
         })
     }
+
+    function deletePost(v) {
+        fData = (new FormData());
+
+        fData.append('id',id);
+
+        fetch('/api/postDelete', {
+            method: 'POST',
+            body: fData
+        }).then(async x => {
+            window.location.href = '/';
+        })
+    }
+
 </script>
 
 <style>
@@ -66,17 +80,25 @@
         <span slot="footer">
             <PostButton
                 clickFunc={() => vote('up')}
-                data={upvotes * 1}
+                data={upvotes * 1 + ' Yes'}
                 icon='/upvote.svg'
             />
             <PostButton
                 clickFunc={() => vote('down')}
-                data={downvotes * 1}
+                data={downvotes * 1 + ' No'}
                 icon='/downvote.svg'
             />
+            {#if isAuthor}
+                <PostButton
+                    clickFunc={() => deletePost()}
+                    data={'Delete'}
+                    icon='/delete.svg'
+                />
+            {/if}
             {#if id}
                 <PostButton
                     href='/post/{id}'
+                    data={'View'}
                     icon='/view.svg'
                 />
             {/if}
diff --git a/src/lib/db/db.js b/src/lib/db/db.js
index 43a1708..20d848d 100644
--- a/src/lib/db/db.js
+++ b/src/lib/db/db.js
@@ -3,7 +3,8 @@ const rowCount = 5;
 const AUTH_ACTIONS = [
     'postCreate',
     'fileCreate',
-    'vote'
+    'vote',
+    'postDelete'
 ];
 
 const fileSizeLimit = 1024*1024*16;
@@ -100,6 +101,8 @@ backend.register = async ({user, pass, pass2}) => {
         passHash
     ])
 
+    await updateUser({user: user[0].username});
+
     return { success: 'Successfully created account.', location: '/'};
 }
 
@@ -155,7 +158,18 @@ backend.postCreate = async ({content, user}) => {
     return {'success': 'Your post has been broadcasted!', 'href': `/post/${id}` };
 }
 
-backend.postGet = async ({id}) => {
+backend.postDelete = async ({id, user}) => {
+
+    await db.run('DELETE FROM post WHERE username = ? AND id = ?', [
+        user,
+        id
+    ])
+
+    return {'success': 'Your post has been deleted!', 'href': `/post/${id}` };
+}
+
+
+backend.postGet = async ({id, cookies }) => {
     var posts = await db.all('SELECT * from post WHERE id = ?', [
         id
     ])
@@ -164,7 +178,9 @@ backend.postGet = async ({id}) => {
         return {'success': 'Post does not exist.'}
     }
 
-    return {data: posts[0]};
+    var user = (await backend.token({cookies})).data;
+
+    return {data: posts[0], isAuthor: posts[0].username == user};
 }
 
 backend.userGet = async ({user}) => {
diff --git a/src/routes/post/[post]/+page.js b/src/routes/post/[post]/+page.js
index 2b44140..8e45037 100644
--- a/src/routes/post/[post]/+page.js
+++ b/src/routes/post/[post]/+page.js
@@ -8,7 +8,7 @@ export async function load({ fetch, params, url }) {
     await new Promise(resolve => setTimeout(resolve, 100));
 
     const res = await fetch(`/api/postGet?id=${id}`);
-    const postJson = (await res.json()).data;
+    const postJson = (await res.json());
 
     console.log(postJson);
 
diff --git a/src/routes/post/[post]/+page.svelte b/src/routes/post/[post]/+page.svelte
index e047106..127c837 100644
--- a/src/routes/post/[post]/+page.svelte
+++ b/src/routes/post/[post]/+page.svelte
@@ -4,12 +4,12 @@
     /** @type {import('./$types').PageData} */
     export let data;
 </script>
-
 <Post
-    success={data.success}
-    username={data.username}
-    content={data.content}
-    upvotes={data.upvotes}
-    downvotes={data.downvotes}
-    id={data.id}
+    success={data.data.success}
+    username={data.data.username}
+    content={data.data.content}
+    upvotes={data.data.upvotes}
+    downvotes={data.data.downvotes}
+    id={data.data.id}
+    isAuthor={data.isAuthor}
 ></Post>
\ No newline at end of file
diff --git a/src/routes/user/[user]/+page.svelte b/src/routes/user/[user]/+page.svelte
index c9dd6e4..64b6db3 100644
--- a/src/routes/user/[user]/+page.svelte
+++ b/src/routes/user/[user]/+page.svelte
@@ -32,14 +32,15 @@
 
 <h2>Posts</h2>
 
-{#each data.postJson.data as post}
+{#each data.postJson as data}
     <Post
-        success={post.success}
-        username={post.username}
-        content={post.content}
-        upvotes={post.upvotes}
-        downvotes={post.downvotes}
-        id={post.id}
+        success={data.data.success}
+        username={data.data.username}
+        content={data.data.content}
+        upvotes={data.data.upvotes}
+        downvotes={data.data.downvotes}
+        id={data.data.id}
+        isAuthor={data.isAuthor}
     ></Post>
 {/each}
 
diff --git a/static/delete.svg b/static/delete.svg
new file mode 100644
index 0000000..218d0fe
--- /dev/null
+++ b/static/delete.svg
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   width="39.749512mm"
+   height="34.423737mm"
+   viewBox="0 0 39.749511 34.423736"
+   version="1.1"
+   id="svg14062"
+   inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
+   sodipodi:docname="delete.svg"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <sodipodi:namedview
+     id="namedview14064"
+     pagecolor="#000000"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:showpageshadow="2"
+     inkscape:pageopacity="0"
+     inkscape:pagecheckerboard="0"
+     inkscape:deskcolor="#d1d1d1"
+     inkscape:document-units="mm"
+     showgrid="false"
+     inkscape:zoom="2.0560856"
+     inkscape:cx="40.367969"
+     inkscape:cy="68.333731"
+     inkscape:window-width="1920"
+     inkscape:window-height="996"
+     inkscape:window-x="-8"
+     inkscape:window-y="-8"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="layer1" />
+  <defs
+     id="defs14059" />
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-48.152692,-141.96593)">
+    <path
+       id="path33180"
+       style="fill:#aaaaaa;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:3.96999"
+       inkscape:transform-center-y="-5.7373187"
+       d="M -65.658893,-122.24195 -140.77608,7.8635183 H 9.458295 Z m -12.876954,35.990233 h 25.753907 l -3.041016,56.396485 h -19.671875 z m 12.81836,65.816407 c 3.378213,0 6.27876,0.853521 8.703125,2.5625 2.424365,1.708978 3.636719,4.669982 3.636719,8.8828125 0,4.0141122 -1.212354,6.9166124 -3.636719,8.70507821 -2.424365,1.78846589 -5.324912,2.68164069 -8.703125,2.68164069 -3.417957,0 -6.378961,-0.8931748 -8.882813,-2.68164069 -2.464108,-1.78846581 -3.697266,-4.69096601 -3.697266,-8.70507821 0,-4.2128305 1.233158,-7.1738345 3.697266,-8.8828125 2.503852,-1.708979 5.464856,-2.5625 8.882813,-2.5625 z"
+       transform="matrix(0.26458333,0,0,0.26458333,85.399696,174.30911)" />
+  </g>
+</svg>