Sign in

David Pine

@davidpine.dev
1.7K followers 126 following 109 posts

💜 Loving husband & father. 🤓 Building aspire.dev @Microsoft. 🏫 @oreillymedia and @dometrain author. 🔥 #blazor #dotnet #csharp #aspire #aspnet #signalr 🏅 6x Google Developer Expert—Web 🌐 davidpine.dev 👨🏽‍💻 github.com/IEvangelist

PostsRepliesMedia
David Pine @davidpine.dev · 29/08/2026
We keep talking about AI like it is some alien force, but the truth is simpler. Every model carries our fingerprints. Every output echoes human roots. The machine is not the author of tomorrow. We are. Human creativity grows through the tools we build davidpine.dev/posts/roots-...
010
David Pine @davidpine.dev · 16/08/2026
🩷🖤 Meet PinkInk — my new VS Code theme (inspired by neon pink on black tattoo). Neon pink on near-black ink + a crisp, vivid light mode. No italics, cyan & magenta accents, and every color audited to WCAG AA. Two themes, one ink: marketplace.visualstudio.com/items?itemNa... @vscode.dev #a11y
Visual Studio Code with the official VS Code logo in the title bar, running the PinkInk Dark theme. The open file is apphost.mts — a .NET Aspire TypeScript AppHost that wires up Postgres, Redis, an Express API, and a Vite site, with an MIT license header by David Pine. Neon-pink keywords, cyan functions, and magenta accents glow on a near-black "ink" background. The editor window sits on a dark backdrop with pink and magenta glows, a subtle dot-grid texture, and a soft pink halo around it. A footer reads: David Pine · davidpine.dev · X @davidpine7 · GitHub IEvangelist.
060
David Pine @davidpine.dev · 07/08/2026
👀 One weather API. Four front ends. Four totally different vibes. Angular (Material 3), React (neo-brutalism), Vue (forecast carousel) & Vite (synthwave) — all orchestrated by @aspire.dev. Side by side 👇 aspire.dev/reference/sa... #JavaScript @angular.dev @react.dev @vuejs.org @vite.dev
Angular weather app with a Material 3 'expressive' design — a featured-day hero and supporting day cards.React weather app with a neo-brutalist design — thick borders, hard offset shadows, and chunky type.Vue weather app as a day-by-day forecast carousel with soft cards and green gradients.Vite + React weather app with a retro synthwave design — a neon sun and an 80s grid horizon.
340
David Pine @davidpine.dev · 09/07/2026
🚀 Shipped og:image:type to @aspire.dev's social cards today. Now a crawler knows the card's a PNG before it downloads a single byte, no content sniffing needed. A tiny tag nobody notices, which is kinda the whole point. 🤓 #aspiredotdev
Git show log for the diff.
021
David Pine @davidpine.dev · 02/07/2026
✅ Todo app, two runtimes: a React frontend + a Python FastAPI backend, unified through YARP and orchestrated by @aspire.dev. 👇 aspire.dev/reference/sa... #aspiredotdev #python #react
Todo list UI with a React frontend and a Python FastAPI backend, unified through YARP.
080
David Pine @davidpine.dev · 29/06/2026
🔢 A tiny visit counter with a tidy stack: Express backend, Redis cache, and a Vite + React frontend, unified behind YARP — orchestrated by @aspire.dev. 👇 aspire.dev/reference/sa... @vite.dev @react.dev #redis @typescriptlang.org
Visit counter UI backed by an Express + Redis service with a Vite + React frontend.
000
David Pine @davidpine.dev · 29/06/2026
🐍 Python + Aspire: a FastAPI backend and a Vite + React frontend, orchestrated together with @aspire.dev. Service discovery, config & telemetry across both — no glue code. 👇 aspire.dev/reference/sa... @thepsf.bsky.social #python #fastapi
Weather forecast rendered by the Vite + React frontend, served data by a FastAPI backend.
000
David Pine @davidpine.dev · 25/06/2026
🛒 Aspire Shop: a full Blazor storefront, end to end — a paginated catalog on PostgreSQL and a gRPC basket on Redis, all orchestrated + observable with @aspire.dev. Clone it, `aspire run`, start shopping. 👇 aspire.dev/reference/sa... #aspire #postgres #blazor #grpc #dotnet
Aspire Shop catalog page: a paginated grid of products in the Blazor storefront.Aspire Shop shopping cart showing selected products and order totals.
051
David Pine @davidpine.dev · 28/04/2026
Yeah—I can speak for the @aspire.dev team here: we see you, @astro.build docs-based #GitHubAgenticWorkflows 👀 ➡️ Product PRs automatically generate docs PRs in a separate repo—tagging the original authors for review. #aspiredotdev 🤓 #ghaw
Screenshot of a GitHub repository’s “Pull requests” tab (microsoft/aspire.dev) in dark mode, filtered to open PRs with the label “docs-from-code.” Four draft pull requests are listed, all created by a bot (aspire-repo-bot), with titles related to documentation updates (e.g., AspireValue catalogs, multi-language integration guide, browser logs, and CLI command docs). The top navigation bar shows sections like Code, Issues, Pull requests, Actions, Projects, and Security. A “New pull request” button appears on the right.
081
David Pine @davidpine.dev · 21/04/2026
I love the #developercommunity, and this is an awesome contribution to @aspire.dev from @stu.dev where he added twoslash to our code blocks. Check it out: aspire.dev/get-started/... Our @typescriptlang.org code is literally looking like an IDE now. 🤓
A TypeScript code block from  aspire.dev, showing a tooltip hover over actual code APIs, just like an IDE.
042
David Pine @davidpine.dev · 23/03/2026
Things are getting real!
080
David Pine @davidpine.dev · 05/12/2025
I'm curious, all of our @aspiredotdev users, is an #aspirePlayground something that you might use? I've been prototyping a bit, thinking about: ⬇️ Import existing AppHost/Docker compose file ⬆️ Export an AppHost.cs/SVG from the visual editor What do you think? 🤓
Aspire playground prototype
3112
David Pine @davidpine.dev · 19/11/2025
🤯 Damn! I'm not going to lie, #GitHubCopilot with the #playwright #mcpserver is legit next level! #aspire @aspire.dev
GitHub Copilot being asked to apply a suggestion, and then Copilot replying after it's done so, and with a screen shot of the changes.
071
David Pine @davidpine.dev · 11/11/2025
New swag! #aspire @aspire.dev #dotnetconf
David Pine wearing "friends don't let friends WRITE YAML" shirt.
091
David Pine @davidpine.dev · 07/11/2025
Nice! @aspire.dev is now officially represented on the #starlight's showcase: #aspire 💜 #community starlight.astro.build/resources/sh...
aspire.dev landing page.
0102
David Pine @davidpine.dev · 05/11/2025
🤓 I asked @GitHubCopilot to review a PR. It suggested a change. I told it to go ahead and apply it. Then it opened a PR back to me—complete with a gorgeous auto-generated visual of the update. This isn't coding anymore… it's collaboration. 🤯 #AIwon
A visual comparison of before and after GitHub Copilot made some changes in a PR.
050
David Pine @davidpine.dev · 09/10/2025
🤔 Have any websites that you want to deploy to #Netlify, I wrote an #aspire hosting integration for you... @aspire.dev
AppHost.cs code that publishes an NpmResource as a Netlify site.
061
David Pine @davidpine.dev · 09/10/2025
I put #GitHub #Copilot + #context7 to the test in #VSCode. 🚀 In 60 mins, I went from a blank #NextJs starter to a polished Netflix clone ("Nextflix") using The Movie DB API + tmdb-ts. What once took teams weeks, AI helped me build solo. 🤯 🔗 github.com/IEvangelist/...
Netflix-inspired streaming app landing page showing TRON: Ares as the featured movie. The hero section displays the TRON: Ares title, PG-13 rating, release year 2025, and a 6.7 star rating. Description reads: A highly sophisticated Program called Ares is sent from the digital world into the real world on a dangerous mission, marking humankind's first encounter with AI beings. Play and More Info buttons are visible. The background features a stylized digital cityscape with a glowing yellow light cycle moving through geometric buildings, evoking a futuristic and adventurous mood. Navigation links for TV Shows, Movies, Search, New and Popular, and My List appear at the top, with a dark theme and neon accents. The emotional tone is energetic and immersive, capturing the excitement of a sci-fi streaming experience.Netflix-inspired streaming app interface showing the Nextflix logo and navigation links for TV Shows, Movies, Search, New and Popular, and My List at the top. The screen displays rows of large, vibrant movie and show posters under categories Trending Now, Popular on Netflix, and Action Movies. Titles visible include Play Dirty, The Conjuring, The Lost Bus, Tron Ares, Chainsaw Man, The Fantastic Four, Holy Night Demon Hunters, War of the Worlds, Primitive War, Fight Another Day, Mantis, and Django Undisputed. The background is sleek black with bold accent colors, evoking a modern, energetic, and immersive streaming experience.Four superheroes in blue suits with the number 4 on their chests stand in front of a futuristic blue car on a city street, with tall buildings and a large monument in the background. The movie details modal displays the title The Fantastic 4: First Steps, PG-13 rating, release year 2025, runtime 1 hour 55 minutes, and a 7.2 star rating. Description reads: Against the vibrant backdrop of a 1960s-inspired, retro-futuristic world, Marvels First Family is forced to balance their roles as heroes with the strength of their family bond, while defending Earth from a ravenous space god called Galactus and his enigmatic herald, Silver Surfer. Genres listed are Science Fiction and Adventure. Release date is 7/22/2025. Production credits are Marvel Studios and Kevin Feige Productions. The emotional tone is heroic and adventurous, evoking excitement and anticipation for a superhero film.
030
David Pine @davidpine.dev · 30/09/2025
🤓 File-based apps in C# are insane! I love them...my package.json has a script that is simply `dotnet run file.cs`. #javascript 💜 #csharp
C# code
2263
David Pine @davidpine.dev · 24/09/2025
🤓 Tell me you use #code's — #GitHubCopilot ✨ button near the commit message input textbox (to auto generate a message) without telling me that you do... I'll go first 🤣:
A generated commit message, that reads "Implement feature X to enhance user experience and fix bug Y in module Z".
010
David Pine @davidpine.dev · 04/09/2025
It's been super energizing working on the #aspire brand refresh + docs re-platforming. Here's a few sneak peeks! 🤓 ✨ Fresh new docs UX 📖 Simplified nav and structure 🎨 Modern themes 🔍 Better discoverability ☑️ Asciinema terminal embeds Built with 💜 at Microsoft — @aspire.dev
Work in progress Aspire landing/marketing page.Proposed new Aspire page for creating your fist app.Conceptual content will be more concisely conveyed with modern flexibility in the new platform.An all-new Aspire integrations gallery page, with search/filtering, and download counts.
5225
David Pine @davidpine.dev · 12/08/2025
TFW you realize that someone is trolling you... @sebastienros.me poaches backgrounds, uses them on Teams calls, and acts as if nothing is going on. 🤣
Sebastien using my background...
170
David Pine @davidpine.dev · 11/06/2025
The faithful couple sequoia in Yosemite.
The faithful couple sequoia in Yosemite.
070
David Pine @davidpine.dev · 21/05/2025
🤓 For the first time ever, we’re going deeper—detailing the underlying architecture (specifically, DCP) of #dotnet #aspire: learn.microsoft.com/en-us/dotnet...
.NET Aspire app host architecture diagram.
0294
David Pine @davidpine.dev · 20/05/2025
Some of the people responsible for #dotnet #aspire gathered together for a team dinner—via Microsoft Build. 🤓
From bottom left, following clockwise: Jose Perez, Damian Edwards, Stephen Toub, Allistair Matthews, David Fowler, Glenn Condron, Maddy Montaquila, Jeff Fritz, Steve Carroll, David Negstad, Aaron Powell, David Pine, Andy De George, Brady Gaster.
050
David Pine @davidpine.dev · 19/05/2025
After getting my badge and expert hoodie for Microsoft Build, I spent the day stomping around Seattle with a friend. We visited the #MoPOP and #spaceNeedle. It was a blast!
080
David Pine @davidpine.dev · 16/01/2025
🙊 Uh oh...AI needs to make sure that it's keeping itself up to date with latest versions, especially for stuff like this. 🙈 .NET 7 was out of support May '24, but is recommended as latest. 🙉 I know, I know...thou shalt not say anything negative about AI. #dotnet #copilot
GitHub Copilot recommending .NET 7.
140
David Pine @davidpine.dev · 18/12/2024
📢 New article drop: Artificial intelligence (AI) in .NET. Covering the preview 📦 #MicrosoftExtesnionsAI #nuget package. Explore unified interfaces and implementations for #ollama, #OpenAI, #Azure #OpenAI and #AIInference. learn.microsoft.com/dotnet/core/...
An example .NET app using the Ollama chat client, streaming APIs with the unified IChatClient interface and demonstrating tool calling.
231
David Pine @davidpine.dev · 17/12/2024
🤓 I recently learned that @VisualStudio supports a new Upgrade mode, where you can opt-in to Central Package Management (CPM). This is a lot cleaner in my opinion in terms of version management, and it's now easy to upgrade: #dotnet #nuget
Visual Studio: Successful Upgrade using the .NET Upgrade Assistant to CPM.
3162
David Pine @davidpine.dev · 13/12/2024
🤓 Micronetes -> Project Tye -> .NET Aspire Any of this look familiar, it was a dashboard UX that was archived more nearly 5 years ago.... #dotnet #aspire @davidfowl.com
Micronetes dashboard..NET Aspire dashboard.
080
David Pine @davidpine.dev · 10/12/2024
🤓 Hey, look at how easy it is to integrate with .NET Aspire. I was inspired by our guest speaker that joined us On .NET Live to share his #HomeAssistant bits with #Kafka. #dotnet #aspire
Community Toolkit: .NET Aspire — HomeAssistant hosting integration..NET Aspire app host: Consuming the HomeAssistant integration..NET Aspire dashboard: Depicting running HomeAssistant persistent container with HTTP health check.HomeAssistant welcome page.
250
David Pine @davidpine.dev · 05/12/2024
🤓 My #AzureCosmosDB Repository-Pattern #nuget package now includes support for #dotnet #aspire—serving as a "client integration" and works with the existing "hosting integration": IRepository<T> FTW. www.nuget.org/packages/IEv...
.NET Aspire app host: Program.cs including the standard Azure CosmosDB hosting integration.An ASP.NET Core Minimal API Program.cs file that includes a package reference to IEvangelist.Azure.CosmosRepository and adds the services.Endpoint definitions for a fully functioning TODO API, with IRepository<T>.
170
David Pine @davidpine.dev · 04/12/2024
🤓 TIL about GitHub Receipt: gitreceipt.vercel.app 👀 Here's mine... #developercommunity #gitReceipt #csharp #typescript #html
🤓 TIL about GitHub Receipt: https://gitreceipt.vercel.app

