diff --git a/src/content/experience/implico.md b/src/content/experience/implico.md
index 932b64e..5169c63 100644
--- a/src/content/experience/implico.md
+++ b/src/content/experience/implico.md
@@ -3,11 +3,11 @@
# 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 / Team Lead'
-period: '[Greg to fill dates]'
-focus: 'Cloud and mobile application development, SAP-adjacent solutions.'
-icon: 'briefcase'
+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
---
@@ -15,8 +15,9 @@ Current expansion: **SAP Business Technology Platform (BTP)**.
Key contributions:
-- Lead development on [cloud/mobile project], delivering [specific outcome].
-- Architect and maintain [system/platform], supporting [X users/clients].
+- 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.
diff --git a/src/content/projects/placeholder-project.md b/src/content/projects/placeholder-project.md
index 13f16ee..6d08f4d 100644
--- a/src/content/projects/placeholder-project.md
+++ b/src/content/projects/placeholder-project.md
@@ -4,12 +4,12 @@
# 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: 'Your project here'
-role: 'Lead Developer'
-tech: ['TypeScript', 'Node.js', 'SAP BTP']
+title: "PUT PROJECTS HERE"
+role: "Lead Developer"
+tech: ["TypeScript", "Node.js", "SAP BTP"]
summary: >
This is a placeholder so the project grid has the right layout. Replace it
- with a real 2-3 sentence description of what the project does and your
+ with a real 2-3 sentence description of what the project does and my
contribution, then add links below.
order: 100
placeholder: true
diff --git a/src/pages/about.astro b/src/pages/about.astro
index da6a31e..10c18f9 100644
--- a/src/pages/about.astro
+++ b/src/pages/about.astro
@@ -27,7 +27,7 @@ const quickFacts = [
{ icon: "dice-multiple", text: "Running D&D & Daggerheart campaigns" },
{
icon: "book-open-variant",
- text: "Currently reading: Heir of Fire by Sarah J. Maas",
+ text: "Currently tandem reading: Heir of Fire and Tower of Dawn by Sarah J. Maas",
},
{ icon: "tea", text: "Fueled by loose-leaf Chinese tea and Mountain Dew" },
];
@@ -64,11 +64,12 @@ const quickFacts = [
class="border-l-2 pl-5 font-sans text-xl leading-relaxed sm:text-2xl"
style="border-color: var(--color-accent); color: var(--color-text);"
>
- I am Greg: a software developer based in Philadelphia who spends his
- free time running tabletop RPGs, making resin dice and custom cards, 3D
- printing anything I can, and reading his way through fantasy series at
- an alarming rate. I live with my partner Krystina, our mini dachshund
- Kashi, and more board games than any reasonable apartment should hold.
+ I am Greg: a software developer and technical team lead based in
+ Philadelphia who spends his free time running tabletop RPGs, making
+ resin dice and custom cards, 3D printing anything I can, and reading his
+ way through fantasy series at an alarming rate. I live with my partner
+ Krystina, our mini dachshund Kashi, and more board games than any
+ reasonable apartment should hold.
diff --git a/src/pages/index.astro b/src/pages/index.astro
index 1dd90bf..1cb1055 100644
--- a/src/pages/index.astro
+++ b/src/pages/index.astro
@@ -25,7 +25,7 @@ const cards = [
{
icon: "briefcase",
title: "Professional",
- copy: "From SAP-adjacent cloud apps to full-stack mobile — a decade of building software that businesses actually use.",
+ copy: "From SAP-adjacent cloud to full-stack mobile, a decade of building software that businesses actually use.",
href: "/professional",
image: "/images/pro-workspace.jpg",
alt: "Developer workspace with code on screen",
@@ -33,7 +33,7 @@ const cards = [
{
icon: "dice-multiple",
title: "Tabletop",
- copy: "Currently running two campaigns in Foundry VTT and playtesting MCDM's Crows. Always rolling dice.",
+ copy: "Currently obsessed with Spirit Island, Magic: The Gathering, and running campaigns in Foundry VTT. Always planning more; always rolling dice.",
href: "/interests/ttrpgs",
image: "/images/ttrpg-dice.jpg",
alt: "Polyhedral dice on a dark surface",
@@ -41,7 +41,7 @@ const cards = [
{
icon: "palette",
title: "Making",
- copy: "Resin dice, 3D prints, and whatever else catches my eye. If it involves layers and precision, I am in.",
+ copy: "Resin dice, 3D prints, TCG proxies, and whatever else catches my eye. If it involves really nice cardboard or mastering a new craft, I am in.",
href: "/interests/making",
image: "/images/making-resin.jpg",
alt: "Resin crafting in progress",
diff --git a/src/pages/interests/gaming.astro b/src/pages/interests/gaming.astro
index afe8280..c3040ac 100644
--- a/src/pages/interests/gaming.astro
+++ b/src/pages/interests/gaming.astro
@@ -5,31 +5,55 @@
* Per-interest template: header + tagline, verbatim overview, platforms card
* grid, favorite genres, currently playing placeholder, and related interests.
*/
-import BaseLayout from '@layouts/BaseLayout.astro';
-import Reveal from '@components/motion/Reveal.astro';
-import InterestHero from '@components/layout/InterestHero.astro';
-import InterestCard from '@components/cards/InterestCard.astro';
-import SectionHeader from '@components/layout/SectionHeader.astro';
-import RelatedInterests from '@components/layout/RelatedInterests.astro';
-import Placeholder from '@components/layout/Placeholder.astro';
-import Icon from '@components/Icon.astro';
+import BaseLayout from "@layouts/BaseLayout.astro";
+import Reveal from "@components/motion/Reveal.astro";
+import InterestHero from "@components/layout/InterestHero.astro";
+import InterestCard from "@components/cards/InterestCard.astro";
+import SectionHeader from "@components/layout/SectionHeader.astro";
+import RelatedInterests from "@components/layout/RelatedInterests.astro";
+import Placeholder from "@components/layout/Placeholder.astro";
+import Icon from "@components/Icon.astro";
const platforms = [
- { icon: 'sony-playstation', title: 'PlayStation 5', body: 'Main console for AAA titles and exclusives.' },
- { icon: 'nintendo-switch', title: 'Nintendo Switch / Switch 2', body: 'Handheld and docked. Nintendo first-party plus indie gems.' },
- { icon: 'steam', title: 'Steam', body: 'The primary PC library. Strategy, RPGs, and an ever-growing backlog.' },
+ {
+ icon: "sony-playstation",
+ title: "PlayStation 5",
+ body: "Main console for AAA titles and exclusives.",
+ },
+ {
+ icon: "nintendo-switch",
+ title: "Nintendo Switch / Switch 2",
+ body: "Handheld and docked. Nintendo first-party plus indie gems.",
+ },
+ {
+ icon: "steam",
+ title: "Steam",
+ body: "The primary PC library. Strategy, RPGs, and an ever-growing backlog.",
+ },
];
const genres = [
- 'RPGs (both Western and JRPG)',
- 'Strategy and tactics',
- 'Open-world exploration',
- 'Indie darlings',
+ "RPGs (both Western and JRPG)",
+ "Strategy and tactics",
+ "Building and crafting",
+ "Automation",
+ "Open-world exploration",
+ "Indie darlings",
];
const related = [
- { href: '/interests/pokemon', title: 'Pokémon', icon: 'pokeball', blurb: 'Nintendo console overlap and a lifelong obsession.' },
- { href: '/interests/ttrpgs', title: 'TTRPGs & Tabletop', icon: 'dice-multiple', blurb: 'Digital RPGs as another expression of the same impulse.' },
+ {
+ href: "/interests/pokemon",
+ title: "Pokémon",
+ icon: "pokeball",
+ blurb: "Nintendo console overlap and a lifelong obsession.",
+ },
+ {
+ href: "/interests/ttrpgs",
+ title: "TTRPGs & Tabletop",
+ icon: "dice-multiple",
+ blurb: "Digital RPGs as another expression of the same impulse.",
+ },
];
---
@@ -48,48 +72,92 @@ const related = [
{/* Overview */}
-
-
Gaming is my other constant. I span console generations with a PlayStation 5, Nintendo Switch 2, and a Steam library that has gotten politely out of hand. I'm particularly drawn to RPGs, strategy games, and anything with a deeply layered world. If a game has lore compendiums, I'm reading them.
+
+
+ Gaming is my other constant. I span console generations with a
+ PlayStation 5, Nintendo Switch 2, and a Steam library that has gotten
+ politely out of hand. I'm particularly drawn to RPGs, strategy games,
+ and anything with a deeply layered world. If a game has lore
+ compendiums, I'm reading them.
+
diff --git a/src/pages/interests/index.astro b/src/pages/interests/index.astro
index a67b864..901845e 100644
--- a/src/pages/interests/index.astro
+++ b/src/pages/interests/index.astro
@@ -6,51 +6,56 @@
* sub-page, using the spec's taglines. Sets surface="interest" so the whole
* page reads warm (cream/amber) regardless of the global light/dark toggle.
*/
-import BaseLayout from '@layouts/BaseLayout.astro';
-import Reveal from '@components/motion/Reveal.astro';
-import Icon from '@components/Icon.astro';
-import SectionHeader from '@components/layout/SectionHeader.astro';
-import AnimatedBackground from '@components/hero/AnimatedBackground.tsx';
-import SacredGeometry from '@components/mystic/SacredGeometry.astro';
-import ConstellationField from '@components/mystic/ConstellationField.tsx';
+import BaseLayout from "@layouts/BaseLayout.astro";
+import Reveal from "@components/motion/Reveal.astro";
+import Icon from "@components/Icon.astro";
+import SectionHeader from "@components/layout/SectionHeader.astro";
+import AnimatedBackground from "@components/hero/AnimatedBackground.tsx";
+import SacredGeometry from "@components/mystic/SacredGeometry.astro";
+import ConstellationField from "@components/mystic/ConstellationField.tsx";
const interests = [
{
- href: '/interests/ttrpgs',
- icon: 'dice-multiple',
- title: 'TTRPGs & Tabletop',
- tagline: 'Three campaigns, two systems, one rolling table.',
- blurb: 'Long-running D&D and Daggerheart campaigns on Foundry VTT, plus the Crows playtest. Worldbuilding, NPC relationships, and player-driven narrative.',
- image: '/images/ttrpg-dice.jpg',
- alt: 'Polyhedral dice on a dark surface',
+ href: "/interests/ttrpgs",
+ icon: "dice-multiple",
+ title: "TTRPGs & Tabletop",
+ tagline: "Have dice, will roll.",
+ blurb:
+ "Card Games, Board Games, and Long-running D&D and Daggerheart campaigns on Foundry VTT. Worldbuilding, NPC relationships, and player-driven narrative.",
+ image: "/images/ttrpg-dice.jpg",
+ alt: "Boardgame Shelf",
},
{
- href: '/interests/gaming',
- icon: 'sony-playstation',
- title: 'Gaming',
- tagline: 'If it has a screen or a controller, I have probably played it.',
- blurb: 'PlayStation 5, Nintendo Switch 2, and a politely out-of-hand Steam library. RPGs, strategy, and anything with a deeply layered world.',
- image: '/images/gaming-setup.jpg',
- alt: 'Gaming setup with controller',
+ href: "/interests/gaming",
+ icon: "sony-playstation",
+ title: "Gaming",
+ tagline: "We do not talk about my backlog.",
+ blurb:
+ "PlayStation 5, Nintendo Switch 2, and a politely out-of-hand Steam library. RPGs, strategy, and anything with a deeply layered world.",
+ image: "/images/gaming-setup.jpg",
+ alt: "Gaming setup desk",
},
{
- href: '/interests/reading',
- icon: 'book-open-page-variant',
- title: 'Reading & Media',
- tagline: 'Perpetually three books ahead of my to-read list.',
- blurb: 'The Cosmere, Dune, the Pendergast saga, and Throne of Glass. Plus light novels, manga, manhwa, anime, and film.',
- image: '/images/fantasy-books.jpg',
- alt: 'Fantasy bookshelf',
+ href: "/interests/reading",
+ icon: "book-open-page-variant",
+ title: "Reading & Media",
+ tagline: "Perpetually three books ahead of my to-read list.",
+ blurb:
+ "The Cosmere, Dune, the Pendergast saga, and Throne of Glass. Plus light novels, manga, manhwa, anime, and film.",
+ image: "/images/fantasy-books.jpg",
+ alt: "Fantasy bookshelf",
},
{
- href: '/interests/making',
- icon: 'palette',
- title: 'Making & Creating',
- tagline: 'If it involves layers and precision, I am in.',
- blurb: 'Resin dice in a pressure pot, miniatures and terrain on the Elegoo Mars 4 and Bambu Labs P1S. Much of it ends up on the virtual table.',
- image: '/images/making-resin.jpg',
- alt: 'Resin crafting in progress',
- },
+ href: "/interests/making",
+ icon: "palette",
+ title: "Making & Creating",
+ tagline:
+ "If it involves really nice cardboard or mastering a new craft, I am in.",
+ blurb:
+ "Resin dice in a pressure pot, fun and functional prints on the P1s, custom TCG proxies and decks. Passion and utility.",
+ image: "/images/making-resin.jpg",
+ alt: "Polyhedral dice on a dark bag",
+ } /*
{
href: '/interests/pokemon',
icon: 'pokeball',
@@ -59,7 +64,7 @@ const interests = [
blurb: 'A lifelong obsession from Red and Blue to modern competitive. Steel/Psychic, beautiful design, absolutely devastating in battle.',
image: '/images/pokemon-cards.jpg',
alt: 'Trading card collection',
- },
+ },*/,
];
---
@@ -70,9 +75,13 @@ const interests = [
>
- {/* Full animated Milky Way field + stars, matching the Home hero treatment. */}
+ {
+ /* Full animated Milky Way field + stars, matching the Home hero treatment. */
+ }
-