Portfolio // 2026

CYBERSECURITY / PYTHON DEVELOPMENT

Harley Hardin.

I build practical software, explore how systems fail, and turn technical problems into clean, useful solutions.

01 // ABOUT

Security mindset.
Builder mentality.

I’m an aspiring cybersecurity specialist and Python developer focused on understanding systems deeply, finding better ways to solve problems, and building tools that are useful in the real world.

// APPROACH

Learn by building.

I enjoy moving between offensive-security concepts and software development—studying how applications behave, then applying that understanding to better code and better systems.

// CURRENT FOCUS

Web security + Python.

My current work centers on Python applications, APIs, Linux, web application security, authentication, access control, and practical security research.

// PRINCIPLE

Make it useful.

I care about projects that do something meaningful: automate a workflow, reveal useful information, improve security, or make a complicated process easier to understand.

02 // SELECTED WORK

Projects built to
solve real problems.

All repositories

100 DAYS OF PYTHON

10 / 100

One Python project every day, with bonus builds when inspiration strikes. Day 10 revisits account registration and fixes the biggest security flaw from Day 8: passwords are now hashed with bcrypt before being stored in SQLite, then verified during login without storing plaintext passwords.

CHALLENGE STATUS 10 challenge days complete
90 to go
DAY 009 // PROJECTACCESS CONTROL

PYTHON / SQLITE / AUTHORIZATION

Access Control Gateway

A terminal-based access-control exercise that maps rooms to permitted access levels, looks up an employee's access level from SQLite with a parameterized query, makes grant/deny decisions, and records each decision in an audit log.

PythonSQLiteParameterized SQLAccess ControlAudit LoggingDictionaries
View source ↗
BONUS // DAY 008GAME LOGIC

PYTHON / HIGHER-LOWER CASINO

Casino Higher / Lower

A small bonus game that starts the player with $100, rolls random values, validates bets against the available balance, resolves higher/lower guesses, updates winnings or losses, and ends when the bankroll reaches zero.

PythonrandomInput ValidationGame StateLoopsBonus
View source ↗
BONUS // DAY 004SECURITY API TOOL

PYTHON / URL THREAT INTELLIGENCE

VirusTotal URL Analyzer

A command-line URL analysis tool that encodes URLs for the VirusTotal API, retrieves analysis statistics, classifies low/medium/high risk, and calculates a numerical score from the returned detection counts.

PythonVirusTotal APIrequestsBase64HTTPRisk Scoring
View source ↗
DAY 008 // PROJECTAUTH LEARNING

PYTHON / ACCOUNT REGISTRATION

Account Registration Sample

A command-line registration exercise that builds on the username-auditing idea: it rejects short, blocked, or already-taken usernames, checks passwords for uppercase, lowercase, numeric, special-character, and minimum-length requirements, then appends accepted accounts to a local user database.

Learning note: this version stores passwords in plaintext, which the source explicitly flags as a bug. It is a practice project for validation and registration flow—not a secure authentication system.

PythonValidationWordlistsPassword RulesFile I/OSecurity Learning
View source ↗
DAY 007 // PROJECTPOLICY CHECK

PYTHON / USERNAME AUDITING

Username Auditor

A compact command-line username checker that loads profanity and impersonation terms from local wordlists, normalizes input for case-insensitive matching, and rejects usernames containing blocked terms until the user exits.

PythonWordlistsFile I/OString MatchingValidation
View source ↗
DAY 006 // PROJECTGUI PRACTICE

PYTHON / TKINTER / PROCESS CHECKING

Suspicious Process Checker

A deliberately scoped one-hour Tkinter project with my gloriously rough first-pass GUI. It checks a typed process name against a local suspicious-process list, ignores capitalization, handles blank input, tracks how many checks were run, keeps an investigation history, and lets the user add new process names during the session.

PythonTkinterGUI EventsListsState TrackingInput Validation
View source ↗
DAY 005 // LEARNING LOGSCOPE LESSON

PYTHON / STATIC FILE ANALYSIS EXPLORATION

Static File Analyzer

I set out to build a simple file scanner and GUI, then let the scope expand into hashes, PE structure, entropy, certificate metadata, macros, metadata inspection, and entry-point disassembly.

I had to research heavily and do not consider every part of this program something I could independently recreate yet. I’m keeping it in the challenge because the point is to document the learning process—the biggest lesson was to keep future projects small enough that I can actually solve the problems myself.

PythonTkinterStatic AnalysisPE ExplorationEntropyLearning Log
View source ↗
DAY 004 // PROJECTSEC

PYTHON / PASSWORD SECURITY

Password Audit Tool

A terminal-based password auditing tool that scores passwords against uppercase, lowercase, digit, special-character, repeated-character, minimum-length, and common-password checks, then summarizes strength across the audit session.

PythonFunctionsWordlistsValidationSecurity ScoringSession Stats
View source ↗
BONUS // DAY 004SEC

PYTHON / LOG ANALYSIS

Security Log Analyzer

Reads a login-attempt log, counts successful and failed events, groups failures by IP and username, flags IPs with three or more failed attempts, and reports the username with the most failures.

PythonLog ParsingDictionariesDetection LogicReporting
View source ↗
BONUS // DAY 004WIP

PYTHON / FILE INTEGRITY

File Integrity Checker

An experimental security lab that creates SHA-256 file baselines, rescans a selected directory, and compares current hashes to identify unchanged, modified, new, and deleted files. Core functionality is in place; cleanup is planned after the challenge.

PythonSHA-256hashlibos.walkBaselinesWIP
View source ↗
DAY 003 // PROJECTPY

PYTHON / GAME LOGIC

Rock, Paper, Scissors

A replayable terminal game with randomized computer choices, validated input, complete win/tie/loss logic, and persistent score tracking across rounds.

PythonrandomValidationGame LogicState Tracking
View source ↗
DAY 002 // PROJECTPY

PYTHON / DATETIME

Simple Quiz Game

A five-question terminal quiz that uses the current date and calendar to generate answers, accepts case-insensitive input, tracks correct responses, and calculates a final percentage score.

PythondatetimecalendarScoringCLI
View source ↗
DAY 001 // PROJECTPY

PYTHON / CLI

Number Guessing Game

A terminal guessing game that generates a random number from 1–100, validates user input and range, tracks attempts, and gives color-coded higher/lower feedback until the correct answer is found.

PythonrandomValidationLoopsANSI Color
View source ↗

03 // CAPABILITIES

Tools I use.
Skills I’m sharpening.

</>

DEVELOPMENT

Build

PythonSQLitebcryptREST APIsAPI IntegrationGit / GitHub
◇

CYBERSECURITY

Break / Defend

Web SecurityAccess ControlPassword HashingPassword AuditingThreat IntelligenceAudit Logging
$_

ENVIRONMENT

Operate

Kali LinuxCLIDocker ComposeVS CodeNetworkingTechnical Writing

04 // CONTACT

Have something interesting
to build or secure?

I’m always interested in connecting with people working on cybersecurity, Python, software, and challenging technical problems.