Remove the Amazon SQL Copilot, Total Inbound Pull Tool and RobotStreamer Toolkit projects
Changes
ddeleted file mode 100644BBinary files a/public/assets/img/previews/local_portfolio_amazon-sql-copilot.jpg and /dev/null differddeleted file mode 100644BBinary files a/public/assets/img/previews/local_portfolio_inbound-pull-tool.jpg and /dev/null differddeleted file mode 100644BBinary files a/public/assets/img/previews/local_portfolio_robotstreamer-toolkit.jpg and /dev/null differddeleted file mode 100644BBinary files a/public/assets/img/projects/amazon-sql-copilot.webp and /dev/null differddeleted file mode 100644BBinary files a/public/assets/img/projects/inbound-pull.webp and /dev/null differ@@@ -11,7 +11,7 @@"bullets": ["Owned the SOX-compliance IRDR workflow: personally researched 1,000+ inventory discrepancies and built the data systems and reporting that satisfied Sarbanes-Oxley audit requirements.","Built SQL and Excel reporting for inventory accuracy and defect visibility; delivered dashboards, recurring leadership reports and a network-wide quality recap deck.",-- "Shipped an Anthropic-powered SQL copilot that indexes every available table, and an autonomous root-cause agent that plans, gathers evidence and writes complete IRDRs, collapsing hours of research per defect into seconds."++ "Shipped an autonomous root-cause agent that plans, gathers evidence and writes complete IRDRs, collapsing hours of research per defect into seconds."],"stack": ["SQL",ddeleted file mode 100644@@@ -1,26 +0,0 @@--title: "Amazon SQL Copilot"--category: "amazon"--summary: "Anthropic-powered copilot that writes runnable, schema-aware SQL for ICQA analysts — no memorizing 200+ table names."--tech: ["Python", "Anthropic API", "SQL", "Schema Indexing", "Streamlit"]--role: "Sole builder"--year: "2025"--image: "/assets/img/projects/amazon-sql-copilot.webp"--icon: "fa-solid fa-database"--featured: true--order: 21----A conversational analytics assistant for Amazon ICQA. The bot ingests the--warehouse data dictionary, builds a schema graph, and uses Anthropic's Claude--models to answer free-form questions with **runnable, table-aware SQL** plus an--explanation of the join path it chose.----**Highlights**----- Auto-discovers tables, foreign keys, and column semantics so analysts don't-- have to remember 200+ table names.--- Streams partial SQL with inline rationale, then offers one-click execute and-- result preview.--- Hardened prompt-injection guards on tool calls; nothing executes without a-- human confirm.ddeleted file mode 100644@@@ -1,16 +0,0 @@--title: "Total Inbound Pull Tool"--category: "amazon"--summary: "Excel + VBA workbook that pulls every inbound metric — receive, stow, transship, defects — into one operator-ready dashboard."--tech: ["Excel", "VBA", "Power Query", "SQL"]--role: "Sole builder"--year: "2026"--image: "/assets/img/projects/inbound-pull.webp"--icon: "fa-solid fa-table"--featured: true--order: 22----A single-button workbook that replaces a tangle of overlapping reports. Pulls--live data from upstream systems, normalizes it, and renders shift-ready views--for managers, problem-solvers, and ICQA. Used daily on the floor.@@@ -18,7 +18,7 @@ The flagship of the network and the reason the rest exists. Streamers connect OB**Media.** Recording, clip cutting and thumbnails are delegated to [OpenVibe.Media](https://openvibe.media) over a signed, multi-tenant API. VODs tier from local disk to Backblaze B2 and Cloudflare R2 and stream back through presigned URLs.--**Community layer.** Chat with moderation cascades, IP bans and redaction; a three-currency economy (OpenCoins earned site-wide, per-channel points, and Vibes for real-money support); voice rooms; watch-party song requests; [PowerChat](https://powerchat.live) and RobotStreamer integrations with reconcile-and-retry webhooks.++**Community layer.** Chat with moderation cascades, IP bans and redaction; a three-currency economy (OpenCoins earned site-wide, per-channel points, and Vibes for real-money support); voice rooms; watch-party song requests; a [PowerChat](https://powerchat.live) integration with reconcile-and-retry webhooks.**AI, on a budget.** A provider-agnostic LLM client (OpenAI, OpenRouter, Groq, Together, Ollama, llama.cpp) metered by a daily budget powers auto-clips, stream memories, timelines and site copy. Speech is transcribed locally with whisper.cpp and translated into about 21 languages, which is how a Japanese-speaking streamer became the site's star.ddeleted file mode 100644@@@ -1,13 +0,0 @@--title: "RobotStreamer Toolkit"--category: "python"--summary: "Full-GUI Tk toolkit for managing RobotStreamer accounts: bulk moderation, VOD Discord cards and OpenVibe.Live hand-off."--tech: ["Python", "Tkinter", "Requests", "Discord Webhooks"]--role: "Sole builder"--year: "2025"--icon: "fa-solid fa-robot"--order: 33----Built for power users on RobotStreamer. Handles tedious moderation and content--chores in batch and pipes highlights into a Discord-ready embed format.@@@ -99,10 +99,6 @@"img": "/assets/img/previews/local_portfolio.jpg","label": "alexfrison.net/portfolio"},-- "path:/portfolio/amazon-sql-copilot": {-- "img": "/assets/img/previews/local_portfolio_amazon-sql-copilot.jpg",-- "label": "alexfrison.net/portfolio/amazon-sql-copilot"-- },"path:/portfolio/amazon-userscripts": {"img": "/assets/img/previews/local_portfolio_amazon-userscripts.jpg","label": "alexfrison.net/portfolio/amazon-userscripts"@@@ -115,10 +111,6 @@"img": "/assets/img/previews/local_portfolio_hartools.jpg","label": "alexfrison.net/portfolio/hartools"},-- "path:/portfolio/inbound-pull-tool": {-- "img": "/assets/img/previews/local_portfolio_inbound-pull-tool.jpg",-- "label": "alexfrison.net/portfolio/inbound-pull-tool"-- },"path:/portfolio/irdr-autonomous-bot": {"img": "/assets/img/previews/local_portfolio_irdr-autonomous-bot.jpg","label": "alexfrison.net/portfolio/irdr-autonomous-bot"@@@ -187,10 +179,6 @@"img": "/assets/img/previews/local_portfolio_pytools-workshop.jpg","label": "alexfrison.net/portfolio/pytools-workshop"},-- "path:/portfolio/robotstreamer-toolkit": {-- "img": "/assets/img/previews/local_portfolio_robotstreamer-toolkit.jpg",-- "label": "alexfrison.net/portfolio/robotstreamer-toolkit"-- },"path:/portfolio/youtube-desktop-client": {"img": "/assets/img/previews/local_portfolio_youtube-desktop-client.jpg","label": "alexfrison.net/portfolio/youtube-desktop-client"
deleted file mode 100644
deleted file mode 100644
Binary files a/public/assets/img/previews/local_portfolio_amazon-sql-copilot.jpg and /dev/null differ
Binary files a/public/assets/img/previews/local_portfolio_amazon-sql-copilot.jpg and /dev/null differ
deleted file mode 100644
deleted file mode 100644
Binary files a/public/assets/img/previews/local_portfolio_inbound-pull-tool.jpg and /dev/null differ
Binary files a/public/assets/img/previews/local_portfolio_inbound-pull-tool.jpg and /dev/null differ
deleted file mode 100644
deleted file mode 100644
Binary files a/public/assets/img/previews/local_portfolio_robotstreamer-toolkit.jpg and /dev/null differ
Binary files a/public/assets/img/previews/local_portfolio_robotstreamer-toolkit.jpg and /dev/null differ
deleted file mode 100644
deleted file mode 100644
Binary files a/public/assets/img/projects/amazon-sql-copilot.webp and /dev/null differ
Binary files a/public/assets/img/projects/amazon-sql-copilot.webp and /dev/null differ
deleted file mode 100644
deleted file mode 100644
Binary files a/public/assets/img/projects/inbound-pull.webp and /dev/null differ
Binary files a/public/assets/img/projects/inbound-pull.webp and /dev/null differ
@@ -11,7 +11,7 @@
@@ -11,7 +11,7 @@
"bullets": [
"bullets": [
"Owned the SOX-compliance IRDR workflow: personally researched 1,000+ inventory discrepancies and built the data systems and reporting that satisfied Sarbanes-Oxley audit requirements.",
"Owned the SOX-compliance IRDR workflow: personally researched 1,000+ inventory discrepancies and built the data systems and reporting that satisfied Sarbanes-Oxley audit requirements.",
"Built SQL and Excel reporting for inventory accuracy and defect visibility; delivered dashboards, recurring leadership reports and a network-wide quality recap deck.",
"Built SQL and Excel reporting for inventory accuracy and defect visibility; delivered dashboards, recurring leadership reports and a network-wide quality recap deck.",
- "Shipped an Anthropic-powered SQL copilot that indexes every available table, and an autonomous root-cause agent that plans, gathers evidence and writes complete IRDRs, collapsing hours of research per defect into seconds."
+ "Shipped an autonomous root-cause agent that plans, gathers evidence and writes complete IRDRs, collapsing hours of research per defect into seconds."
],
],
"stack": [
"stack": [
"SQL",
"SQL",
deleted file mode 100644
deleted file mode 100644
@@ -1,26 +0,0 @@
@@ -1,26 +0,0 @@
-title: "Amazon SQL Copilot"
-category: "amazon"
-summary: "Anthropic-powered copilot that writes runnable, schema-aware SQL for ICQA analysts — no memorizing 200+ table names."
-tech: ["Python", "Anthropic API", "SQL", "Schema Indexing", "Streamlit"]
-role: "Sole builder"
-year: "2025"
-image: "/assets/img/projects/amazon-sql-copilot.webp"
-icon: "fa-solid fa-database"
-featured: true
-order: 21
-
-A conversational analytics assistant for Amazon ICQA. The bot ingests the
-warehouse data dictionary, builds a schema graph, and uses Anthropic's Claude
-models to answer free-form questions with **runnable, table-aware SQL** plus an
-explanation of the join path it chose.
-
-**Highlights**
-
-- Auto-discovers tables, foreign keys, and column semantics so analysts don't
- have to remember 200+ table names.
-- Streams partial SQL with inline rationale, then offers one-click execute and
- result preview.
-- Hardened prompt-injection guards on tool calls; nothing executes without a
- human confirm.
deleted file mode 100644
deleted file mode 100644
@@ -1,16 +0,0 @@
@@ -1,16 +0,0 @@
-title: "Total Inbound Pull Tool"
-category: "amazon"
-summary: "Excel + VBA workbook that pulls every inbound metric — receive, stow, transship, defects — into one operator-ready dashboard."
-tech: ["Excel", "VBA", "Power Query", "SQL"]
-role: "Sole builder"
-year: "2026"
-image: "/assets/img/projects/inbound-pull.webp"
-icon: "fa-solid fa-table"
-featured: true
-order: 22
-
-A single-button workbook that replaces a tangle of overlapping reports. Pulls
-live data from upstream systems, normalizes it, and renders shift-ready views
-for managers, problem-solvers, and ICQA. Used daily on the floor.
@@ -18,7 +18,7 @@ The flagship of the network and the reason the rest exists. Streamers connect OB
@@ -18,7 +18,7 @@ The flagship of the network and the reason the rest exists. Streamers connect OB
**Media.** Recording, clip cutting and thumbnails are delegated to [OpenVibe.Media](https://openvibe.media) over a signed, multi-tenant API. VODs tier from local disk to Backblaze B2 and Cloudflare R2 and stream back through presigned URLs.
**Media.** Recording, clip cutting and thumbnails are delegated to [OpenVibe.Media](https://openvibe.media) over a signed, multi-tenant API. VODs tier from local disk to Backblaze B2 and Cloudflare R2 and stream back through presigned URLs.
-**Community layer.** Chat with moderation cascades, IP bans and redaction; a three-currency economy (OpenCoins earned site-wide, per-channel points, and Vibes for real-money support); voice rooms; watch-party song requests; [PowerChat](https://powerchat.live) and RobotStreamer integrations with reconcile-and-retry webhooks.
+**Community layer.** Chat with moderation cascades, IP bans and redaction; a three-currency economy (OpenCoins earned site-wide, per-channel points, and Vibes for real-money support); voice rooms; watch-party song requests; a [PowerChat](https://powerchat.live) integration with reconcile-and-retry webhooks.
**AI, on a budget.** A provider-agnostic LLM client (OpenAI, OpenRouter, Groq, Together, Ollama, llama.cpp) metered by a daily budget powers auto-clips, stream memories, timelines and site copy. Speech is transcribed locally with whisper.cpp and translated into about 21 languages, which is how a Japanese-speaking streamer became the site's star.
**AI, on a budget.** A provider-agnostic LLM client (OpenAI, OpenRouter, Groq, Together, Ollama, llama.cpp) metered by a daily budget powers auto-clips, stream memories, timelines and site copy. Speech is transcribed locally with whisper.cpp and translated into about 21 languages, which is how a Japanese-speaking streamer became the site's star.
deleted file mode 100644
deleted file mode 100644
@@ -1,13 +0,0 @@
@@ -1,13 +0,0 @@
-title: "RobotStreamer Toolkit"
-category: "python"
-summary: "Full-GUI Tk toolkit for managing RobotStreamer accounts: bulk moderation, VOD Discord cards and OpenVibe.Live hand-off."
-tech: ["Python", "Tkinter", "Requests", "Discord Webhooks"]
-role: "Sole builder"
-year: "2025"
-icon: "fa-solid fa-robot"
-order: 33
-
-Built for power users on RobotStreamer. Handles tedious moderation and content
-chores in batch and pipes highlights into a Discord-ready embed format.
@@ -99,10 +99,6 @@
@@ -99,10 +99,6 @@
"img": "/assets/img/previews/local_portfolio.jpg",
"img": "/assets/img/previews/local_portfolio.jpg",
"label": "alexfrison.net/portfolio"
"label": "alexfrison.net/portfolio"
},
},
- "path:/portfolio/amazon-sql-copilot": {
- "img": "/assets/img/previews/local_portfolio_amazon-sql-copilot.jpg",
- "label": "alexfrison.net/portfolio/amazon-sql-copilot"
- },
"path:/portfolio/amazon-userscripts": {
"path:/portfolio/amazon-userscripts": {
"img": "/assets/img/previews/local_portfolio_amazon-userscripts.jpg",
"img": "/assets/img/previews/local_portfolio_amazon-userscripts.jpg",
"label": "alexfrison.net/portfolio/amazon-userscripts"
"label": "alexfrison.net/portfolio/amazon-userscripts"
@@ -115,10 +111,6 @@
@@ -115,10 +111,6 @@
"img": "/assets/img/previews/local_portfolio_hartools.jpg",
"img": "/assets/img/previews/local_portfolio_hartools.jpg",
"label": "alexfrison.net/portfolio/hartools"
"label": "alexfrison.net/portfolio/hartools"
},
},
- "path:/portfolio/inbound-pull-tool": {
- "img": "/assets/img/previews/local_portfolio_inbound-pull-tool.jpg",
- "label": "alexfrison.net/portfolio/inbound-pull-tool"
- },
"path:/portfolio/irdr-autonomous-bot": {
"path:/portfolio/irdr-autonomous-bot": {
"img": "/assets/img/previews/local_portfolio_irdr-autonomous-bot.jpg",
"img": "/assets/img/previews/local_portfolio_irdr-autonomous-bot.jpg",
"label": "alexfrison.net/portfolio/irdr-autonomous-bot"
"label": "alexfrison.net/portfolio/irdr-autonomous-bot"
@@ -187,10 +179,6 @@
@@ -187,10 +179,6 @@
"img": "/assets/img/previews/local_portfolio_pytools-workshop.jpg",
"img": "/assets/img/previews/local_portfolio_pytools-workshop.jpg",
"label": "alexfrison.net/portfolio/pytools-workshop"
"label": "alexfrison.net/portfolio/pytools-workshop"
},
},
- "path:/portfolio/robotstreamer-toolkit": {
- "img": "/assets/img/previews/local_portfolio_robotstreamer-toolkit.jpg",
- "label": "alexfrison.net/portfolio/robotstreamer-toolkit"
- },
"path:/portfolio/youtube-desktop-client": {
"path:/portfolio/youtube-desktop-client": {
"img": "/assets/img/previews/local_portfolio_youtube-desktop-client.jpg",
"img": "/assets/img/previews/local_portfolio_youtube-desktop-client.jpg",
"label": "alexfrison.net/portfolio/youtube-desktop-client"
"label": "alexfrison.net/portfolio/youtube-desktop-client"