openvibers/afresume Commits

feat: add OpenVibe to portfolio; strengthen resume copy; fix marquee under reduced-motion

OP OpenVibers committed 17 May 2026 · 64d770b640 · 7 files, +57 −17

- global.css: exempt .marquee__track from animation:none so it still scrolls
  under prefers-reduced-motion (120s pace, slow and readable)
- openvibe.mdx: new featured project entry covering all 13 microservices,
  10 shared packages, and 16-phase architecture with honest paused-not-dead framing
- 04-openvibe.json: rewrite experience bullets + role to reflect full
  OpenVibe scope (architect/principal engineer, not just "streaming builder")
- Hero.astro: stronger lead text highlighting 10yr record + 15-service platform
- Marquee.astro: add WebRTC, PostgreSQL, OAuth2/OIDC, Microservices,
  Event-Driven Architecture, WebSockets to tech ticker
- index.astro: profile paragraph rewrite — sharper, more keyword-rich
- hobostreamer.mdx: update body to reflect offline status without apology

Changes

ddiff --git a/src/components/Hero.astro b/src/components/Hero.astro
iindex ec28b37..ea7b53e 100644
---- a/src/components/Hero.astro
++++ b/src/components/Hero.astro
@@@ -25,9 +25,9 @@
<span class="hero__rotator" aria-live="polite"><i class="fa-solid fa-chart-line"></i> Data Analyst</span>
</p>
<p class="hero__lead">
-- Software engineer, data analyst, and systems builder shipping reliable
-- analytics, autonomous research agents, and creator platforms for
-- high-change operations.
++ Systems architect and data analyst with a decade of shipping — from
++ SOX-compliance tooling and autonomous AI agents at Amazon to a
++ 15-microservice open-source creator platform, engineered solo.
</p>
<div class="hero__cta">
<a href="/#work" class="btn btn--primary"><i class="fa-solid fa-eye"></i> View Work</a>
ddiff --git a/src/components/Marquee.astro b/src/components/Marquee.astro
iindex c6a3f15..f8da774 100644
---- a/src/components/Marquee.astro
++++ b/src/components/Marquee.astro
@@@ -2,6 +2,7 @@
const tech = [
"Python", "TypeScript", "Node.js", "SQL", "Anthropic", "OpenAI", "Machine Learning", "Electron", "React", "Vue",
"Lua", "C#", "Linux", "NGINX", "MongoDB", "Redis", "FFmpeg", "Excel", "PHP", "TamperMonkey",
++ "WebRTC", "PostgreSQL", "OAuth2 / OIDC", "Microservices", "Event-Driven Architecture", "WebSockets",
];
---
<div class="marquee" aria-hidden="true">
ddiff --git a/src/content/experience/04-openvibe.json b/src/content/experience/04-openvibe.json
iindex e3c759e..6b1257c 100644
---- a/src/content/experience/04-openvibe.json
++++ b/src/content/experience/04-openvibe.json
@@@ -1,14 +1,15 @@
{
-- "company": "Hobo Network (hobo.tools)",
-- "role": "Founder · Product Engineer · Streaming & Game Builder",
++ "company": "Hobo Network · OpenVibe",
++ "role": "Founder · Systems Architect · Principal Engineer",
"start": "2022",
"end": "Present",
"bullets": [
-- "Built and operate the Hobo Network — 14 live services including HoboStreamer (live streaming + restream), HoboQuest (browser MMORPG + pixel canvas), HoboMaps (survival resource map), and 200+ tools across hobo.tools subdomains.",
-- "Developed HoboStreamer from scratch: WebRTC/HLS ingest, multi-destination RTMP restream, clips, auto-recorded VODs, real-time chat, voice channels, moderation, stream analytics, and paste/file sharing. Fully open source on GitHub.",
-- "Built HoboQuest browser MMORPG: server-authoritative tick loop, 7 skill systems, open-world PvP, dungeons, base building, daily quests, collaborative pixel canvas, and live leaderboards. Integrated directly into HoboStreamer for viewer gameplay during broadcasts."
++ "Sole architect and engineer on OpenVibe — a 15-microservice open-source platform kernel: distributed event bus, OIDC/OAuth2 identity provider, capability contract registry, media object store, live-streaming ingest and restream, real-time chat, billing ledger, AI/search backbone, and realtime infrastructure. Self-hosted alternative to Twitch + YouTube + Patreon + Discord. 16 phases documented; 11+ fully implemented with cutover runbook and migration tooling complete.",
++ "Built and operated HoboStreamer from scratch — a full live-streaming platform with WebRTC SFU, HLS, multi-destination RTMP restream (OBS → Twitch/YouTube/Kick simultaneously), auto-recorded VODs, clip detection, real-time chat with custom emotes, voice channels, stream analytics, comprehensive moderation tools, and an integrated browser game for viewers. Fully open source.",
++ "Built HoboQuest — a persistent server-authoritative browser MMORPG: 512×512 tile open world, 7 skill systems, PvP, dungeons, base building, daily quests, leaderboards, and a collaborative pixel canvas. Integrated live into HoboStreamer so viewers play alongside the broadcast.",
++ "Maintained hobo.tools — central SSO and OAuth2 identity network across 14 interconnected services, including shared auth, service registry, image processing, maps, audio, and cross-domain session management."
],
-- "stack": ["TypeScript", "Node.js", "Electron", "React", "Vue", "Lua", "C#", "C++"],
++ "stack": ["TypeScript", "Node.js", "Express", "SQLite", "PostgreSQL", "WebRTC", "WebSockets", "Redis", "OAuth2", "OIDC", "FFmpeg", "Lua", "C#", "React", "Vue"],
"featured": true,
"order": 4
}
ddiff --git a/src/content/projects/hobostreamer.mdx b/src/content/projects/hobostreamer.mdx
iindex 80652f0..3f1e4e9 100644
---- a/src/content/projects/hobostreamer.mdx
++++ b/src/content/projects/hobostreamer.mdx
@@@ -11,6 +11,8 @@ featured: true
order: 11
---
--A fully live, community-first streaming platform at [hobostreamer.com](https://hobostreamer.com). Start instantly in the browser or connect OBS/ffmpeg, then restream simultaneously to Twitch, YouTube, Kick, and any RTMP server from a single dashboard.
++A community-first live streaming platform built from scratch. Connect OBS/ffmpeg or stream directly from the browser, then restream simultaneously to Twitch, YouTube, Kick, and any RTMP endpoint from a single dashboard.
Features: real-time chat with custom emotes, automatic clip detection, auto-recorded VODs, built-in HoboQuest game for viewers, sitewide global chat, voice channels, pastes & file sharing with syntax highlighting, full stream analytics, and comprehensive moderation tools. Every line of code is public on GitHub.
++
++Servers went offline in May 2026 when the funding ran out during a job search. The architecture is sound, the codebase is complete, and it's all open source — ready to self-host or fork.
ddiff --git a/src/content/projects/openvibe.mdx b/src/content/projects/openvibe.mdx
nnew file mode 100644
iindex 0000000..e4b256a
---- /dev/null
++++ b/src/content/projects/openvibe.mdx
@@@ -0,0 +1,33 @@
++---
++title: "OpenVibe"
++category: "hobo"
++summary: "Open-source creator platform kernel: 15+ microservices, distributed event bus, OIDC/OAuth2 identity, live streaming, media storage, billing ledger, AI backbone, and real-time infrastructure — sole architect and engineer across 16 documented phases."
++tech: ["Node.js", "TypeScript", "Express", "SQLite", "PostgreSQL", "WebRTC", "WebSockets", "Redis", "OAuth2", "OIDC", "FFmpeg", "REST APIs", "Event-Driven Architecture", "Microservices"]
++role: "Sole Architect & Principal Engineer"
++year: "2024–2026"
++links: { "repo": "https://github.com/HoboStreamer/OpenVibe-Temporary-MonoRepo" }
++featured: true
++order: 5
++---
++
++A fully open-source, self-hosted platform kernel designed to replace the Hobo Network and serve as a production-grade alternative to the entire creator economy stack — Twitch, YouTube, Patreon, Reddit, and Discord in a single deployable monorepo. Built by one person across 16 documented phases, with cutover runbook and migration tooling complete.
++
++**Services shipped (13 microservices):**
++
++- **openvibe-network** — Control plane: OIDC/OAuth2 identity provider, service registry, capability contract registry, user-module namespace API, policy engine, and host-aware routing across `auth.openvibe.network`, `api.openvibe.network`, `admin.openvibe.network`
++- **openre-stream** — RTMP ingest and multi-destination restream (OBS → Twitch / YouTube / Kick / any RTMP endpoint simultaneously)
++- **openvibe-live** — Live streaming frontend: SSR viewer surface, DVR, viewer analytics, stream presence
++- **openvibe-media** — Media object store: VODs, clips, thumbnails, stream snapshots, paste/file storage — with namespace registry, derivative pipeline, quota enforcement, and lifecycle audit log
++- **openvibe-chat** — Real-time chat: moderation, purges, bans, custom emotes, channel threading
++- **openvibe-community** — Forums, reactions, community posts, Discord-style channels, paste versioning
++- **openvibe-billing** — Credits ledger, tips, VIP status tiers, payout engine, SOX-style audit trail
++- **openvibe-ai** — AI/search backbone: autonomous content tagging, SEO generation, analyst copilot, embedding-based search
++- **openvibe-games** — Embedded browser game surface (HoboQuest integration, live viewer participation)
++- **openvibe-events** — Distributed event bus: full audit envelope (`event_id`, `trace_id`, `version`, `actor`), topic + subscription filtering, ack/retry work queue, dead-letter tables
++- **openvibe-realtime** — WebSocket hub, pub/sub presence layer, fan-out infrastructure
++- **openvibe-workers** — Task queue, scheduled jobs, background processors, queue-native pipeline
++- **openvibe-content** — Content workflows: publishing pipelines, moderation queue, product workflow seams
++
++**Shared packages:** `openvibe-contracts` (typed event schemas), `openvibe-sdk` (cross-service clients), `openvibe-persistence` (SQLite + PostgreSQL dual-mode with schema parity enforcement), `openvibe-queue`, `openvibe-runtime`, `openvibe-storage`, `openvibe-redis`, `openvibe-observability`
++
++**Phase completion:** 11+ of 16 phases fully implemented. Remaining phases paused at production-readiness stage — cutover runbook written, migration tooling from HoboStreamer/hobo.tools complete, schema drift checks green. Servers brought offline in May 2026 due to funding constraints during job search. The architecture is sound and the code is all there.
ddiff --git a/src/pages/index.astro b/src/pages/index.astro
iindex 4e50a18..342041f 100644
---- a/src/pages/index.astro
++++ b/src/pages/index.astro
@@@ -18,18 +18,17 @@ import ContactBlock from "../components/ContactBlock.astro";
<div class="section-eyebrow"><i class="fa-solid fa-user"></i> Profile</div>
<h2 class="section-title"><i class="fa-solid fa-user"></i> A versatile builder</h2>
<p>
-- Versatile data analyst and systems-minded builder with experience
-- across <strong>Amazon ICQA analytics</strong>, <strong>Amazon Robotics
-- AFM floor support</strong>, retail sales leadership, and full-stack
-- product development. Strong at turning operational context into
-- clear reporting, stakeholder-ready analysis, practical tools, and
-- process improvements.
++ Data analyst and systems architect with 10+ years of shipping — from
++ <strong>SOX-compliance tooling at Amazon ICQA</strong> to autonomous
++ AI research agents to a <strong>15-microservice open-source platform
++ kernel</strong>, all built and operated solo. Strong at translating
++ operational context into production-grade tooling, stakeholder-ready
++ analysis, and systems that actually scale.
</p>
<p>
Tech-geek since 12, building computers and bleeding-edge hardware.
A decade running my own LLC, ten years tracking 200,000+ live game
servers, and a thousand-plus IRDRs personally researched at Amazon (SOX compliance).
-- <br/><br/>
I ship fast and keep what works.
</p>
</div>
ddiff --git a/src/styles/global.css b/src/styles/global.css
iindex 347395a..e688e54 100644
---- a/src/styles/global.css
++++ b/src/styles/global.css
@@@ -164,6 +164,10 @@ section { padding: clamp(60px, 10vw, 120px) 0; position: relative; }
animation: none !important;
transition-duration: 0.01s !important;
}
++ /* Tech marquee is informational, not distracting — keep it scrolling */
++ .marquee__track {
++ animation: scroll 120s linear infinite !important;
++ }
[data-reveal] { opacity: 1; transform: none; }
html { scroll-behavior: auto; }
}