Personal record 00 Dual Living

I create.
I explore.
I improve

My work is technical, operational, and detail-heavy. Outside of it, I am creative, competitive, reflective, and always learning something new. Drag across the record to meet both sides.

01

Move the inspection line from my professional life to the person behind the projects.

Identity record / live cross-section Professional side
WORKING PROFILE 📍USA

Systems administrator · Developer · Builder

I make complex tools easier to trust.

I work across infrastructure, automation, web development, identity, internal platforms, and the messy boundaries between them.

SystemsM365 · Entra · Windows · IIS
SoftwareJavaScript · Node · C++ · SQL
FocusUsability · reliability · scale
Life outside the work Professional practice
01 / PROJECT INDEX

“Do not just show the finished screen. Show the thinking that made it possible.”

This portfolio is built as a set of project records. Every record explains the need, the construction, the decisions, and what changed because the project existed.

HOW TO USE Click, switch, trace, and inspect. Each interaction reflects something distinct about the project itself.

Field records 01–03 Selected projects

Projects are easier to understand when you can enter them.

Three project records spanning internal systems, full-stack product development, and graph-based software.

CASE 01Company calendar and resource platform
Production internal platform

The project

One place to understand what is booked, what is happening, when it is happening, and where people need to be.

The calendar brings rooms, vehicles, events, and department schedules into one internal platform. The original system already contained working data, but much of the information employees needed was clipped, hidden, or difficult to interpret. I rebuilt the most-used views around the way people actually scan availability and make decisions.

Coverage
LSC · RRH · GES · Vehicles · Schafer · Training & Development
Original views
Month · Week · Agenda
Added views
Day · Holiday through 2027
Reach
Company environment supporting 900+ users
TRMF / OPERATIONSAUGUST 2026
MONTUEWEDTHUFRI
8:00Vehicle 18Booked · Facilities
10:30LSC BoardroomOperations meeting
ALL DAYVehicle 116Available · click to book

Visual evidence

The same operational data became much easier to read.

Choose a calendar area, then switch between the original and redesigned view. Names and email addresses in these public screenshots have been blurred.

AREA
VERSION
Original LSC weekly calendar view ORIGINAL / LSC WEEK
Original LSC week view

Events were positioned mainly by time. When many bookings overlapped, cards became narrow, titles were clipped, and employees could not quickly see the requester or enough booking context.

P / 01

Several operational calendars become one place employees can actually use.

The platform combines room bookings, vehicle bookings, department events, and company schedules across LSC, RRH, GES, Vehicles, Schafer, and Training & Development. Employees can move between month, week, day, agenda, and holiday views instead of opening separate calendars and comparing them manually.

Know what is bookedRooms and vehicles appear alongside their status and booking window.
Know what is happeningCompany events are grouped by place, date, and operational context.
Know where to actAvailable vehicles can open the booking form with the vehicle already selected.
E / 01

I kept the familiar company brand, then rebuilt the views around the information people were missing.

The original version included month, week, and agenda views for all six calendar areas, but crowded time-based layouts hid important details. I designed a new day view, created a holiday view covering company holidays through 2027, and redesigned the week experience for each area so rooms, vehicles, and events could present the information their users needed.

PreservedCompany branding · existing data · familiar navigation · six operational areasRebuiltWeek layouts for LSC, RRH, GES, Vehicles, Schafer, and Training & DevelopmentAddedDay view · holiday view · requester details · availability · booking actions · hover information
A / 01

The redesign also changed how the browser turns calendar data into useful decisions.

Exchange resource mailboxes and event calendars provide the source data. The Node service retrieves and normalizes events, applies date and mailbox filters, handles time-zone rules, and returns more fields from the API—including requester, time, purpose, and availability. The redesigned week and day views render event-based cards instead of relying only on narrow time-grid placement.

Exchange calendarsNode serviceCalendar APIEvent-based views
GET /api/calendar?start=&end=&mbox=
status = past | happening-now | upcoming | available
booking link = Microsoft Form + preselected vehicle
sort(today) = happening now → upcoming → earlier
O / 01

The finished platform reduces the time between “What is available?” and “I know what to do next.”

