Sign in

Deniz İrgin

@denizirgin.bsky.social
433 followers 162 following 63 posts

VP of Engineering - Homerun ProntoPro, Armut.com | Speaker Codefiction | Software Developer, gamer, blogger, iron maiden fan. twitter.com/denizirgin

PostsRepliesMedia
Deniz İrgin @denizirgin.bsky.social · 27/10/2025
With this release we’ve officially graduated from RC to a full production-ready version. 📝Full Release Notes: github.com/localstack-d... cc: @davidfowl.com
github.com
Release LocalStack.Aspire.Hosting 9.5.2 · localstack-dotnet/dotnet-aspire-for-localstack
Stable Release - Full-featured .NET Aspire integration for LocalStack with eager service loading and Docker socket support. 🎉 Graduation to Stable This release marks the graduation from Release Ca...
051
Deniz İrgin @denizirgin.bsky.social · 27/10/2025
📢LocalStack .NET Aspire Integration just hit its first stable release! 🎉 Highlights: ⚡ Eager service loading support (KUDOS @stu.dev) 🐳 Docker socket support (for Lambda containers) 🐛 Fixed Lambda + SQS "Invalid URL" bug github.com/localstack-d...
github.com
GitHub - localstack-dotnet/dotnet-aspire-for-localstack: This repositry contains the integrations with .NET Aspire for LocalStack
This repositry contains the integrations with .NET Aspire for LocalStack - localstack-dotnet/dotnet-aspire-for-localstack
132
Deniz İrgin @denizirgin.bsky.social · 11/10/2025
The Go team shared similar feedback 💪 Originally, the plan was to keep separate monorepos for .NET and Go because of the tooling complexity. Looks like we might actually move to a single backend repo 💯 We’re even joking about just migrating into existing frontend mono repo😀
020
Deniz İrgin @denizirgin.bsky.social · 11/10/2025
And oh. my. god. The NX team nailed the hard stuff, affected, caching, all the things that usually make you cry in monorepo 😅 In just a few hours, I moved my .NET playground repo over, tweaked the CI/CD pipeline, and it just worked. It felt like black magic 🚀
110
Deniz İrgin @denizirgin.bsky.social · 11/10/2025
Lately, our backend chapter’s been deep in the monorepo rabbit hole 🕳️ The frontend folks in the company have been using NX for years, so we figured, even though we weren’t exactly fans, let’s give it a shot. Turns out, NX actually has plugins for both .NET and Go 🤯
110
Deniz İrgin @denizirgin.bsky.social · 11/10/2025
We’ve got two backend stacks at the company: .NET and Go 🧑‍💻 Both are actively used — the balance shifts from squad to squad ⚖️
130
Deniz İrgin @denizirgin.bsky.social · 08/09/2025
I believe there aren't many production-ready, end-to-end examples of Native AOT Lambdas deployed via AWS .NET CDK with this kind of local setup. I hope BadgeSmith becomes a useful case study for the community 🙌
000
Deniz İrgin @denizirgin.bsky.social · 08/09/2025
I was able to share the same CDK stack between the production deployment and the local Aspire setup, ensuring local development is as close to production as possible👇 github.com/localstack-d...
github.com
badge-smith/build/BadgeSmith.CDK.Shared at master · localstack-dotnet/badge-smith
Parameter-driven AWS Lambda API for generating dynamic NuGet and GitHub package version badges with shields.io integration. Includes endpoints for test result badges and CI/CD run redirects. Design...
110
Deniz İrgin @denizirgin.bsky.social · 08/09/2025
This project also became a production ready, fully serverless example of modern .NET development, combining: 🏎️ .NET 9 Native AOT Lambda Functions ✨ .NET Aspire Host orchestration ☁️ AWS Aspire Integrations 🧑‍💻 LocalStack for local development cc: @davidfowl.com
110
Deniz İrgin @denizirgin.bsky.social · 08/09/2025
Let's talk performance⚡ While I managed to get the cold start under 100ms, things naturally change when network calls (Nuget and Github Api, DynamoDb etc.) come into play. Still, in stress tests running at 1,000 RPM, I observed a max memory consumption of only 60MB💪
100
Deniz İrgin @denizirgin.bsky.social · 08/09/2025
While I initially developed the project for my own needs, I built it from the ground up to be a white-label solution⚪ The deployment pipeline is reusable, and the entire CDK Stack can be deployed to any AWS Account, making it super flexible for anyone to host.
100
Deniz İrgin @denizirgin.bsky.social · 08/09/2025
BadgeSmith is finally live! 🚀 It’s been a very educational journey for me. But, what BadgeSmith actually does🤔 It's a general-purpose, high-perf badge service with Shields .io-compatible endpoints for NuGet and GitHub packages, and CI/CD test results github.com/localstack-d...
github.com
GitHub - localstack-dotnet/badge-smith: Parameter-driven AWS Lambda API for generating dynamic NuGet and GitHub package version badges with shields.io integration. Includes endpoints for test result b...
Parameter-driven AWS Lambda API for generating dynamic NuGet and GitHub package version badges with shields.io integration. Includes endpoints for test result badges and CI/CD run redirects. Design...
110
Deniz İrgin @denizirgin.bsky.social · 26/08/2025
These are baseline numbers. I still need to add HttpClient and the AWS SDKs, so I expect these figures to climb. 📈 Still, it's a strong starting point. While I'm building this for a specific need, it will be also a production-ready .NET Aspire sample🎯
000
Deniz İrgin @denizirgin.bsky.social · 26/08/2025
🎛️ Finally, fine-tune your compilation with AOT flags. • InvariantGlobalization=true: Shrinks package size and cuts init time if you don't need culture-specific behavior. • TrimMode=full: Enables aggressive trimming. Start with partial first to ensure stability.
110
Deniz İrgin @denizirgin.bsky.social · 26/08/2025
🔥And prefer .NET 9 over .NET 8! The improvements for Native AOT are dramatic. I saw: 📦 ~10-15% smaller function size ⏱️ ~15 ms faster init times 🚀 Higher overall performance I honestly can’t imagine what .NET 10 will bring
100
Deniz İrgin @denizirgin.bsky.social · 26/08/2025
🐧Your environment choices have a huge impact. • Runtime: Use AWS’s provided.al2023. I measured a ~15 ms faster init vs. the official dotnet8 runtime. • Architecture: arm64 beats amd64. Expect a 10-15% smaller package, lower memory usage, and ~10 ms faster bootstrap.
100
Deniz İrgin @denizirgin.bsky.social · 26/08/2025
📡My trick for OpenTelemetry: wrap it in preprocessor directives(# if ENABLE_TELEMETRY) A compile-time flag can strip the entire dependency, cutting package size and saving ~30ms on init + ~15ms per call. I only enable it when I need to debug. Instantiate the SDK directly, NO DI
100
Deniz İrgin @denizirgin.bsky.social · 26/08/2025
⚖️You have to make choices for performance Microsoft.Extensions.Logging adds a ~20 ms cold start overhead. I kept it for its structured logging features, but for absolute maximum performance, fall back to the basic LambdaContext.Logger.
100
Deniz İrgin @denizirgin.bsky.social · 26/08/2025
🚨This is the most critical one for Lambda: Avoid Generic Host, Dependency Injection (ServiceCollection), and ConfigurationBuilder. Technically they work, but the overhead is huge: • Generic Host alone: Adds ~70-80 ms • DIY ServiceCollection/ConfigBuilder: Still adds ~30 ms
100
Deniz İrgin @denizirgin.bsky.social · 26/08/2025
First, the fundamentals of AOT: 🔮NO Reflection, NO dynamic code. The compiler will warn you anyway. 🛠️ALWAYS use Source Generation. For JSON, regex, etc. Even outside of AOT, this is the way. It boosts performance and can cut memory allocations💡
100
Deniz İrgin @denizirgin.bsky.social · 26/08/2025
Been so deep in .NET NativeAOT experiments, the business logic is still evolving! 🧪 But the project's technical skeleton is solid. 🏗️ I started at 250ms Init / 50MB memory, now down to just 77ms / 28MB. The package is 3.5MB zipped. 📉 Here are my insights and key takeaways 👇
110
Deniz İrgin @denizirgin.bsky.social · 26/08/2025
I’ve cleaned up the project and made it public TL;DR 🚀 Cold start init: 77ms, memory allocation: 28MB 📦 Package size: 3.5MB 🔥 .NET 9 AOT > .NET 8 (smaller, faster) ❌ Dropped DI/Host/Reflection 🛠️ Using source generators 🐧 Use arm64+provided.al2023 github.com/localstack-d...
github.com
GitHub - localstack-dotnet/badge-smith: Parameter-driven AWS Lambda API for generating dynamic NuGet and GitHub package version badges with shields.io integration. Includes endpoints for test result b...
Parameter-driven AWS Lambda API for generating dynamic NuGet and GitHub package version badges with shields.io integration. Includes endpoints for test result badges and CI/CD run redirects. Design...
151
Deniz İrgin @denizirgin.bsky.social · 08/08/2025
⏳ Waiting a few weeks for RC feedback before the full release with more features. Huge thanks to the AWS .NET Team @normj.bsky.social & @davidfowl.com for the support! 🙌 🌴 On vacation for 2 weeks, so won’t be around much. Feedback here 👇 🔗 github.com/localstack-d...
github.com
🎉 Aspire.Hosting.LocalStack Release Candidate - Community Feedback · localstack-dotnet dotnet-aspire-for-localstack · Discussion #5
I'm excited to share that Aspire.Hosting.LocalStack has reached Release Candidate (RC) status! 🎉 This integration provides a production-ready solution for local AWS development using LocalStack wit...
020
Deniz İrgin @denizirgin.bsky.social · 08/08/2025
➕ Additionally, I've started migrating my long-maintained LocalStack Serverless demo to Aspire in a separate branch (still in progress🚛). The README isn't updated yet, but the example works👇 🔗 github.com/localstack-d...
github.com
GitHub - localstack-dotnet/localstack-serverless-dotnet-demo at aspire-host
Demo project for usage of LocalStack, Serverless and .NET Core - GitHub - localstack-dotnet/localstack-serverless-dotnet-demo at aspire-host
120
Deniz İrgin @denizirgin.bsky.social · 08/08/2025
🎯 I've also updated my Aspire + OTEL + LocalStack demo from last year’s Devnot to use the new LocalStack package! 🚀 A great example of Aspire and LocalStack in action. 🔗 github.com/Blind-Strike...
github.com
GitHub - Blind-Striker/dotnet-otel-aspire-localstack-demo: Showcase of OpenTelemetry in .NET with Aspire, demonstrating enhanced observability using AWS and LocalStack.
Showcase of OpenTelemetry in .NET with Aspire, demonstrating enhanced observability using AWS and LocalStack. - Blind-Striker/dotnet-otel-aspire-localstack-demo
120
Deniz İrgin @denizirgin.bsky.social · 08/08/2025
🛠️ The repo includes two complete examples in the playground folder: 📦 AWS provisioning with full messaging flow + real-time UI ➡️DynamoDB, SNS, SQS 🔗 URL shortener built with 2 Lambda functions ➡️ DynamoDB, S3 You can quickly get started👇 🔗 github.com/localstack-d...
github.com
dotnet-aspire-for-localstack/playground at master · localstack-dotnet/dotnet-aspire-for-localstack
This repositry contains the integrations with .NET Aspire for LocalStack - localstack-dotnet/dotnet-aspire-for-localstack
110
Deniz İrgin @denizirgin.bsky.social · 08/08/2025
📢 Finally finished work on LocalStack - .NET Aspire Integration! 🚀RC now on NuGet. 1️⃣Extends official AWS Aspire integrations with LocalStack features 2️⃣Auto-detects AWS resources 3️⃣Auto-configures LocalStack endpoints 🔗 github.com/localstack-d... cc: @davidfowl.com @localstack.cloud
github.com
GitHub - localstack-dotnet/dotnet-aspire-for-localstack: This repositry contains the integrations with .NET Aspire for LocalStack
This repositry contains the integrations with .NET Aspire for LocalStack - localstack-dotnet/dotnet-aspire-for-localstack
1215
Deniz İrgin @denizirgin.bsky.social · 25/07/2025
🎁Bonus content! 🤔 I ran into a problem: how to show separate v1 & v2 badges for my NuGet packages? The defaults didn't work. 💡So I built a small AWS Lambda to do it ✨It’s not a general-purpose tool, but a fun example of solving your own problems! github.com/localstack-d...
github.com
GitHub - localstack-dotnet/localstack-nuget-badge-lambda: Parameter-driven AWS Lambda API for generating dynamic NuGet & GitHub package version badges with shields.io integration, featuring two-track ...
Parameter-driven AWS Lambda API for generating dynamic NuGet & GitHub package version badges with shields.io integration, featuring two-track versioning support and fail-fast validation for Loc...
020
Deniz İrgin @denizirgin.bsky.social · 25/07/2025
👨‍💻And since I was already deep in the code, I updated the localstack-serverless-dotnet-demo project. 🎓 It was lagging behind, but now it's a fresh, relevant example for anyone wanting to develop AWS apps locally with @localstack.cloud github.com/localstack-d...
github.com
GitHub - localstack-dotnet/localstack-serverless-dotnet-demo: Demo project for usage of LocalStack, Serverless and .NET Core
Demo project for usage of LocalStack, Serverless and .NET Core - localstack-dotnet/localstack-serverless-dotnet-demo
110
Deniz İrgin @denizirgin.bsky.social · 25/07/2025
📢A quick reminder on the two-track strategy: v1.x (for AWS SDK v3) is still in active maintenance🚀 In fact, I've just released a patch for it to support new endpoints in @localstack.cloud sdkv3-lts branch👇 github.com/localstack-d...
github.com
GitHub - localstack-dotnet/localstack-dotnet-client at sdkv3-lts
A lightweight .NET client for LocalStack. Contribute to localstack-dotnet/localstack-dotnet-client development by creating an account on GitHub.
110
Deniz İrgin @denizirgin.bsky.social · 25/07/2025
✅This release brings full compatibility with AWS SDK v4 👨‍💻 I couldn't squeeze Native AOT support, but it's the top priority for v2.1 ⚡️The power of Source Generators is amazing; I'm confident the library will be reflection-free very soon PR: github.com/localstack-d...
github.com
Native AOT Support via Source Generator + UnsafeAccessor Architecture by Blind-Striker · Pull Request #49 · localstack-dotnet/localstack-dotnet-client
🔄 Status: Work in Progress - Experimental ⚠️ This PR is currently experimental and under active development. Do not merge until all objectives are completed and thoroughly tested. 📋 Overview This...
100
Deniz İrgin @denizirgin.bsky.social · 25/07/2025
📢 Well, that was faster than expected! I'm thrilled to announce that LocalStack .NET Client v2.0.0 is officially released🚀 I think the reason for the speed was my "defensive" choice years ago (when I was younger🙃) to build a suite of 1000+ tests!🙏 github.com/localstack-d...
github.com
GitHub - localstack-dotnet/localstack-dotnet-client: A lightweight .NET client for LocalStack
A lightweight .NET client for LocalStack. Contribute to localstack-dotnet/localstack-dotnet-client development by creating an account on GitHub.
122
Deniz İrgin @denizirgin.bsky.social · 12/07/2025
🎯I'm targeting a v2.0-preview1 in the next 2-3 weeks. You can read the full, detailed announcement and roadmap here. Your feedback is welcome! 👇 @localstack.cloud github.com/localstack-d... #localstack #aws #dotnet
github.com
📢 AWS SDK v4 Support: Roadmap for LocalStack .NET Client v2.0 · localstack-dotnet localstack-dotnet-client · Discussion #45
TL;DR AWS SDK v4 breaks LocalStack .NET Client v1.x due to internal API changes No quick fix - the changes run deeper than initially apparent Two-track strategy: v1.x maintenance + v2.0 with full A...
020
Deniz İrgin @denizirgin.bsky.social · 12/07/2025
My plan is a "Two-Track Strategy": 🛡️ v1.x will enter maintenance mode for AWS SDK v3 users (EOL: July 2026). 🚀 v2.0 will be the future, with native AWS SDK v4 support and a roadmap for Native AOT!
100
Deniz İrgin @denizirgin.bsky.social · 12/07/2025
✨After digging in, I realized a simple patch wouldn't be enough and could create more problems. That's why I've decided to skip a temporary hot-fix and go straight to building a proper v2.0.
100
Deniz İrgin @denizirgin.bsky.social · 12/07/2025
📢 Big news for LocalStack .NET Client users! 👋 After a busy period, I'm back with a major update for the users. The recent AWS SDK for .NET v4 release brought some breaking changes due to LocalStack .NET's reflection-based structure. github.com/localstack-d...
github.com
GitHub - localstack-dotnet/localstack-dotnet-client: A lightweight .NET client for LocalStack
A lightweight .NET client for LocalStack. Contribute to localstack-dotnet/localstack-dotnet-client development by creating an account on GitHub.
110
Deniz İrgin @denizirgin.bsky.social · 24/05/2025
💻 I borrowed one of the old MacBook Pros at the office, partly because I occasionally need it for development, and partly to push myself out of my comfort zone. It’s been two days… 🏃‍♂️ I’m now sprinting back to my comfort zone. 🔑 I set up SSH, ready to be used from the terminal if needed.
110
Deniz İrgin @denizirgin.bsky.social · 24/05/2025
Today at the Devnot .NET conference, I talked about simplicity and pragmatism in .NET 🗣️. Thank you to the .NET community for having me 🙏 and to the Devnot community for the invitation. I hope I was able to contribute to breaking down some dogmas 💡.
030
Deniz İrgin @denizirgin.bsky.social · 13/03/2025
Maybe in a separate thread, I’ll share why, as a back-end chapter in my company, we use both .NET and Go, the differences I’ve observed from my experience, and our reasoning behind when to use each. See our engineering handbook👇 homeruntech.notion.site/Engineering-...
homeruntech.notion.site
Engineering | Homerun Technologies
We are Homerun Technologies, the parent company behind three leading local services marketplace brands: Armut, ProntoPro, and HomeRun. Operating in 14 countries across the EMEA region, our platforms c...
000
Deniz İrgin @denizirgin.bsky.social · 13/03/2025
As someone who has developed with Microsoft technologies for over 20 years, I see this as a positive move. That said, I also think this was a missed opportunity for .NET/C#'s image. It could have been a great chance to showcase Native AOT's capabilities.
110
Deniz İrgin @denizirgin.bsky.social · 13/03/2025
Microsoft's reputation in tech has had its ups and downs 📈. Early-2000s Microsoft would never have made this move. I believe skepticism from that era still affects .NET/C# adoption today. But looking at the past decade and this decision, Microsoft’s OSS commitment is clear.
100
Deniz İrgin @denizirgin.bsky.social · 13/03/2025
The TypeScript team made a pragmatic choice. Anders Hejlsberg explained: 'Porting 100 person-years of TS to Go was feasible. The existing code is mostly functions and data structures, which we could directly map. Any other language would have required a full rewrite.'" github.com/microsoft/ty...
github.com
Why Go? · microsoft typescript-go · Discussion #411
Language choice is always a hot topic! We extensively evaluated many language options, both recently and in prior investigations. We also considered hybrid approaches where certain components could...
130
Deniz İrgin @denizirgin.bsky.social · 13/03/2025
Other key factors that come to mind: ⚡ Development speed & productivity 🔧 Tooling support 🌍 Ecosystem maturity 👥 Team expertise 🏢 In-house knowledge & hiring potential Making these decisions pragmatically, without emotional attachment to tools, is crucial. 🎯
110
Deniz İrgin @denizirgin.bsky.social · 13/03/2025
To elaborate: When developing software or choosing a technology, our priority should be adding tangible value to the company, users, or project. There are many factors in language or platform selection—performance is just one of them. 🚀
100
Deniz İrgin @denizirgin.bsky.social · 13/03/2025
There are some things we, as software developers and engineers, tend to forget from time to time: 💡Our very reason for existence as developers is to create business value. 🛠️ Programming languages and platforms are just tools. Tool selection depends on multiple factors.
100
Deniz İrgin @denizirgin.bsky.social · 13/03/2025
To add fuel to the fire💥, this decision was made by Anders Hejlsberg, the original lead architect of C#! As someone who has been developing with Microsoft technologies for years—if you cut me open, I'd bleed Microsoft. wanted to share a few thoughts on this 👇
100
Deniz İrgin @denizirgin.bsky.social · 13/03/2025
Yesterday, Microsoft announced that they are porting the TypeScript compiler to Go, sparking quite a debate! 🔥 The most common questions were: 🤔 Why not Rust? 🤔 Why not .NET? 🤔 If even Microsoft chooses Go for mission-critical projects, why should we use .NET? #typescript
141
Deniz İrgin @denizirgin.bsky.social · 08/03/2025
Happy March 8th International Working Women’s Day to all hardworking women! 💪✨ As a software developer, I also want to celebrate the efforts of all women in tech who create, code, develop, and teach! 💻🚀 #InternationalWomensDay #8March #WomenInTech
082
Deniz İrgin @denizirgin.bsky.social · 18/02/2025
And one of the things we're most proud of is sharing our Career Path 🏆 and Competency Matrix 🗺️ 💡We believe this will be a valuable resource for other companies undertaking similar work. 👉Don't forget to follow x.com/ArmutEng and x.com/ProntoProEng 🙌
x.com
x.com
000
Deniz İrgin @denizirgin.bsky.social · 18/02/2025
🚀We're excited to announce the launch of our Engineering Handbook! It's been a long time coming and we've put a lot of work into it 🎉 💻You can find information about our tech stack ⚙️, team topologies 👥, and how we work 🛠️. Check it out! engineering.armut.com/handbook
engineering.armut.com
Engineering | Homerun Technologies
We are Homerun Technologies, the parent company behind three leading local services marketplace brands: Armut, ProntoPro, and HomeRun. Operating in 14 countries across the EMEA region, our platforms c...
131