326 lines
11 KiB
HTML
326 lines
11 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Spencer Conlon | Portfolio</title>
|
|
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap" rel="stylesheet">
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet">
|
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js"></script>
|
|
<style>
|
|
body {
|
|
font-family: 'Roboto', sans-serif;
|
|
background-color: #f8f9fa;
|
|
color: #212529;
|
|
}
|
|
|
|
header {
|
|
background-color: #343a40;
|
|
color: #fff;
|
|
text-align: center;
|
|
padding: 60px 20px;
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
header h1 {
|
|
font-size: 3rem;
|
|
font-weight: bold;
|
|
margin: 0;
|
|
position: relative;
|
|
z-index: 10;
|
|
}
|
|
|
|
header p {
|
|
font-size: 1.2rem;
|
|
margin-top: 10px;
|
|
position: relative;
|
|
z-index: 10;
|
|
}
|
|
|
|
header .abstract-pattern {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background: linear-gradient(135deg, rgba(0, 123, 255, 0.5), rgba(40, 167, 69, 0.5));
|
|
clip-path: polygon(0 0, 100% 0, 75% 100%, 25% 100%);
|
|
z-index: 1;
|
|
opacity: 0.8;
|
|
}
|
|
|
|
header::after {
|
|
content: '';
|
|
position: absolute;
|
|
top: -50px;
|
|
left: -50px;
|
|
width: 300px;
|
|
height: 300px;
|
|
background: rgba(255, 255, 255, 0.1);
|
|
border-radius: 50%;
|
|
z-index: 2;
|
|
animation: float 6s ease-in-out infinite;
|
|
}
|
|
|
|
header::before {
|
|
content: '';
|
|
position: absolute;
|
|
bottom: -50px;
|
|
right: -50px;
|
|
width: 400px;
|
|
height: 400px;
|
|
background: rgba(255, 255, 255, 0.1);
|
|
border-radius: 50%;
|
|
z-index: 2;
|
|
animation: float 8s ease-in-out infinite;
|
|
}
|
|
|
|
@keyframes float {
|
|
0%, 100% {
|
|
transform: translateY(0);
|
|
}
|
|
50% {
|
|
transform: translateY(15px);
|
|
}
|
|
}
|
|
|
|
nav {
|
|
background-color: #495057;
|
|
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
nav a {
|
|
color: #fff;
|
|
font-weight: bold;
|
|
text-decoration: none;
|
|
margin: 0 15px;
|
|
padding: 10px 15px;
|
|
transition: background-color 0.3s;
|
|
}
|
|
|
|
nav a:hover {
|
|
background-color: #343a40;
|
|
border-radius: 5px;
|
|
}
|
|
|
|
.section-title {
|
|
font-size: 2.5rem;
|
|
font-weight: bold;
|
|
margin-bottom: 40px;
|
|
position: relative;
|
|
}
|
|
|
|
.section-title::after {
|
|
content: "";
|
|
position: absolute;
|
|
bottom: -10px;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
width: 80px;
|
|
height: 4px;
|
|
background-color: #007bff;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<header>
|
|
<div class="abstract-pattern"></div>
|
|
<h1>Spencer Conlon</h1>
|
|
<p>Innovative Software Developer & Systems Administrator</p>
|
|
</header>
|
|
|
|
|
|
|
|
|
|
<section id="projects" class="container my-5">
|
|
<h2 class="section-title text-center">Projects</h2>
|
|
<div class="row">
|
|
<div class="col-md-6 mb-4">
|
|
<div class="project">
|
|
<div class="project-image" style="background-image: url('images/game-engine.png');"></div>
|
|
<h3>Custom 3D Game Engine</h3>
|
|
<p><strong>Technologies:</strong> C++, Lua</p>
|
|
<p>Developed a high-performance 3D game engine with a Lua scripting API for customizable and efficient game development.</p>
|
|
<p><a href="https://dock-it.dev/Bit-By-Byte/Tesseract-Engine" target="_blank" class="btn btn-primary">View Source Code</a></p>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6 mb-4">
|
|
<div class="project">
|
|
<div class="project-image" style="background-image: url('images/cpu-emulator.png');"></div>
|
|
|
|
<h3>C Compiler and ASM Assembler</h3>
|
|
<p><strong>Technologies:</strong> C, ASM</p>
|
|
<p>Created a custom compiler and assembler for low-level software development and optimization.</p>
|
|
<p><a href="https://dock-it.dev/GigabiteStudios/Python-Cpu-Emulator" target="_blank" class="btn btn-primary">View Source Code</a></p>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6 mb-4">
|
|
<div class="project">
|
|
<div class="project-image" style="background-image: url('images/net-scanner.png');"></div>
|
|
<h3>Network Crawler</h3>
|
|
<p><strong>Technologies:</strong> Python</p>
|
|
<p>Built a tool to scan local networks, identify devices, gather details, and log in to analyze running software.</p>
|
|
<p><a href="https://dock-it.dev/GigabiteStudios/network-crawler" target="_blank" class="btn btn-primary">View Source Code</a></p>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6 mb-4">
|
|
<div class="project">
|
|
<div class="project-image" style="background-image: url('images/wictra-website.png');"></div>
|
|
<h3>WICTRA Website</h3>
|
|
<p><strong>Technologies:</strong> HTML, CSS, JavaScript, PHP</p>
|
|
<p>
|
|
Developed a secure website featuring advanced bot protection, a user management system, forms, ticketing system,
|
|
jobs board, and content library.
|
|
</p>
|
|
<p><a href="https://dock-it.dev/Wictra" target="_blank" class="btn btn-primary">View Source Code</a></p>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6 mb-4">
|
|
<div class="project">
|
|
<div class="project-image" style="background-image: url('images/dll-extractor.png');"></div>
|
|
<h3>Dynamic DLL Tool</h3>
|
|
<p><strong>Technologies:</strong> C++</p>
|
|
<p>Created a utility to identify and package required DLLs for an executable, simplifying application distribution.</p>
|
|
<p><a href="/Bit-By-Byte/DLL-Extractor" target="_blank" class="btn btn-primary">View Source Code</a></p>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6 mb-4">
|
|
<div class="project">
|
|
<div class="project-image" style="background-image: url('images/gcml.png');"></div>
|
|
<h3>GCML: C/C++ Utility Macros</h3>
|
|
<p><strong>Technologies:</strong> C, C++</p>
|
|
<p>A comprehensive library of macros for debugging, logging, memory management, and bit manipulation, enhancing workflow efficiency.</p>
|
|
<p><a href="https://dock-it.dev/GigabiteStudios/gcml" target="_blank" class="btn btn-primary">View Source Code</a></p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section id="contact" class="container text-center my-5">
|
|
<h2 class="section-title">Contact</h2>
|
|
<p><strong>Email:</strong> <a href="mailto:spencer.conlon3@gmail.com">spencer.conlon3@gmail.com</a></p>
|
|
<p><strong>Phone:</strong> +1 (920) 891-6655</p>
|
|
<p><strong>Location:</strong> Ripon, WI</p>
|
|
<div class="contact-info">
|
|
<a href="#" class="btn btn-outline-dark mx-2">GitHub</a>
|
|
<a href="#" class="btn btn-outline-dark mx-2">LinkedIn</a>
|
|
<a href="#" class="btn btn-outline-dark mx-2">Resume</a>
|
|
</div>
|
|
</section>
|
|
|
|
<style>
|
|
body {
|
|
font-family: 'Poppins', sans-serif;
|
|
background: linear-gradient(to bottom, #f8f9fa, #e9ecef);
|
|
color: #343a40;
|
|
}
|
|
|
|
.section-title {
|
|
font-size: 3rem;
|
|
font-weight: 800;
|
|
margin-bottom: 3rem;
|
|
text-transform: uppercase;
|
|
letter-spacing: 2px;
|
|
position: relative;
|
|
}
|
|
|
|
.section-title::after {
|
|
content: '';
|
|
width: 60px;
|
|
height: 4px;
|
|
background-color: #007bff;
|
|
display: block;
|
|
margin: 10px auto 0;
|
|
}
|
|
|
|
.project {
|
|
background: rgba(255, 255, 255, 0.85);
|
|
border-radius: 16px;
|
|
padding: 20px;
|
|
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
|
|
transition: transform 0.5s, box-shadow 0.5s;
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.project:hover {
|
|
transform: translateY(-15px);
|
|
box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
|
|
}
|
|
|
|
.project-image {
|
|
background-size: cover;
|
|
background-position: center;
|
|
height: 250px;
|
|
border-radius: 12px;
|
|
margin-bottom: 20px;
|
|
transition: transform 0.3s;
|
|
}
|
|
|
|
.project:hover .project-image {
|
|
transform: scale(1.1);
|
|
}
|
|
|
|
.project-placeholder {
|
|
height: 250px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border: 2px dashed #ccc;
|
|
border-radius: 12px;
|
|
margin-bottom: 20px;
|
|
font-style: italic;
|
|
color: #999;
|
|
background-color: #f8f9fa;
|
|
}
|
|
|
|
.btn {
|
|
padding: 12px 25px;
|
|
border-radius: 30px;
|
|
font-weight: 600;
|
|
text-transform: uppercase;
|
|
transition: background-color 0.4s, transform 0.3s;
|
|
}
|
|
|
|
.btn-primary {
|
|
background-color: #007bff;
|
|
color: #fff;
|
|
border: none;
|
|
}
|
|
|
|
.btn-primary:hover {
|
|
background-color: #0056b3;
|
|
transform: translateY(-3px);
|
|
}
|
|
|
|
.btn-outline-dark {
|
|
color: #343a40;
|
|
border: 2px solid #343a40;
|
|
}
|
|
|
|
.btn-outline-dark:hover {
|
|
background-color: #343a40;
|
|
color: #fff;
|
|
}
|
|
|
|
.contact-info a {
|
|
display: inline-block;
|
|
margin: 0 10px;
|
|
font-size: 1.2rem;
|
|
transition: transform 0.3s;
|
|
}
|
|
|
|
.contact-info a:hover {
|
|
transform: scale(1.1);
|
|
}
|
|
</style>
|
|
|
|
<nav class="text-center py-3">
|
|
<a href="#about">About Me</a>
|
|
<a href="#projects">Projects</a>
|
|
<a href="#contact">Contact</a>
|
|
</nav>
|
|
</body>
|
|
</html>
|