Green identifies availability, blue identifies future bookings, orange identifies events happening now, grey identifies past events, and a red treatment marks the current day. Current events automatically appear ahead of future and past items. Requester and booking information is visible where useful, and clicking an available vehicle opens a shorter booking path with the vehicle already selected.

900+users in the supported company environment
6calendar areas redesigned for their own information needs
5ways to inspect time: month, week, day, agenda, holiday
1 clickfrom an available vehicle to a preselected booking form
CASE 02Medora exploration guide
Code complete · awaiting final content

The origin

A scavenger hunt was the first idea—and it grew into a digital way to experience Medora more intentionally.

The idea arrived almost immediately when I began deciding what I could build for the company: a scavenger hunt. Medora already has rich history, memorable places, and far more information than most visitors can absorb by simply walking through town. I wanted to digitize that experience, make it fun and competitive, and give people just enough guidance to slow down, look closer, and become more intentional about what they were experiencing.

The project went through roughly five major iterations before reaching the current version. The final product is designed for everyone—guests, employees, seasonal workers, and anyone who wants a more active way to explore Medora.

Environment
HTML · CSS · JavaScript · Node · Express · SQLite
Role
Concept · UX · database · full-stack development
Audience
Guests · employees · seasonal workers · explorers
Status
Code complete · presented · ready for final company content
9:41● ● ●

YOU ARE HERE

Von Hoffman House

INVESTIGATE · 1,000 XP

What detail tells you how this home changed over time?

2 of 3 discoveries complete
TRANSACTION TRACE / ANSWER SUBMISSION
  1. 01Session verifiedrequireAuth
  2. 02Location resolvedroute_stops
  3. 03Challenge loadedstop_challenges
  4. 04Answer recordeduser progress
  5. 05XP committedprofile update
  6. 06Journal createdhistory preserved
PRODUCT MAP / 01

Four connected pages turn a list of locations into a complete exploration loop.

The experience is not only about answering questions. It helps the player decide where to go, understand what they completed, compare progress, and remember what they discovered afterward.

01
Profile

Shows the player’s chosen character, total XP, completed locations, completed challenges, personal statistics, and position on the global leaderboard.

02
Hunt

Lists the available Medora locations and the Observe, Investigate, and Experience challenges attached to each place.

03
Recommendations

Suggests places to visit and activities to try, helping players discover options they may not have known were available.

04
Journal

Preserves completed challenges with timestamps, location details, answers, XP earned, and Did You Know facts about what the player experienced.

CHALLENGE LADDER / 02

The XP system rewards the amount of attention a player gives a place.

XP accumulates across independent locations. The more a person observes, investigates, and experiences, the more progress they earn and the farther they can move on the leaderboard.

LEVEL 01ObserveQuick discovery

Something a player can notice in seconds or within a few minutes. It introduces the location and asks them to look with purpose.

Lower XP
LEVEL 02InvestigateFocused exploration

The player must search, read, compare, or spend several minutes looking around to find the answer.

Higher XP
LEVEL 03ExperienceParticipate in the place

The player must actually engage with what the location offers. These challenges take the most time and intentionally earn the greatest XP.

Highest XP
THE SIMPLE RULEMore time and deeper participation → more XP → stronger leaderboard progress.
PLAYER RECORD / 03

Every player receives an individual identity, history, and record of progress.

Authentication happens behind the interface. Once signed in, every answer and completion belongs to the correct user and remains available when they return.

PLAYER / WOH-024
W
Chosen character

Each user selects a character that becomes part of their personal profile and experience.

AUTHENTICATIONIdentifies the returning player
PROFILEXP, character, locations, challenges
PROGRESSAnswers and completions by user
JOURNALPermanent record of discoveries
CONTINUITY PLAN / 04

The app was designed to remain useful after the original developer leaves.

After completing the application, I focused on making it flexible, self-sufficient, and easy for the company to update. The code supplies the reusable structure; the database supplies the content that changes over time.

DATABASE-CONTROLLED CONTENT
  • Locations and display order
  • Questions, answers, and categories
  • XP rewards and automatic totals
  • Users, characters, and progress
  • Recommended places and activities
  • Did You Know facts and journal content
