Files
2026-07-22 08:13:16 +07:00

923 lines
139 KiB
HTML

<!DOCTYPE html>
<html lang="en" itemscope itemtype="https://schema.org/WebSite">
<head>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-G9G5HP50VK"></script>
<script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);}gtag('js',new Date());gtag('config','G-G9G5HP50VK');</script>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Enterprise .NET 10 Source Code for Learning and Commercial Projects | INDOTALENT</title>
<meta name="description" content="Enterprise .NET 10 Blazor Server complete source code for learning and commercial projects. Study production-ready architecture, security, REST API, and Vertical Slice Architecture in a working end-to-end application. CRM, HRM, SCM, WMS, CMS, OMS, SWM + SaaS editions. $21 each. Instant download." />
<meta name="keywords" content=".NET 10, ASP.NET Core, Blazor Server, MudBlazor, Vertical Slice Architecture, Complete Source Code, REST Web API, Enterprise Source Code, Blazor CRM, Blazor HRM, Blazor SCM, Blazor WMS" />
<meta name="author" content="Indotalent" />
<meta name="robots" content="index, follow" />
<link rel="canonical" href="https://www.indotalent.com/" />
<meta name="geo.region" content="ID-JK" />
<meta name="geo.placename" content="Jakarta, Indonesia" />
<meta property="og:title" content="Indotalent — Enterprise .NET 10 & Blazor Source Code" />
<meta property="og:description" content="9 production-ready .NET 10 Blazor full stack source code products with MudBlazor UI, REST API, and VSA. $21 each." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://www.indotalent.com/" />
<meta property="og:image" content="https://www.indotalent.com/img/crm-customer-relationship-management-01.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Indotalent — 9 Enterprise .NET 10 Blazor Source Code Products" />
<meta name="twitter:description" content="Production-ready .NET 10 Blazor source code. VSA, MudBlazor, REST API. $21." />
<meta name="twitter:image" content="https://www.indotalent.com/img/crm-customer-relationship-management-01.png" />
<link rel="icon" type="image/x-icon" href="favicon.ico" />
<link rel="icon" type="image/svg+xml" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><rect width='32' height='32' rx='6' fill='%23f97316'/><text x='16' y='22' font-size='18' font-weight='bold' text-anchor='middle' fill='white'>I</text></svg>" />
<link rel="alternate" hreflang="en" href="https://www.indotalent.com/" />
<link rel="alternate" hreflang="x-default" href="https://www.indotalent.com/" />
<!-- Structured Data: Organization -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Indotalent",
"url": "https://www.indotalent.com",
"logo": "https://www.indotalent.com/img/logo-indotalent-dark.svg",
"description": "Enterprise .NET 10 & Blazor complete source code products with Vertical Slice Architecture.",
"founder": {
"@type": "Person",
"name": "go2ismail",
"url": "https://github.com/go2ismail"
},
"sameAs": [
"https://github.com/go2ismail"
],
"contactPoint": {
"@type": "ContactPoint",
"email": "hi@indotalent.com",
"contactType": "customer support"
}
}
</script>
<!-- Structured Data: FAQ -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What do I get when I purchase?",
"acceptedAnswer": { "@type": "Answer", "text": "You get the complete, unrestricted source code of the entire application. A single .NET 10 project with all features, Vertical Slice Architecture implementation, EF Core migrations, seed data, and full configuration. Clone, set your connection string, press F5, and it runs immediately. No missing pieces. No hidden dependencies." }
},
{
"@type": "Question",
"name": "Can beginners use this source code?",
"acceptedAnswer": { "@type": "Answer", "text": "Absolutely! The code is clean, well-structured, and self-documenting. Beginners can learn by studying real production patterns — authentication flows, CRUD operations, REST API endpoints, and database design — all in a single project. You'll need Visual Studio 2022+ and SQL Server (LocalDB or Express, both free)." }
},
{
"@type": "Question",
"name": "Can I use this commercially?",
"acceptedAnswer": { "@type": "Answer", "text": "Yes! Each license covers one end product per client project. You can charge clients for customization, implementation, and deployment. Freelancers and agencies save 5-8 weeks per project. Each new client project requires a separate $21 license." }
},
{
"@type": "Question",
"name": "Does it include REST API?",
"acceptedAnswer": { "@type": "Answer", "text": "Yes! Every product exposes a complete REST Web API built with ASP.NET Core Minimal APIs. The API includes Swagger/OpenAPI documentation, JWT authentication, and proper HTTP status codes." }
},
{
"@type": "Question",
"name": "Does it include authentication and authorization?",
"acceptedAnswer": { "@type": "Answer", "text": "Yes — it's fully pre-configured. You get ASP.NET Core Identity, JWT authentication, role-based access control (RBAC) with Admin/Manager/User roles, and policy-based authorization for fine-grained access. Both the Blazor UI and REST API are protected out of the box." }
},
{
"@type": "Question",
"name": "Does it support SQL Server and PostgreSQL?",
"acceptedAnswer": { "@type": "Answer", "text": "SQL Server is fully tested and ready to use with EF Core migrations and seed data included. PostgreSQL support is already scaffolded in the codebase — the EF Core provider and connection string configuration are set up — but it has not been fully tested yet. You can switch between databases by changing the connection string and provider in Program.cs." }
},
{
"@type": "Question",
"name": "Can I deploy it on Azure, IIS, or Docker?",
"acceptedAnswer": { "@type": "Answer", "text": "Yes! The application is a standard ASP.NET Core project and can be deployed anywhere .NET 10 runs: Azure App Service, IIS, or Docker containers. It's a single-project monolith — no distributed complexity. Works on Windows, Linux, and macOS." }
},
{
"@type": "Question",
"name": "How secure is the application?",
"acceptedAnswer": { "@type": "Answer", "text": "Security is baked into the architecture. Includes: ASP.NET Core Identity with password hashing, JWT + cookie dual authentication, role-based and policy-based authorization, audit trail, and SignalR connection protection. Source code and connection strings never leave the server with Blazor Server." }
},
{
"@type": "Question",
"name": "What architecture pattern is used?",
"acceptedAnswer": { "@type": "Answer", "text": "All products use Vertical Slice Architecture (VSA) with CQRS via MediatR. Each feature lives in its own folder with its endpoint, MediatR handler, FluentValidation validator, and EF Core queries all in one place. This architecture is AI-friendly, beginner-friendly, and production-proven." }
},
{
"@type": "Question",
"name": "Why $21? Is this a trial or limited version?",
"acceptedAnswer": { "@type": "Answer", "text": "No trial, no limits. You get the full, unrestricted source code. The $21 price is intentional to make enterprise-grade architecture accessible to every developer, freelancer, and small agency. The original price is $49." }
},
{
"@type": "Question",
"name": "How is payment handled?",
"acceptedAnswer": { "@type": "Answer", "text": "All payments are processed securely through Lemon Squeezy, a trusted payment platform for digital products. We never see or store your credit card details. After payment, you get instant access to download." }
},
{
"@type": "Question",
"name": "Is there a refund policy?",
"acceptedAnswer": { "@type": "Answer", "text": "Due to the digital nature of source code, we have a strict no-refund policy. That's why we provide live demos for every product. Test thoroughly before you buy." }
}
]
}
</script>
<!-- Structured Data: BreadcrumbList -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://www.indotalent.com/"
}
]
}
</script>
<!-- Structured Data: WebSite -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "Indotalent",
"url": "https://www.indotalent.com",
"description": "Enterprise .NET 10 Blazor Server complete source code for learning and commercial projects. Production-ready applications with Vertical Slice Architecture, REST API, and modern security.",
"potentialAction": {
"@type": "SearchAction",
"target": "https://www.indotalent.com/#products?q={search_term_string}",
"query-input": "required name=search_term_string"
}
}
</script>
<!-- Structured Data: SoftwareApplication (for all 9 products) -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "ItemList",
"itemListElement": [
{
"@type": "SoftwareApplication",
"name": "Blazor CRM",
"applicationCategory": "BusinessApplication",
"operatingSystem": "Windows",
"description": "Customer Relationship Management system built with .NET 10 Blazor Server, Vertical Slice Architecture, and MudBlazor. Complete source code.",
"url": "https://www.indotalent.com/products/blazor-crm.html",
"offers": {
"@type": "Offer",
"price": "21.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
}
},
{
"@type": "SoftwareApplication",
"name": "Blazor CRM Multi-Tenant",
"applicationCategory": "BusinessApplication",
"operatingSystem": "Windows",
"description": "Multi-tenant CRM SaaS application with .NET 10 Blazor Server. Complete source code with tenant isolation.",
"url": "https://www.indotalent.com/products/blazor-crm-multitenant.html",
"offers": {
"@type": "Offer",
"price": "21.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
}
},
{
"@type": "SoftwareApplication",
"name": "Blazor CMS",
"applicationCategory": "BusinessApplication",
"operatingSystem": "Windows",
"description": "Clinic Management System built with .NET 10 Blazor Server. Complete source code for medical practice management.",
"url": "https://www.indotalent.com/products/blazor-cms.html",
"offers": {
"@type": "Offer",
"price": "21.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
}
},
{
"@type": "SoftwareApplication",
"name": "Blazor HRM",
"applicationCategory": "BusinessApplication",
"operatingSystem": "Windows",
"description": "Human Resource Management system with .NET 10 Blazor Server. Employee management, leave tracking, payroll reports.",
"url": "https://www.indotalent.com/products/blazor-hrm.html",
"offers": {
"@type": "Offer",
"price": "21.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
}
},
{
"@type": "SoftwareApplication",
"name": "Blazor HRM Multi-Tenant",
"applicationCategory": "BusinessApplication",
"operatingSystem": "Windows",
"description": "Multi-tenant HRM SaaS built with .NET 10 Blazor Server. Complete source code for workforce management.",
"url": "https://www.indotalent.com/products/blazor-hrm-multitenant.html",
"offers": {
"@type": "Offer",
"price": "21.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
}
},
{
"@type": "SoftwareApplication",
"name": "Blazor OMS",
"applicationCategory": "BusinessApplication",
"operatingSystem": "Windows",
"description": "Order Management System with .NET 10 Blazor Server. Track orders, inventory, and fulfillment. Complete source code.",
"url": "https://www.indotalent.com/products/blazor-oms.html",
"offers": {
"@type": "Offer",
"price": "21.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
}
},
{
"@type": "SoftwareApplication",
"name": "Blazor SCM",
"applicationCategory": "BusinessApplication",
"operatingSystem": "Windows",
"description": "Supply Chain Management system built with .NET 10 Blazor Server. Complete source code for procurement and logistics.",
"url": "https://www.indotalent.com/products/blazor-scm.html",
"offers": {
"@type": "Offer",
"price": "21.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
}
},
{
"@type": "SoftwareApplication",
"name": "Blazor SWM",
"applicationCategory": "BusinessApplication",
"operatingSystem": "Windows",
"description": "Spa & Wellness Management system with .NET 10 Blazor Server. Complete source code for appointment and service management.",
"url": "https://www.indotalent.com/products/blazor-swm.html",
"offers": {
"@type": "Offer",
"price": "21.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
}
},
{
"@type": "SoftwareApplication",
"name": "Blazor WMS",
"applicationCategory": "BusinessApplication",
"operatingSystem": "Windows",
"description": "Warehouse Management System built with .NET 10 Blazor Server. Complete source code for inventory tracking and warehouse operations.",
"url": "https://www.indotalent.com/products/blazor-wms.html",
"offers": {
"@type": "Offer",
"price": "21.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
}
}
]
}
</script>
<script src="https://cdn.tailwindcss.com"></script>
<script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/gsap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/ScrollTrigger.min.js"></script>
<script src="https://assets.lemonsqueezy.com/lemon.js" defer></script>
<script>tailwind.config={theme:{extend:{colors:{brand:{50:'#fff7ed',100:'#ffedd5',200:'#fed7aa',300:'#fdba74',400:'#fb923c',500:'#f97316',600:'#ea580c',700:'#c2410c',800:'#9a3412',900:'#7c2d12'}},fontFamily:{sans:['Inter','system-ui','-apple-system','sans-serif']}}}}</script>
<style>
[x-cloak]{display:none!important} html{scroll-behavior:smooth}
.nav-blur{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.hero-glow{position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(249,115,22,0.15) 0%,transparent 70%);top:-250px;left:-150px;pointer-events:none}
.hero-glow-2{position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(249,115,22,0.08) 0%,transparent 70%);bottom:-150px;right:-150px;pointer-events:none}
.gradient-text{background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.product-card{transition:all 0.3s ease}
.product-card:hover{transform:translateY(-6px);box-shadow:0 24px 48px -12px rgba(249,115,22,0.18)}
.product-card:hover .prod-img{transform:scale(1.05)}
.prod-img-wrap{aspect-ratio:16/10}
.prod-img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease}
.pricing-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:32px 24px;transition:all 0.3s ease}
.pricing-card.featured{border-color:#f97316;box-shadow:0 8px 30px -8px rgba(249,115,22,0.25);position:relative}
.pricing-card:hover{transform:translateY(-2px)}
.btn-primary{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);color:#fff;font-weight:600;border-radius:12px;padding:12px 24px;transition:all 0.2s;box-shadow:0 4px 14px -4px rgba(249,115,22,0.35)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 20px -4px rgba(249,115,22,0.45)}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#374151;font-weight:600;border-radius:12px;padding:12px 24px;border:1px solid #e5e7eb;transition:all 0.2s}
.btn-secondary:hover{border-color:#f97316;color:#f97316}
.stat-number{font-size:2.5rem;font-weight:800;line-height:1;background:linear-gradient(135deg,#f97316,#ea580c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.comparison-table td{padding:12px 16px;font-size:14px}
.comparison-table tr:first-child td{border-top:none}
nav a.nav-item.active{color:#f97316!important;border-bottom:2px solid #f97316;padding-bottom:2px}
.fab-back-to-top{position:fixed;bottom:28px;right:28px;z-index:50;width:48px;height:48px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(249,115,22,0.35);transition:all 0.3s;opacity:0;pointer-events:none;transform:translateY(20px);text-decoration:none}
.fab-back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.fab-back-to-top:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(249,115,22,0.5)}
</style>
</head>
<body class="bg-white text-gray-900 antialiased">
<!-- BREADCRUMB -->
<nav aria-label="Breadcrumb" class="pt-20 bg-white border-b border-gray-100">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-2.5">
<ol class="flex items-center gap-1.5 text-xs text-gray-400">
<li><a href="index.html" class="hover:text-brand-500 transition-colors">Home</a></li>
<li><span class="text-gray-300">/</span></li>
<li><span class="text-gray-600 font-medium">Enterprise .NET 10 & Blazor Source Code</span></li>
</ol>
</div>
</nav>
<!-- NAVBAR -->
<nav class="fixed top-0 left-0 right-0 z-50 nav-blur bg-white/85 border-b border-gray-200/60" x-data="{ mobileOpen: false }">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex items-center justify-between h-16 lg:h-18">
<a href="index.html" class="flex items-center gap-2.5"><img src="img/logo-indotalent-dark.svg" alt="Indotalent" class="h-8 w-auto" /></a>
<div class="hidden lg:flex items-center gap-7">
<a href="#products" class="nav-item text-sm font-medium text-gray-600 hover:text-brand-500 transition-colors">Products</a>
<a href="for-beginners.html" class="nav-item text-sm font-medium text-gray-600 hover:text-brand-500 transition-colors">Beginners</a>
<a href="for-freelancers.html" class="nav-item text-sm font-medium text-gray-600 hover:text-brand-500 transition-colors">Freelancers</a>
<a href="#features" class="nav-item text-sm font-medium text-gray-600 hover:text-brand-500 transition-colors">Features</a>
<a href="#comparison" class="nav-item text-sm font-medium text-gray-600 hover:text-brand-500 transition-colors">Why Us</a>
<a href="#pricing" class="nav-item text-sm font-medium text-gray-600 hover:text-brand-500 transition-colors">Pricing</a>
<a href="blog.html" class="nav-item text-sm font-medium text-gray-600 hover:text-brand-500 transition-colors">Blog</a>
</div>
<div class="hidden lg:flex items-center gap-3"><a href="#products" class="btn-primary text-sm py-2.5 px-5">Get Started</a></div>
<button @click="mobileOpen = !mobileOpen" class="lg:hidden text-gray-500 hover:text-gray-700 p-2">
<svg x-show="!mobileOpen" class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M4 6h16M4 12h16M4 18h16"/></svg>
<svg x-show="mobileOpen" class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/></svg>
</button>
</div>
</div>
<div x-show="mobileOpen" x-cloak class="lg:hidden bg-white/98 border-b border-gray-200 px-4 pb-6"><div class="flex flex-col gap-4 pt-2"><a href="#products" @click="mobileOpen=false" class="text-sm font-medium text-gray-600">Products</a><a href="#features" @click="mobileOpen=false" class="text-sm font-medium text-gray-600">Features</a><a href="#comparison" @click="mobileOpen=false" class="text-sm font-medium text-gray-600">Why Us</a><a href="#pricing" @click="mobileOpen=false" class="text-sm font-medium text-gray-600">Pricing</a><a href="blog.html" @click="mobileOpen=false" class="text-sm font-medium text-gray-600">Blog</a><a href="support.html" @click="mobileOpen=false" class="text-sm font-medium text-gray-600">Support</a><a href="#products" class="btn-primary text-sm py-2.5 px-5 text-center">Get Started</a></div></div>
</nav>
<!-- HERO -->
<section class="relative min-h-screen flex items-center overflow-hidden pt-20">
<div class="hero-glow"></div><div class="hero-glow-2"></div>
<div class="absolute inset-0 opacity-[0.015]" style="background-image:radial-gradient(circle at 1px 1px,#f97316 1px,transparent 0);background-size:40px 40px"></div>
<div class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 py-16 lg:py-24 relative z-10" id="heroText">
<div class="text-center mb-6">
<div class="inline-flex items-center gap-2 bg-white/80 border border-brand-200 rounded-full px-4 py-1.5 mb-5 shadow-sm">
<svg class="w-4 h-4 text-brand-500" fill="currentColor" viewBox="0 0 24 24"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/></svg>
<a href="https://github.com/go2ismail/Asp.Net-Core-Inventory-Order-Management-System" target="_blank" rel="noopener" class="text-brand-700 text-xs font-semibold hover:text-brand-500 transition-colors">Creator's open source: 1.3K+ GitHub Stars</a>
<span class="text-gray-400 text-xs">&middot;</span>
<span class="text-xs text-gray-500 font-medium">Production-Ready Source Code</span>
</div>
<h1 class="text-3xl sm:text-4xl lg:text-6xl font-extrabold text-gray-900 mt-3 mb-4 tracking-tight leading-tight">
Enterprise <span class="gradient-text">.NET 10 Source Code</span><br class="sm:hidden" /> for Learning and Commercial Projects
</h1>
<blockquote class="border-l-4 border-brand-400 bg-orange-50/50 rounded-lg pl-5 pr-4 py-3 my-5 max-w-2xl mx-auto text-left">
<p class="text-sm sm:text-base text-gray-700 italic leading-relaxed">
<span class="text-brand-500 text-lg leading-none mr-1">&ldquo;</span>AI can generate code. But AI does not know your business architecture.
Every AI iteration consumes time and tokens. Start with a production-ready enterprise foundation, then use AI to customize faster and smarter.<span class="text-brand-500 text-lg leading-none ml-1">&rdquo;</span>
</p>
</blockquote>
<p class="text-sm sm:text-base text-gray-500 max-w-2xl mx-auto mb-2 leading-relaxed">
Built with <span class="text-gray-800 font-semibold">.NET 10</span> +
<span class="text-gray-800 font-semibold">Blazor Server</span> +
<span class="text-gray-800 font-semibold">ASP.NET Core Minimal APIs</span> +
<span class="text-gray-800 font-semibold">Vertical Slice Architecture</span> +
<span class="text-gray-800 font-semibold">CQRS via MediatR</span> +
<span class="text-gray-800 font-semibold">MudBlazor UI</span> +
<span class="text-gray-800 font-semibold">EF Core</span> +
<span class="text-gray-800 font-semibold">JWT + Identity</span>
<span class="text-gray-500">— all in a single-project monolith with</span>
<span class="text-brand-600 font-bold">dozens of working features per application</span>.
</p>
<p class="text-sm sm:text-base text-gray-500 max-w-2xl mx-auto mb-3 leading-relaxed">
<span class="text-brand-600 font-bold">Back End + Front End in one solution.</span>
</p>
<p class="text-sm text-gray-400 mb-6">Stop debugging AI hallucinations. Ship real apps <strong class="text-gray-600">today</strong>.</p>
<div class="flex flex-wrap items-center justify-center gap-3">
<a href="#products" class="btn-primary text-base px-8 py-3.5">Explore Products</a>
<a href="blog.html" class="btn-secondary text-base px-8 py-3.5">Read Blog</a>
</div>
</div>
<div class="bg-white/90 backdrop-blur-sm rounded-2xl p-4 sm:p-5 border border-gray-200 shadow-xl" id="heroVisual">
<div class="flex flex-col lg:flex-row items-stretch gap-4">
<div class="bg-white rounded-xl p-4 border border-gray-200 flex flex-col flex-1">
<h2 class="text-sm font-semibold text-gray-700 text-center">Traditional (Layered)</h2>
<p class="text-gray-400 mb-3 text-center text-[10px]">Organized by technical concerns</p>
<div class="space-y-1.5 flex-1 flex flex-col justify-center">
<div class="border border-gray-200 rounded-lg py-2 px-3 flex items-center gap-2 bg-gray-50"><div class="w-6 h-6 rounded-lg bg-blue-100 flex items-center justify-center shrink-0"><svg class="w-3.5 h-3.5 text-blue-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><circle cx="12" cy="10" r="3"/><path d="M12 2a8 8 0 00-8 8c0 5.4 8 12 8 12s8-6.6 8-12a8 8 0 00-8-8z"/></svg></div><span class="font-medium text-gray-600 text-[10px]">Controllers / API</span></div>
<div class="border border-gray-200 rounded-lg py-2 px-3 flex items-center gap-2 bg-gray-50"><div class="w-6 h-6 rounded-lg bg-emerald-100 flex items-center justify-center shrink-0"><svg class="w-3.5 h-3.5 text-emerald-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.65 1.65 0 00.33 1.82l.06.06a2 2 0 010 2.83 2 2 0 01-2.83 0l-.06-.06a1.65 1.65 0 00-1.82-.33 1.65 1.65 0 00-1 1.51V21a2 2 0 01-2 2 2 2 0 01-2-2v-.09A1.65 1.65 0 009 19.4a1.65 1.65 0 00-1.82.33l-.06.06a2 2 0 01-2.83 0 2 2 0 010-2.83l.06-.06A1.65 1.65 0 004.68 15a1.65 1.65 0 00-1.51-1H3a2 2 0 01-2-2 2 2 0 012-2h.09A1.65 1.65 0 004.6 9a1.65 1.65 0 00-.33-1.82l-.06-.06a2 2 0 010-2.83 2 2 0 012.83 0l.06.06A1.65 1.65 0 009 4.68a1.65 1.65 0 001-1.51V3a2 2 0 012-2 2 2 0 012 2v.09a1.65 1.65 0 001 1.51 1.65 1.65 0 001.82-.33l.06-.06a2 2 0 012.83 0 2 2 0 010 2.83l-.06.06A1.65 1.65 0 0019.4 9a1.65 1.65 0 001.51 1H21a2 2 0 012 2 2 2 0 01-2 2h-.09a1.65 1.65 0 00-1.51 1z"/></svg></div><span class="font-medium text-gray-600 text-[10px]">Services</span></div>
<div class="border border-gray-200 rounded-lg py-2 px-3 flex items-center gap-2 bg-gray-50"><div class="w-6 h-6 rounded-lg bg-amber-100 flex items-center justify-center shrink-0"><svg class="w-3.5 h-3.5 text-amber-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><ellipse cx="12" cy="5" rx="9" ry="3"/><path d="M21 12c0 1.66-4 3-9 3s-9-1.34-9-3"/><path d="M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5"/></svg></div><span class="font-medium text-gray-600 text-[10px]">Repositories</span></div>
<div class="border border-gray-200 rounded-lg py-2 px-3 flex items-center gap-2 bg-gray-50"><div class="w-6 h-6 rounded-lg bg-violet-100 flex items-center justify-center shrink-0"><svg class="w-3.5 h-3.5 text-violet-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><rect width="7" height="7" x="3" y="3" rx="1"/><rect width="7" height="7" x="14" y="3" rx="1"/><rect width="7" height="7" x="3" y="14" rx="1"/><rect width="7" height="7" x="14" y="14" rx="1"/></svg></div><span class="font-medium text-gray-600 text-[10px]">Database</span></div>
</div>
</div>
<div class="shrink-0 self-center rotate-90 lg:rotate-0"><svg class="w-10 h-10 text-brand-500" viewBox="0 0 64 64" fill="currentColor"><path d="M4 27 L36 27 L36 15 L60 32 L36 49 L36 37 L4 37 Z"/></svg></div>
<div class="bg-white rounded-xl p-4 border border-brand-200 flex flex-col flex-1">
<h2 class="text-sm font-semibold text-gray-700 text-center">Vertical Slice Architecture</h2>
<p class="text-gray-400 mb-3 text-center text-[10px]">Organized by features (end-to-end)</p>
<div class="grid grid-cols-2 xl:grid-cols-4 gap-1.5 flex-1">
<div class="border border-blue-300 rounded-lg bg-blue-50/50 flex flex-col overflow-hidden"><div class="bg-blue-100 text-blue-700 text-center py-1 px-1.5 text-[9px] font-semibold leading-tight border-b border-blue-200">Create<br/>Order</div><div class="p-1.5 flex flex-col items-center justify-center flex-1 gap-px"><div class="w-6 h-6 rounded bg-white border border-gray-200 flex items-center justify-center overflow-hidden relative"><div class="absolute top-0 left-0 right-0 h-1.5 bg-gray-100"></div><svg class="w-3.5 h-3.5 text-blue-500 z-10 mt-0.5" viewBox="0 0 24 24" fill="none"><circle cx="12" cy="15" r="4" stroke="currentColor" stroke-width="1.2"/><ellipse cx="12" cy="15" rx="2" ry="4" stroke="currentColor" stroke-width="1.2"/><line x1="8" y1="15" x2="16" y2="15" stroke="currentColor" stroke-width="1.2"/></svg></div><svg class="w-2.5 h-5 text-gray-400" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M19.5 13.5 12 21m0 0l-7.5-7.5M12 21V3"/></svg><svg class="w-4 h-4 text-gray-400" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 011.37.49l1.296 2.247a1.125 1.125 0 01-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 010 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 01-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 01-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 01-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 01-1.369-.49l-1.297-2.247a1.125 1.125 0 01.26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 010-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 01-.26-1.43l1.297-2.247a1.125 1.125 0 011.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z"/><path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 11-6 0 3 3 0 016 0Z"/></svg><svg class="w-2.5 h-5 text-gray-400" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M19.5 13.5 12 21m0 0l-7.5-7.5M12 21V3"/></svg><svg class="w-4 h-4 text-emerald-500" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M20.25 6.375c0 2.278-3.694 4.125-8.25 4.125S3.75 8.653 3.75 6.375m16.5 0c0-2.278-3.694-4.125-8.25-4.125S3.75 4.097 3.75 6.375m16.5 0v11.25c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125V6.375m16.5 0v3.75m-16.5-3.75v3.75m16.5 0v3.75C20.25 16.153 16.556 18 12 18s-8.25-1.847-8.25-4.125v-3.75m16.5 0c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125"/></svg></div></div>
<div class="border border-emerald-300 rounded-lg bg-emerald-50/50 flex flex-col overflow-hidden"><div class="bg-emerald-100 text-emerald-700 text-center py-1 px-1.5 text-[9px] font-semibold leading-tight border-b border-emerald-200">Get<br/>Order</div><div class="p-1.5 flex flex-col items-center justify-center flex-1 gap-px"><div class="w-6 h-6 rounded bg-white border border-gray-200 flex items-center justify-center overflow-hidden relative"><div class="absolute top-0 left-0 right-0 h-1.5 bg-gray-100"></div><svg class="w-3.5 h-3.5 text-blue-500 z-10 mt-0.5" viewBox="0 0 24 24" fill="none"><circle cx="12" cy="15" r="4" stroke="currentColor" stroke-width="1.2"/><ellipse cx="12" cy="15" rx="2" ry="4" stroke="currentColor" stroke-width="1.2"/><line x1="8" y1="15" x2="16" y2="15" stroke="currentColor" stroke-width="1.2"/></svg></div><svg class="w-2.5 h-5 text-gray-400" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M19.5 13.5 12 21m0 0l-7.5-7.5M12 21V3"/></svg><svg class="w-4 h-4 text-gray-400" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 011.37.49l1.296 2.247a1.125 1.125 0 01-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 010 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 01-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 01-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 01-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 01-1.369-.49l-1.297-2.247a1.125 1.125 0 01.26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 010-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 01-.26-1.43l1.297-2.247a1.125 1.125 0 011.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z"/><path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 11-6 0 3 3 0 016 0Z"/></svg><svg class="w-2.5 h-5 text-gray-400" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M19.5 13.5 12 21m0 0l-7.5-7.5M12 21V3"/></svg><svg class="w-4 h-4 text-emerald-500" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M20.25 6.375c0 2.278-3.694 4.125-8.25 4.125S3.75 8.653 3.75 6.375m16.5 0c0-2.278-3.694-4.125-8.25-4.125S3.75 4.097 3.75 6.375m16.5 0v11.25c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125V6.375m16.5 0v3.75m-16.5-3.75v3.75m16.5 0v3.75C20.25 16.153 16.556 18 12 18s-8.25-1.847-8.25-4.125v-3.75m16.5 0c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125"/></svg></div></div>
<div class="border border-amber-300 rounded-lg bg-amber-50/50 flex flex-col overflow-hidden"><div class="bg-amber-100 text-amber-700 text-center py-1 px-1.5 text-[9px] font-semibold leading-tight border-b border-amber-200">Update<br/>Order</div><div class="p-1.5 flex flex-col items-center justify-center flex-1 gap-px"><div class="w-6 h-6 rounded bg-white border border-gray-200 flex items-center justify-center overflow-hidden relative"><div class="absolute top-0 left-0 right-0 h-1.5 bg-gray-100"></div><svg class="w-3.5 h-3.5 text-blue-500 z-10 mt-0.5" viewBox="0 0 24 24" fill="none"><circle cx="12" cy="15" r="4" stroke="currentColor" stroke-width="1.2"/><ellipse cx="12" cy="15" rx="2" ry="4" stroke="currentColor" stroke-width="1.2"/><line x1="8" y1="15" x2="16" y2="15" stroke="currentColor" stroke-width="1.2"/></svg></div><svg class="w-2.5 h-5 text-gray-400" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M19.5 13.5 12 21m0 0l-7.5-7.5M12 21V3"/></svg><svg class="w-4 h-4 text-gray-400" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 011.37.49l1.296 2.247a1.125 1.125 0 01-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 010 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 01-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 01-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 01-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 01-1.369-.49l-1.297-2.247a1.125 1.125 0 01.26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 010-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 01-.26-1.43l1.297-2.247a1.125 1.125 0 011.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z"/><path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 11-6 0 3 3 0 016 0Z"/></svg><svg class="w-2.5 h-5 text-gray-400" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M19.5 13.5 12 21m0 0l-7.5-7.5M12 21V3"/></svg><svg class="w-4 h-4 text-emerald-500" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M20.25 6.375c0 2.278-3.694 4.125-8.25 4.125S3.75 8.653 3.75 6.375m16.5 0c0-2.278-3.694-4.125-8.25-4.125S3.75 4.097 3.75 6.375m16.5 0v11.25c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125V6.375m16.5 0v3.75m-16.5-3.75v3.75m16.5 0v3.75C20.25 16.153 16.556 18 12 18s-8.25-1.847-8.25-4.125v-3.75m16.5 0c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125"/></svg></div></div>
<div class="border border-violet-300 rounded-lg bg-violet-50/50 flex flex-col overflow-hidden"><div class="bg-violet-100 text-violet-700 text-center py-1 px-1.5 text-[9px] font-semibold leading-tight border-b border-violet-200">Cancel<br/>Order</div><div class="p-1.5 flex flex-col items-center justify-center flex-1 gap-px"><div class="w-6 h-6 rounded bg-white border border-gray-200 flex items-center justify-center overflow-hidden relative"><div class="absolute top-0 left-0 right-0 h-1.5 bg-gray-100"></div><svg class="w-3.5 h-3.5 text-blue-500 z-10 mt-0.5" viewBox="0 0 24 24" fill="none"><circle cx="12" cy="15" r="4" stroke="currentColor" stroke-width="1.2"/><ellipse cx="12" cy="15" rx="2" ry="4" stroke="currentColor" stroke-width="1.2"/><line x1="8" y1="15" x2="16" y2="15" stroke="currentColor" stroke-width="1.2"/></svg></div><svg class="w-2.5 h-5 text-gray-400" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M19.5 13.5 12 21m0 0l-7.5-7.5M12 21V3"/></svg><svg class="w-4 h-4 text-gray-400" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 011.37.49l1.296 2.247a1.125 1.125 0 01-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 010 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 01-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 01-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 01-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 01-1.369-.49l-1.297-2.247a1.125 1.125 0 01.26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 010-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 01-.26-1.43l1.297-2.247a1.125 1.125 0 011.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z"/><path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 11-6 0 3 3 0 016 0Z"/></svg><svg class="w-2.5 h-5 text-gray-400" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M19.5 13.5 12 21m0 0l-7.5-7.5M12 21V3"/></svg><svg class="w-4 h-4 text-emerald-500" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M20.25 6.375c0 2.278-3.694 4.125-8.25 4.125S3.75 8.653 3.75 6.375m16.5 0c0-2.278-3.694-4.125-8.25-4.125S3.75 4.097 3.75 6.375m16.5 0v11.25c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125V6.375m16.5 0v3.75m-16.5-3.75v3.75m16.5 0v3.75C20.25 16.153 16.556 18 12 18s-8.25-1.847-8.25-4.125v-3.75m16.5 0c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125"/></svg></div></div>
</div>
</div>
</div>
</div>
<p class="text-center text-gray-400 text-sm mt-3">.NET 10 &middot; Blazor Server &middot; Vertical Slice Architecture &middot; MudBlazor &middot; Single-Project Monolith</p>
</div>
</section>
<!-- AUTHORITY BAR -->
<section class="py-6 bg-gray-50/80 border-y border-gray-100">
<div class="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="grid grid-cols-2 md:grid-cols-5 gap-4 text-center">
<div><div class="stat-number">9</div><p class="text-xs text-gray-500 mt-1">Products</p></div>
<div><div class="stat-number">1.3K+</div><p class="text-xs text-gray-500 mt-1">GitHub Stars</p></div>
<div><div class="stat-number">500+</div><p class="text-xs text-gray-500 mt-1">Forks</p></div>
<div><div class="stat-number">50+</div><p class="text-xs text-gray-500 mt-1">Features</p></div>
<div><div class="stat-number">5+</div><p class="text-xs text-gray-500 mt-1">Years of Refinement</p></div>
</div>
</div>
</section>
<!-- LEMON SQUEEZY TRUST -->
<section class="py-8 bg-white border-b border-gray-100">
<div class="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex flex-col md:flex-row items-center justify-center gap-6 md:gap-10">
<div class="flex items-center gap-3"><img src="img/Logo-lemon-squeezy-Black-Text.png" alt="Lemon Squeezy" class="h-10 w-auto" /><span class="text-gray-300 hidden md:inline">|</span></div>
<div class="flex items-center gap-2 text-sm text-gray-500"><svg class="w-5 h-5 text-emerald-500 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75m-3-7.036A11.959 11.959 0 013.598 6 11.99 11.99 0 003 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285z"/></svg><span>Secure checkout via <strong class="text-gray-700">Lemon Squeezy</strong></span></div>
<div class="flex items-center gap-2 text-sm text-gray-500"><svg class="w-5 h-5 text-emerald-500 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 6v6h4.5m4.5 0a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg><span>Instant digital delivery</span></div>
<div class="flex items-center gap-2 text-sm text-gray-500"><svg class="w-5 h-5 text-emerald-500 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg><span>Lifetime access</span></div>
</div>
</div>
</section>
<!-- PRODUCTS -->
<section id="products" class="py-20 lg:py-28">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-14" id="productsHeader">
<div class="inline-flex items-center gap-1.5 bg-orange-50 border border-orange-200 rounded-full px-3.5 py-1 mb-4"><span class="text-brand-700 text-xs font-medium tracking-wide">Complete Source Code</span></div>
<h2 class="text-3xl sm:text-4xl font-bold text-gray-900">Enterprise <span class="gradient-text">.NET 10</span> Products</h2>
<p class="text-gray-600 mt-4 max-w-2xl mx-auto">9 production-ready Blazor Server apps with MudBlazor UI, REST API, and Vertical Slice Architecture. All source code $21 each.</p>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6" id="productGrid">
<a href="products/blazor-crm.html" class="product-card bg-white border border-gray-200 rounded-2xl overflow-hidden shadow-sm block"><div class="relative overflow-hidden prod-img-wrap bg-gray-100"><img src="img/crm-customer-relationship-management-01.png" alt="Blazor CRM" class="prod-img" loading="lazy" onerror="this.style.display='none'" /></div><div class="p-5"><h3 class="text-lg font-bold text-gray-900 mb-0.5">Blazor CRM</h3><p class="text-sm text-gray-500 mb-3">Customer Relationship Management</p><div class="flex items-center justify-between"><div><span class="text-xl font-bold text-gray-900">$21</span> <span class="text-sm text-gray-400 line-through ml-1">$49</span></div><span class="text-xs font-medium text-brand-600">View Details &rarr;</span></div></div></a>
<a href="products/blazor-crm-multitenant.html" class="product-card bg-white border border-gray-200 rounded-2xl overflow-hidden shadow-sm block"><div class="relative overflow-hidden prod-img-wrap bg-gray-100"><img src="img/crm-multi-tenant-01.png" alt="Blazor CRM Multitenant" class="prod-img" loading="lazy" onerror="this.style.display='none'" /></div><div class="p-5"><h3 class="text-lg font-bold text-gray-900 mb-0.5">Blazor CRM Multitenant <span class="text-[10px] bg-purple-50 text-purple-600 px-1.5 py-0.5 rounded-full font-medium ml-1">SaaS</span></h3><p class="text-sm text-gray-500 mb-3">CRM with Multi-Tenancy</p><div class="flex items-center justify-between"><div><span class="text-xl font-bold text-gray-900">$21</span> <span class="text-sm text-gray-400 line-through ml-1">$49</span></div><span class="text-xs font-medium text-brand-600">View Details &rarr;</span></div></div></a>
<a href="products/blazor-cms.html" class="product-card bg-white border border-gray-200 rounded-2xl overflow-hidden shadow-sm block"><div class="relative overflow-hidden prod-img-wrap bg-gray-100"><img src="img/cms-clinic-management-system-01.png" alt="Blazor CMS" class="prod-img" loading="lazy" onerror="this.style.display='none'" /></div><div class="p-5"><h3 class="text-lg font-bold text-gray-900 mb-0.5">Blazor CMS</h3><p class="text-sm text-gray-500 mb-3">Clinic Management System</p><div class="flex items-center justify-between"><div><span class="text-xl font-bold text-gray-900">$21</span> <span class="text-sm text-gray-400 line-through ml-1">$49</span></div><span class="text-xs font-medium text-brand-600">View Details &rarr;</span></div></div></a>
<a href="products/blazor-hrm.html" class="product-card bg-white border border-gray-200 rounded-2xl overflow-hidden shadow-sm block"><div class="relative overflow-hidden prod-img-wrap bg-gray-100"><img src="img/hrm-human-resource-management-01.png" alt="Blazor HRM" class="prod-img" loading="lazy" onerror="this.style.display='none'" /></div><div class="p-5"><h3 class="text-lg font-bold text-gray-900 mb-0.5">Blazor HRM</h3><p class="text-sm text-gray-500 mb-3">Human Resource Management</p><div class="flex items-center justify-between"><div><span class="text-xl font-bold text-gray-900">$21</span> <span class="text-sm text-gray-400 line-through ml-1">$49</span></div><span class="text-xs font-medium text-brand-600">View Details &rarr;</span></div></div></a>
<a href="products/blazor-hrm-multitenant.html" class="product-card bg-white border border-gray-200 rounded-2xl overflow-hidden shadow-sm block"><div class="relative overflow-hidden prod-img-wrap bg-gray-100"><img src="img/hrm-multi-tenant-saas-01.png" alt="Blazor HRM Multitenant" class="prod-img" loading="lazy" onerror="this.style.display='none'" /></div><div class="p-5"><h3 class="text-lg font-bold text-gray-900 mb-0.5">Blazor HRM Multitenant <span class="text-[10px] bg-purple-50 text-purple-600 px-1.5 py-0.5 rounded-full font-medium ml-1">SaaS</span></h3><p class="text-sm text-gray-500 mb-3">HRM with Multi-Tenancy</p><div class="flex items-center justify-between"><div><span class="text-xl font-bold text-gray-900">$21</span> <span class="text-sm text-gray-400 line-through ml-1">$49</span></div><span class="text-xs font-medium text-brand-600">View Details &rarr;</span></div></div></a>
<a href="products/blazor-oms.html" class="product-card bg-white border border-gray-200 rounded-2xl overflow-hidden shadow-sm block"><div class="relative overflow-hidden prod-img-wrap bg-gray-100"><img src="img/oms-order-management-system-01.png" alt="Blazor OMS" class="prod-img" loading="lazy" onerror="this.style.display='none'" /></div><div class="p-5"><h3 class="text-lg font-bold text-gray-900 mb-0.5">Blazor OMS</h3><p class="text-sm text-gray-500 mb-3">Order Management System</p><div class="flex items-center justify-between"><div><span class="text-xl font-bold text-gray-900">$21</span> <span class="text-sm text-gray-400 line-through ml-1">$49</span></div><span class="text-xs font-medium text-brand-600">View Details &rarr;</span></div></div></a>
<a href="products/blazor-scm.html" class="product-card bg-white border border-gray-200 rounded-2xl overflow-hidden shadow-sm block"><div class="relative overflow-hidden prod-img-wrap bg-gray-100"><img src="img/scm-supply-chain-management-01.png" alt="Blazor SCM" class="prod-img" loading="lazy" onerror="this.style.display='none'" /></div><div class="p-5"><h3 class="text-lg font-bold text-gray-900 mb-0.5">Blazor SCM</h3><p class="text-sm text-gray-500 mb-3">Supply Chain Management</p><div class="flex items-center justify-between"><div><span class="text-xl font-bold text-gray-900">$21</span> <span class="text-sm text-gray-400 line-through ml-1">$49</span></div><span class="text-xs font-medium text-brand-600">View Details &rarr;</span></div></div></a>
<a href="products/blazor-swm.html" class="product-card bg-white border border-gray-200 rounded-2xl overflow-hidden shadow-sm block"><div class="relative overflow-hidden prod-img-wrap bg-gray-100"><img src="img/swm-spa-and-wellness-management-01.png" alt="Blazor SWM" class="prod-img" loading="lazy" onerror="this.style.display='none'" /></div><div class="p-5"><h3 class="text-lg font-bold text-gray-900 mb-0.5">Blazor SWM</h3><p class="text-sm text-gray-500 mb-3">Spa & Wellness Management</p><div class="flex items-center justify-between"><div><span class="text-xl font-bold text-gray-900">$21</span> <span class="text-sm text-gray-400 line-through ml-1">$49</span></div><span class="text-xs font-medium text-brand-600">View Details &rarr;</span></div></div></a>
<a href="products/blazor-wms.html" class="product-card bg-white border border-gray-200 rounded-2xl overflow-hidden shadow-sm block"><div class="relative overflow-hidden prod-img-wrap bg-gray-100"><img src="img/wms-warehouse-inventory-management-system-01.png" alt="Blazor WMS" class="prod-img" loading="lazy" onerror="this.style.display='none'" /></div><div class="p-5"><h3 class="text-lg font-bold text-gray-900 mb-0.5">Blazor WMS</h3><p class="text-sm text-gray-500 mb-3">Warehouse Management System</p><div class="flex items-center justify-between"><div><span class="text-xl font-bold text-gray-900">$21</span> <span class="text-sm text-gray-400 line-through ml-1">$49</span></div><span class="text-xs font-medium text-brand-600">View Details &rarr;</span></div></div></a>
</div>
</div>
</section>
<!-- BONUS: ADMIN TEMPLATES -->
<section id="bonus" class="py-20 lg:py-28 bg-gray-50/80">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-14">
<div class="inline-flex items-center gap-1.5 bg-orange-50 border border-orange-200 rounded-full px-3.5 py-1 mb-4"><span class="text-brand-700 text-xs font-medium tracking-wide">Bonus - FREE</span></div>
<h2 class="text-3xl sm:text-4xl font-bold text-gray-900">Clean, Professional <span class="gradient-text">Admin Templates</span></h2>
<p class="text-gray-600 mt-4 max-w-2xl mx-auto">A modern, light, minimalist admin template built with Tailwind CSS and Alpine.js. Explore ten business-grade dashboards, each available in five carefully crafted color themes.</p>
<div class="mt-6 inline-flex items-center gap-2 bg-emerald-50 border border-emerald-200 rounded-full px-4 py-2"><svg class="w-4 h-4 text-emerald-600 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg><span class="text-sm font-semibold text-emerald-700">100% FREE — yours on every product purchase, no extra cost.</span></div>
</div>
<div class="bg-white border border-gray-200 rounded-2xl p-6 sm:p-8 mb-12">
<h3 class="text-xl font-bold text-gray-900 mb-3">A complete front-end foundation</h3>
<p class="text-gray-600 leading-relaxed text-sm mb-6">The admin template is a building block of the Enterprise Development Kit — a clean, professional UI layer for line-of-business applications.</p>
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
<div class="flex items-start gap-3">
<div class="w-10 h-10 rounded-lg bg-orange-50 flex items-center justify-center shrink-0"><svg class="w-5 h-5 text-brand-500" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M3.75 13.5l10.5-11.25L12 3.75 3.75 13.5zm0 0L12 21.75l8.25-10.5M12 21.75V13.5"/></svg></div>
<div>
<h4 class="text-base font-semibold text-gray-900 mb-1">Lightweight &amp; Fast</h4>
<p class="text-sm text-gray-500">Built on Tailwind CSS and Alpine.js — no heavy build step, no framework lock-in, just clean composable markup.</p>
</div>
</div>
<div class="flex items-start gap-3">
<div class="w-10 h-10 rounded-lg bg-blue-50 flex items-center justify-center shrink-0"><svg class="w-5 h-5 text-blue-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M3.75 6A2.25 2.25 0 016 3.75h2.25A2.25 2.25 0 0110.5 6v2.25a2.25 2.25 0 01-2.25 2.25H6a2.25 2.25 0 01-2.25-2.25V6zM3.75 15.75A2.25 2.25 0 016 13.5h2.25a2.25 2.25 0 012.25 2.25V18a2.25 2.25 0 01-2.25 2.25H6A2.25 2.25 0 013.75 18v-2.25zM13.5 6a2.25 2.25 0 012.25-2.25H18A2.25 2.25 0 0120.25 6v2.25A2.25 2.25 0 0118 10.5h-2.25a2.25 2.25 0 01-2.25-2.25V6zM13.5 15.75a2.25 2.25 0 012.25-2.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-2.25A2.25 2.25 0 0113.5 18v-2.25z"/></svg></div>
<div>
<h4 class="text-base font-semibold text-gray-900 mb-1">Modular Components</h4>
<p class="text-sm text-gray-500">Reusable cards, tables, forms, auth pages and widgets crafted for consistent, professional enterprise layouts.</p>
</div>
</div>
</div>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
<a href="https://admintemplate-html.csharpasp.net/" target="_blank" rel="noopener" class="product-card bg-white border border-gray-200 rounded-2xl overflow-hidden shadow-sm block"><div class="relative overflow-hidden prod-img-wrap bg-gray-100"><img src="img/admintemplate-html.png" alt="Admin Template HTML" class="prod-img" loading="lazy" onerror="this.style.display='none'" /></div><div class="p-5"><h3 class="text-lg font-bold text-gray-900 mb-0.5">Admin Template HTML</h3><p class="text-sm text-gray-500 mb-3">Tailwind CSS + Alpine.js</p><div class="flex items-center justify-between"><span class="text-xs font-medium text-brand-600">Live Demo &rarr;</span></div></div></a>
<a href="https://admintemplate-mvc.csharpasp.net/" target="_blank" rel="noopener" class="product-card bg-white border border-gray-200 rounded-2xl overflow-hidden shadow-sm block"><div class="relative overflow-hidden prod-img-wrap bg-gray-100"><img src="img/admintemplate-mvc.png" alt="Admin Template MVC" class="prod-img" loading="lazy" onerror="this.style.display='none'" /></div><div class="p-5"><h3 class="text-lg font-bold text-gray-900 mb-0.5">Admin Template MVC</h3><p class="text-sm text-gray-500 mb-3">ASP.NET Core MVC</p><div class="flex items-center justify-between"><span class="text-xs font-medium text-brand-600">Live Demo &rarr;</span></div></div></a>
<a href="https://admintemplate-razor.csharpasp.net/" target="_blank" rel="noopener" class="product-card bg-white border border-gray-200 rounded-2xl overflow-hidden shadow-sm block"><div class="relative overflow-hidden prod-img-wrap bg-gray-100"><img src="img/admintemplate-razor.png" alt="Admin Template Razor" class="prod-img" loading="lazy" onerror="this.style.display='none'" /></div><div class="p-5"><h3 class="text-lg font-bold text-gray-900 mb-0.5">Admin Template Razor</h3><p class="text-sm text-gray-500 mb-3">ASP.NET Core Razor Pages</p><div class="flex items-center justify-between"><span class="text-xs font-medium text-brand-600">Live Demo &rarr;</span></div></div></a>
</div>
<div class="mt-12 text-center bg-gradient-to-r from-orange-50 to-amber-50 border border-orange-200 rounded-2xl p-6 sm:p-8">
<h3 class="text-xl sm:text-2xl font-bold text-gray-900 mb-2">Get All 3 Admin Templates <span class="gradient-text">Absolutely FREE</span></h3>
<p class="text-gray-600 max-w-2xl mx-auto mb-5">These three professional admin templates are included <strong class="text-gray-800">free with every product purchase</strong>.</p>
<a href="#products" class="btn-primary text-sm px-8 py-3.5 inline-block">Browse Products &amp; Claim Your Free Bonus</a>
</div>
</div>
</section>
<!-- FEATURES -->
<section id="features" class="py-20 lg:py-28 bg-gray-50/80">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-14"><div class="inline-flex items-center gap-1.5 bg-orange-50 border border-orange-200 rounded-full px-3.5 py-1 mb-4"><span class="text-brand-700 text-xs font-medium tracking-wide">Tech Stack</span></div><h2 class="text-3xl sm:text-4xl font-bold text-gray-900">Built on the <span class="gradient-text">Proven Stack</span></h2><p class="text-gray-600 mt-4">Every product uses the same battle-tested architecture.</p></div>
<div class="flex flex-wrap justify-center gap-3 mb-14">
<span class="inline-flex items-center gap-2 bg-white border border-gray-200 rounded-xl px-4 py-2.5 text-sm font-medium text-gray-700 shadow-sm"><span class="w-2 h-2 rounded-full bg-brand-500"></span>.NET 10</span>
<span class="inline-flex items-center gap-2 bg-white border border-gray-200 rounded-xl px-4 py-2.5 text-sm font-medium text-gray-700 shadow-sm"><span class="w-2 h-2 rounded-full bg-blue-500"></span>ASP.NET Core</span>
<span class="inline-flex items-center gap-2 bg-white border border-gray-200 rounded-xl px-4 py-2.5 text-sm font-medium text-gray-700 shadow-sm"><span class="w-2 h-2 rounded-full bg-emerald-500"></span>Blazor Server</span>
<span class="inline-flex items-center gap-2 bg-white border border-gray-200 rounded-xl px-4 py-2.5 text-sm font-medium text-gray-700 shadow-sm"><span class="w-2 h-2 rounded-full bg-purple-500"></span>MudBlazor</span>
<span class="inline-flex items-center gap-2 bg-white border border-gray-200 rounded-xl px-4 py-2.5 text-sm font-medium text-gray-700 shadow-sm"><span class="w-2 h-2 rounded-full bg-cyan-500"></span>REST API</span>
<span class="inline-flex items-center gap-2 bg-white border border-gray-200 rounded-xl px-4 py-2.5 text-sm font-medium text-gray-700 shadow-sm"><span class="w-2 h-2 rounded-full bg-amber-500"></span>EF Core</span>
<span class="inline-flex items-center gap-2 bg-white border border-gray-200 rounded-xl px-4 py-2.5 text-sm font-medium text-gray-700 shadow-sm"><span class="w-2 h-2 rounded-full bg-rose-500"></span>VSA</span>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5" id="featureCards">
<div class="bg-white border border-gray-200 rounded-xl p-6 product-card"><div class="w-10 h-10 rounded-lg bg-orange-50 flex items-center justify-center mb-4"><svg class="w-5 h-5 text-brand-500" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M9 12.75L11.25 15 15 9.75m-3-7.036A11.959 11.959 0 013.598 6 11.99 11.99 0 003 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285z"/></svg></div><h4 class="text-base font-semibold text-gray-900 mb-2">Production Ready</h4><p class="text-sm text-gray-500">Clone, configure connection string, run. No complex build pipelines.</p></div>
<div class="bg-white border border-gray-200 rounded-xl p-6 product-card"><div class="w-10 h-10 rounded-lg bg-blue-50 flex items-center justify-center mb-4"><svg class="w-5 h-5 text-blue-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M17.25 6.75L22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3l-4.5 16.5"/></svg></div><h4 class="text-base font-semibold text-gray-900 mb-2">Clean Code</h4><p class="text-sm text-gray-500">Vertical Slice Architecture. Add features in one folder, not 5 projects.</p></div>
<div class="bg-white border border-gray-200 rounded-xl p-6 product-card"><div class="w-10 h-10 rounded-lg bg-emerald-50 flex items-center justify-center mb-4"><svg class="w-5 h-5 text-emerald-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M12 21v-8.25M15.75 21v-8.25M8.25 21v-8.25M3 9l9-6 9 6m-1.5 12V10.332A48.36 48.36 0 0012 9.75c-2.551 0-5.056.2-7.5.582V21M3 21h18M12 6.75h.008v.008H12V6.75z"/></svg></div><h4 class="text-base font-semibold text-gray-900 mb-2">Monolith Done Right</h4><p class="text-sm text-gray-500">Single project. No distributed complexity until you need it.</p></div>
<div class="bg-white border border-gray-200 rounded-xl p-6 product-card"><div class="w-10 h-10 rounded-lg bg-purple-50 flex items-center justify-center mb-4"><svg class="w-5 h-5 text-purple-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M15.75 5.25a3 3 0 013 3m3 0a6 6 0 01-7.029 5.912c-.563-.097-1.159.026-1.563.43L10.5 17.25H8.25v2.25H6v2.25H2.25v-2.818c0-.597.237-1.17.659-1.591l6.499-6.499c.404-.404.527-1 .43-1.563A6 6 0 1121.75 8.25z"/></svg></div><h4 class="text-base font-semibold text-gray-900 mb-2">Auth & Security</h4><p class="text-sm text-gray-500">Identity, JWT, role-based authorization. Pre-configured.</p></div>
<div class="bg-white border border-gray-200 rounded-xl p-6 product-card"><div class="w-10 h-10 rounded-lg bg-cyan-50 flex items-center justify-center mb-4"><svg class="w-5 h-5 text-cyan-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M6.75 7.5l3 2.25-3 2.25m4.5 0h3m-9 8.25h13.5A2.25 2.25 0 0021 18V6a2.25 2.25 0 00-2.25-2.25H5.25A2.25 2.25 0 003 6v12a2.25 2.25 0 002.25 2.25z"/></svg></div><h4 class="text-base font-semibold text-gray-900 mb-2">REST API + Swagger</h4><p class="text-sm text-gray-500">Minimal APIs with OpenAPI docs and JWT authentication.</p></div>
<div class="bg-white border border-gray-200 rounded-xl p-6 product-card"><div class="w-10 h-10 rounded-lg bg-amber-50 flex items-center justify-center mb-4"><svg class="w-5 h-5 text-amber-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M20.25 6.375c0 2.278-3.694 4.125-8.25 4.125S3.75 8.653 3.75 6.375m16.5 0c0-2.278-3.694-4.125-8.25-4.125S3.75 4.097 3.75 6.375m16.5 0v11.25c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125V6.375"/></svg></div><h4 class="text-base font-semibold text-gray-900 mb-2">EF Core + SQL Server</h4><p class="text-sm text-gray-500">Migrations, seed data, compiled queries. Instant testing.</p></div>
</div>
</div>
</section>
<!-- SEO: WHAT IS ENTERPRISE SOURCE CODE -->
<section class="py-16 lg:py-20">
<div class="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-10"><div class="inline-flex items-center gap-1.5 bg-blue-50 border border-blue-200 rounded-full px-3.5 py-1 mb-4"><span class="text-blue-700 text-xs font-medium tracking-wide">What You Get</span></div><h2 class="text-3xl sm:text-4xl font-bold text-gray-900">Enterprise <span class="gradient-text">.NET Source Code</span>, Explained</h2></div>
<div class="grid grid-cols-1 md:grid-cols-2 gap-8">
<div>
<p class="text-gray-600 leading-relaxed text-sm mb-4">When we say <strong class="text-gray-800">enterprise .NET source code</strong>, we mean a complete, production-grade application — not a template, not a starter kit, not a tutorial project. Each Indotalent product is a <strong class="text-gray-800">fully working business application</strong> with 50 to 100 end-to-end features, ready to run on your machine in under 60 seconds.</p>
<p class="text-gray-600 leading-relaxed text-sm mb-4">You receive the <strong class="text-gray-800">unrestricted C# source code</strong> for the entire solution. This includes the Blazor Server UI layer, the REST API endpoints, the business logic handlers, the Entity Framework Core data access layer, the database migrations, and the seed data — all in a single Visual Studio project that compiles and runs immediately.</p>
<p class="text-gray-600 leading-relaxed text-sm"><strong class="text-gray-800">No obfuscation. No missing pieces. No hidden dependencies.</strong> You can study every line of code, modify any feature, extend the application for your own needs, and deploy it as you see fit. This is professional C# code written by a developer with 5+ years of .NET experience, following industry best practices.</p>
</div>
<div class="bg-gray-50 rounded-2xl p-6 border border-gray-200">
<h3 class="font-semibold text-gray-900 mb-3 text-sm">What's Included in Every Product</h3>
<ul class="space-y-2 text-sm text-gray-600">
<li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg><span><strong class="text-gray-800">Complete Blazor Server Front End</strong> — Responsive UI with MudBlazor components, data grids, forms, dialogs, and dashboards</span></li>
<li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg><span><strong class="text-gray-800">REST Web API</strong> — Minimal API endpoints with Swagger/OpenAPI documentation and JWT authentication</span></li>
<li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg><span><strong class="text-gray-800">Business Logic Layer</strong> — MediatR handlers with CQRS pattern, FluentValidation, and clean domain logic</span></li>
<li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg><span><strong class="text-gray-800">EF Core Data Access</strong> — Migrations, seed data, compiled queries, and SQL Server database design</span></li>
<li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg><span><strong class="text-gray-800">Authentication & Authorization</strong> — ASP.NET Core Identity, JWT tokens, role-based and policy-based access control</span></li>
<li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg><span><strong class="text-gray-800">Audit Trail & Security</strong> — User activity logging, data change tracking, and secure data handling</span></li>
</ul>
</div>
</div>
</div>
</section>
<!-- SEO: WHAT YOU'LL LEARN -->
<section class="py-16 lg:py-20 bg-gray-50/80">
<div class="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-10"><div class="inline-flex items-center gap-1.5 bg-teal-50 border border-teal-200 rounded-full px-3.5 py-1 mb-4"><span class="text-teal-700 text-xs font-medium tracking-wide">Learning Path</span></div><h2 class="text-3xl sm:text-4xl font-bold text-gray-900">What You'll <span class="gradient-text">Learn</span> from This Source Code</h2><p class="text-gray-500 mt-3 max-w-2xl mx-auto">Each product is a complete enterprise application. Study real-world implementations of these production patterns.</p></div>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4">
<div class="bg-white border border-gray-200 rounded-xl p-5">
<div class="w-10 h-10 rounded-lg bg-blue-50 flex items-center justify-center mb-3"><svg class="w-5 h-5 text-blue-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path d="M15.75 5.25a3 3 0 013 3m3 0a6 6 0 01-7.029 5.912c-.563-.097-1.159.026-1.563.43L10.5 17.25H8.25v2.25H6v2.25H2.25v-2.818c0-.597.237-1.17.659-1.591l6.499-6.499c.404-.404.527-1 .43-1.563A6 6 0 1121.75 8.25z"/></svg></div>
<h3 class="text-base font-semibold text-gray-900 mb-1">Authentication</h3>
<p class="text-sm text-gray-500">ASP.NET Core Identity with secure password hashing, login, registration, and password reset. Study how cookies and JWT tokens coexist for dual UI + API authentication.</p>
</div>
<div class="bg-white border border-gray-200 rounded-xl p-5">
<div class="w-10 h-10 rounded-lg bg-purple-50 flex items-center justify-center mb-3"><svg class="w-5 h-5 text-purple-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path d="M9 12.75L11.25 15 15 9.75m-3-7.036A11.959 11.959 0 013.598 6 11.99 11.99 0 003 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285z"/></svg></div>
<h3 class="text-base font-semibold text-gray-900 mb-1">Authorization</h3>
<p class="text-sm text-gray-500">Role-based (RBAC) and policy-based access control. Learn how Admin, Manager, and User roles map to feature access, and how declarative policies protect sensitive operations.</p>
</div>
<div class="bg-white border border-gray-200 rounded-xl p-5">
<div class="w-10 h-10 rounded-lg bg-cyan-50 flex items-center justify-center mb-3"><svg class="w-5 h-5 text-cyan-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path d="M8.625 12a.375.375 0 11-.75 0 .375.375 0 01.75 0zM8.625 9.75a.375.375 0 11-.75 0 .375.375 0 01.75 0zM8.625 14.25a.375.375 0 11-.75 0 .375.375 0 01.75 0zM12 12a.375.375 0 11-.75 0 .375.375 0 01.75 0zM12 9.75a.375.375 0 11-.75 0 .375.375 0 01.75 0zM12 14.25a.375.375 0 11-.75 0 .375.375 0 01.75 0zM15.375 12a.375.375 0 11-.75 0 .375.375 0 01.75 0zM15.375 9.75a.375.375 0 11-.75 0 .375.375 0 01.75 0zM15.375 14.25a.375.375 0 11-.75 0 .375.375 0 01.75 0z"/><path stroke-linecap="round" d="M3.75 4.5h16.5a.75.75 0 01.75.75v13.5a.75.75 0 01-.75.75H3.75a.75.75 0 01-.75-.75V5.25a.75.75 0 01.75-.75z"/></svg></div>
<h3 class="text-base font-semibold text-gray-900 mb-1">CQRS + MediatR</h3>
<p class="text-sm text-gray-500">Command Query Responsibility Segregation via MediatR. Study how pipeline behaviors handle validation, logging, and transactions without cluttering business logic.</p>
</div>
<div class="bg-white border border-gray-200 rounded-xl p-5">
<div class="w-10 h-10 rounded-lg bg-emerald-50 flex items-center justify-center mb-3"><svg class="w-5 h-5 text-emerald-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path d="M12 21a9.004 9.004 0 008.716-6.747M12 21a9.004 9.004 0 01-8.716-6.747M12 21c2.485 0 4.5-4.03 4.5-9S14.485 3 12 3m0 18c-2.485 0-4.5-4.03-4.5-9S9.515 3 12 3m0 0a8.997 8.997 0 017.843 4.582M12 3a8.997 8.997 0 00-7.843 4.582m15.686 0A11.953 11.953 0 0112 10.5c-2.998 0-5.74-1.1-7.843-2.918m15.686 0A8.959 8.959 0 0121 12c0 .778-.099 1.533-.284 2.253m0 0A17.919 17.919 0 0112 16.5c-3.162 0-6.133-.815-8.716-2.247m0 0A9.015 9.015 0 013 12c0-1.605.42-3.113 1.157-4.418"/></svg></div>
<h3 class="text-base font-semibold text-gray-900 mb-1">REST API</h3>
<p class="text-sm text-gray-500">ASP.NET Core Minimal APIs with Swagger/OpenAPI docs. Learn proper HTTP status codes, request/response DTOs, JWT-protected endpoints, and API versioning patterns.</p>
</div>
<div class="bg-white border border-gray-200 rounded-xl p-5">
<div class="w-10 h-10 rounded-lg bg-amber-50 flex items-center justify-center mb-3"><svg class="w-5 h-5 text-amber-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path d="M12 6v6h4.5m4.5 0a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg></div>
<h3 class="text-base font-semibold text-gray-900 mb-1">Audit Trail</h3>
<p class="text-sm text-gray-500">Every data modification is tracked with user ID, timestamp, and change details. Study how to implement compliance-ready logging without polluting business logic.</p>
</div>
<div class="bg-white border border-gray-200 rounded-xl p-5">
<div class="w-10 h-10 rounded-lg bg-rose-50 flex items-center justify-center mb-3"><svg class="w-5 h-5 text-rose-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path d="M3.75 3v11.25A2.25 2.25 0 006 16.5h2.25M3.75 3h-1.5m1.5 0h16.5m0 0h1.5m-1.5 0v11.25A2.25 2.25 0 0118 16.5h-2.25m-7.5 0h7.5m-7.5 0l-1 3m8.5-3l1 3m0 0l.5 1.5m-.5-1.5h-9.5m0 0l-.5 1.5m.75-9l3-3 2.148 2.148A12.061 12.061 0 0116.5 7.605"/></svg></div>
<h3 class="text-base font-semibold text-gray-900 mb-1">Reporting</h3>
<p class="text-sm text-gray-500">Built-in dashboards with charts, summary cards, and data grids. Learn how MudBlazor components compose into analytics views with EF Core aggregation queries.</p>
</div>
<div class="bg-white border border-gray-200 rounded-xl p-5">
<div class="w-10 h-10 rounded-lg bg-indigo-50 flex items-center justify-center mb-3"><svg class="w-5 h-5 text-indigo-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path d="M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"/></svg></div>
<h3 class="text-base font-semibold text-gray-900 mb-1">Deployment</h3>
<p class="text-sm text-gray-500">Standard ASP.NET Core project — deploy on Azure, IIS, or Docker in minutes. Single-project monolith means zero distributed complexity. Works on Windows, Linux, and macOS.</p>
</div>
<div class="bg-white border border-gray-200 rounded-xl p-5">
<div class="w-10 h-10 rounded-lg bg-orange-50 flex items-center justify-center mb-3"><svg class="w-5 h-5 text-orange-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path d="M3.75 21h16.5M4.5 3h15M5.25 3v18m13.5-18v18M9 6.75h1.5m-1.5 3h1.5m-1.5 3h1.5m3-6H15m-1.5 3H15m-1.5 3H15M9 21v-3.375c0-.621.504-1.125 1.125-1.125h3.75c.621 0 1.125.504 1.125 1.125V21"/></svg></div>
<h3 class="text-base font-semibold text-gray-900 mb-1">Multi-Tenant SaaS</h3>
<p class="text-sm text-gray-500">Two products include full multi-tenancy with tenant isolation. Study how to design a SaaS architecture where multiple organizations share one database with zero data leakage.</p>
</div>
</div>
</div>
</section>
<!-- SEO: WHY THIS IS DIFFERENT FROM CRUD TEMPLATES -->
<section class="py-16 lg:py-20">
<div class="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-10"><div class="inline-flex items-center gap-1.5 bg-red-50 border border-red-200 rounded-full px-3.5 py-1 mb-4"><span class="text-red-700 text-xs font-medium tracking-wide">The Difference</span></div><h2 class="text-3xl sm:text-4xl font-bold text-gray-900">Why This Is <span class="gradient-text">Different</span> from CRUD Templates</h2><p class="text-gray-500 mt-3 max-w-2xl mx-auto">The internet is full of "Blazor CRUD tutorials." Here's what they never include — and what every Indotalent product ships with.</p></div>
<div class="overflow-x-auto bg-white border border-gray-200 rounded-2xl shadow-sm">
<table class="w-full text-sm">
<thead><tr class="border-b border-gray-200 bg-gray-50/80"><th class="text-left px-4 py-3 font-semibold text-gray-700">Feature</th><th class="text-center px-4 py-3 font-semibold text-red-600">Typical CRUD Tutorial</th><th class="text-center px-4 py-3 font-semibold text-emerald-600">Indotalent Source Code</th></tr></thead>
<tbody>
<tr class="border-b border-gray-100"><td class="px-4 py-3 text-gray-700">Authentication & Login</td><td class="text-center text-red-500">None or hardcoded</td><td class="text-center text-emerald-600 font-medium">Full Identity + JWT</td></tr>
<tr class="border-b border-gray-100"><td class="px-4 py-3 text-gray-700">Role-Based Authorization</td><td class="text-center text-red-500">Not included</td><td class="text-center text-emerald-600 font-medium">Admin, Manager, User roles</td></tr>
<tr class="border-b border-gray-100"><td class="px-4 py-3 text-gray-700">Audit Trail</td><td class="text-center text-red-500">Not included</td><td class="text-center text-emerald-600 font-medium">Every action logged</td></tr>
<tr class="border-b border-gray-100"><td class="px-4 py-3 text-gray-700">REST API + Swagger</td><td class="text-center text-red-500">Not included</td><td class="text-center text-emerald-600 font-medium">Full OpenAPI docs</td></tr>
<tr class="border-b border-gray-100"><td class="px-4 py-3 text-gray-700">Seed Data</td><td class="text-center text-red-500">None</td><td class="text-center text-emerald-600 font-medium">Complete demo dataset</td></tr>
<tr class="border-b border-gray-100"><td class="px-4 py-3 text-gray-700">Database Migrations</td><td class="text-center text-red-500">Manual scripts</td><td class="text-center text-emerald-600 font-medium">EF Core migrations</td></tr>
<tr class="border-b border-gray-100"><td class="px-4 py-3 text-gray-700">Validation</td><td class="text-center text-red-500">Basic or none</td><td class="text-center text-emerald-600 font-medium">FluentValidation</td></tr>
<tr class="border-b border-gray-100"><td class="px-4 py-3 text-gray-700">Error Handling</td><td class="text-center text-red-500">Try-catch everywhere</td><td class="text-center text-emerald-600 font-medium">Global exception middleware</td></tr>
<tr class="border-b border-gray-100"><td class="px-4 py-3 text-gray-700">Architecture Pattern</td><td class="text-center text-red-500">No pattern</td><td class="text-center text-emerald-600 font-medium">VSA + CQRS</td></tr>
<tr class="border-b border-gray-100"><td class="px-4 py-3 text-gray-700">Dashboard & Reporting</td><td class="text-center text-red-500">Not included</td><td class="text-center text-emerald-600 font-medium">Charts and KPIs</td></tr>
<tr class="border-b border-gray-100"><td class="px-4 py-3 text-gray-700">Multi-Tenant (SaaS)</td><td class="text-center text-red-500">Not included</td><td class="text-center text-emerald-600 font-medium">2 SaaS products</td></tr>
<tr class="border-b border-gray-100"><td class="px-4 py-3 text-gray-700">Deployment-Ready</td><td class="text-center text-red-500">No</td><td class="text-center text-emerald-600 font-medium">Azure, IIS, Docker</td></tr>
<tr><td class="px-4 py-3 text-gray-700 font-semibold">Number of Features</td><td class="text-center text-red-500 font-bold">3-5 CRUD pages</td><td class="text-center text-emerald-600 font-bold">50-100 end-to-end features</td></tr>
</tbody>
</table>
</div>
<p class="text-center text-sm text-gray-500 mt-4">CRUD tutorials teach you syntax. <strong class="text-gray-800">Indotalent teaches you architecture.</strong></p>
</div>
</section>
<!-- SEO: ARCHITECTURE DEEP DIVE -->
<section class="py-16 lg:py-20 bg-gray-50/80">
<div class="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-10"><div class="inline-flex items-center gap-1.5 bg-amber-50 border border-amber-200 rounded-full px-3.5 py-1 mb-4"><span class="text-amber-700 text-xs font-medium tracking-wide">Architecture</span></div><h2 class="text-3xl sm:text-4xl font-bold text-gray-900">Architecture That <span class="gradient-text">Developers Love</span></h2><p class="text-gray-500 mt-3 max-w-2xl mx-auto">Every Indotalent product uses the same production-proven patterns: Vertical Slice Architecture, CQRS via MediatR, and secure REST APIs.</p></div>
<div class="grid grid-cols-1 md:grid-cols-3 gap-5">
<div class="bg-white border border-gray-200 rounded-xl p-6">
<div class="w-10 h-10 rounded-lg bg-rose-50 flex items-center justify-center mb-4"><svg class="w-5 h-5 text-rose-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path d="M3.75 6A2.25 2.25 0 016 3.75h2.25A2.25 2.25 0 0110.5 6v2.25a2.25 2.25 0 01-2.25 2.25H6a2.25 2.25 0 01-2.25-2.25V6zM3.75 15.75A2.25 2.25 0 016 13.5h2.25a2.25 2.25 0 012.25 2.25V18a2.25 2.25 0 01-2.25 2.25H6A2.25 2.25 0 013.75 18v-2.25zM13.5 6a2.25 2.25 0 012.25-2.25H18A2.25 2.25 0 0120.25 6v2.25A2.25 2.25 0 0118 10.5h-2.25a2.25 2.25 0 01-2.25-2.25V6zM13.5 15.75a2.25 2.25 0 012.25-2.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-2.25A2.25 2.25 0 0113.5 18v-2.25z"/></svg></div>
<h3 class="text-base font-semibold text-gray-900 mb-2">Vertical Slice Architecture</h3>
<p class="text-sm text-gray-500">Instead of scattering code across Controller, Service, Repository, and Domain layers, VSA organizes every feature in a single folder. Each slice contains its own endpoint, MediatR handler, FluentValidation validator, and EF Core queries — all in one place. This maximizes cohesion, minimizes cognitive overhead, and makes every feature self-contained and easy to understand. <strong>Add a feature without touching 5 different projects.</strong></p>
</div>
<div class="bg-white border border-gray-200 rounded-xl p-6">
<div class="w-10 h-10 rounded-lg bg-cyan-50 flex items-center justify-center mb-4"><svg class="w-5 h-5 text-cyan-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path d="M8.625 12a.375.375 0 11-.75 0 .375.375 0 01.75 0zM8.625 9.75a.375.375 0 11-.75 0 .375.375 0 01.75 0zM8.625 14.25a.375.375 0 11-.75 0 .375.375 0 01.75 0zM12 12a.375.375 0 11-.75 0 .375.375 0 01.75 0zM12 9.75a.375.375 0 11-.75 0 .375.375 0 01.75 0zM12 14.25a.375.375 0 11-.75 0 .375.375 0 01.75 0zM15.375 12a.375.375 0 11-.75 0 .375.375 0 01.75 0zM15.375 9.75a.375.375 0 11-.75 0 .375.375 0 01.75 0zM15.375 14.25a.375.375 0 11-.75 0 .375.375 0 01.75 0z"/><path stroke-linecap="round" d="M3.75 4.5h16.5a.75.75 0 01.75.75v13.5a.75.75 0 01-.75.75H3.75a.75.75 0 01-.75-.75V5.25a.75.75 0 01.75-.75z"/></svg></div>
<h3 class="text-base font-semibold text-gray-900 mb-2">CQRS via MediatR</h3>
<p class="text-sm text-gray-500">Commands (writes) and Queries (reads) are separated into distinct MediatR handlers. This CQRS pattern keeps your code clean, testable, and optimized — read queries use EF Core no-tracking for maximum performance, while command handlers encapsulate business logic with full change tracking. <strong>Pipeline behaviors</strong> handle cross-cutting concerns like validation, logging, and transactions without cluttering your business code.</p>
</div>
<div class="bg-white border border-gray-200 rounded-xl p-6">
<div class="w-10 h-10 rounded-lg bg-emerald-50 flex items-center justify-center mb-4"><svg class="w-5 h-5 text-emerald-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path d="M12 21a9.004 9.004 0 008.716-6.747M12 21a9.004 9.004 0 01-8.716-6.747M12 21c2.485 0 4.5-4.03 4.5-9S14.485 3 12 3m0 18c-2.485 0-4.5-4.03-4.5-9S9.515 3 12 3m0 0a8.997 8.997 0 017.843 4.582M12 3a8.997 8.997 0 00-7.843 4.582m15.686 0A11.953 11.953 0 0112 10.5c-2.998 0-5.74-1.1-7.843-2.918m15.686 0A8.959 8.959 0 0121 12c0 .778-.099 1.533-.284 2.253m0 0A17.919 17.919 0 0112 16.5c-3.162 0-6.133-.815-8.716-2.247m0 0A9.015 9.015 0 013 12c0-1.605.42-3.113 1.157-4.418"/></svg></div>
<h3 class="text-base font-semibold text-gray-900 mb-2">REST API + Identity</h3>
<p class="text-sm text-gray-500">Every product exposes a complete REST Web API with Swagger/OpenAPI documentation. The API is secured with JWT bearer token authentication on top of ASP.NET Core Identity. You get user registration, login, role management, and policy-based authorization out of the box. <strong>Backend and frontend share the same authentication</strong> — cookies for Razor pages, JWT for API clients. Ready for mobile apps, third-party integrations, or microservices.</p>
</div>
</div>
</div>
</section>
<!-- SEO: SECURITY -->
<section class="py-16 lg:py-20">
<div class="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-10"><div class="inline-flex items-center gap-1.5 bg-green-50 border border-green-200 rounded-full px-3.5 py-1 mb-4"><span class="text-green-700 text-xs font-medium tracking-wide">Security</span></div><h2 class="text-3xl sm:text-4xl font-bold text-gray-900">Enterprise-Grade <span class="gradient-text">Security</span> Built In</h2></div>
<div class="grid grid-cols-1 md:grid-cols-2 gap-8">
<div>
<p class="text-gray-600 leading-relaxed text-sm mb-4">Security is not an afterthought in Indotalent products — it is <strong class="text-gray-800">baked into the architecture from the ground up</strong>. Every application ships with a fully configured authentication and authorization system that you would otherwise spend weeks implementing from scratch.</p>
<p class="text-gray-600 leading-relaxed text-sm mb-4">The security stack includes <strong class="text-gray-800">ASP.NET Core Identity</strong> for user and role management with secure password hashing. <strong class="text-gray-800">JWT (JSON Web Token)</strong> authentication protects all REST API endpoints, while cookie-based authentication handles Blazor Server UI access. Both schemes run simultaneously — your Razor components and API endpoints are protected with zero additional configuration.</p>
<p class="text-gray-600 leading-relaxed text-sm">Role-based access control (RBAC) restricts features by user role. Policy-based authorization provides fine-grained control — define policies like "CanApproveOrders" or "CanViewFinancialReports" and apply them declaratively. <strong class="text-gray-800">Every data modification is tracked</strong> with user ID and timestamp, creating a complete audit trail for compliance and debugging.</p>
</div>
<div class="bg-gray-50 rounded-2xl p-6 border border-gray-200">
<h3 class="font-semibold text-gray-900 mb-3 text-sm">Security Features in Every Product</h3>
<ul class="space-y-2 text-sm text-gray-600">
<li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg><span><strong class="text-gray-800">Authentication</strong> — ASP.NET Core Identity with secure password hashing, login, registration, and password reset flows</span></li>
<li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg><span><strong class="text-gray-800">JWT Token Auth</strong> — Stateless API authentication with configurable token expiration and refresh</span></li>
<li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg><span><strong class="text-gray-800">Role-Based Access Control</strong> — Predefined roles (Admin, Manager, User) with granular permission sets</span></li>
<li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg><span><strong class="text-gray-800">Policy-Based Authorization</strong> — Declarative access policies for fine-grained feature control</span></li>
<li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg><span><strong class="text-gray-800">Audit Trail</strong> — Every create, update, and delete operation logged with user, timestamp, and change details</span></li>
<li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg><span><strong class="text-gray-800">SignalR Protection</strong> — Real-time Blazor Server connections secured with [Authorize] attributes</span></li>
</ul>
</div>
</div>
</div>
</section>
<!-- SEO: WHO BENEFITS -->
<section class="py-16 lg:py-20 bg-gray-50/80">
<div class="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-10"><div class="inline-flex items-center gap-1.5 bg-purple-50 border border-purple-200 rounded-full px-3.5 py-1 mb-4"><span class="text-purple-700 text-xs font-medium tracking-wide">Who It's For</span></div><h2 class="text-3xl sm:text-4xl font-bold text-gray-900">Built for <span class="gradient-text">Every Developer</span></h2><p class="text-gray-500 mt-3 max-w-2xl mx-auto">Whether you're writing your first line of C# or architecting enterprise systems, Indotalent products meet you where you are.</p></div>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-5">
<div class="bg-white border border-gray-200 rounded-xl p-5">
<div class="w-10 h-10 rounded-lg bg-blue-50 flex items-center justify-center mb-3"><svg class="w-5 h-5 text-blue-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path d="M4.26 10.147a60.436 60.436 0 00-.491 6.347A48.627 48.627 0 0112 20.904a48.627 48.627 0 018.232-4.41 60.46 60.46 0 00-.491-6.347m-15.482 0a50.57 50.57 0 00-2.658-.813A59.905 59.905 0 0112 3.493a59.902 59.902 0 0110.399 5.84c-.896.248-1.783.52-2.658.814m-15.482 0A50.697 50.697 0 0112 13.489a50.702 50.702 0 017.74-3.342M6.75 15a.75.75 0 100-1.5.75.75 0 000 1.5zm0 0v-3.675A55.378 55.378 0 0112 8.443m-7.007 11.55A5.981 5.981 0 006.75 15.75v-1.5"/></svg></div>
<h3 class="text-base font-semibold text-gray-900 mb-1">Students & Beginners</h3>
<p class="text-sm text-gray-500">Learn .NET the right way — by studying <strong>real, working enterprise code</strong>. See how authentication connects to the database, how the UI calls the API, and how 50+ features coexist in one project. Skip the tutorial rabbit hole and study code that actually ships.</p>
</div>
<div class="bg-white border border-gray-200 rounded-xl p-5">
<div class="w-10 h-10 rounded-lg bg-amber-50 flex items-center justify-center mb-3"><svg class="w-5 h-5 text-amber-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path d="M20.25 14.15v4.25c0 1.094-.787 2.036-1.872 2.18-2.087.277-4.216.42-6.378.42s-4.291-.143-6.378-.42c-1.085-.144-1.872-1.086-1.872-2.18v-4.25m16.5 0a2.18 2.18 0 00.75-1.661V8.706c0-1.081-.768-2.015-1.837-2.175a48.114 48.114 0 00-3.413-.387m4.5 8.006c-.194.165-.42.295-.673.38A23.978 23.978 0 0112 15.75c-2.648 0-5.195-.429-7.577-1.22a2.016 2.016 0 01-.673-.38m0 0A2.18 2.18 0 013 12.489V8.706c0-1.081.768-2.015 1.837-2.175a48.111 48.111 0 013.413-.387m7.5 0V5.25A2.25 2.25 0 0013.5 3h-3a2.25 2.25 0 00-2.25 2.25v.894m7.5 0a48.667 48.667 0 00-7.5 0M12 12.75h.008v.008H12v-.008z"/></svg></div>
<h3 class="text-base font-semibold text-gray-900 mb-1">Freelancers & Agencies</h3>
<p class="text-sm text-gray-500">Stop building CRUD from scratch for every client. For <strong>$21 per license</strong>, you get a complete working application you can rebrand, customize, and deploy. Charge clients for implementation, not foundation. Save 5-8 weeks per project.</p>
</div>
<div class="bg-white border border-gray-200 rounded-xl p-5">
<div class="w-10 h-10 rounded-lg bg-emerald-50 flex items-center justify-center mb-3"><svg class="w-5 h-5 text-emerald-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path d="M17.25 6.75L22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3l-4.5 16.5"/></svg></div>
<h3 class="text-base font-semibold text-gray-900 mb-1">Experienced Developers</h3>
<p class="text-sm text-gray-500">Study a complete <strong>Vertical Slice Architecture</strong> implementation in a production .NET 10 app. See how CQRS, MediatR pipeline behaviors, FluentValidation, and EF Core come together in a clean monolith. Apply these patterns to your own projects immediately.</p>
</div>
<div class="bg-white border border-gray-200 rounded-xl p-5">
<div class="w-10 h-10 rounded-lg bg-violet-50 flex items-center justify-center mb-3"><svg class="w-5 h-5 text-violet-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path d="M3.75 3v11.25A2.25 2.25 0 006 16.5h2.25M3.75 3h-1.5m1.5 0h16.5m0 0h1.5m-1.5 0v11.25A2.25 2.25 0 0118 16.5h-2.25m-7.5 0h7.5m-7.5 0l-1 3m8.5-3l1 3m0 0l.5 1.5m-.5-1.5h-9.5m0 0l-.5 1.5m.75-9l3-3 2.148 2.148A12.061 12.061 0 0116.5 7.605"/></svg></div>
<h3 class="text-base font-semibold text-gray-900 mb-1">Teams & Startups</h3>
<p class="text-sm text-gray-500">Launch your MVP in days, not months. Each product is a <strong>fully functional application</strong> you can deploy as-is or extend. Single-project structure means zero infrastructure complexity. Onboard new developers in hours, not weeks — one feature, one folder, zero confusion.</p>
</div>
</div>
<div class="text-center mt-8"><a href="#products" class="btn-primary text-sm px-6 py-3">Find Your Product &rarr;</a></div>
</div>
</section>
<!-- COMPARISON: AI vs Indotalent -->
<section id="comparison" class="py-20 lg:py-28">
<div class="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-12"><div class="inline-flex items-center gap-1.5 bg-red-50 border border-red-200 rounded-full px-3.5 py-1 mb-4"><span class="text-red-700 text-xs font-medium tracking-wide">The Truth</span></div><h2 class="text-3xl sm:text-4xl font-bold text-gray-900">AI-Generated Code <span class="gradient-text">vs</span> Indotalent</h2><p class="text-gray-500 mt-3">Why copying prompts into ChatGPT won't ship your enterprise app.</p></div>
<div class="overflow-x-auto bg-white border border-gray-200 rounded-2xl shadow-sm">
<table class="w-full comparison-table">
<thead><tr class="border-b border-gray-200 bg-gray-50/80"><th class="text-left px-4 py-3 text-sm font-semibold text-gray-700">Requirement</th><th class="text-center px-4 py-3 text-sm font-semibold text-red-600">AI-Generated</th><th class="text-center px-4 py-3 text-sm font-semibold text-emerald-600">Indotalent</th></tr></thead>
<tbody>
<tr class="border-b border-gray-100"><td class="text-gray-700 font-medium">End-to-End Features</td><td class="text-center text-red-500"><svg class="w-5 h-5 inline" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M6 18L18 6M6 6l12 12"/></svg></td><td class="text-center text-emerald-500"><svg class="w-5 h-5 inline" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg></td></tr>
<tr class="border-b border-gray-100"><td class="text-gray-700 font-medium">Secure Authentication</td><td class="text-center text-red-500"><svg class="w-5 h-5 inline" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M6 18L18 6M6 6l12 12"/></svg></td><td class="text-center text-emerald-500"><svg class="w-5 h-5 inline" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg></td></tr>
<tr class="border-b border-gray-100"><td class="text-gray-700 font-medium">Clean Architecture</td><td class="text-center text-red-500"><svg class="w-5 h-5 inline" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M6 18L18 6M6 6l12 12"/></svg></td><td class="text-center text-emerald-500"><svg class="w-5 h-5 inline" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg></td></tr>
<tr class="border-b border-gray-100"><td class="text-gray-700 font-medium">Compiles & Runs First Try</td><td class="text-center text-red-500"><svg class="w-5 h-5 inline" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M6 18L18 6M6 6l12 12"/></svg></td><td class="text-center text-emerald-500"><svg class="w-5 h-5 inline" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg></td></tr>
<tr class="border-b border-gray-100"><td class="text-gray-700 font-medium">Database Migrations</td><td class="text-center text-red-500"><svg class="w-5 h-5 inline" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M6 18L18 6M6 6l12 12"/></svg></td><td class="text-center text-emerald-500"><svg class="w-5 h-5 inline" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg></td></tr>
<tr class="border-b border-gray-100"><td class="text-gray-700 font-medium">Seed Data Included</td><td class="text-center text-red-500"><svg class="w-5 h-5 inline" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M6 18L18 6M6 6l12 12"/></svg></td><td class="text-center text-emerald-500"><svg class="w-5 h-5 inline" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg></td></tr>
<tr><td class="text-gray-700 font-medium">Just $21</td><td class="text-center text-red-500"><svg class="w-5 h-5 inline" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M6 18L18 6M6 6l12 12"/></svg></td><td class="text-center text-emerald-500"><svg class="w-5 h-5 inline" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg></td></tr>
</tbody>
</table>
</div>
</div>
</section>
<!-- PRICING -->
<section id="pricing" class="py-20 lg:py-28 bg-gray-50/80">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-14"><div class="inline-flex items-center gap-1.5 bg-orange-50 border border-orange-200 rounded-full px-3.5 py-1 mb-4"><span class="text-brand-700 text-xs font-medium tracking-wide">Pricing</span></div><h2 class="text-3xl sm:text-4xl font-bold text-gray-900">Fair Pricing for <span class="gradient-text">Developers</span></h2></div>
<div class="grid grid-cols-1 md:grid-cols-3 gap-6 max-w-5xl mx-auto">
<div class="pricing-card text-center"><h3 class="text-lg font-semibold text-gray-900 mb-1">Without Support</h3><p class="text-sm text-gray-500 mb-6">Complete Source Code</p><div class="text-4xl font-extrabold text-gray-900 mb-6"><span class="text-gray-400 line-through text-2xl">$49</span> $21</div><ul class="space-y-3 text-sm text-gray-500 mb-8 text-left"><li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>Complete Source Code</li><li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>Instant Download</li><li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>Lifetime Access</li><li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>Admin Template HTML (Free Bonus)</li><li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>Admin Template MVC (Free Bonus)</li><li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>Admin Template Razor (Free Bonus)</li></ul><a href="#products" class="btn-secondary text-sm w-full block text-center py-3">Get Started</a></div>
<div class="pricing-card featured text-center"><h3 class="text-lg font-semibold text-gray-900 mb-1">With Support</h3><p class="text-sm text-gray-500 mb-6">Source Code + Support</p><div class="text-4xl font-extrabold text-gray-900 mb-6">$49</div><ul class="space-y-3 text-sm text-gray-500 mb-8 text-left"><li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>Complete Source Code</li><li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>Instant Download</li><li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>Email Support</li><li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>Admin Template HTML (Free Bonus)</li><li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>Admin Template MVC (Free Bonus)</li><li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>Admin Template Razor (Free Bonus)</li></ul><a href="#products" class="btn-primary text-sm w-full block text-center py-3">Get Started</a></div>
<div class="pricing-card text-center"><h3 class="text-lg font-semibold text-gray-900 mb-1">Enterprise</h3><p class="text-sm text-gray-500 mb-6">Source + Custom Dev</p><div class="text-4xl font-extrabold text-gray-900 mb-6"><span class="text-gray-400 line-through text-2xl">$2200</span> $1200</div><ul class="space-y-3 text-sm text-gray-500 mb-8 text-left"><li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>Complete Source Code</li><li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>Priority Support</li><li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>Custom Development — 1 FTE / month, unlimited requests</li><li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>Admin Template HTML (Free Bonus)</li><li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>Admin Template MVC (Free Bonus)</li><li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>Admin Template Razor (Free Bonus)</li></ul><a href="mailto:hi@indotalent.com" class="btn-secondary text-sm w-full block text-center py-3">Contact Us</a></div>
<div class="pricing-card featured md:col-span-3 text-left">
<div class="flex flex-col lg:flex-row lg:items-center gap-8">
<div class="lg:w-1/3 lg:border-r lg:border-orange-200 lg:pr-8">
<span class="inline-flex items-center gap-1.5 bg-orange-100 text-brand-700 text-xs font-bold uppercase tracking-wide rounded-full px-3 py-1.5 mb-4">Best Value Bundle</span>
<h3 class="text-2xl font-bold text-gray-900 mb-2">Freelancer &amp; Developer Suite</h3>
<div class="text-4xl font-extrabold text-gray-900 mb-6">$149</div>
<a href="https://code.indotalent.com/checkout/buy/c57da391-1b07-4be3-aa03-9609f7788ace?embed=1&logo=0&discount=0" class="lemonsqueezy-button btn-primary text-sm w-full block text-center py-3">Buy Freelancer &amp; Developer Suite</a>
</div>
<div class="lg:w-2/3">
<div class="grid grid-cols-1 sm:grid-cols-2 gap-x-6 gap-y-3 text-sm text-gray-600">
<ul class="space-y-3">
<li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>Complete Source Code</li>
<li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>CRM (Customer Relationship Management)</li>
<li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>HRM (Human Resource Management)</li>
<li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>CMS (Clinic Management System)</li>
<li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>OMS (Order Management System)</li>
<li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>SCM (Supply Chain Management)</li>
<li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>SWM (Spa &amp; Wellness Management)</li>
<li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>WMS (Warehouse Management System)</li>
</ul>
<ul class="space-y-3">
<li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>Multitenant CRM</li>
<li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>Multitenant HRM</li>
<li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>Instant Download</li>
<li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>Email Support</li>
<li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>Admin Template HTML (Free Bonus)</li>
<li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>Admin Template Razor (Free Bonus)</li>
<li class="flex items-start gap-2"><svg class="w-4 h-4 text-emerald-500 mt-0.5 shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0Z"/></svg>Admin Template MVC (Free Bonus)</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="mt-12 max-w-5xl mx-auto">
<div class="bg-gradient-to-r from-emerald-50 to-green-50 border border-emerald-200 rounded-2xl p-6 sm:p-8">
<div class="flex flex-col md:flex-row items-center gap-6">
<div class="flex-shrink-0">
<span class="inline-flex items-center gap-1.5 bg-emerald-600 text-white text-xs font-bold uppercase tracking-wide rounded-full px-3 py-1.5">Free Bonus</span>
</div>
<div class="flex-1 text-center md:text-left">
<h3 class="text-lg sm:text-xl font-bold text-gray-900 mb-1">3 Admin Templates Included Free</h3>
<p class="text-sm text-gray-600">Every purchase — at any tier — comes with the <strong class="text-gray-800">Admin Template HTML</strong>, <strong class="text-gray-800">Admin Template MVC</strong>, and <strong class="text-gray-800">Admin Template Razor</strong> at <strong class="text-emerald-700">no extra cost</strong>.</p>
</div>
<div class="flex-shrink-0">
<a href="#bonus" class="btn-secondary text-sm px-6 py-3 inline-block">View Free Bonus</a>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- FAQ -->
<section class="py-20 lg:py-28">
<div class="max-w-3xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-12"><div class="inline-flex items-center gap-1.5 bg-orange-50 border border-orange-200 rounded-full px-3.5 py-1 mb-4"><span class="text-brand-700 text-xs font-medium tracking-wide">FAQ</span></div><h2 class="text-3xl sm:text-4xl font-bold text-gray-900">Frequently <span class="gradient-text">Asked Questions</span></h2></div>
<div class="space-y-4" x-data="{open:null}">
<div class="border border-gray-200 rounded-xl overflow-hidden"><button @click="open = open === 1 ? null : 1" class="w-full flex items-center justify-between p-5 text-left bg-white hover:bg-gray-50 transition-colors"><span class="font-semibold text-gray-900">What do I get when I purchase?</span><svg class="w-5 h-5 text-gray-400 shrink-0 ml-4" :class="{'rotate-180': open === 1}" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M19.5 8.25l-7.5 7.5-7.5-7.5"/></svg></button><div x-show="open === 1" x-cloak class="px-5 pb-5 text-sm text-gray-600">You get the <strong>complete, unrestricted source code</strong> of the entire application. A single .NET 10 project with all features, Vertical Slice Architecture implementation, EF Core migrations, seed data, and full configuration. <strong>Clone, set your connection string, press F5, and it runs immediately.</strong> No missing pieces. No hidden dependencies.</div></div>
<div class="border border-gray-200 rounded-xl overflow-hidden"><button @click="open = open === 2 ? null : 2" class="w-full flex items-center justify-between p-5 text-left bg-white hover:bg-gray-50 transition-colors"><span class="font-semibold text-gray-900">Can beginners use this source code?</span><svg class="w-5 h-5 text-gray-400 shrink-0 ml-4" :class="{'rotate-180': open === 2}" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M19.5 8.25l-7.5 7.5-7.5-7.5"/></svg></button><div x-show="open === 2" x-cloak class="px-5 pb-5 text-sm text-gray-600">Absolutely! The code is <strong>clean, well-structured, and self-documenting</strong>. Beginners can learn by studying real production patterns — authentication flows, CRUD operations, REST API endpoints, and database design — all in a single project. You'll need Visual Studio 2022+ and SQL Server (LocalDB or Express, both free). See our <a href="for-beginners.html" class="text-brand-600 hover:text-brand-700 font-medium">Beginner's Guide</a>.</div></div>
<div class="border border-gray-200 rounded-xl overflow-hidden"><button @click="open = open === 3 ? null : 3" class="w-full flex items-center justify-between p-5 text-left bg-white hover:bg-gray-50 transition-colors"><span class="font-semibold text-gray-900">Can I use this commercially?</span><svg class="w-5 h-5 text-gray-400 shrink-0 ml-4" :class="{'rotate-180': open === 3}" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M19.5 8.25l-7.5 7.5-7.5-7.5"/></svg></button><div x-show="open === 3" x-cloak class="px-5 pb-5 text-sm text-gray-600">Yes! Each license covers <strong>one end product per client project</strong>. You can charge clients for customization, implementation, and deployment. Freelancers and agencies save 5-8 weeks per project. Each new client project requires a separate $21 license. See our <a href="license.html" class="text-brand-600 hover:text-brand-700 font-medium">License page</a> and <a href="for-freelancers.html" class="text-brand-600 hover:text-brand-700 font-medium">Freelancer Guide</a>.</div></div>
<div class="border border-gray-200 rounded-xl overflow-hidden"><button @click="open = open === 4 ? null : 4" class="w-full flex items-center justify-between p-5 text-left bg-white hover:bg-gray-50 transition-colors"><span class="font-semibold text-gray-900">Does it include REST API?</span><svg class="w-5 h-5 text-gray-400 shrink-0 ml-4" :class="{'rotate-180': open === 4}" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M19.5 8.25l-7.5 7.5-7.5-7.5"/></svg></button><div x-show="open === 4" x-cloak class="px-5 pb-5 text-sm text-gray-600">Yes! Every product exposes a <strong>complete REST Web API</strong> built with ASP.NET Core Minimal APIs. The API includes <strong>Swagger/OpenAPI documentation</strong>, JWT authentication, and proper HTTP status codes. You can use the API for mobile apps, third-party integrations, or a separate frontend — it's fully functional and documented.</div></div>
<div class="border border-gray-200 rounded-xl overflow-hidden"><button @click="open = open === 5 ? null : 5" class="w-full flex items-center justify-between p-5 text-left bg-white hover:bg-gray-50 transition-colors"><span class="font-semibold text-gray-900">Does it include authentication and authorization?</span><svg class="w-5 h-5 text-gray-400 shrink-0 ml-4" :class="{'rotate-180': open === 5}" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M19.5 8.25l-7.5 7.5-7.5-7.5"/></svg></button><div x-show="open === 5" x-cloak class="px-5 pb-5 text-sm text-gray-600">Yes — it's <strong>fully pre-configured</strong>. You get <strong>ASP.NET Core Identity</strong> for user management with secure password hashing, <strong>JWT (JSON Web Token)</strong> authentication for the REST API, <strong>role-based access control (RBAC)</strong> with Admin/Manager/User roles, and <strong>policy-based authorization</strong> for fine-grained access. Both the Blazor UI and REST API are protected out of the box.</div></div>
<div class="border border-gray-200 rounded-xl overflow-hidden"><button @click="open = open === 6 ? null : 6" class="w-full flex items-center justify-between p-5 text-left bg-white hover:bg-gray-50 transition-colors"><span class="font-semibold text-gray-900">Does it support SQL Server and PostgreSQL?</span><svg class="w-5 h-5 text-gray-400 shrink-0 ml-4" :class="{'rotate-180': open === 6}" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M19.5 8.25l-7.5 7.5-7.5-7.5"/></svg></button><div x-show="open === 6" x-cloak class="px-5 pb-5 text-sm text-gray-600"><strong>SQL Server</strong> is fully tested and ready to use with EF Core migrations and seed data included. <strong>PostgreSQL</strong> support is already scaffolded in the codebase — the EF Core provider and connection string configuration are set up — but it <strong>has not been fully tested yet</strong>. You can switch between databases by changing the connection string and provider in <code>Program.cs</code>.</div></div>
<div class="border border-gray-200 rounded-xl overflow-hidden"><button @click="open = open === 7 ? null : 7" class="w-full flex items-center justify-between p-5 text-left bg-white hover:bg-gray-50 transition-colors"><span class="font-semibold text-gray-900">Can I deploy it on Azure, IIS, or Docker?</span><svg class="w-5 h-5 text-gray-400 shrink-0 ml-4" :class="{'rotate-180': open === 7}" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M19.5 8.25l-7.5 7.5-7.5-7.5"/></svg></button><div x-show="open === 7" x-cloak class="px-5 pb-5 text-sm text-gray-600">Yes! The application is a standard <strong>ASP.NET Core project</strong> and can be deployed anywhere .NET 10 runs: <strong>Azure App Service</strong>, <strong>IIS (Internet Information Services)</strong>, or <strong>Docker containers</strong>. It's a single-project monolith — no distributed complexity. Build the project, publish the output, configure your connection string, and deploy. Works on Windows, Linux, and macOS.</div></div>
<div class="border border-gray-200 rounded-xl overflow-hidden"><button @click="open = open === 8 ? null : 8" class="w-full flex items-center justify-between p-5 text-left bg-white hover:bg-gray-50 transition-colors"><span class="font-semibold text-gray-900">How secure is the application?</span><svg class="w-5 h-5 text-gray-400 shrink-0 ml-4" :class="{'rotate-180': open === 8}" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M19.5 8.25l-7.5 7.5-7.5-7.5"/></svg></button><div x-show="open === 8" x-cloak class="px-5 pb-5 text-sm text-gray-600">Security is <strong>baked into the architecture</strong>. The application includes: ASP.NET Core Identity with password hashing, JWT + cookie dual authentication, role-based and policy-based authorization, audit trail (every create/update/delete is logged with user ID and timestamp), and SignalR connection protection with <code>[Authorize]</code> attributes. Source code and connection strings <strong>never leave the server</strong> with Blazor Server. This is enterprise-grade security ready for production use.</div></div>
<div class="border border-gray-200 rounded-xl overflow-hidden"><button @click="open = open === 9 ? null : 9" class="w-full flex items-center justify-between p-5 text-left bg-white hover:bg-gray-50 transition-colors"><span class="font-semibold text-gray-900">What architecture pattern is used?</span><svg class="w-5 h-5 text-gray-400 shrink-0 ml-4" :class="{'rotate-180': open === 9}" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M19.5 8.25l-7.5 7.5-7.5-7.5"/></svg></button><div x-show="open === 9" x-cloak class="px-5 pb-5 text-sm text-gray-600">All products use <strong>Vertical Slice Architecture (VSA)</strong> — the modern alternative to traditional layered architecture. Each feature (Create Order, Get Customer, etc.) lives in its own folder with its endpoint, MediatR handler, FluentValidation validator, and EF Core queries all in one place. We also implement <strong>CQRS via MediatR</strong> for clean separation of commands and queries. This architecture is <strong>AI-friendly</strong>, <strong>beginner-friendly</strong>, and <strong>production-proven</strong>. Read our <a href="blog/vsa-introduction.html" class="text-brand-600 hover:text-brand-700 font-medium">VSA Introduction</a>.</div></div>
<div class="border border-gray-200 rounded-xl overflow-hidden"><button @click="open = open === 10 ? null : 10" class="w-full flex items-center justify-between p-5 text-left bg-white hover:bg-gray-50 transition-colors"><span class="font-semibold text-gray-900">Why $21? Is this a trial or limited version?</span><svg class="w-5 h-5 text-gray-400 shrink-0 ml-4" :class="{'rotate-180': open === 10}" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M19.5 8.25l-7.5 7.5-7.5-7.5"/></svg></button><div x-show="open === 10" x-cloak class="px-5 pb-5 text-sm text-gray-600">No trial, no limits. You get the <strong>full, unrestricted source code</strong>. The $21 price is intentional to make enterprise-grade architecture accessible to every developer, freelancer, and small agency. The original price is $49.</div></div>
<div class="border border-gray-200 rounded-xl overflow-hidden"><button @click="open = open === 11 ? null : 11" class="w-full flex items-center justify-between p-5 text-left bg-white hover:bg-gray-50 transition-colors"><span class="font-semibold text-gray-900">How is payment handled?</span><svg class="w-5 h-5 text-gray-400 shrink-0 ml-4" :class="{'rotate-180': open === 11}" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M19.5 8.25l-7.5 7.5-7.5-7.5"/></svg></button><div x-show="open === 11" x-cloak class="px-5 pb-5 text-sm text-gray-600">All payments are processed securely through <strong>Lemon Squeezy</strong>, a trusted payment platform for digital products. We never see or store your credit card details. After payment, you get instant access to download.</div></div>
<div class="border border-gray-200 rounded-xl overflow-hidden"><button @click="open = open === 12 ? null : 12" class="w-full flex items-center justify-between p-5 text-left bg-white hover:bg-gray-50 transition-colors"><span class="font-semibold text-gray-900">Is there a refund policy?</span><svg class="w-5 h-5 text-gray-400 shrink-0 ml-4" :class="{'rotate-180': open === 12}" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M19.5 8.25l-7.5 7.5-7.5-7.5"/></svg></button><div x-show="open === 12" x-cloak class="px-5 pb-5 text-sm text-gray-600">Due to the digital nature of source code, we have a strict <strong>no-refund policy</strong>. That's why we provide <strong>live demos</strong> for every product. Test thoroughly before you buy. <a href="no-refund-policy.html" class="text-brand-600 hover:text-brand-700 font-medium">Full policy here</a>.</div></div>
</div>
</div>
</section>
<!-- GITHUB CREDIBILITY -->
<section class="py-20 lg:py-28 bg-gray-50/80" id="github">
<div class="max-w-6xl mx-auto px-4">
<div class="bg-gradient-to-br from-white via-white to-orange-50/80 border border-orange-200 rounded-3xl overflow-hidden">
<div class="flex flex-col lg:flex-row">
<div class="w-full lg:w-1/2 p-6 lg:p-8 flex flex-col justify-center">
<div class="inline-flex items-center gap-1.5 bg-orange-50 border border-orange-200 rounded-full px-3.5 py-1 mb-4 self-start">
<svg class="w-3.5 h-3.5 text-brand-500" fill="currentColor" viewBox="0 0 24 24"><path d="M12 .587l3.668 7.568 8.332 1.151-6.064 5.828 1.48 8.279L12 18.896l-7.416 3.517 1.48-8.279L0 9.306l8.332-1.151z"/></svg>
<span class="text-brand-700 text-xs font-medium tracking-wide">Open Source</span>
</div>
<h2 class="text-3xl md:text-4xl font-bold text-gray-900 mb-3 tracking-tight">1.3K+ Stars on GitHub<br/><span class="gradient-text">& Counting</span></h2>
<h3 class="text-lg md:text-xl font-semibold text-gray-700 mb-4">Built by a Developer, <span class="gradient-text">for Developers</span>.</h3>
<div class="space-y-4 text-sm text-gray-500 leading-relaxed">
<p>I'm the engineer behind these products. My open-source work has been trusted by <span class="text-gray-800 font-medium">1,300+ developers</span> on GitHub with <span class="text-gray-800 font-medium">500+ forks</span>.</p>
<p>Every product is priced at just <span class="text-brand-600 font-bold text-lg">$21</span> <span class="text-gray-400 line-through">$49</span> accessible pricing for freelancers and corporate engineers alike.</p>
<p>Each product is a <span class="text-gray-800 font-medium">.NET 10 Blazor</span> solution built with <span class="text-gray-800 font-medium">Vertical Slice Architecture</span>. No distributed complexity. Just clean, working code.</p>
<p class="text-gray-700 font-medium">Your purchase directly supports my open-source work. Thank you for being part of this journey.</p>
</div>
</div>
<div class="w-full lg:w-1/2 flex items-center justify-center p-6 lg:p-8">
<div class="w-full max-w-sm bg-gradient-to-br from-white via-white to-orange-50/80 border border-orange-200 rounded-2xl overflow-hidden">
<div class="flex flex-col items-center py-8 px-6">
<svg class="w-20 h-20 text-brand-400/60" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/></svg>
<a href="https://github.com/go2ismail/Asp.Net-Core-Inventory-Order-Management-System" target="_blank" rel="noopener" class="inline-flex items-center gap-1 bg-orange-50 border border-orange-200 rounded-full px-3 py-1 mt-4 hover:bg-orange-100 transition-colors"><svg class="w-3 h-3 text-brand-500" fill="currentColor" viewBox="0 0 24 24"><path d="M12 .587l3.668 7.568 8.332 1.151-6.064 5.828 1.48 8.279L12 18.896l-7.416 3.517 1.48-8.279L0 9.306l8.332-1.151z"/></svg><span class="text-brand-700 text-[10px] font-medium">GitHub Stars</span></a>
<div class="flex flex-wrap items-center justify-center gap-3 mt-3 text-[11px] text-gray-500"><span class="flex items-center gap-1"><svg class="w-3 h-3 text-brand-500" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path d="M11.48 3.499a.562.562 0 011.04 0l2.125 5.111a.563.563 0 00.475.345l5.518.442c.499.04.701.663.321.988"/></svg>1,300+ Stars</span><span class="flex items-center gap-1"><svg class="w-3 h-3 text-brand-500" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path d="M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0ZM4.501 20.118a7.5 7.5 0 0114.998 0"/></svg>500+ Forks</span></div>
<div class="w-12 h-px mt-4 bg-gradient-to-r from-brand-300/60 via-brand-400/50 to-amber-400/60"></div>
<div class="flex items-center gap-2.5 mt-3"><img src="img/ismail.jpg" alt="go2ismail" class="w-8 h-8 rounded-full object-cover ring-2 ring-brand-300 ring-offset-2 ring-offset-white" /><div class="flex flex-col"><span class="text-xs font-medium text-gray-800">go2ismail</span><span class="text-[10px] text-gray-500">Creator & Maintainer</span></div></div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- CTA -->
<section class="py-20 lg:py-28">
<div class="max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center">
<div class="bg-gradient-to-br from-white via-white to-orange-50/80 border border-orange-100 rounded-3xl p-8 lg:p-12 shadow-sm">
<div class="inline-flex items-center gap-1.5 bg-orange-50 border border-orange-200 rounded-full px-3.5 py-1 mb-5"><span class="text-brand-700 text-xs font-medium tracking-wide">Get Started Today</span></div>
<h2 class="text-3xl sm:text-4xl font-bold text-gray-900 mb-4">Ship Your <span class="gradient-text">.NET 10</span> App Today</h2>
<p class="text-gray-600 max-w-2xl mx-auto mb-8">Save months of development. Production-ready Blazor apps with MudBlazor UI, REST API, and VSA.</p>
<div class="flex flex-wrap items-center justify-center gap-4"><a href="#products" class="btn-primary text-base">Explore Products</a><a href="blog.html" class="btn-secondary text-base">Read Blog</a></div>
</div>
</div>
</section>
<!-- FOOTER -->
<footer class="bg-white border-t border-gray-200">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12">
<div class="grid grid-cols-2 md:grid-cols-4 gap-8">
<div class="col-span-2 md:col-span-1"><a href="index.html" class="flex items-center gap-2 mb-3"><img src="img/logo-indotalent-dark.svg" alt="Indotalent" class="h-6 w-auto" /></a><p class="text-xs text-gray-500 leading-relaxed">Enterprise .NET 10 & Blazor complete source code. Back End + Front End in one VSA monolith. Thank you for your support.</p></div>
<div><h5 class="text-xs font-semibold text-gray-500 uppercase tracking-wider mb-3">Products</h5><ul class="space-y-2"><li><a href="#products" class="text-sm text-gray-500 hover:text-brand-500">CRM</a></li><li><a href="#products" class="text-sm text-gray-500 hover:text-brand-500">CMS</a></li><li><a href="#products" class="text-sm text-gray-500 hover:text-brand-500">HRM</a></li><li><a href="#products" class="text-sm text-gray-500 hover:text-brand-500">SCM</a></li><li><a href="#products" class="text-sm text-gray-500 hover:text-brand-500">WMS</a></li></ul></div>
<div><h5 class="text-xs font-semibold text-gray-500 uppercase tracking-wider mb-3">Resources</h5><ul class="space-y-2"><li><a href="https://github.com/go2ismail" target="_blank" rel="noopener" class="text-sm text-gray-500 hover:text-brand-500">GitHub</a></li><li><a href="blog.html" class="text-sm text-gray-500 hover:text-brand-500">Blog</a></li><li><a href="support.html" class="text-sm text-gray-500 hover:text-brand-500">Support</a></li></ul></div>
<div><h5 class="text-xs font-semibold text-gray-500 uppercase tracking-wider mb-3">Company</h5><ul class="space-y-2"><li><a href="privacy-policy.html" class="text-sm text-gray-500 hover:text-brand-500">Privacy</a></li><li><a href="no-refund-policy.html" class="text-sm text-gray-500 hover:text-brand-500">No Refund</a></li><li><a href="license.html" class="text-sm text-gray-500 hover:text-brand-500">License</a></li><li><a href="mailto:hi@indotalent.com" class="text-sm text-gray-500 hover:text-brand-500">Contact</a></li></ul></div>
</div>
<div class="border-t border-gray-200 mt-8 pt-6 flex flex-col md:flex-row items-center justify-between gap-4"><p class="text-xs text-gray-500">&copy; 2024-2026 Indotalent. All rights reserved.</p><p class="text-xs text-gray-500">Built with <span class="text-brand-500">&hearts;</span> by go2ismail</p></div>
</div>
</footer>
<!-- FAB Back to Top -->
<a href="#" class="fab-back-to-top" id="backToTop" title="Back to top">
<svg class="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 15.75l7.5-7.5 7.5 7.5"/></svg>
</a>
<script>
document.addEventListener('DOMContentLoaded',function(){
gsap.registerPlugin(ScrollTrigger);
gsap.timeline({defaults:{ease:'power4.out'}}).fromTo('#heroText',{autoAlpha:0,y:60},{autoAlpha:1,y:0,duration:.8}).fromTo('#heroVisual',{autoAlpha:0,x:60},{autoAlpha:1,x:0,duration:.8},'-=0.5');
ScrollTrigger.create({trigger:'#productsHeader',start:'top 80%',onEnter:()=>{gsap.fromTo('#productsHeader',{autoAlpha:0,y:50},{autoAlpha:1,y:0,duration:.6})}});
gsap.fromTo('.product-card',{autoAlpha:0,y:60},{autoAlpha:1,y:0,duration:.5,stagger:.08,scrollTrigger:{trigger:'#productGrid',start:'top 80%'}});
ScrollTrigger.create({trigger:'#features',start:'top 80%',onEnter:()=>{gsap.fromTo('#featureCards>div',{autoAlpha:0,y:40},{autoAlpha:1,y:0,duration:.5,stagger:.06})}});
ScrollTrigger.create({trigger:'#comparison',start:'top 80%',onEnter:()=>{gsap.fromTo('#comparison .overflow-x-auto',{autoAlpha:0,y:40},{autoAlpha:1,y:0,duration:.6})}});
// Active nav link scrollspy
const sections = document.querySelectorAll('section[id]');
const navLinks = document.querySelectorAll('nav a[href^="#"]');
window.addEventListener('scroll',function(){
let current='';
sections.forEach(s=>{const top=s.offsetTop-100;if(window.scrollY>=top)current=s.getAttribute('id')});
navLinks.forEach(l=>{l.classList.remove('active');if(l.getAttribute('href')==='#'+current)l.classList.add('active')});
});
// Back to top FAB
const fab=document.getElementById('backToTop');
window.addEventListener('scroll',function(){
if(window.scrollY>500)fab.classList.add('visible');else fab.classList.remove('visible');
});
fab.addEventListener('click',function(e){e.preventDefault();window.scrollTo({top:0,behavior:'smooth'})});
});
</script>
</body>
</html>