Answering in
332ms
server time at p95, the usual five minutes of the last day over 5,652 requests.
The Yard, home
Steven Stout’s showcase: a used-vehicle auction on .NET and React, built and run by one engineer, live on Azure, with its decisions written down.
Answering in
332ms
server time at p95, the usual five minutes of the last day over 5,652 requests.
Azure this month
$4.13
forecast $73
the bill, by resource, read from Azure. The Admin tab shows every line.
Since the last roll
2 h 1 m
1.0.4.131 at 8003063
rolled blue and green, with no downtime.
Visits by people
3,206visits since 13 Sep
Scanners, my own tools' and my own reads left out.
Read from the build, never typed by hand
What we use, where it runs, the version as built, and the file that proves it.
| Layer | What we use | Where it runs | Version | Proof |
|---|---|---|---|---|
| Backendthe API | ||||
| Backendthe API | .NET and ASP.NET Core | App Service, the API container | 10.0 | TheYard.Api.csproj |
| Entity Framework Core (SQL Server) | App Service, talking to Azure SQL | 10.0.12 | TheYard.Infrastructure.csproj | |
| Identity with JWT bearer auth | App Service, the API container | 10.0.12 | TheYard.Api.csproj | |
| OpenAPI with Scalar API docs | App Service, /api docs | 2.17.13 | TheYard.Api.csproj | |
| Frontendthe page | ||||
| Frontendthe page | React | Your browser | 19.3 | package.json |
| TypeScript | Your browser | 7.0 | package.json | |
| Vite | Build step, in the container image | 8.3 | package.json | |
| Server-side rendering on Node | App Service, the renderer container | 24 | render/Dockerfile | |
| Datatwo stores, one port | ||||
| Datatwo stores, one port | Azure SQL Database | Azure, managed SQL | EF Core 10.0.12 | TheYard.Infrastructure.csproj |
| Azure Cosmos DB | Azure, NoSQL | SDK 3.63.2 | TheYard.Infrastructure.Cosmos.csproj | |
| Azureinfrastructure as code | ||||
| Azureinfrastructure as code | App Service and Container Registry (Linux container) | Azure App Service and ACR | live resource | appservice.bicep |
| Front Door (written, switched off) | Off: the subscription refuses Front Door, so the Netlify edge stands in front today | off | main.bicep | |
| Application Insights with OpenTelemetry | Azure Monitor | 1.6.0 | TheYard.Api.csproj | |
| Communication Services email | Azure Communication Services | 1.1.0 | TheYard.Api.csproj | |
| Azure Functions, Flex Consumption (clock, snapshot, tracker merger, Sheet mirror, ATS sweep, daily card) | func-jobhunt-ss, Flex Consumption | .NET 10 isolated | JobHunt.Functions.csproj | |
| Bicep for every resource it deploys | Deployed from the repository | 6 Bicep files | infra/ | |
| Edge | ||||
| Edge | Netlify edge in front of the site | Netlify edge network | live resource | netlify.toml |
| Quality gatesevery push | ||||
| Quality gatesevery push | xUnit | GitHub Actions runners | 2.9.3 | TheYard.Tests.csproj |
| NetArchTest architecture rules | GitHub Actions runners | 1.4.5 | TheYard.Tests.csproj | |
| Vitest | GitHub Actions runners | 5.0 | package.json | |
| Playwright with axe accessibility checks | GitHub Actions runners, against the built site | 1.63 | package.json | |
| oxlint and Prettier | GitHub Actions runners | 1.86 and 3.9 | package.json | |
| Delivery and AIhow it ships | ||||
| Delivery and AIhow it ships | GitHub Actions (azure-read, blog-post, ci, deploy-function, deploy-render, deploy, edge-branch, gate, nightly) | GitHub | 9 workflows | workflows/ |
| Built with Claude Code under the test gate | Developer machine, then the gate | every push | gate.yml | |
| Claude Code on GitHub Actions runs the job hunt's nightly lanes | GitHub Actions runners, on the Azure share | 4 AM and every 4 h | nightly.yml | |
Generated, not typed. A build step reads the project files, package.json, the Dockerfiles, the Bicep and the workflows; a test fails CI when this table drifts from the repository.