Compare commits

..
Author SHA1 Message Date
JustinandClaude Sonnet 5 6cea0312d2 Add local static-server launch config for browser preview
Lets the site be served on localhost for testing (e.g. verifying
font/CSP fixes) without needing a separate dev setup.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-31 14:14:15 -05:00
JustinandClaude Sonnet 5 f45dfaa232 Fix CSP blocking Cloudflare Insights beacon and inline scripts
index.html carried two Content-Security-Policy meta tags that were
never reconciled, so browsers enforced their intersection: the
Cloudflare beacon script/connect endpoints, the profile photo from
ki5bhv.com, and the page's own inline script/onerror handler all got
silently blocked depending on which policy line was checked.

Collapse index.html down to a single correct policy, and add the
same static.cloudflareinsights.com / cloudflareinsights.com
allowances to _headers (the actual Cloudflare Pages response header)
and to k5bss.html's policy, since Cloudflare injects that beacon
site-wide.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-31 14:13:19 -05:00
JustinandClaude Sonnet 5 435f56e0cc Fix 404 on self-hosted IBM Plex Mono font
Download the actual woff2 file so it exists at the path style.css
already references, instead of relying on the unused Google Fonts
preconnect hints.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-31 14:09:38 -05:00
Justin 5d6eae87bf fixing issues with cloudflare 2026-08-30 16:17:44 -05:00
Justin a3b77de5aa added font to css 2026-08-30 16:06:07 -05:00
Justin ae21ab1be9 added the font into the html 2026-08-30 15:44:27 -05:00
Justin 1d9ec33761 added the font 2026-08-30 15:40:56 -05:00
Justin c74589555b header 2026-08-30 15:11:28 -05:00
Justin 2f244ea46d added PDQ Connent to job 2026-08-30 09:15:18 -05:00
Justin d89065ca4d added skilles that was was missing 2026-08-30 09:05:20 -05:00
Justin af7db894b3 fixed some spelling issues 2026-08-29 18:54:46 -05:00
Justin 617838a1e1 test 2026-08-29 09:57:26 -05:00
Justin Frasier 89063938d7 test 2026-08-29 09:52:07 -05:00
Justin 5ad5fd720d fix title change 2026-08-27 20:48:25 -05:00
Justin 24ad1a1097 change the title 2026-08-27 20:45:45 -05:00
Justin 1927c1e85f moved the date and local 2026-08-27 20:27:14 -05:00
Justin 5029d3ca76 move the dates 2026-08-27 20:23:29 -05:00
Justin 8ff376324c added Infrastructure Admin job 2026-08-27 20:12:01 -05:00
Justin Frasier ab6e0b8090 update 2026-05-02 23:52:40 -05:00
Justin Frasier 515af2a4d3 updated 2026-05-02 23:50:15 -05:00
Justin Frasier 2d8b0c6e8f update 2026-04-27 19:12:07 -05:00
JustinandClaude Sonnet 4.6 97de4bca88 fix: add favicon links and fonts.gstatic.com preconnect to both pages
Adds explicit favicon link tags for all sizes and the missing
fonts.gstatic.com crossorigin preconnect required by Google Fonts
for optimal font load performance.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-04-20 20:09:36 -05:00
Justin b5cffd33c6 docs: update Justin Frasier resume PDF 2026-04-14 09:46:21 -05:00
Justin 9b6e3a7b2b docs: update README to reflect expansion to a two-page site including a ham radio dashboard 2026-04-14 09:11:18 -05:00
Justin 1c90c97ed9 feat: add initial K5BSS ham radio station dashboard and logbook interface 2026-04-13 23:52:10 -05:00
Justin 8506a96ee7 feat: add resume download link and update professional experience and skills sections 2026-04-13 22:37:43 -05:00
JustinandClaude Sonnet 4.6 84e62edb92 feat: improve responsive design with tablet and small-screen breakpoints
Add 1024px tablet breakpoint with narrower sidebar, expand mobile styles
with horizontal nav reflow, and add 480px small-phone breakpoint with
tighter spacing. Document all three breakpoints in README.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-04-13 17:09:46 -05:00
Justin 99f88d4bc6 fix: add security attributes to social links, correct typos in skills list, and update copyright year 2026-04-13 16:11:56 -05:00
Justin 7023b402a6 feat: add project README and improve index.html security and content accuracy 2026-04-13 16:11:43 -05:00
18 changed files with 1410 additions and 33 deletions

