diff --git a/src/content/config.ts b/src/content/config.ts
index 570b5ee..e448035 100644
--- a/src/content/config.ts
+++ b/src/content/config.ts
@@ -15,4 +15,37 @@ const blog = defineCollection({
}),
});
-export const collections = { blog };
+const projects = defineCollection({
+ loader: glob({ pattern: "**/index.md", base: "./src/content/projects" }),
+ schema: ({ image }) => z.object({
+ title: z.string(),
+ description: z.string(),
+ longDescription: z.string().optional(),
+ category: z.enum([
+ 'vs-extension',
+ 'vscode-extension',
+ 'github-action',
+ 'cli-tool',
+ 'nuget-package',
+ 'desktop-app',
+ 'documentation',
+ ]),
+ repoUrl: z.string().url(),
+ demoUrl: z.string().url().optional(),
+ docsUrl: z.string().url().optional(),
+ techStack: z.array(z.string()),
+ language: z.string(),
+ status: z.enum(['active', 'maintained', 'archived', 'experimental']),
+ startDate: z.coerce.date(),
+ lastUpdated: z.coerce.date().optional(),
+ image: image().optional(),
+ marketplace: z.object({
+ type: z.enum(['vs-marketplace', 'nuget', 'npm', 'other']),
+ url: z.string().url(),
+ }).optional(),
+ stars: z.number().optional(),
+ downloads: z.number().optional(),
+ }),
+});
+
+export const collections = { blog, projects };
diff --git a/src/content/projects/dtvem-cli/cover.png b/src/content/projects/dtvem-cli/cover.png
new file mode 100644
index 0000000..8b10f41
Binary files /dev/null and b/src/content/projects/dtvem-cli/cover.png differ
diff --git a/src/content/projects/dtvem-cli/index.md b/src/content/projects/dtvem-cli/index.md
new file mode 100644
index 0000000..4d499ca
--- /dev/null
+++ b/src/content/projects/dtvem-cli/index.md
@@ -0,0 +1,24 @@
+---
+title: "DTVEM CLI"
+description: "Developer Tools Virtual Environment Manager (DTVEM) is a cross-platform virtual environment manager for multiple developer tools, written in Go."
+longDescription: "DTVEM simplifies managing multiple versions of developer tools across projects. Written in Go for cross-platform support, it provides first-class support for Windows, macOS, and Linux right out of the box."
+category: "cli-tool"
+repoUrl: "https://github.com/CodingWithCalvin/dtvem.cli"
+docsUrl: "https://dtvem.io"
+techStack: ["Go", "CLI", "Cross-platform"]
+language: "Go"
+status: "active"
+startDate: "2025-12-04"
+stars: 5
+---
+
+
+
+DTVEM (Developer Tools Virtual Environment Manager) helps you manage multiple versions of developer tools on a per-project basis. Similar to nvm for Node or pyenv for Python, but for a broader range of tools.
+
+## Features
+
+- Manage multiple tool versions per project
+- Cross-platform support (Windows, macOS, Linux)
+- Fast and lightweight (written in Go)
+- Simple configuration files
diff --git a/src/content/projects/gha-jbmarketplacepublisher/cover.png b/src/content/projects/gha-jbmarketplacepublisher/cover.png
new file mode 100644
index 0000000..6a8ed69
Binary files /dev/null and b/src/content/projects/gha-jbmarketplacepublisher/cover.png differ
diff --git a/src/content/projects/gha-jbmarketplacepublisher/index.md b/src/content/projects/gha-jbmarketplacepublisher/index.md
new file mode 100644
index 0000000..7973aab
--- /dev/null
+++ b/src/content/projects/gha-jbmarketplacepublisher/index.md
@@ -0,0 +1,24 @@
+---
+title: "JetBrains Marketplace Publisher"
+description: "GitHub Action to publish plugins to the JetBrains Marketplace."
+longDescription: "Automate your JetBrains plugin publishing workflow with this GitHub Action. Publish to the JetBrains Marketplace directly from your CI/CD pipeline."
+category: "github-action"
+repoUrl: "https://github.com/CodingWithCalvin/GHA-JBMarketplacePublisher"
+demoUrl: "https://github.com/marketplace/actions/jetbrains-marketplace-publisher"
+techStack: ["TypeScript", "Node.js", "GitHub Actions"]
+language: "TypeScript"
+status: "maintained"
+startDate: "2024-09-24"
+stars: 2
+---
+
+
+
+Automate your JetBrains plugin releases with this GitHub Action. No more manual uploads - just push a release and let CI/CD handle the marketplace publishing.
+
+## Features
+
+- Publish plugins to JetBrains Marketplace
+- Support for all JetBrains IDEs
+- Configurable through workflow inputs
+- Secure token handling
diff --git a/src/content/projects/gha-vsmarketplacepublisher/cover.png b/src/content/projects/gha-vsmarketplacepublisher/cover.png
new file mode 100644
index 0000000..4dda132
Binary files /dev/null and b/src/content/projects/gha-vsmarketplacepublisher/cover.png differ
diff --git a/src/content/projects/gha-vsmarketplacepublisher/index.md b/src/content/projects/gha-vsmarketplacepublisher/index.md
new file mode 100644
index 0000000..87ca3c9
--- /dev/null
+++ b/src/content/projects/gha-vsmarketplacepublisher/index.md
@@ -0,0 +1,24 @@
+---
+title: "VS Marketplace Publisher"
+description: "GitHub Action to publish extensions to the Visual Studio Marketplace."
+longDescription: "Automate your Visual Studio extension publishing workflow with this GitHub Action. Publish to the VS Marketplace directly from your CI/CD pipeline."
+category: "github-action"
+repoUrl: "https://github.com/CodingWithCalvin/GHA-VSMarketplacePublisher"
+demoUrl: "https://github.com/marketplace/actions/vs-marketplace-publisher"
+techStack: ["TypeScript", "Node.js", "GitHub Actions"]
+language: "TypeScript"
+status: "maintained"
+startDate: "2023-03-24"
+stars: 5
+---
+
+
+
+Stop manually publishing your Visual Studio extensions. This GitHub Action automates the entire process, letting you publish to the VS Marketplace as part of your CI/CD workflow.
+
+## Features
+
+- Publish VSIX files to VS Marketplace
+- Support for update and new releases
+- Configurable through workflow inputs
+- Secure PAT handling
diff --git a/src/content/projects/otel4vsix/cover.png b/src/content/projects/otel4vsix/cover.png
new file mode 100644
index 0000000..5bed50c
Binary files /dev/null and b/src/content/projects/otel4vsix/cover.png differ
diff --git a/src/content/projects/otel4vsix/index.md b/src/content/projects/otel4vsix/index.md
new file mode 100644
index 0000000..a44c139
--- /dev/null
+++ b/src/content/projects/otel4vsix/index.md
@@ -0,0 +1,27 @@
+---
+title: "Otel4Vsix"
+description: "OpenTelemetry support library for Visual Studio 2022+ extensions. Add distributed tracing, metrics, logging, and exception tracking to your VSIX with minimal configuration."
+longDescription: "Bring observability to your Visual Studio extensions with Otel4Vsix. Add distributed tracing, metrics, logging, and exception tracking with just a few lines of code."
+category: "nuget-package"
+repoUrl: "https://github.com/CodingWithCalvin/Otel4Vsix"
+techStack: ["C#", ".NET", "OpenTelemetry", "VSIX"]
+language: "C#"
+status: "active"
+startDate: "2025-12-23"
+stars: 0
+marketplace:
+ type: "nuget"
+ url: "https://www.nuget.org/packages/Otel4Vsix"
+---
+
+
+
+Otel4Vsix makes it easy to add OpenTelemetry instrumentation to your Visual Studio extensions. Track performance, log events, and capture exceptions with industry-standard observability.
+
+## Features
+
+- Distributed tracing support
+- Metrics collection
+- Structured logging
+- Exception tracking
+- Minimal configuration required
diff --git a/src/content/projects/rnr-cli/cover.png b/src/content/projects/rnr-cli/cover.png
new file mode 100644
index 0000000..d51e907
Binary files /dev/null and b/src/content/projects/rnr-cli/cover.png differ
diff --git a/src/content/projects/rnr-cli/index.md b/src/content/projects/rnr-cli/index.md
new file mode 100644
index 0000000..d830a63
--- /dev/null
+++ b/src/content/projects/rnr-cli/index.md
@@ -0,0 +1,24 @@
+---
+title: "rnr CLI"
+description: "rnr (pronounced 'runner') is a cross-platform task runner that works instantly on any machine. No Node.js. No Python. No global installs. Just clone and go."
+longDescription: "rnr is a zero-setup task runner. Clone any repo and run tasks immediately - no runtime dependencies, no global installs. Written in Rust for maximum portability and performance."
+category: "cli-tool"
+repoUrl: "https://github.com/CodingWithCalvin/rnr.cli"
+docsUrl: "https://rnrcli.io"
+techStack: ["Rust", "CLI", "Cross-platform"]
+language: "Rust"
+status: "active"
+startDate: "2026-01-09"
+stars: 0
+---
+
+
+
+rnr eliminates the "works on my machine" problem for task runners. No need to install Node.js, Python, or any other runtime. Just clone and run.
+
+## Features
+
+- Zero dependencies to install
+- Cross-platform (Windows, macOS, Linux)
+- Fast (written in Rust)
+- Simple task configuration
diff --git a/src/content/projects/vs-breakpointnotifier/cover.png b/src/content/projects/vs-breakpointnotifier/cover.png
new file mode 100644
index 0000000..93c8fae
Binary files /dev/null and b/src/content/projects/vs-breakpointnotifier/cover.png differ
diff --git a/src/content/projects/vs-breakpointnotifier/index.md b/src/content/projects/vs-breakpointnotifier/index.md
new file mode 100644
index 0000000..85b6595
--- /dev/null
+++ b/src/content/projects/vs-breakpointnotifier/index.md
@@ -0,0 +1,26 @@
+---
+title: "Breakpoint Notifier"
+description: "A Visual Studio extension to 'alert' you when a breakpoint is hit while you're debugging - useful if you're multitasking waiting for the breakpoint to be hit!"
+longDescription: "Stop constantly checking if your breakpoint was hit. Breakpoint Notifier alerts you with visual and audio cues when debugging pauses at a breakpoint, letting you multitask with confidence."
+category: "vs-extension"
+repoUrl: "https://github.com/CodingWithCalvin/VS-BreakpointNotifier"
+techStack: ["C#", ".NET Framework", "VSIX", "Visual Studio SDK"]
+language: "C#"
+status: "maintained"
+startDate: "2023-04-05"
+stars: 5
+marketplace:
+ type: "vs-marketplace"
+ url: "https://marketplace.visualstudio.com/items?itemName=CodingWithCalvin.VS-BreakpointNotifier"
+---
+
+
+
+When debugging long-running processes or waiting for specific conditions, you don't want to stare at Visual Studio. Breakpoint Notifier lets you work on other things and notifies you when your breakpoint is finally hit.
+
+## Features
+
+- Audio notifications when breakpoints are hit
+- Visual alerts to grab your attention
+- Configurable notification settings
+- Works with conditional breakpoints too
diff --git a/src/content/projects/vs-couchbaseexplorer/cover.png b/src/content/projects/vs-couchbaseexplorer/cover.png
new file mode 100644
index 0000000..00cc05e
Binary files /dev/null and b/src/content/projects/vs-couchbaseexplorer/cover.png differ
diff --git a/src/content/projects/vs-couchbaseexplorer/index.md b/src/content/projects/vs-couchbaseexplorer/index.md
new file mode 100644
index 0000000..645cf24
--- /dev/null
+++ b/src/content/projects/vs-couchbaseexplorer/index.md
@@ -0,0 +1,26 @@
+---
+title: "Couchbase Explorer"
+description: "A Visual Studio extension that adds a host of Couchbase & Capella data management and query capabilities right into your IDE!"
+longDescription: "Bring Couchbase database management directly into Visual Studio. Browse buckets, execute N1QL queries, and manage your data without leaving your development environment."
+category: "vs-extension"
+repoUrl: "https://github.com/CodingWithCalvin/VS-CouchbaseExplorer"
+techStack: ["C#", ".NET Framework", "VSIX", "Visual Studio SDK", "Couchbase"]
+language: "C#"
+status: "maintained"
+startDate: "2023-04-13"
+stars: 1
+marketplace:
+ type: "vs-marketplace"
+ url: "https://marketplace.visualstudio.com/items?itemName=CodingWithCalvin.VS-CouchbaseExplorer"
+---
+
+
+
+Couchbase Explorer brings database management capabilities directly into Visual Studio, so you can work with your Couchbase or Capella data without context switching.
+
+## Features
+
+- Browse Couchbase buckets and collections
+- Execute N1QL queries
+- View and edit documents
+- Connect to Couchbase and Capella clusters
diff --git a/src/content/projects/vs-debugalizers/cover.png b/src/content/projects/vs-debugalizers/cover.png
new file mode 100644
index 0000000..6b9175b
Binary files /dev/null and b/src/content/projects/vs-debugalizers/cover.png differ
diff --git a/src/content/projects/vs-debugalizers/index.md b/src/content/projects/vs-debugalizers/index.md
new file mode 100644
index 0000000..4f01785
--- /dev/null
+++ b/src/content/projects/vs-debugalizers/index.md
@@ -0,0 +1,26 @@
+---
+title: "Debugalizers"
+description: "A powerful collection of debug visualizers for Visual Studio, providing beautiful formatting, syntax highlighting, and specialized views for common string data types."
+longDescription: "Stop squinting at raw JSON in the debugger! Debugalizers provides beautiful, syntax-highlighted visualizers for JSON, XML, and other common string formats, making debugging a much more pleasant experience."
+category: "vs-extension"
+repoUrl: "https://github.com/CodingWithCalvin/VS-Debugalizers"
+techStack: ["C#", ".NET", "VSIX", "Visual Studio SDK", "Debug Visualizers"]
+language: "C#"
+status: "active"
+startDate: "2026-01-24"
+stars: 3
+marketplace:
+ type: "vs-marketplace"
+ url: "https://marketplace.visualstudio.com/items?itemName=CodingWithCalvin.VS-Debugalizers"
+---
+
+
+
+Debugging strings containing JSON, XML, or other structured data is painful with the default visualizer. Debugalizers provides specialized views with syntax highlighting and proper formatting.
+
+## Features
+
+- JSON visualizer with syntax highlighting
+- XML visualizer with formatting
+- Specialized views for common data types
+- Beautiful, readable output
diff --git a/src/content/projects/vs-gitranger/cover.png b/src/content/projects/vs-gitranger/cover.png
new file mode 100644
index 0000000..ca7f428
Binary files /dev/null and b/src/content/projects/vs-gitranger/cover.png differ
diff --git a/src/content/projects/vs-gitranger/index.md b/src/content/projects/vs-gitranger/index.md
new file mode 100644
index 0000000..473c3af
--- /dev/null
+++ b/src/content/projects/vs-gitranger/index.md
@@ -0,0 +1,27 @@
+---
+title: "GitRanger"
+description: "A visually exciting Git management extension for Visual Studio 2022/2026, bringing GitLens-style functionality with theme-adaptive vibrant colors."
+longDescription: "GitRanger brings the best of GitLens to Visual Studio with beautiful, theme-adaptive visualizations. See who changed what and when, right in your editor, with vibrant colors that make Git history a pleasure to explore."
+category: "vs-extension"
+repoUrl: "https://github.com/CodingWithCalvin/VS-GitRanger"
+techStack: ["C#", ".NET", "VSIX", "Visual Studio SDK", "Git"]
+language: "C#"
+status: "active"
+startDate: "2025-12-23"
+stars: 3
+marketplace:
+ type: "vs-marketplace"
+ url: "https://marketplace.visualstudio.com/items?itemName=CodingWithCalvin.VS-GitRanger"
+---
+
+
+
+GitRanger enhances your Git workflow in Visual Studio with rich inline annotations, blame information, and file history - all presented with beautiful, theme-aware colors.
+
+## Features
+
+- Inline blame annotations
+- File history visualization
+- Theme-adaptive colors
+- Quick navigation to commits
+- Author information at a glance
diff --git a/src/content/projects/vs-mcpserver/cover.png b/src/content/projects/vs-mcpserver/cover.png
new file mode 100644
index 0000000..ab57e4d
Binary files /dev/null and b/src/content/projects/vs-mcpserver/cover.png differ
diff --git a/src/content/projects/vs-mcpserver/index.md b/src/content/projects/vs-mcpserver/index.md
new file mode 100644
index 0000000..95ee699
--- /dev/null
+++ b/src/content/projects/vs-mcpserver/index.md
@@ -0,0 +1,26 @@
+---
+title: "VS MCP Server"
+description: "VS MCP Server exposes Visual Studio features through the Model Context Protocol (MCP), enabling AI assistants like Claude to interact with your IDE programmatically."
+longDescription: "Bridge the gap between AI assistants and your development environment. VS MCP Server exposes Visual Studio's powerful features through the Model Context Protocol, letting tools like Claude open files, read code, build projects, and more - all through natural conversation."
+category: "vs-extension"
+repoUrl: "https://github.com/CodingWithCalvin/VS-MCPServer"
+techStack: ["C#", ".NET", "VSIX", "Visual Studio SDK", "MCP"]
+language: "C#"
+status: "active"
+startDate: "2026-01-12"
+stars: 5
+marketplace:
+ type: "vs-marketplace"
+ url: "https://marketplace.visualstudio.com/items?itemName=CodingWithCalvin.VS-MCPServer"
+---
+
+
+
+VS MCP Server brings AI-powered development to Visual Studio by implementing the Model Context Protocol. This enables AI assistants to directly interact with your IDE, opening new possibilities for AI-assisted coding.
+
+## Features
+
+- Open and read files through AI conversations
+- Build projects programmatically
+- Navigate code semantically
+- Works with Claude and other MCP-compatible AI tools
diff --git a/src/content/projects/vs-openbinfolder/cover.png b/src/content/projects/vs-openbinfolder/cover.png
new file mode 100644
index 0000000..34210d2
Binary files /dev/null and b/src/content/projects/vs-openbinfolder/cover.png differ
diff --git a/src/content/projects/vs-openbinfolder/index.md b/src/content/projects/vs-openbinfolder/index.md
new file mode 100644
index 0000000..fe29ba4
--- /dev/null
+++ b/src/content/projects/vs-openbinfolder/index.md
@@ -0,0 +1,26 @@
+---
+title: "Open Bin Folder"
+description: "A Visual Studio extension that adds a right-click context menu command that allows you to open the project's output directory (the 'bin' folder) in Windows File Explorer."
+longDescription: "Quickly access your project's compiled output without navigating through folders manually. Right-click on any project and instantly open its bin folder in Windows File Explorer."
+category: "vs-extension"
+repoUrl: "https://github.com/CodingWithCalvin/VS-OpenBinFolder"
+techStack: ["C#", ".NET Framework", "VSIX", "Visual Studio SDK"]
+language: "C#"
+status: "maintained"
+startDate: "2023-03-24"
+stars: 6
+marketplace:
+ type: "vs-marketplace"
+ url: "https://marketplace.visualstudio.com/items?itemName=CodingWithCalvin.VS-OpenBinFolder"
+---
+
+
+
+A simple productivity extension that saves you from navigating through your project structure to find the bin folder. Right-click, open, done.
+
+## Features
+
+- Opens the project's output directory in File Explorer
+- Context menu integration in Solution Explorer
+- Works with any project type
+- Respects the active build configuration
diff --git a/src/content/projects/vs-openinnotepadplusplus/cover.png b/src/content/projects/vs-openinnotepadplusplus/cover.png
new file mode 100644
index 0000000..52b45d7
Binary files /dev/null and b/src/content/projects/vs-openinnotepadplusplus/cover.png differ
diff --git a/src/content/projects/vs-openinnotepadplusplus/index.md b/src/content/projects/vs-openinnotepadplusplus/index.md
new file mode 100644
index 0000000..087e111
--- /dev/null
+++ b/src/content/projects/vs-openinnotepadplusplus/index.md
@@ -0,0 +1,26 @@
+---
+title: "Open In Notepad++"
+description: "A Visual Studio extension that adds a right-click context menu command that allows you to open the solution file, project file, or file in Notepad++."
+longDescription: "Sometimes you just need to edit a file in a lightweight editor. This extension adds convenient context menu commands throughout Visual Studio to open any file, project, or solution directly in Notepad++."
+category: "vs-extension"
+repoUrl: "https://github.com/CodingWithCalvin/VS-OpenInNotepadPlusPlus"
+techStack: ["C#", ".NET Framework", "VSIX", "Visual Studio SDK"]
+language: "C#"
+status: "maintained"
+startDate: "2018-08-11"
+stars: 12
+marketplace:
+ type: "vs-marketplace"
+ url: "https://marketplace.visualstudio.com/items?itemName=CodingWithCalvin.VS-OpenInNotepadPlusPlus"
+---
+
+
+
+A simple but essential extension for developers who use Notepad++ alongside Visual Studio. Right-click on any file, project, or solution to instantly open it in Notepad++.
+
+## Features
+
+- Open files directly in Notepad++
+- Open project files (.csproj, .vbproj, etc.)
+- Open solution files (.sln)
+- Context menu integration in Solution Explorer
diff --git a/src/content/projects/vs-projectrenamifier/cover.png b/src/content/projects/vs-projectrenamifier/cover.png
new file mode 100644
index 0000000..640d354
Binary files /dev/null and b/src/content/projects/vs-projectrenamifier/cover.png differ
diff --git a/src/content/projects/vs-projectrenamifier/index.md b/src/content/projects/vs-projectrenamifier/index.md
new file mode 100644
index 0000000..a5b98f5
--- /dev/null
+++ b/src/content/projects/vs-projectrenamifier/index.md
@@ -0,0 +1,27 @@
+---
+title: "Project Renamifier"
+description: "A Visual Studio extension that allows you to safely - and COMPLETELY - rename a Project from within Visual Studio!"
+longDescription: "Renaming a project in Visual Studio has always been a pain. This extension handles everything: the filename, parent folder name, namespace, and all references throughout your solution. One click, complete rename."
+category: "vs-extension"
+repoUrl: "https://github.com/CodingWithCalvin/VS-ProjectRenamifier"
+techStack: ["C#", ".NET Framework", "VSIX", "Visual Studio SDK", "Roslyn"]
+language: "C#"
+status: "active"
+startDate: "2024-05-17"
+stars: 9
+marketplace:
+ type: "vs-marketplace"
+ url: "https://marketplace.visualstudio.com/items?itemName=CodingWithCalvin.VS-ProjectRenamifier"
+---
+
+
+
+Project Renamifier takes the headache out of renaming projects. Instead of manually updating filenames, folders, namespaces, and references, just use this extension and it handles everything automatically.
+
+## Features
+
+- Renames the project file
+- Renames the parent folder (if it matches the project name)
+- Updates the namespace throughout all files
+- Updates references in the solution file
+- Updates references in other projects
diff --git a/src/content/projects/vs-superclean/cover.png b/src/content/projects/vs-superclean/cover.png
new file mode 100644
index 0000000..2644683
Binary files /dev/null and b/src/content/projects/vs-superclean/cover.png differ
diff --git a/src/content/projects/vs-superclean/index.md b/src/content/projects/vs-superclean/index.md
new file mode 100644
index 0000000..f8ef6ae
--- /dev/null
+++ b/src/content/projects/vs-superclean/index.md
@@ -0,0 +1,26 @@
+---
+title: "Super Clean"
+description: "A Visual Studio extension that adds a right-click context menu command to recursively delete the selected project's bin & obj folders, or all projects in the solution."
+longDescription: "When 'Clean Solution' isn't enough, Super Clean completely obliterates your bin and obj folders. Perfect for those times when you need a truly fresh build or when mysterious build issues strike."
+category: "vs-extension"
+repoUrl: "https://github.com/CodingWithCalvin/VS-SuperClean"
+techStack: ["C#", ".NET Framework", "VSIX", "Visual Studio SDK"]
+language: "C#"
+status: "maintained"
+startDate: "2023-03-26"
+stars: 5
+marketplace:
+ type: "vs-marketplace"
+ url: "https://marketplace.visualstudio.com/items?itemName=CodingWithCalvin.VS-SuperClean"
+---
+
+
+
+Visual Studio's built-in Clean command doesn't always remove everything. Super Clean takes a more aggressive approach by completely deleting bin and obj folders, ensuring you get a truly clean slate for your next build.
+
+## Features
+
+- Clean individual projects
+- Clean entire solutions
+- Recursively removes bin and obj folders
+- Context menu integration in Solution Explorer
diff --git a/src/content/projects/vs-vsixmanifestdesigner/cover.png b/src/content/projects/vs-vsixmanifestdesigner/cover.png
new file mode 100644
index 0000000..0930fc3
Binary files /dev/null and b/src/content/projects/vs-vsixmanifestdesigner/cover.png differ
diff --git a/src/content/projects/vs-vsixmanifestdesigner/index.md b/src/content/projects/vs-vsixmanifestdesigner/index.md
new file mode 100644
index 0000000..74debae
--- /dev/null
+++ b/src/content/projects/vs-vsixmanifestdesigner/index.md
@@ -0,0 +1,26 @@
+---
+title: "VSIX Manifest Designer"
+description: "The built-in VSIX manifest designer in Visual Studio is old, outdated, and rather ugly. VSIX Manifest Designer is a modern replacement with a clean, intuitive UI."
+longDescription: "The default VSIX manifest designer hasn't been updated in years. This extension provides a modern, clean replacement that feels right at home in Visual Studio 2022, making extension development more pleasant."
+category: "vs-extension"
+repoUrl: "https://github.com/CodingWithCalvin/VS-VsixManifestDesigner"
+techStack: ["C#", ".NET", "VSIX", "Visual Studio SDK", "WPF"]
+language: "C#"
+status: "active"
+startDate: "2026-01-04"
+stars: 2
+marketplace:
+ type: "vs-marketplace"
+ url: "https://marketplace.visualstudio.com/items?itemName=CodingWithCalvin.VS-VsixManifestDesigner"
+---
+
+
+
+The built-in VSIX manifest designer feels like it's from another era. VSIX Manifest Designer provides a fresh, modern UI for editing your extension manifests with all the fields you need in an intuitive layout.
+
+## Features
+
+- Modern, clean UI design
+- All manifest fields easily accessible
+- Validation and error checking
+- Feels native to Visual Studio 2022
diff --git a/src/content/projects/vsc-mcpserver/cover.png b/src/content/projects/vsc-mcpserver/cover.png
new file mode 100644
index 0000000..229f68c
Binary files /dev/null and b/src/content/projects/vsc-mcpserver/cover.png differ
diff --git a/src/content/projects/vsc-mcpserver/index.md b/src/content/projects/vsc-mcpserver/index.md
new file mode 100644
index 0000000..466c879
--- /dev/null
+++ b/src/content/projects/vsc-mcpserver/index.md
@@ -0,0 +1,27 @@
+---
+title: "VSC MCP Server"
+description: "A Visual Studio Code extension that exposes an MCP server, giving AI tools like Claude direct access to VS Code's semantic code understanding capabilities."
+longDescription: "VSC MCP Server bridges AI assistants with VS Code's powerful language services. Get go-to-definition, find references, completions, diagnostics, and more - all accessible through natural conversation with your AI tools."
+category: "vscode-extension"
+repoUrl: "https://github.com/CodingWithCalvin/VSC-MCPServer"
+techStack: ["TypeScript", "Node.js", "VS Code Extension API", "MCP"]
+language: "TypeScript"
+status: "active"
+startDate: "2026-01-14"
+stars: 0
+marketplace:
+ type: "vs-marketplace"
+ url: "https://marketplace.visualstudio.com/items?itemName=CodingWithCalvin.VSC-MCPServer"
+---
+
+
+
+VSC MCP Server exposes VS Code's rich language understanding to AI assistants through the Model Context Protocol. This enables semantic code navigation, intelligent completions, and more through AI conversations.
+
+## Features
+
+- Go-to-definition through AI conversations
+- Find all references
+- Get intelligent completions
+- Access diagnostics and errors
+- Works with Claude, Cursor, and other MCP tools
diff --git a/src/content/projects/vscwhere/cover.png b/src/content/projects/vscwhere/cover.png
new file mode 100644
index 0000000..2f33852
Binary files /dev/null and b/src/content/projects/vscwhere/cover.png differ
diff --git a/src/content/projects/vscwhere/index.md b/src/content/projects/vscwhere/index.md
new file mode 100644
index 0000000..1daf24c
--- /dev/null
+++ b/src/content/projects/vscwhere/index.md
@@ -0,0 +1,23 @@
+---
+title: "VSCWhere"
+description: "A command-line tool to locate Visual Studio Code installations on Windows, inspired by vswhere."
+longDescription: "Inspired by Microsoft's vswhere tool, VSCWhere helps you programmatically locate Visual Studio Code installations on Windows. Perfect for build scripts and automation."
+category: "cli-tool"
+repoUrl: "https://github.com/CodingWithCalvin/VSCWhere"
+techStack: ["Rust", "CLI", "Windows"]
+language: "Rust"
+status: "active"
+startDate: "2026-01-06"
+stars: 1
+---
+
+
+
+VSCWhere is a command-line tool that locates VS Code installations on Windows, similar to how vswhere locates Visual Studio. Useful for build scripts, automation, and tooling.
+
+## Features
+
+- Locate VS Code installations programmatically
+- JSON output for easy parsing
+- Fast (written in Rust)
+- Inspired by Microsoft's vswhere
diff --git a/src/content/projects/vsix-guide/cover.png b/src/content/projects/vsix-guide/cover.png
new file mode 100644
index 0000000..fe738d5
Binary files /dev/null and b/src/content/projects/vsix-guide/cover.png differ
diff --git a/src/content/projects/vsix-guide/index.md b/src/content/projects/vsix-guide/index.md
new file mode 100644
index 0000000..d169b1d
--- /dev/null
+++ b/src/content/projects/vsix-guide/index.md
@@ -0,0 +1,24 @@
+---
+title: "VSIX Guide"
+description: "Comprehensive documentation for Visual Studio extension development."
+longDescription: "The definitive guide to building Visual Studio extensions. From getting started to advanced topics, VSIX Guide provides comprehensive documentation for extension developers."
+category: "documentation"
+repoUrl: "https://github.com/CodingWithCalvin/vsix.guide"
+demoUrl: "https://vsix.guide"
+techStack: ["MDX", "Astro", "Documentation"]
+language: "MDX"
+status: "active"
+startDate: "2026-01-29"
+stars: 0
+---
+
+
+
+VSIX Guide is a comprehensive documentation site for Visual Studio extension development. Whether you're just getting started or looking for advanced techniques, this guide has you covered.
+
+## Features
+
+- Getting started tutorials
+- API reference documentation
+- Best practices and patterns
+- Real-world examples
diff --git a/src/content/projects/vsixsdk/cover.png b/src/content/projects/vsixsdk/cover.png
new file mode 100644
index 0000000..bd1eea3
Binary files /dev/null and b/src/content/projects/vsixsdk/cover.png differ
diff --git a/src/content/projects/vsixsdk/index.md b/src/content/projects/vsixsdk/index.md
new file mode 100644
index 0000000..06c9f4d
--- /dev/null
+++ b/src/content/projects/vsixsdk/index.md
@@ -0,0 +1,27 @@
+---
+title: "VsixSdk"
+description: "An MSBuild SDK for building Visual Studio extensions (VSIX) using modern SDK-style projects."
+longDescription: "VsixSdk is a modern MSBuild SDK that simplifies Visual Studio extension development by enabling SDK-style projects. Say goodbye to verbose .csproj files and hello to clean, maintainable extension projects with all the benefits of modern .NET tooling."
+category: "nuget-package"
+repoUrl: "https://github.com/CodingWithCalvin/VsixSdk"
+techStack: ["C#", ".NET", "MSBuild", "VSIX", "Visual Studio SDK"]
+language: "C#"
+status: "active"
+startDate: "2025-12-24"
+stars: 21
+marketplace:
+ type: "nuget"
+ url: "https://www.nuget.org/packages/VsixSdk"
+---
+
+
+
+VsixSdk revolutionizes Visual Studio extension development by bringing modern SDK-style projects to VSIX development. No more wrestling with hundreds of lines of XML in your project files.
+
+## Features
+
+- SDK-style project support for VSIX projects
+- Simplified project files with sensible defaults
+- Full compatibility with Visual Studio 2022+
+- Automatic reference management
+- Built-in support for common extension scenarios
diff --git a/src/content/projects/vstoolbox/cover.png b/src/content/projects/vstoolbox/cover.png
new file mode 100644
index 0000000..84da93f
Binary files /dev/null and b/src/content/projects/vstoolbox/cover.png differ
diff --git a/src/content/projects/vstoolbox/index.md b/src/content/projects/vstoolbox/index.md
new file mode 100644
index 0000000..91702d8
--- /dev/null
+++ b/src/content/projects/vstoolbox/index.md
@@ -0,0 +1,23 @@
+---
+title: "VS Toolbox"
+description: "Visual Studio Toolbox is a sleek system tray application for Windows that helps you manage all your Visual Studio installations in one place."
+longDescription: "Think of VS Toolbox as your personal command center for Visual Studio. Quickly launch any installed version, access recent solutions, and manage your Visual Studio installations - all from a convenient system tray app."
+category: "desktop-app"
+repoUrl: "https://github.com/CodingWithCalvin/VSToolbox"
+techStack: ["C#", ".NET", "WPF", "Windows"]
+language: "C#"
+status: "active"
+startDate: "2025-12-30"
+stars: 4
+---
+
+
+
+VS Toolbox provides a central hub for managing multiple Visual Studio installations. Launch specific versions, access recent projects, and keep track of all your VS installations from the system tray.
+
+## Features
+
+- System tray quick access
+- Launch any installed Visual Studio version
+- Access recent solutions
+- Clean, modern UI
diff --git a/src/layouts/BaseLayout.astro b/src/layouts/BaseLayout.astro
index 3c0017f..c086dd9 100644
--- a/src/layouts/BaseLayout.astro
+++ b/src/layouts/BaseLayout.astro
@@ -92,8 +92,12 @@ const twitterHandle = "@_CalvinAllen";
+
+
+
+
diff --git a/src/layouts/ProjectLayout.astro b/src/layouts/ProjectLayout.astro
new file mode 100644
index 0000000..5da5a35
--- /dev/null
+++ b/src/layouts/ProjectLayout.astro
@@ -0,0 +1,237 @@
+---
+import { Image } from 'astro:assets';
+import type { ImageMetadata } from 'astro';
+import BaseLayout from './BaseLayout.astro';
+import TechStackBadges from '../components/TechStackBadges.astro';
+import { getStatusColor, formatCount } from '../lib/projects';
+
+interface Props {
+ title: string;
+ slug: string;
+ description: string;
+ longDescription?: string;
+ repoUrl: string;
+ demoUrl?: string;
+ docsUrl?: string;
+ techStack: string[];
+ language: string;
+ status: 'active' | 'maintained' | 'archived' | 'experimental';
+ startDate: Date;
+ lastUpdated?: Date;
+ image?: ImageMetadata;
+ marketplace?: {
+ type: 'vs-marketplace' | 'nuget' | 'npm' | 'other';
+ url: string;
+ };
+ stars?: number;
+ forks?: number;
+ downloads?: number;
+ rating?: number;
+ ratingCount?: number;
+ latestRelease?: {
+ version: string;
+ publishedAt: string;
+ url: string;
+ };
+}
+
+const {
+ title,
+ slug,
+ description,
+ longDescription,
+ repoUrl,
+ demoUrl,
+ docsUrl,
+ techStack,
+ language,
+ status,
+ startDate,
+ lastUpdated,
+ image,
+ marketplace,
+ stars,
+ forks,
+ downloads,
+ rating,
+ ratingCount,
+ latestRelease,
+} = Astro.props;
+
+const formattedStartDate = startDate.toLocaleDateString('en-US', {
+ year: 'numeric',
+ month: 'long',
+ timeZone: 'America/New_York',
+});
+
+const formattedLastUpdated = lastUpdated?.toLocaleDateString('en-US', {
+ year: 'numeric',
+ month: 'long',
+ day: 'numeric',
+ timeZone: 'America/New_York',
+});
+
+const marketplaceLabels = {
+ 'vs-marketplace': 'VS Marketplace',
+ 'nuget': 'NuGet',
+ 'npm': 'npm',
+ 'other': 'Marketplace',
+};
+
+// Get the image URL for OG tags
+const ogImageUrl = image?.src;
+---
+
+
+
+