OPERATOR CHEAT SHEETNO CODE CHANGE REQUIRED
-- Add or update content
UPDATE stop_challenges
SET xp_reward = 1500
WHERE difficulty = 'experience';

-- Result
Database change → API response → web app

Ready-to-use SQL instructions let a future administrator copy the correct statement into the database application. The updated location, question, reward, recommendation, or order then appears in the web app without requiring knowledge of the underlying code.

ITERATION RECORD / 05

The project moved from a controlled scavenger route to an open exploration platform.

The final product kept the playful motivation of the original scavenger hunt while removing the restrictions that made the early version harder to expand and less flexible for players.

EARLIER MODEL
Routes, letters, and character powers
  • Three predefined routes
  • Locations completed in a required order
  • One question and one earned letter per stop
  • Letters combined into a final word
  • Characters planned to have task-solving powers
  • A simpler points-per-question model
≈ 5 MAJOR ITERATIONS
CURRENT MODEL
Free-roam locations and independent progress
  • Start anywhere and visit places in any order
  • Every location works independently
  • Multiple questions and activities per location
  • Observe, Investigate, and Experience categories
  • Characters personalize the profile rather than changing difficulty
  • XP accumulates by completed activity and location
CURRENT STATEThe application code is complete and has been presented to the company.

The remaining work is organizational rather than structural: choose the final locations and questions, decide how XP should be incentivized, enter the approved content, and launch the experience.

READY FOR CONTENT
CASE 03Flight Tracker and Finder
Advanced Data Structures · C++

The project

A flight-search engine built for an original course dataset of more than 100,000 directed flight records.

Created for an Advanced Data Structures course, Flight Tracker and Finder parses airport and flight files into a searchable directed graph. Through a 16-option command-line menu, a user can inspect airports and direct flights, discover multi-stop paths, optimize by fare or distance, minimize connections, find destinations under time or budget limits, and require a route to pass through a chosen airport.

This was my first project at this scale. Over roughly one month, I had to make file parsing, graph construction, indexed lookup, breadth-first traversal, Dijkstra-based optimization, time-aware searches, and a large menu of user requests work together as one system.

Course
Advanced Data Structures
Scale
100+ airports · 100,000+ records in the original course dataset
Graph
Directed airport-to-airport connections
Language
C++
Algorithms
BFS · Dijkstra · constrained time-aware search
Duration
Approximately one month
Source repository Pubished now! ↗
ILLUSTRATIVE ROUTE REQUEST / USER VIEWLOWEST TOTAL FARE
BISBismarck
DENDenver
MSPMinneapolis
ORDChicago
ATLAtlanta
DFWDallas
JFKNew York
Conceptual example — not captured program output
REQUESTMinimum total cost
EXAMPLE ROUTEBIS → DEN → ORD → JFK
EDGE WEIGHTFare in dollars
ENGINEDijkstra with fare weights
Q / 01

The user chose a question. The program chose the search strategy.

The application exposed a broad menu rather than asking users to understand BFS, Dijkstra, or the time-aware search routines behind each request. Select an operation below to see the information required and the type of answer returned.

Airport and direct-flight lookup
Path and optimization
Reachability limits
Required stop and time

All 16 operations from the original command-line menu are represented here.

E / 01

One graph, multiple definitions of “best.”

Every flight is directional. A route from airport A to airport B does not automatically create a route back from B to A. The request determines how the graph is traversed and what each connection means.

BFS
Queue-based traversal

Used to discover a valid multi-stop path and to explore which destinations remain reachable under flight-count or fare limits.

PATHS / REACHABILITY
DIJKSTRA
Variable edge weights

The same shortest-path routine can treat each connection as fare, miles, or a unit weight of one flight, depending on the selected menu operation.

FARE / MILES / CONNECTIONS
TIME-AWARE
Constrained route search

Separate routines account for departure times, arrival times, elapsed hours, and a required middle airport. Required-stop requests run in two stages: source to M, then M to destination.

TIME / REQUIRED STOP
USER CHOICEMenu operationSEARCH PRIORITYPath · hops · fare · miles · timeRETURNMatching flights or best route