My GitHub Receipt, that shows 100 repos, 1,448 stars earned, 407 forked repos, 930 followers, top languages of C#, TypeScript and HTML.
092
David Pine @davidpine.dev · 26/11/2024
I wish that in C# I could define a keyword overload so to speak, for the "with" keyword. I'm really keen on using the "with" keyword and syntax to create non-destructive mutations, but I don't want to be limited to records. Nor do I want to write two methods. ☹️ #dotnet #csharp
// GitHub		🤓: @IEvangelist
// X (Twitter)	🧢: @davidpine7
// Bluesky		🦋: @davidpine.bsky.social

// Item isn't a record type, so my Todo type cannot be a record either.
// But I really want to be able to do this:
//
// Todo todo = "🐕 Walk the dog.";
//
// // Imagine time passes and you actually walk the dog.
// // To update the todo, mark it as complete:
//
// todo = todo with { IsCompleted = true };
// 
public sealed class Todo(string Title) : Item
{
    public bool IsCompleted { get; set; }
    
    public static implicit operator Todo(string title) => new(title)
	{
    	IsCompleted = false
	};
}
241
David Pine @davidpine.dev · 13/11/2024
🤣 Not a lot of people noticed the wrong logo being used during the .NET Aspire presentation. It was intended to be the #rustlang, not #rustgameengine logo. But it's so easy to do these things in #dotnet #aspire that @bradygaster.bsky.social made it so! github.com/bradygaster/...
.NET Aspire presentation announcing the Community Toolkit with the incorrect RUST logo.Screen capture of .NET Aspire running the RUST server - with a game running side-by-side.Screen capture of .NET Aspire running the RUST server - with a game running side-by-side and a nighttime scene, and messages coming through..NET Aspire sample extension method, showing the RUST server code.
3104
David Pine @davidpine.dev · 12/11/2024
🤯 Have a scenario in .NET Aspire where you want to take an action when an event occurs in the app host, perhaps specifically to a resource... look no further than, "Eventing in .NET Aspire": #dotnet @dotnetcnf #aspire learn.microsoft.com/dotnet/aspir...
.NET Aspire app host Program.cs file showing "Eventing" APIs.
060
David Pine @davidpine.dev · 12/11/2024
⚡ With .NET Aspire 9.0, @captainsafia.bsky.social and team worked on getting all the bits in place to deliver an amazing preview of ".NET Aspire Azure Functions integration": #dotnet #dotnetconf #aspire learn.microsoft.com/dotnet/aspir...
App host Program.cs that shows the Azure Storage blogs referenced when adding an Azure Functions project.Azure Functions project Program.cs file with the new APIs..NET Aspire with Azure Functions code, showing how to use DI and set FunctionAttribute logic - that triggers on a blob.
094
David Pine @davidpine.dev · 12/11/2024
🤓 Want to create "Custom resource commands" as demonstrated by @damianedwards.com and @maddymontaquila.bsky.social during the #dotnetconf keynote? See "Custom resource commands in .NET Aspire"! #dotnet #aspire learn.microsoft.com/dotnet/aspir...
Example app host, using the custom resource command: WithClearCommand.Example extension method code for defining the WithClearCommand..NET Aspire dashboard: Showing the Clean Cache command..NET Aspire dashboard: Showing the result of the Clear Cache command running.
052
David Pine @davidpine.dev · 11/11/2024
🤓 Just getting ready for .NET Conf—and doing my part to help ship .NET Aspire 9.0. #dotnet #aspire
A draft pull request for .NET Aspire 9.0 docs updates, which includes 441 files changed and over 67k lines added.
1173
David Pine @davidpine.dev · 05/11/2024
🤓 I wrote a #vscode extension that extends the #GitHubCopilotChat, providing a custom AI assistant that's need "learn" and it exposes a slash command for /breaking-changes. Give it an issue URL and it generates a full document. ✨ #TypeScript is such a fun language 💜
Visual Studio Code: GitHub Copilot Chat with `@learn /breaking-changes` slash command having just finished generating a full document, properly attributed as ai-assisted.
000