No files matched your search

+11
View File
@@ -0,0 +1,11 @@
{
"version": "0.0.1",
"configurations": [
{
"name": "static-site",
"runtimeExecutable": "python",
"runtimeArgs": ["-m", "http.server", "8123"],
"port": 8123
}
]
}
Executable
+1
View File
@@ -0,0 +1 @@
./vs
BIN
View File
Binary file not shown.
Regular → Executable
+68
View File
@@ -0,0 +1,68 @@
# k5bss.com
Personal portfolio and ham radio station site for Justin Frasier — IT Support Analyst and amateur radio operator (K5BSS, General Class).
Live at: [k5bss.com](https://k5bss.com)
---
## Overview
Two static pages with a dark terminal aesthetic. No frameworks or build tools — just HTML, CSS, and vanilla JavaScript.
- **[index.html](index.html)** — Resume/portfolio page
- **[k5bss.html](k5bss.html)** — Ham radio station dashboard and logbook
## Structure
```
k5bss.com/
├── index.html # Resume/portfolio page
├── k5bss.html # Ham radio station dashboard
├── Justin_Frasier_Resume.pdf # Downloadable resume
├── css/
│ └── style.css # Styles for index.html
├── favicon.ico
├── favicon-32x32.png
├── favicon-64x64.png
└── favicon-256x256.png
```
## Pages
### Resume / Portfolio (`index.html`)
- **About** — summary, tags, and certifications at a glance
- **Experience** — work history (Margaritaville, Boomtown, xententLABS)
- **Technical Skills** — languages, OS, hardware, tools, networking, IT support, security
- **Education** — BPCC A.A.S. Cyber Technology, Northwood High School
- **Certifications** — CompTIA A+, PCPro, Udemy courses, amateur radio, locomotive
- **Contact** — email, phone, address, GitHub, LinkedIn, self-hosted Git
Fonts: [IBM Plex Mono](https://fonts.google.com/specimen/IBM+Plex+Mono) and [IBM Plex Sans](https://fonts.google.com/specimen/IBM+Plex+Sans) via Google Fonts. Sticky sidebar with scroll-spy nav via `IntersectionObserver`.
### Ham Radio Station Dashboard (`k5bss.html`)
Three-tab single-page app for station stats and the contact logbook:
- **Dashboard** — QSO count, DXCC entities, states worked; bar charts for modes and bands; top countries list; monthly QSO activity canvas chart
- **Logbook** — searchable, filterable, paginated contact log (callsign, name, country, QTH, LoTW status)
- **About** — station info and operating preferences
Fonts: [Share Tech Mono](https://fonts.google.com/specimen/Share+Tech+Mono), [Orbitron](https://fonts.google.com/specimen/Orbitron), and [Barlow](https://fonts.google.com/specimen/Barlow) via Google Fonts. Styles and JavaScript are self-contained within the file.
## Responsive Design
`index.html` adapts across three breakpoints defined in `css/style.css`:
| Breakpoint | Behavior |
|---|---|
| `≤1024px` (tablet) | Sidebar narrows from 280px to 230px; main content padding reduced |
| `≤768px` (mobile) | Sidebar unsticks and stacks above content; nav links reflow into a horizontal wrapping row; contact grid collapses to one column |
| `≤480px` (small phone) | Tighter padding and font sizes; skills grid columns shrink to `minmax(140px, 1fr)` |
All other components — tags, socials, and the skills grid — use `flex-wrap` or `auto-fill` and reflow fluidly without breakpoints.
## Deployment
Static files — drop the repo contents onto any web server or host (Nginx, Apache, Caddy, GitHub Pages, etc.). No build step required.
+9
View File
@@ -0,0 +1,9 @@
/*
Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://static.cloudflareinsights.com; style-src 'self' https://fonts.googleapis.com 'unsafe-inline'; font-src 'self' https://fonts.gstatic.com; img-src 'self' https://ki5bhv.com data:; connect-src 'self' https://cloudflareinsights.com; object-src 'none'; base-uri 'none'; frame-ancestors 'none'; form-action 'self'; upgrade-insecure-requests
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy: accelerometer=(), camera=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), payment=(), usb=()
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Resource-Policy: same-origin
X-Permitted-Cross-Domain-Policies: none
Regular → Executable
+44
View File
@@ -1,5 +1,13 @@
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
@font-face {
font-family: 'IBM Plex Mono';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url('/fonts/ibm-plex-mono-400.woff2') format('woff2');
}
:root {
--bg: #0a0c10;
--bg2: #0f1218;
@@ -455,20 +463,56 @@ footer {
margin-left: 3px;
}
/* ── Tablet ── */
@media (max-width: 1024px) {
.layout { grid-template-columns: 230px 1fr; }
main { padding: 2.5rem 2rem; }
}
/* ── Mobile ── */
@media (max-width: 768px) {
.layout { grid-template-columns: 1fr; }
aside {
position: relative;
height: auto;
border-right: none;
border-bottom: 1px solid var(--border);
padding: 1.5rem 1.2rem;
}
/* Flatten the nav into a horizontal wrapping row to save vertical space */
nav {
display: flex;
flex-wrap: wrap;
gap: 0.3rem;
flex: none;
margin: 0.8rem 0;
}
nav a {
display: inline-flex;
font-size: 0.72rem;
padding: 0.3rem 0.6rem;
margin-bottom: 0;
}
.socials { padding-top: 1rem; }
main { padding: 2rem 1.5rem; }
h1 { font-size: 1.7rem; }
.contact-grid { grid-template-columns: 1fr; }
}
/* ── Small mobile (≤480 px) ── */
@media (max-width: 480px) {
main { padding: 1.5rem 1rem; }
h1 { font-size: 1.4rem; }
section { margin-bottom: 2.5rem; }
.hero-sub { font-size: 0.92rem; }
.skills-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
}
/* ── Fade-in animation ── */
@keyframes fadeUp { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
section { animation: fadeUp 0.5s ease both; }
Regular → Executable
View File
File mode changed.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Regular → Executable
View File
File mode changed.

Before

Width:  |  Height:  |  Size: 473 B

After

Width:  |  Height:  |  Size: 473 B

Regular → Executable
View File
File mode changed.

Before

Width:  |  Height:  |  Size: 826 B

After

Width:  |  Height:  |  Size: 826 B

Regular → Executable
View File
File mode changed.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Executable
+5
View File
@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
<rect width="32" height="32" rx="4" fill="#0f1218"/>
<text x="3" y="11" font-family="'IBM Plex Mono','Courier New',monospace" font-size="6" fill="#4a5568">~$</text>
<text x="2" y="27" font-family="'IBM Plex Mono','Courier New',monospace" font-size="19" font-weight="600" fill="#22c55e">jf</text>
</svg>

After

Width:  |  Height:  |  Size: 370 B

@@ -0,0 +1,52 @@
@font-face {
font-family: 'IBM Plex Mono';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3oQI8lc.ttf) format('truetype');
}
@font-face {
font-family: 'IBM Plex Mono';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n5ig.ttf) format('truetype');
}
@font-face {
font-family: 'IBM Plex Mono';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJ8lc.ttf) format('truetype');
}
@font-face {
font-family: 'IBM Plex Mono';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3vAO8lc.ttf) format('truetype');
}
@font-face {
font-family: 'IBM Plex Sans';
font-style: normal;
font-weight: 300;
font-stretch: normal;
font-display: swap;
src: url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXGKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1swZSAXcomDVmadSDtFlzAA.ttf) format('truetype');
}
@font-face {
font-family: 'IBM Plex Sans';
font-style: normal;
font-weight: 400;
font-stretch: normal;
font-display: swap;
src: url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXGKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1swZSAXcomDVmadSD6llzAA.ttf) format('truetype');
}
@font-face {
font-family: 'IBM Plex Sans';
font-style: normal;
font-weight: 500;
font-stretch: normal;
font-display: swap;
src: url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXGKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1swZSAXcomDVmadSD2FlzAA.ttf) format('truetype');
}
Binary file not shown.
Regular → Executable
+88 -33
View File
@@ -4,11 +4,19 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Justin Frasier | IT Support Analyst</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="referrer" content="strict-origin-when-cross-origin" />
<meta http-equiv="Content-Security-Policy"
content="default-src 'self'; script-src 'self' 'unsafe-inline' https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' https://ki5bhv.com data:; connect-src 'self' https://cloudflareinsights.com; frame-src 'none'; object-src 'none'; base-uri 'self'; form-action 'none'; upgrade-insecure-requests" />
<title>Justin Frasier | Infrastructure Administrator</title>
<link rel="sitemap" type="application/xml" href="/sitemap.xml" />
<link rel="icon" type="image/svg+xml" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='4' fill='%230f1218'/%3E%3Ctext x='3' y='11' font-family='IBM Plex Mono,Courier New,monospace' font-size='6' fill='%234a5568'%3E~$%3C/text%3E%3Ctext x='2' y='27' font-family='IBM Plex Mono,Courier New,monospace' font-size='19' font-weight='600' fill='%2322c55e'%3Ejf%3C/text%3E%3C/svg%3E" />
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
<link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png" />
<link rel="icon" type="image/png" sizes="256x256" href="/favicon-256x256.png" />
<link rel="preconnect" href="https://fonts.googleapis.com">
<link
href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@300;400;500;600&family=IBM+Plex+Sans:wght@300;400;500&display=swap"
rel="stylesheet">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="css/style.css">
</head>
@@ -21,7 +29,7 @@
<img class="profile-photo" src="https://ki5bhv.com/photo/justin1.jpg" alt="Justin Frasier"
onerror="this.style.display='none'">
<div class="profile-name">Justin Frasier</div>
<div class="profile-title">IT Support Analyst</div>
<div class="profile-title">Infrastructure Administrator</div>
<div class="profile-loc">📍 Bossier City, LA</div>
<hr class="divider">
@@ -36,11 +44,14 @@
</nav>
<div class="socials">
<a href="https://github.com/cerealkiller1918" target="_blank">github</a>
<a href="https://www.linkedin.com/in/justin-frasier-bb29b8a9" target="_blank">linkedin</a>
<a href="https://git.ki5bhv.com/justin" target="_blank">gitea</a>
<a href="https://twitter.com/Cerealkiller191" target="_blank">twitter</a>
<a href="https://www.facebook.com/cerealkiller1918" target="_blank">facebook</a>
<a href="https://github.com/cerealkiller1918" target="_blank" rel="noopener noreferrer">github</a>
<a href="https://www.linkedin.com/in/justin-frasier-bb29b8a9" target="_blank"
rel="noopener noreferrer">linkedin</a>
<a href="https://git.ki5bhv.com/justin" target="_blank" rel="noopener noreferrer">gitea</a>
<a href="https://twitter.com/Cerealkiller191" target="_blank" rel="noopener noreferrer">twitter</a>
<a href="https://www.facebook.com/cerealkiller1918" target="_blank" rel="noopener noreferrer">facebook</a>
<a href="Justin_Frasier_Resume.pdf" target="_blank" rel="noopener noreferrer">resume</a>
<a href="https://ki5bhv.com" target="_blank" rel="noopener noreferrer">ki5bhv.com</a>
</div>
</aside>
@@ -52,7 +63,7 @@
<div class="prompt"><span>~/k5bss</span> $ whoami</div>
<h1>Justin<br>Frasier<span class="cursor"></span></h1>
<p class="hero-sub">
<strong>IT Support Analyst</strong> with a background in computer systems, infrastructure, and security.
<strong>Infrastructure Administrator</strong> with a background in computer systems, infrastructure, and security.
CompTIA A+ certified with hands-on experience in <strong>Azure Active Directory</strong>,
Windows Server, networking, and self-hosted services.
Amateur radio operator <strong>(K5BSS — General Class)</strong>.
@@ -74,15 +85,35 @@
<h2><span class="hash">#</span>experience</h2>
<div class="exp-item">
<div class="exp-role">Infrastructure Administrator</div>
<div class="exp-meta">Aug 2026 — Present</div>
<div class="exp-role">IT Support Analyst</div>
<div class="exp-meta">Mar 2023 — Aug 2026</div>
<div class="exp-company">Margaritaville Resort &amp; Casino</div>
<div class="exp-meta">Mar 2023 — Present &nbsp;·&nbsp; Bossier City, LA</div>
<div class="exp-meta">Bossier City, LA</div>
<ul class="exp-list">
<li>Install and image Windows OS; onboard machines to Active Directory</li>
<li>Troubleshoot hardware, software, and networking issues in a high-availability environment</li>
<li>Punch down networking cable to patch panels and keystones</li>
<li>Author troubleshooting documentation and lead projects</li>
<li>Administer and support Windows Server environments</li>
<li>Provide comprehensive Tier 1 and Tier 2 technical support across a large-scale resort and casino environment, diagnosing and resolving hardware, software, and network issues to minimize downtime and maintain seamless business operations.</li>
<li>Deploy, configure, and maintain Windows 10 and Windows 11 workstations, managing domain enrollment through Active Directory to uphold a secure, well-organized network infrastructure.</li>
<li>Administer Windows Server environments and Azure Active Directory, overseeing user provisioning, group policy management, and access controls to enforce security and compliance standards</li>
<li>Diagnose and remediate wired and wireless connectivity issues — including network drops, Wi-Fi interference, and misconfigured settings — restoring reliable access for end users with minimal disruption.</li>
<li>Install, terminate, and test network cabling across patch panels and keystones, ensuring robust and reliable infrastructure connectivity throughout the facility.</li>
<li>Troubleshoot, repair, and replace hardware components — including RAM, HDDs, SSDs, power supplies, motherboards, and peripherals — returning systems to full operational status efficiently.</li>
<li>Administer and support Office 365 applications — including Outlook, Teams, SharePoint, and OneDrive — enabling consistent productivity and collaboration across the organization.</li>
<li>Provide end-to-end mobile device support for smartphones and tablets, handling configuration, corporate email integration, and secure connectivity to organizational systems.</li>
<li>Manage the full help desk ticket lifecycle — logging, prioritizing, tracking, and resolving requests — ensuring timely support delivery and adherence to service-level expectations.</li>
<li>Utilize PDQ Inventory to maintain up-to-date hardware and software asset tracking across all endpoints, enabling informed decision-making for procurement, audits, and lifecycle management.</li>
<li>Leverage PDQ Deploy to automate software deployments and updates across the organization, reducing manual effort and ensuring consistent, timely rollouts enterprise wide.</li>
<li>Converting PDQ Deploy & Invertory to PDQ Connent. Using PDQ Connent to manage and push packages and update to workstations and laptopps.</li>
<li>Administer VMware vSphere environments, managing virtual machine provisioning, configuration, and maintenance to support reliable and scalable infrastructure operations.</li>
<li>Manage and support the Cisco phone system, handling configuration, provisioning, and troubleshooting of IP phones to ensure reliable communication across the organization.</li>
<li>Utilize TeamViewer to provide remote technical support, enabling efficient diagnosis and resolution of end-user issues without requiring an on-site visit.</li>
<li>Monitor network infrastructure and system health using PRTG Network Monitor, proactively identifying and addressing performance issues and outages to maintain high availability.</li>
<li>Manage SSL certificates across organizational systems, overseeing procurement, installation, renewal, and troubleshooting to ensure secure and uninterrupted encrypted communications.</li>
<li>Deliver clear, patient, and customer-focused technical support to users of all skill levels, translating complex issues into understandable solutions to maximize satisfaction and reduce repeat incidents.</li>
<li>Maintain accurate IT asset inventory, tracking hardware assignments, lifecycle status, and equipment locations to support informed procurement and audit readiness.</li>
<li>Plan and execute equipment moves and workstation relocations with precision, coordinating logistics to ensure business continuity throughout transitions.</li>
<li>Produce comprehensive technical documentation and troubleshooting guides, building an accessible knowledge base that improves team efficiency and accelerates issue resolution.</li>
<li>Lead cross-functional IT initiatives, collaborating with department stakeholders to scope, plan, and deliver technology solutions on time and within budget.</li>
</ul>
</div>
@@ -91,10 +122,14 @@
<div class="exp-company">Boomtown Casino &amp; Hotel</div>
<div class="exp-meta">Nov 2017 — Mar 2023 &nbsp;·&nbsp; Bossier City, LA</div>
<ul class="exp-list">
<li>Monitored CCTV systems and alarm infrastructure across the facility</li>
<li>Led security operations and managed incident response</li>
<li>Patrolled facility and enforced physical security protocols</li>
<li>De-escalation, crisis management, and customer service</li>
<li>Supervised facility-wide security operations, ensuring the safety of hundreds of guests and employees
daily while serving as the primary point of contact for guests and staff.</li>
<li>Conducted foot and vehicle patrols; monitored a multi-camera CCTV network and alarm systems to
proactively identify risks and coordinate rapid incident response.</li>
<li>Applied crisis management and de-escalation techniques to resolve high-pressure situations with minimal
operational disruption.</li>
<li>Trained and mentored security personnel on protocols, emergency response, and customer interaction
standards.</li>
</ul>
</div>
@@ -103,9 +138,12 @@
<div class="exp-company">xententLABS</div>
<div class="exp-meta">Jan 2016 — May 2016 &nbsp;·&nbsp; Bossier City, LA</div>
<ul class="exp-list">
<li>Agile development practices and sprint workflows</li>
<li>Source code management and cross-platform software development</li>
<li>Database design, management, and software quality assurance</li>
<li>Participated in full-cycle Agile development — sprint planning, stand-ups, and iterative releases —
while managing source code repositories using version control best practices.</li>
<li>Engineered cross-platform software solutions and collaborated on relational database design, applying
normalization principles and optimized query structures.</li>
<li>Developed test cases and executed functional tests, tracking defects through resolution to ensure
stable, production-ready releases.</li>
</ul>
</div>
</section>
@@ -155,11 +193,26 @@
<div class="skill-cell"><span class="skill-icon">▸</span>Office 365</div>
<div class="skill-cell"><span class="skill-icon">▸</span>Mobile Device Support</div>
<div class="skill-cell"><span class="skill-icon">▸</span>Printer Support</div>
<div class="skill-cell"><span class="skill-icon">▸</span>System Imaging & Deployment</div>
<div class="skill-cell"><span class="skill-icon">▸</span>System Imaging &amp; Deployment</div>
<div class="skill-cell"><span class="skill-icon">▸</span>Docker</div>
<div class="skill-cell"><span class="skill-icon">▸</span>Proxmox VE</div>
<div class="skill-cell"><span class="skill-icon">▸</span>VMware vSphere</div>
<div class="skill-cell"><span class="skill-icon">▸</span>Git</div>
<div class="skill-cell"><span class="skill-icon">▸</span>Help Desk Ticketing Systems</div>
<div class="skill-cell"><span class="skill-icon">▸</span>PDQ Deploy</div>
<div class="skill-cell"><span class="skill-icon">▸</span>PDQ Inventory</div>
<div class="skill-cell"><span class="skill-icon">▸</span>PDQ Connent</div>
<div class="skill-cell"><span class="skill-icon">▸</span>Cisco Systems</div>
<div class="skill-cell"><span class="skill-icon">▸</span>TeamViewer</div>
<div class="skill-cell"><span class="skill-icon">▸</span>PRTG Network Monitor</div>
<div class="skill-cell"><span class="skill-icon">▸</span>Web Hosting</div>
<div class="skill-cell"><span class="skill-icon">▸</span>Ansible</div>
<div class="skill-cell"><span class="skill-icon">▸</span>Rubrik Backup</div>
<div class="skill-cell"><span class="skill-icon">▸</span>Proxmox Backup Server</div>
<div class="skill-cell"><span class="skill-icon">▸</span>Nginx Proxy Manager</div>
<div class="skill-cell"><span class="skill-icon">▸</span>Nginx Web Server</div>
<div class="skill-cell"><span class="skill-icon">▸</span>Windows server DNS</div>
<div class="skill-cell"><span class="skill-icon">▸</span>Windows server DHCP</div>
</div>
<div class="skills-subheading">Development IDEs</div>
@@ -168,8 +221,8 @@
<div class="skill-cell"><span class="skill-icon">▸</span>NeoVim</div>
<div class="skill-cell"><span class="skill-icon">▸</span>IntelliJ</div>
<div class="skill-cell"><span class="skill-icon">▸</span>Visual Studio</div>
<div class="skill-cell"><span class="skill-icon">▸</span>VS Codes</div>
<div class="skill-cell"><span class="skill-icon">▸</span>Antigravity</div>
<div class="skill-cell"><span class="skill-icon">▸</span>VS Code</div>
<div class="skill-cell"><span class="skill-icon">▸</span>Google Antigravity</div>
<div class="skill-cell"><span class="skill-icon">▸</span>Unity</div>
</div>
@@ -182,7 +235,7 @@
<div class="skill-cell"><span class="skill-icon">▸</span>Wire &amp; Wireless Connectivity</div>
<div class="skill-cell"><span class="skill-icon">▸</span>Patch panels</div>
<div class="skill-cell"><span class="skill-icon">▸</span>Keystones</div>
<div class="skill-cell"><span class="skill-icon">▸</span>Switch Managemet</div>
<div class="skill-cell"><span class="skill-icon">▸</span>Switch Management</div>
<div class="skill-cell"><span class="skill-icon">▸</span>Troubleshooting</div>
</div>
@@ -291,24 +344,26 @@
</div>
<div class="contact-item">
<div class="contact-label">GitHub</div>
<div class="contact-val"><a href="https://github.com/cerealkiller1918" target="_blank">cerealkiller1918</a>
<div class="contact-val"><a href="https://github.com/cerealkiller1918" target="_blank"
rel="noopener noreferrer">cerealkiller1918</a>
</div>
</div>
<div class="contact-item">
<div class="contact-label">LinkedIn</div>
<div class="contact-val"><a href="https://www.linkedin.com/in/justin-frasier-bb29b8a9"
target="_blank">justin-frasier</a></div>
<div class="contact-val"><a href="https://www.linkedin.com/in/justin-frasier-bb29b8a9" target="_blank"
rel="noopener noreferrer">justin-frasier</a></div>
</div>
<div class="contact-item">
<div class="contact-label">Self-hosted Git</div>
<div class="contact-val"><a href="https://git.ki5bhv.com/justin" target="_blank">git.ki5bhv.com</a></div>
<div class="contact-val"><a href="https://git.ki5bhv.com/justin" target="_blank"
rel="noopener noreferrer">git.ki5bhv.com</a></div>
</div>
</div>
</section>
<footer>
<span style="color:var(--accent)">$</span> site built by Justin Frasier &nbsp;·&nbsp; k5bss.com &nbsp;·&nbsp;
2025
2026
</footer>
</main>
Executable
+1081
View File
File diff suppressed because it is too large. Load diff
+4
View File
@@ -0,0 +1,4 @@
User-agent: *
Allow: /
Sitemap: https://k5bss.com/sitemap.xml
Executable
+29
View File
@@ -0,0 +1,29 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
#Generated by https://github.com/gitaware/securitytxtgenerator
# If you would like to report a security issue, please contact us at:
Contact: [email protected]
Expires: 2027-04-20T01:14:00Z
Preferred-Languages: en
Canonical: https://k5bss.com/security.txt
Encryption: https://k5bss.com/pgp-key.asc
-----BEGIN PGP SIGNATURE-----
wsFzBAEBCAAnBYJp5onuCZB2Xap8YgdeNhYhBK0QLg9LuG9EuLvfkHZdqnxi
B142AAAlIw//Y//VEh32G+tXnamBIuYq4W+vdBlwZuKGeW/IwObedw89bGwo
/xSPGWUh0mPKKLof1MtLWNObUUCBscRZiLArExFzw/OZy2J3VuAH5qBrl2am
D8dnl/6CbqdrpEI3cinrzgDoa1Z4F15wF5lLNlvYHCGkXFIpNFsd8H6P9/UZ
v0jM6l93wDWbEZR1rHIxvtoUQd8gfPwksGa+osj6QkpP7XBRRly6nAihk8u7
r+aZ1Sh+YfWiVH966mxmV0x9N2ihYgYmwPMPUNCSRgpDZgM3EEKZWHryuPu2
Sp5q3bxa6BahAEXFhYaJKinkL5O95vaxiJcsaqPRhlR2xHXLoQj9Ot5v5E9c
uUc2P0v4M/VLFFTWwnu+3z72V/sj32biRJ70hvH/bb58oOm7YAcOCERyFsY+
4Drcnt2Am7QDEojhdg3GYf9pJs0tsyvmTZsmpYN8pv3lfzUzEW2YUOdWjMOf
nLmeqipVA0tSC3QhK3EMqbgtNpJqR/TpbfyWd9EFLS/Jc/kCkAbJlSDOi9ud
FkbnWBMiTtSPOiDwWMswbOdMTwHu+GxnAbB5+lQghxuEOTTmOPvEQ6DtYhpn
3+YIf0oDqeptjd+VE5Tx59CMV1RsZkbTVRJanBuLp339Kb/dfQi/G7mIkRne
hxUZ/Nx9LjsFxlcJRLnAnmtr5qfHeamo7ME=
=o+Va
-----END PGP SIGNATURE-----
Executable
+18
View File
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://k5bss.com/</loc>
<lastmod>2026-04-20</lastmod>
<changefreq>monthly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://k5bss.com/k5bss.html</loc>
<lastmod>2026-04-20</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
</urlset>