The algorithms operated behind the interface; users selected the travel question they wanted answered rather than selecting an algorithm by name.

D / 01

The data structure made every route addressable.

Airport codes were mapped to indexes for fast lookup. The route matrix then used an origin index, destination index, and flight-option index to preserve every available directed flight between two airports.

FAST LOOKUPairportIndex["BIS"] → 12airportIndex["DEN"] → 46

An unordered map converts a human-readable airport code into the index used by the graph.

3D FLIGHT STORAGEflights[origin][destination][option]
12460...n

The first two dimensions identify the route. The third stores each separate flight option available on that route.

FLIGHT RECORD
  • Origin and destination
  • Departure, arrival, and duration
  • Fare and miles
  • Flight ID and airline
Classes and structs

Grouped related airport and flight fields into records the algorithms could pass through consistently.

Directed connections

Each stored flight represented movement from one specific origin to one specific destination.

Multiple flight options

The third dimension retained more than one possible flight between the same pair of airports.

Indexed access

The unordered map avoided repeatedly scanning the airport dataset to locate a code.

C / 01

The difficult part was making the entire system agree.

This was my first time working with a dataset this large and my first time combining graph traversal, weighted optimization, schedule constraints, and 16 different requests in one application. The challenge was not limited to one isolated bug.

01Parse

Read two large datasets while keeping airport and flight records consistent.

02Index

Resolve airport codes quickly enough to support repeated interactive requests.

03Model

Represent directed routes and multiple flight options without losing their details.

04Search

Choose the correct traversal or weighted strategy for each user request.

05Constrain

Combine stops, times, fares, hours, distances, and destination requirements.

“The whole thing was hard to do.” That difficulty is what made it the first project that showed me I could work through real data complexity rather than only small classroom examples.
S / 01

The complete project is now available on GitHub.

The public repository contains the original C++ implementation, supporting data files, and instructions for compiling and running the 16-operation command-line application locally.

PUBLIC REPOSITORY github.com/FwDubbb/flighttracker

Review the graph structure, route-search algorithms, airport lookup system, and constrained flight operations used throughout the project.

g++ -std=c++11 11weird.cpp -o flighttracker ./flighttracker place.a1 quizn.air2
View source and run locally ↗
PROJECT CONTENTS
  • Complete C++ source code
  • Airport and flight data files
  • Sixteen command-line operations
  • BFS, Dijkstra, and constrained graph searches
  • Local compilation and usage instructions

The route map above is an interactive explanation, not a claim that the original program used a graphical interface. The 100,000+ scale refers to the original course dataset; smaller public sample files can be included for reproducible demonstrations.

100+ airports 100,000+ original course records 16 menu operations 2 core graph algorithms 1 directed network
02 / EXPERIENCE RECORD

Places and practice Work history

Where the projects met real people and real constraints.

Full record · PDF Open my résumé Dates, roles, responsibilities, and outcomes
MAY – AUG 2026
THEODORE ROOSEVELT MEDORA FOUNDATION · MEDORA, ND

IT Intern

Built and improved internal tools while supporting day-to-day IT across a large seasonal organization.

Microsoft 365 Zapier SharePoint Web development User management IT support
JUL 2024 – PRESENT
DAKOTA STATE UNIVERSITY · RESIDENCE LIFE · MADISON, SD

Resident Assistant

Helped lead a community of 40+ students through conflict resolution, programming, and everyday support.

Leadership Conflict resolution Community building Event planning
MAY – JUL 2025
E-CRIMEBUREAU · GHANA

IT and Cybersecurity Intern

Worked across cybersecurity and internal platforms, automating reporting and improving the LMS experience.

Python Cybersecurity TCP/IP analysis Digital forensics LMS design
FALL 2023
JOBS NATION INC.

Technology Research and Risk Intern

Explored emerging technologies, assessed risk, and automated market-research data collection with Python.

Python Technology research Risk assessment Market analysis

End of record Contact

Good work should leave something easier to use and easier to understand.

I’m interested in systems administration, automation, internal platforms, software development, and projects where thoughtful technical work can create a noticeably better experience.

Start a conversation LinkedIn ↗