Start the rebuild: note schema, vault kit and data migration

Phase 1 of the functional design plan.

- Move the old site into legacy/, unchanged, for reference. It still
  builds from there until cutover.
- Add packages/schema: the one definition of all 20 note types, with
  field titles and descriptions, note and vault checks, and JSON Schema
  export so later editing tools and the MCP server share it.
- Add vault-kit: Obsidian templates generated from the schema, and the
  Site guide for 24.01_PersonalWebsite.
- Add tools/migrate: turns the legacy JSON, collections, store data and
  page text into 545 Site folder notes and 84 images, and checks the
  result with the schema.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012aSbo2D1qP8cMFQCykf7kx
This commit is contained in:
Claude
2026-10-11 18:40:55 +00:00
parent 4ded4b277b
commit a2f723ca2d
324 changed files with 11538 additions and 7556 deletions
@@ -0,0 +1,19 @@
---
# Experience entry for Implico Inc.
# This seeds the Experience timeline. The narrative bullets below are the spec's
# template bullets; Greg should replace the bracketed placeholders with real
# outcomes, metrics, and dates. See docs/CONTENT.md for how to add more roles.
company: "Comcast"
title: "Co-op - Junior Developer"
period: "Sep 2014 - Sep 2015"
focus: "Worked on inventory management systems and Natural Language Processing tools."
icon: "briefcase"
order: 20
---
Key contributions:
- Developed and maintained NLP based data gathering system and associated databases using Java, Groovy, Grails, Elasticsearch, and MySQL
- Led and managed team of senior interns and a full time developer using Rally and GitHub
- Developed and maintained features for internal logistics web platform using PHP and MySQL
- Worked in weeklong sprints using an Agile workflow
+18
View File
@@ -0,0 +1,18 @@
---
# Experience entry for Implico Inc.
# This seeds the Experience timeline. The narrative bullets below are the spec's
# template bullets; Greg should replace the bracketed placeholders with real
# outcomes, metrics, and dates. See docs/CONTENT.md for how to add more roles.
company: "Drexel University College of Computing and Informatics"
title: "Assistant System Administrator"
period: "Sep 2016 - Mar 2017"
focus: "Assisted students and teachers with technical issues and supported the college's technical infrastructure."
icon: "briefcase"
order: 15
---
Key contributions:
- Maintained and improved college wide linux server network using Ansible, Bash, Python, and MySQL
- Used ceph storage system to backup and protect college wide data
- Handled technical issues for faculty and staff
+23
View File
@@ -0,0 +1,23 @@
---
# Experience entry for Implico Inc.
# This seeds the Experience timeline. The narrative bullets below are the spec's
# template bullets; Greg should replace the bracketed placeholders with real
# outcomes, metrics, and dates. See docs/CONTENT.md for how to add more roles.
company: "Implico Inc."
title: "Software Developer / Lead Developer / BTP Cloud and Mobile App Lead"
period: "Mar 2019 - Present"
focus: "BTP, Cloud, and Mobile application development, SAP-adjacent solutions."
icon: "briefcase"
order: 10
---
Current expansion: **SAP Business Technology Platform (BTP)**.
Key contributions:
- Lead development on Carrier Connect, delivering a robust 3rd party carrier logistics tool.
- Architect and maintain multiple carrier integration systems, supporting over 1000 active users and 100 companies.
- Collaborate with cross-functional teams to translate business requirements into technical solutions.
- Mentor junior developers and establish coding standards and review practices.
- Drive adoption of new technologies and frameworks within the team.
- Maintain responsible AI usage guidelines in an every changing ecosystem.
@@ -0,0 +1,9 @@
---
title: "Age of Empires"
platform: "PC"
year: 1997
art: "/images/games/age-of-empires.jpg" # run: node scripts/fetch-box-art.mjs "Balatro"
blurb: >
A masterful real time strategy game using historic civilizations from cavemen to castles. My uncle showed me this game and never looked back, I would beg for my family laptop and wake up early to get time in before school. While I could say I learned history playing this game, I mostly learned to run around going "Woo-lu-loo".
order: 50
---
@@ -0,0 +1,9 @@
---
title: "Ark: Survival Evolved"
platform: "Steam"
year: 2017
art: "/images/games/ark-survival-evolved.jpg" # run: node scripts/fetch-box-art.mjs "Stardew Valley"
blurb: >
Survival crafting game with dinosaurs. While I do not love the practices of the studio, I do love taming and surviving with dinosaurs. I found an online community here when I was not in the greatest place and learned a lot about myself in the process.
order: 50
---
@@ -0,0 +1,9 @@
---
title: "Dave the Diver"
platform: "Steam"
year: 2023
art: "/images/games/dave-the-diver.jpg" # run: node scripts/fetch-box-art.mjs "Balatro"
blurb: >
A casual, singleplayer adventure RPG featuring deep-sea exploration and fishing during the day and sushi restaurant management at night. This game had no right being as good as it was. I was addicted to this game for a weeks straight.
order: 50
---
@@ -0,0 +1,9 @@
---
title: "Elden Ring"
platform: "PlayStation 5"
year: 2022
art: "/images/games/elden-ring.jpg" # run: node scripts/fetch-box-art.mjs "Elden Ring"
blurb: >
Fantasy Action RPG. The game that made me finish a Souls-like. So good I did it twice! Arcane Blood build, RoB my darling, and an Intelligence Moonveil build, living out my Ichigo arc.
order: 40
---
@@ -0,0 +1,9 @@
---
title: "Granblue Fantasy: Relink"
platform: "Steam"
year: 2024
art: "/images/games/granblue-relink.jpg" # run: node scripts/fetch-box-art.mjs "Elden Ring"
blurb: >
Fantasy Action RPG that I lost months of my life to. The gameplay loop of awesome characters with swords fighting boss raids from giant dragons to mech world ending creatures had me hooked. Mastering the dodgeing and ability combinations of some characters was so rewarding. Once you start attack canceling across the battlefield as Siegfried to gurantee your big hits, its hard to stop.
order: 10
---
@@ -0,0 +1,9 @@
---
title: "Knights of the Old Republic"
platform: "Steam"
year: 2003
art: "/images/games/star-wars-knights-of-the-old-republic.jpg" # run: node scripts/fetch-box-art.mjs "Stardew Valley"
blurb: >
Fantastic RPG for peak BioWare. My own lightsaber, my own choices, my own force power and awesome companions? My nerd cup runeth over. Plus one of the greatest reveals in gaming. I wish I could replay it knowing nothing. I loved the second one and the MMO as well.
order: 60
---
@@ -0,0 +1,9 @@
---
title: "Minecraft"
platform: "PC"
year: 2010
art: "/images/games/minecraft.jpg" # run: node scripts/fetch-box-art.mjs "Stardew Valley"
blurb: >
The crafting game. I picked up a copy of Infdev minecraft from a highschool girlfriend's cousin, and that is the part of the relationship that changed my life. I have spent untold hours building and surviving and modding an endless world of blocks and I wouldn't trade a second of it.
order: 40
---
@@ -0,0 +1,9 @@
---
title: "Pokemon"
platform: "Gameboy"
year: 1998
art: "/images/games/pok-mon-crystal-version.jpg" # run: node scripts/fetch-box-art.mjs "Stardew Valley"
blurb: >
The definitive creature collector and battling series. Pokemon Crystal was the first video game that was mine. And I loved it. While Emerald, Platnum, and even Violet might be my more prefered versions, I am a pokemon fan through and through.
order: 10
---
@@ -0,0 +1,9 @@
---
title: "Satisfactory"
platform: "Steam"
year: 2024
art: "/images/games/satisfactory.jpg" # run: node scripts/fetch-box-art.mjs "Stardew Valley"
blurb: >
An openworld automation and management game where the wit of your AI overseer meets the harsh realities of an alien planet. There is just something about beatifully lined up conveyer belts feeding an optimized factory with trains that actually run on schedule that I lose hours to.
order: 60
---
@@ -0,0 +1,9 @@
---
title: "Sly Cooper"
platform: "Playstation 2"
year: 2002
art: "/images/games/sly-cooper-and-the-thievius-raccoonus.jpg" # run: node scripts/fetch-box-art.mjs "Stardew Valley"
blurb: >
A wonderful cartoony stealth game with platformer elements. The first game I ever 100% and one of my favorite game series to this day. I will happily drop everything and replay these games at almost any moment.
order: 20
---
@@ -0,0 +1,9 @@
---
title: "Stardew Valley"
platform: "Nintendo Switch"
year: 2016
art: "/images/games/stardew-valley.jpg" # run: node scripts/fetch-box-art.mjs "Stardew Valley"
blurb: >
The coziest farming sim I have ever played. I have sunk way too many hours into being a blueberry mogal and firmly believe I could run a farm if I could operate it from a switch controller.
order: 30
---
+17
View File
@@ -0,0 +1,17 @@
# Games Greg is actively playing right now. The "Now playing" section on the
# Gaming page reads from this list. Edit freely — add, remove, or reorder.
# `platform` drives the icon shown on the card.
#
# Run `node scripts/fetch-box-art.mjs "<title>"` to pull box/banner art for
# Hall of Fame entries (this list is title + platform only).
games:
- title: "PalWorld"
platform: "Steam"
- title: "Gloomhaven"
platform: "Steam"
- title: "Pokopia"
platform: "Switch 2"
- title: "Slay the Spire 2"
platform: "Steam"
- title: "Indiana Jones and the Great Circle"
platform: "Steam"
@@ -0,0 +1,18 @@
---
# Placeholder project card.
# This exists so the Projects grid has structure to show until Greg adds real
# entries. To replace it: copy this file, edit the frontmatter + body, and bump
# `placeholder: false`. Or just delete this file and add your own. See
# docs/CONTENT.md. The schema lives in src/content.config.ts.
title: "Carrier Connect"
role: "Lead Developer and Architect"
tech: ["JavaScript", "Node.js", "SAP BTP", "SAP CAP", "PostgreSQL"]
summary: >
A complex suite of CAP applications and associated mobile application endpoints hosted on SAP BTP to enable 3rd party carrier integration into proprietary logistics software. Includes order and trip delegation, BOL and Delivery record tracking, image processing, location inventory polling, geofencing, exception management, CSV upload and download, and RestfulAPIs.
order: 105
placeholder: false
---
Drop in a real project writeup here. Markdown is supported, including headings,
lists, code blocks, and links. Keep the frontmatter summary short (2-3
sentences) and use this body for the longer story if you want case-study depth.
@@ -0,0 +1,33 @@
---
# Placeholder project card.
# This exists so the Projects grid has structure to show until Greg adds real
# entries. To replace it: copy this file, edit the frontmatter + body, and bump
# `placeholder: false`. Or just delete this file and add your own. See
# docs/CONTENT.md. The schema lives in src/content.config.ts.
title: "Cosmos"
role: "Lead Developer / Architect / Admin"
tech:
[
"OpenClaw",
"Node.js",
"Docker",
"Python",
"Nginx Proxy Manager",
"LLM",
"Discord",
"Next.js",
"NextCloud",
"Kavita",
"Gitea",
"Home Assistant",
"PiHole",
]
summary: >
Converted a Lenovo Tiny workstation computer into a homelab server hosting multiple containerized tools from PiHole to Home Assistant. Supports a suite of 17 AI Agents managed utilizing OpenClaw and a shared knowledge repository to handle personal assistant, research, and coding tasks.
order: 101
placeholder: false
---
Drop in a real project writeup here. Markdown is supported, including headings,
lists, code blocks, and links. Keep the frontmatter summary short (2-3
sentences) and use this body for the longer story if you want case-study depth.
+18
View File
@@ -0,0 +1,18 @@
---
# Placeholder project card.
# This exists so the Projects grid has structure to show until Greg adds real
# entries. To replace it: copy this file, edit the frontmatter + body, and bump
# `placeholder: false`. Or just delete this file and add your own. See
# docs/CONTENT.md. The schema lives in src/content.config.ts.
title: "Driver App"
role: "Lead Developer / Architect"
tech: ["React", "React Native", "SAP BTP"]
summary: >
A react native mobile application designed for use with the Carrier Connect suite. Accepts order and trip delegation from the back end suite, handles geofencing, exception management, delivery and order progress tracking, image and signature capture and upload. Designed to fit into existing driver workflows.
order: 110
placeholder: false
---
Drop in a real project writeup here. Markdown is supported, including headings,
lists, code blocks, and links. Keep the frontmatter summary short (2-3
sentences) and use this body for the longer story if you want case-study depth.
@@ -0,0 +1,18 @@
---
# Placeholder project card.
# This exists so the Projects grid has structure to show until Greg adds real
# entries. To replace it: copy this file, edit the frontmatter + body, and bump
# `placeholder: false`. Or just delete this file and add your own. See
# docs/CONTENT.md. The schema lives in src/content.config.ts.
title: "OmniTracker"
role: "Lead Developer / Architect"
tech: ["TypeScript", "Node.js", "NFC tags", "Tasker", "PostgreSQL"]
summary: >
A responsive web application designed to track beverage, supplement, and medication intake for personal needs with minimal friction of data entry. Tracks and estimate caffeine levels, medication timing, and supplement schedules. Calculates calories, caffeine, sugar, sodium, and other nutrional information utilizing public endpoints and configurable item cataloges. Utilizes NFC tags to log events throughout personal environment along with endpoints and AI MCP configuration for personal assistant AI integration.
order: 120
placeholder: false
---
Drop in a real project writeup here. Markdown is supported, including headings,
lists, code blocks, and links. Keep the frontmatter summary short (2-3
sentences) and use this body for the longer story if you want case-study depth.