FreeCodeCamp - Build a Personal Portfolio Webpage
In this project (the final one!!!!) I was tasked with creating a portfolio webpage. I was instructed to make it similar to this one. Even though this project was the final one, it was actually quite easy for two reasons. First, I was able to reuse a lot of code from my previous project. I only had to modify the paragraphs, headers, CSS, add a contact section, and a fix dozen or so other parts of the code. The second reason this was easy was because I actually understood what I was doing! It was immensely gratifying to be able to finally understand how the CSS is going to affect the HTML without having to check the preview after every modification. I can honestly say that I can program in HTML & CSS. Is it very pretty? No. Is it production level? No. But I can do it. Being able to say that is very rewarding, especially after spending 40+ hours on this course.
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="styles.css"/>
</head>
<body>
<header id="header">
<img id="header-img" height="415" src="https://jessekramer.org/content/images/size/w1000/2025/07/jk-high-resolution-logo-transparent.png"></img>
<nav id="navbar">
<ul>
<li><a class="nav-link" href="#welcome-section">Welcome</a></li>
<li><a class="nav-link" href="#projects">Projects</a></li>
<li><a class="nav-link" href="#contact">Contact</a></li>
</ul>
</nav>
</header>
<main id="main-doc">
<section class="main-section" id="welcome-section">
<br><h1>Welcome!</h1>
<article>
<img id="profile-pic" height="415" src="https://jessekramer.org/content/images/size/w1600/2024/12/NextAVL-Images-39-Edited.jpg"></img>
<p>I'm a Montreat College Honors student majoring in Cybersecurity. I am proficient in Linux, network administration, blue team, and OSINT. My mission in technology is to develop and promote technology that encourages growth virtue. </p>
</article>
</section>
<section class="main-section" id="projects">
<h1>Projects</h1>
<p>IHere are a few projects that I have done over the years through FreeCodeCamp as well as self-directed projects</p>
<div class="project-tile-flex">
<div class="project-tile">
<header class="project-tile-label">Technical Documentation</header>
<p class="project-tile-description">
In <a href="https://jessekramer.org/blog/freecodecamp-technical-documentation-page/" target="_blank">this project</a> In this project, I created a demo documentation page. I chose to be a bit facetious, discussing the rise, fall, and revival of drywall as a food.
</p>
</div>
<div class="project-tile">
<header class="project-tile-label">Tribute Page</header>
<p class="project-tile-description">In <a href="https://jessekramer.org/blog/freecodecamp-tribute-page-project/" target="_blank">this project</a>, I was tasked with creating a tribute page. After much work, I was able to create a decent looking HTML page that talks about the 10th Mountain Division.
</p>
</div>
<div class="project-tile">
<header class="project-tile-label">Personal Website</header>
<p class="project-tile-description">
In <a href="https://jessekramer.org/blog/how-i-built-this-website/" target="_blank">this project</a> I built my personal website. The page linked is mostly just a dump of the very helpful resources that I used to get a static homepage working.
</p>
</div>
</div>
</section>
<section id="contact">
<h1>Contact Info</h1>
<p>Please feel free to contact me by email of phone!</p>
<i class="fa fa-envelope"> <a target="_blank" id="profile-link" href="mailto:jkramer@example.com">jkramer@example.com</a></i><br>
<i class="fa fa-phone"> (828) 867-5309</i>
</section>
</main>
</body>
</html>
CSS
body {
font-family: lato;
background:#FAFBFAff;
color:#3A3237ff;
font-size:1.3rem;
max-width: 100%;
overflow-x: hidden;
}
@media only screen and (min-width:498px) {
#header {
clear:both;
overflow:visible; background-color:#C6D4D4ff;
height:80px;
width:100%;
position: fixed;
top:0px;
left:0px;
right:0px;
}}
@media only screen and (max-width:498px) {
#header {
clear:both;
overflow:visible;
position: fixed;
top:0px;
left:0px;
right:0px;
background-color:#C6D4D4ff;
height:115px;
width:100%;
}}
/* This used to be here for the h1 element. It used to be called "Juggling with Jesse" but having to put the navbar at the top messed it up a bit.
#header h1 {
display: inline-block;
font-size:1.2rem;
margin-left:25px;
margin-bottom:0px;
margin-top:30px;
padding:0;
}
*/
nav {
float:right;
position: fixed;
top: 0px;
margin-left:20px;
}
#header ul li{
display: inline-block;
font-size:1.2rem;
font-family:Lato;
margin-right:5px;
margin-top:10px;
padding:0px;
}
#header ul li a {
color: black;
}
#header-img {
float:left;
max-width: 65px;
height: 65px;
border-radius: 50px;
margin-left:8px;
margin-top:7px;
margin-bottom:7px;
}
#profile-pic {
float:center;
max-width: 50vw;
height: 50vw;
border-radius: 20px;
border: solid #94ADC4ff 5px;
margin-left:25%;
margin-right:25%;
margin-top:10px;
margin-bottom:10px;
}
#welcome-section h1 {
margin-top:70px;
}
section h1 {
font-size:2rem;
padding:0;
margin-top:30px;
margin-bottom:8px;
text-align:center;
}
p {
padding:0;
margin-left: 30px;
margin-right: 30px;
}
ul li {
margin-left: 40px;
}
.project-tile-flex {
display: flex;
width:100%;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
align-items: center;
}
.project-tile {
margin: 10px;
border: 3px solid #3A3237ff;
max-width: 400px;
height: 250px;
width: 350px;
border-radius:8px;
background-color:#94ADC4ff;
}
.project-tile-label {
font-size:1.75rem;
text-decoration:bold;
text-align:center;
margin-top:10px;
}
#contact {
border:3px solid black;
height:240px;
width:50%;
margin-top:30px;
margin-bottom:50px;
margin:auto;
border-radius:8px;
background-color:#C6D4D4ff;
}
#contact p {
width:60%;
margin:auto;
text-align:center;
margin-bottom:20px;
}
#contact i {
width:100%;
margin:auto;
text-align:center;
margin-bottom:10px;
}
AI Usage
The usage of AI & ML technologies are always kept to a minimum in order to maximize deep learning. I do not consider tools like search engines and "AI Summaries" in search engines to be notable AI assistance.
Member discussion