Building #dotnetpickaxe | .NET Architect
Sharing .NET tips daily
Delivery by day, C# by night
ADHD brain x Microsoft stack π
Blues/Country guitarist
By day, I deliver packages on my motorcycle
βBy night, I deliver enterprise-grade software architecture like Vertical Slice (VSA) and Deployment Stamp.
βMy dream: Scale @dotnet_pickaxe until I can stop scaling these buildings. π The hustle is real. #BuildInPublic#dotnet#SaaS #aspnetcore #indiedevelopers
Agencies sell music academies $5,000 CRM systems. It takes 12 clicks and 3 frozen screens just to schedule one simple piano lesson. They call it "Enterprise". I call it a bloated prison. Music demands perfect rhythm. If your software breaks the tempo, it is a broken machine. Right now, I am forging a new CRM management panel for a music education school.
They panic and cry that AI will kill the software engineer. Pure illusion. They think building software is just typing syntax. It is like saying a fast brick-laying machine will fire the architect. Here is the brutal reality of AI:
* The Legacy Trap They show you AI building a calculator on a blank screen. But feed it a 15-year-old broken "brownfield" system with undocumented rules? It gets lost. It crashes. Humans navigate the chaos.
* The Blame Game AI cannot sign a legal document. When a bank payment system explodes, who goes to court? AI? No. Companies need a real human neck to take the legal responsibility.
* The Demand Explosion (Jevons Paradox) When building software gets cheaper, demand does not drop. It explodes. We will not be jobless. We will command massive armies of AI bricklayers to build 100x more systems.
* Knowledge β Intelligence LLMs have read the entire internet. They are extremely knowledgeable. But they have zero actual intelligence. They just match patterns. They cannot solve a unique, abstract paradox. AI is not your replacement. It is your weapon. If you are just a typist, you will die. If you are an architect, you will rule. What is your take on this?
"Everybody wants to go to heaven, but nobody wants to die."
Every developer prays for a pure, Senior-level architecture. But they refuse to do the brutal work. They just download a bloated 200-file "Enterprise" template, close their eyes, and hope it scales. Pure illusion.
If you are new here: I am building DotnetPickaxe in public. It is my anti-bloat manifesto. A brutal, bare-bone .NET API generator. You select what you need, and my Web Workers inject pure JSON blueprints right into a clean .csproj bone. No garbage code. You take the module, you throw the rest away.
Right now, I am forging a Senior-level JWT module. Military-grade security, zero bloat.
But I am building this for the trenches. So, I am making these core modules 100% FREE for the community.
Here is my question to you: What other free modules do you desperately need in your daily coding?
Drop your biggest needs in the replies. Your demands will forge the exact free boilerplate I build for you.
Ask for what you need. Be brutal. Let's build this together.
#indiehackers #solopreneur
Modern engineering is too loud. They build bloated systems while feeding their brains with chaotic noise. But pure architecture demands ancient silence.
Left screen: JSON blueprints for the DotnetPickaxe JWT engine. Right screen: Orthodox Christian chants.
When you build the core security of a system, you cannot have chaos in your mind. You need a deep, solemn rhythm. These ancient chants are my anchor.
Writing pure code is not just typing. It is a silent, spiritual craftsmanship. You shut out the noise of the world, align your mind with a higher focus, and build the truth. #indiedev
Plaza suits hunt "success" like a metric on a dashboard. Pure illusion. On the streets, success is not a target you shoot at. It is the brutal byproduct of who you become when you drop the dead weight and survive the chaos. If your mind is locked in a 10-layer corporate prison, you stay small. You crash. Scale your thinking. Stop hunting. Become the machine.
Plaza suits hunt "success" like a metric on a dashboard. Pure illusion. On the streets, success is not a target you shoot at. It is the brutal byproduct of who you become when you drop the dead weight and survive the chaos. If your mind is locked in a 10-layer corporate prison, you stay small. You crash. Scale your thinking. Stop hunting. Become the machine.
They sell you complexity to justify their salaries. 10 layers of abstraction, endless design patterns, 500 files just to authenticate a single user. They call it "best practices". I call it a place to hide. If your architecture needs a 40-page manual just to start the engine, it is a broken machine. Street discipline means dropping the dead weight. You must expose the core. #buildinpublic #indiedev
My solution? A centralized JSON Dependency Brain. An array that knows the exact package version for your exact target (.NET 8, 9, or 10).
But updating this manually is a waste of life. My rule: never do what a machine can do.
Here is the ruthless, 4-atom automation engine I am building to solve this:
Atom 1: NuGet V3 API. No brittle web scrapers. We hit the raw v3-flatcontainer endpoint to get pure, lightning-fast JSON arrays.
Atom 2: VersionRecipe.json. The absolute single source of truth. Our background worker reads everything directly from here.
Atom 3: The Cyber Agent. A tiny Node.js script. Looking for .NET 8 packages? It filters startsWith("8."). Independent packages? It extracts the absolute latest stable version.
Atom 4: DevOps Magic. Every Sunday night, GitHub Actions wakes up the robot, hits the API, auto-syncs the VersionRecipe.json, and quietly goes back to sleep.
Zero manual labor. 100% version sync.
Is this brutal automation or pure over-engineering? Drop your thoughts below. Let's brainstorm.#indiedev
You update your project target to .NET 10, and 15 NuGet packages instantly explode. Welcome to dependency hell.
If you are new here: I am building DotnetPickaxe. The absolute bare-bone, anti-bloat .NET API generator. No garbage code. You select what you need, and my Web Workers inject pure JSON blueprints right into a clean .csproj chassis.
But here is a brutal reality check. Framework versions and NuGet package versions do not always match perfectly. You pick #dotnet 8, but the OpenApi package might be at 8.2.1. If you hardcode these numbers into your generator, your tool becomes a legacy trap in one month.
@g_apostolov You are absolutely right about the brutal competition. But here is the sincere truth: concrete is hard everywhere. The street doesn't care about your location.
If your hustle is pure, you don't go looking for the competition. You ARE the competition.
99% of online JWT tutorials are a trap. They show you a 10-line token generator and call it "Secure". That is a toy. In the real world, a toy gets you hacked.
Yesterday, I told you we are building the JWT module for DotnetPickaxe in public. Our anti-bloat, bare-bone .NET API chassis. Today, we inject the brutal truth into the core.
Here is why our system is a real, production-ready boilerplate. I divided the chaos into 2 atomic pieces:
Atom 1: Professional, Not Basic Tutorials just give you an Access Token. We built a pure Refresh Token infrastructure. We track Expiration and IsRevoked status directly in the AppDbContext. No plain-text garbage. Passwords get smashed with 100,000 iterations of KeyDerivation.Pbkdf2 salt inside PasswordHasher.cs. Military-grade. No spaghetti try-catch blocks in your API. Our ExceptionHandlingMiddleware acts as a brutal firewall, catching exceptions and spitting out 401 Unauthorized automatically. 100% DRY.
Atom 2: Role-Based Access Control (RBAC) Is it possible? It is already in the blood. Look at Core/Enums/Role.cs. User, Admin. When JwtService.cs mints the token, it blindly stamps new Claim(ClaimTypes.Role, "User") right into the payload. Every DotnetPickaxe token carries its exact role DNA by default.
I am building this system right now. It is advanced, but my ADHD brain refuses to make it confusing. I am writing a massive, crystal-clear README.md to explain every single injection step by step.
Stay tuned.
#dotnet #jwt #indiedev
Choosing the #indiedev path is pure chaos. But true problem-solving happens when you drop the safety net and step into the wild. You learn real survival, not office politics.
Do we grow in safe zones, or does the wild make us real? Drop your thoughts below. Let's chat.
They tell you full-time corporate jobs give you order and security. Offices are safe. But safety makes you blind. Reality outside is brutal. If you don't know the street rules and what the customer actually needs, your safe code means nothing.
Typical .NET 10 chaos strikes again :) I just need Swashbuckle.AspNetCore from NuGet, I add it and BOOM! "OpenApi.Models" is exploding!
Total conflict disaster here. I tried changing versions but still no luck. What is the fix for this nightmare?
Senior devs, help me out please! π₯²
Plaza engineers spend 3 weeks configuring a "Clean Architecture" for a simple JWT token. They build a bloated prison. Pure illusion.
We use background Workers and pure JSON delegation to inject exactly what you need into a bare-bone .csproj chassis. No frozen screens.
Now, we are building the Senior-level JWT module together. Look at this brutal, pure structure:
-> Core/ (Entities, Enums)
-> Application/ (DTOs, Interfaces, AuthService)
-> Infrastructure/ (AppDbContext, JwtService, JwtOptions)
-> Web/ (AuthControllers, Middleware) -> tests/ (Unit & Integration Tests)
Pure separation. 100% testable. We will inject this entire architecture right into your bone. "Ready2Run".
#dotnet #jwt #indiehackers
Actually, the trickiest part was maintaining the 'Double-Tap-to-Zoom' accessibility while killing the delay for UI buttons. In DotnetPickaxe, since we use pure JSON delegation through Web Workers, I had to ensure the event didn't freeze the main thread while the worker was processing the blueprint.
βI eventually solved it by handling 'touchstart' events directly with passive: true to bypass the browser's default waiting logic, without breaking the natural mobile scroll. It's all about that street-level precision: every millisecond saved is a faster delivery!