diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000000000000000000000000000000000000..b1e6aa6bf139a4d906870535e8853bbbf353dd13
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+	"liveServer.settings.port": 5501
+}
\ No newline at end of file
diff --git a/frontend/src/components/App.tsx b/frontend/src/components/App.tsx
index d6dee65910c8be819aef0667f22add709cfa551a..c8e5593ca62113530331c68462f4dfd7e320ac10 100644
--- a/frontend/src/components/App.tsx
+++ b/frontend/src/components/App.tsx
@@ -11,6 +11,7 @@ import {
   faCalendarWeek,
   faChalkboardTeacher,
 } from "@fortawesome/free-solid-svg-icons";
+import LeftBar from "./organisms/LeftBar/LeftBar";
 
 const App: React.FC = () => {
   const horizontalBarPages = [
@@ -20,20 +21,23 @@ const App: React.FC = () => {
     { name: "Other", path: "/other", icon: faEllipsisH },
   ];
 
-  const topBarRoutes = horizontalBarPages.map(({ name, path }) => 
+  const topBarRoutes = horizontalBarPages.map(({ name, path }) => (
     <Route path={path} key={name}>
       <ExamplePage name={name} />
     </Route>
-  );
+  ));
 
   return (
     <>
-      <TopBar pages={horizontalBarPages}/>
-      <Switch>
-        <Route exact path="/" render={() => <Redirect to="/courses" />} />
-        {topBarRoutes}
-      </Switch>
-      <BottomBar  pages={horizontalBarPages}/>
+      <TopBar pages={horizontalBarPages} />
+      <div id="wrapper">
+				<LeftBar/>
+        <Switch>
+          <Route exact path="/" render={() => <Redirect to="/courses" />} />
+          {topBarRoutes}
+        </Switch>
+      </div>
+      <BottomBar pages={horizontalBarPages} />
     </>
   );
 };
diff --git a/frontend/src/components/organisms/BottomBar/BottomBar.tsx b/frontend/src/components/organisms/BottomBar/BottomBar.tsx
index 5cbc61886b105f57f9b49b6878c78b737ea675a4..d7c29480f1fec06f2b7ea7ddd9f9223d918c1eef 100644
--- a/frontend/src/components/organisms/BottomBar/BottomBar.tsx
+++ b/frontend/src/components/organisms/BottomBar/BottomBar.tsx
@@ -4,14 +4,10 @@ import Button from "react-bootstrap/Button";
 import ButtonGroup from "react-bootstrap/ButtonGroup";
 import "./style.scss";
 import {
-  faBookOpen,
-  faEllipsisH,
-  faCalendarWeek,
-  faChalkboardTeacher,
   IconDefinition
 } from "@fortawesome/free-solid-svg-icons";
 import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
-import { NavLink, Link } from "react-router-dom";
+import { NavLink } from "react-router-dom";
 
 export interface BottomBarProps {
   pages: {
diff --git a/frontend/src/components/organisms/LeftBar/LeftBar.tsx b/frontend/src/components/organisms/LeftBar/LeftBar.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..f54d53eed356cd1ad2bde5feaeee38c21f64d2af
--- /dev/null
+++ b/frontend/src/components/organisms/LeftBar/LeftBar.tsx
@@ -0,0 +1,37 @@
+import React from "react";
+import "./style.scss";
+
+const LeftBar: React.FC = () => {
+  // TODO: change to using react components
+  return (
+    <div id="sidebar-wrapper">
+      <div>
+        <p className="sidebar-status">1 UPDATE</p>
+        <h1 className="exam-outline-heading">Sort</h1>
+      </div>
+      <div
+        className="btn-group-vertical"
+        role="group"
+        id="exam-outline-button-group"
+      >
+        <button className="btn btn-primary exam-outline-button" type="button">
+          Progress
+        </button>
+        <button
+          className="btn btn-primary exam-outline-button-a active"
+          type="button"
+        >
+          Course Title
+        </button>
+        <button className="btn btn-primary exam-outline-button" type="button">
+          Course Code
+        </button>
+        <button className="btn btn-primary exam-outline-button" type="button">
+          Term
+        </button>
+      </div>
+    </div>
+  );
+};
+
+export default LeftBar;
diff --git a/frontend/src/components/organisms/LeftBar/style.scss b/frontend/src/components/organisms/LeftBar/style.scss
new file mode 100644
index 0000000000000000000000000000000000000000..2fc82a12c074d354dbe7543e46d5b64216df19a3
--- /dev/null
+++ b/frontend/src/components/organisms/LeftBar/style.scss
@@ -0,0 +1,160 @@
+//TODO: tidy, change classNames away from examen, and make more modular
+#wrapper {
+  padding-left: 0;
+  -webkit-transition: all 0.5s ease;
+  -moz-transition: all 0.5s ease;
+  -o-transition: all 0.5s ease;
+  transition: all 0.5s ease;
+}
+
+#sidebar-wrapper {
+  z-index: 1000;
+  position: fixed;
+  left: 250px;
+  width: 0;
+  height: 100%;
+  margin-left: -250px;
+  overflow-y: auto;
+  background: #fff;
+  background: #FFFFFF;
+  box-shadow: 0 2px 10px 0 rgba(0,0,0,0.10);
+  -webkit-transition: all 0.5s ease;
+  -moz-transition: all 0.5s ease;
+  -o-transition: all 0.5s ease;
+  transition: all 0.5s ease;
+}
+
+.exam-outline-button {
+  margin-bottom: 10px;
+}
+
+.exam-outline-button-a {
+  margin-bottom: 10px;
+  border-radius: 8px;
+}
+
+#sidebar-wrapper .btn-primary:not(:disabled):not(.disabled).active,#sidebar-wrapper .btn-primary:not(:disabled):not(.disabled):active,#sidebar-wrapper .show > .btn-primary.dropdown-toggle {
+  color: #fff;
+  background-color: #000;
+  border-radius: 5px;
+  text-align: left;
+  border-width: 0px;
+  height: 40px;
+}
+
+#sidebar-wrapper .btn-primary {
+  color: #000;
+  background: #F6F8FA;
+  font-size: 17px;
+  color: #000000;
+  letter-spacing: 0;
+  border-width: 0px;
+  height: 40px;
+  border-radius: 5px;
+  text-align: left;
+}
+
+#sidebar-wrapper .btn-group-vertical > .btn-group:not(:last-child) > .btn,#sidebar-wrapper .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle) {
+  border-radius: 5px;
+}
+
+#sidebar-wrapper .btn-group-vertical > .btn-group:not(:first-child) >#sidebar-wrapper .btn, .btn-group-vertical > .btn:not(:first-child) {
+  border-top-left-radius: 5px;
+  border-top-right-radius: 5px;
+}
+
+#sidebar-wrapper .btn-primary:hover {
+  color: #000;
+  background-color: #e5e5e5;
+  border-color: #fff;
+}
+
+#wrapper.toggled {
+  padding-left: 250px;
+}
+
+#wrapper.toggled #sidebar-wrapper {
+  width: 250px;
+}
+
+@media (max-width: 768px) {
+  .sidebar-status {
+    margin-top: 30px;
+    margin-left: 16px;
+    margin-right: 16px;
+    margin-bottom: 0px;
+    font-size: 16px;
+    color: #000000;
+    letter-spacing: 0;
+		position: absolute;
+		width: max-content;
+  }
+
+  .exam-outline-heading {
+    font-size: 24px;
+    color: #000000;
+    text-align: left;
+    margin-top: 64px;
+    margin-left: 16px;
+    margin-right: 16px;
+		position: absolute;
+		width: max-content;
+    margin-bottom: 0px;
+  }
+
+  #exam-outline-button-group {
+    margin-top: 102px;
+    margin-left: 16px;
+    margin-right: 16px;
+    width: 218px;
+  }
+}
+
+@media (min-width:768px) {
+	#wrapper {
+    padding-left: 250px;
+	}
+	
+  #sidebar-wrapper {
+    width: 250px;
+	}
+	
+	.sidebar-status {
+    margin-top: 30px;
+    margin-left: 32px;
+    margin-right: 32px;
+    margin-bottom: 0px;
+    font-size: 16px;
+    color: #000000;
+    letter-spacing: 0;
+		position: absolute;
+		width: max-content;
+	}
+	
+	.exam-outline-heading {
+    font-size: 24px;
+    color: #000000;
+    text-align: left;
+    margin-top: 64px;
+    margin-left: 32px;
+    margin-right: 32px;
+		position: absolute;
+		width: max-content;
+    margin-bottom: 0px;
+	}
+	
+  #exam-outline-button-group {
+    margin-top: 102px;
+    margin-left: 32px;
+    margin-right: 32px;
+    width: 186px;
+	}
+	
+  #wrapper.toggled {
+    padding-left: 0;
+  }
+
+  #wrapper.toggled #sidebar-wrapper {
+    width: 0;
+  }
+}
\ No newline at end of file
diff --git a/frontend/src/components/organisms/TopBar/TopBar.tsx b/frontend/src/components/organisms/TopBar/TopBar.tsx
index 50319370bf482bc77b2031b52d5e816a5874196e..32fd79b8026a67d28f5d28aee9fb39655c2f182e 100644
--- a/frontend/src/components/organisms/TopBar/TopBar.tsx
+++ b/frontend/src/components/organisms/TopBar/TopBar.tsx
@@ -31,15 +31,27 @@ const TopBar: React.FC<TopBarProps> = ({ pages }: TopBarProps) => {
   return (
     <Navbar className="top-bar" sticky="top" expand="lg" variant="light">
       <Container fluid>
-        <Navbar.Brand as={Link} to="/" className="brand-container">
+        <Navbar.Brand className="brand-container">
           <img
             src={logo}
             width="30"
             height="30"
             className="d-inline-block align-center brand-image"
             alt="React Bootstrap logo"
+            onClick={(e) => {
+							// TODO: change to using react states
+              e.preventDefault();
+              const wrapper = document.querySelector("#wrapper") || document.createElement("div");
+              if (wrapper.classList.contains("toggled")) {
+                wrapper.classList.remove("toggled");
+              } else {
+                wrapper.classList.add("toggled");
+              }
+            }}
           />{" "}
-          Scientia
+          <Link to="/" style={{ textDecoration: "none" }}>
+            Scientia
+          </Link>
         </Navbar.Brand>
 
         <Navbar className="page-button-group m-auto" id="responsive-navbar-nav">
diff --git a/frontend/src/components/organisms/TopBar/style.scss b/frontend/src/components/organisms/TopBar/style.scss
index 51d09cb7e07f923762ddf41c3f205df8be1b9984..9c58821f847ba30f476d0eaa2d1880dbf010f59a 100644
--- a/frontend/src/components/organisms/TopBar/style.scss
+++ b/frontend/src/components/organisms/TopBar/style.scss
@@ -27,6 +27,9 @@
   margin: 0px;
 }
 
+.brand-container a{
+	color: #000;
+}
 //--------------------------------Page Buttons---------------------------------
 
 @media (min-width: 992px) {