Featured project
DeployGuard
AI-powered application security and deployment readiness platform.
DeployGuard is the release gate for a registered service fleet. Teams register an application, run an inspection across health and security controls, and get a scored decision: deploy, hold for review, or block. Tony, the in-product advisor, answers from those results.
The operations dashboard is the product surface: fleet posture, health versus security, services that need a decision, and the inspection calendar. The frame below is the DeployGuard demo UI, signed in on sample data.
DeployGuard · Production readiness
Interactive demo. Sign-in, inspections, and Tony stay in the browser. This copy does not call the DeployGuard API.
What it solves
A release decision with no shared gate
Health, headers, auth, secrets, and dependency risk usually live in different tools. DeployGuard puts a registered service on one gate so an owner, a security reviewer, and a release operator see the same score and the same block reason.
What it does
Register, inspect, score, advise
Register the service and its health URL. Run an inspection. Review health and security. Score readiness. Ask the advisor whether to ship. Open the result to print a readiness report. Scheduled services stay on a daily, weekly, monthly, or yearly calendar.
An inspection walks a fixed sequence, then writes a health score, a security score, a readiness score, a written analysis, and recommendations. HTTPS is taken from the registered health URL. The other gates, dependency notes, header evidence, and method notes are produced by the inspection model and stored with the result.
1Register handshakeConfirm the application, environment, stack, and release target.
2Health and response timeLiveness, rolling uptime against a 99% bar, and a 280ms p95 budget.
3Database and error handlingEncrypted connections, pending migrations, pool latency, and generic client errors.
4Security controlsAuth, cookies, CORS, headers, rate limits, debug exposure, secrets, dependencies, uploads, and audit logs.
5ScoreHealth and security penalties are subtracted from 100, then combined.
6Advisor and verdictDeployment advice, then deploy, warning, or block.
Readiness
45% health, 55% security
round(health × 0.45 + security × 0.55)
Both scores are clamped from 0 to 100. A critical finding, or a readiness score under 60, blocks the release. 60 to 79 is a warning and needs a human review. 80 or above, with no critical findings, can deploy.
Deploy80+ and no critical findings.
Warning60–79. Hold a full cutover.
BlockUnder 60, or any critical gate.
Nineteen gates are implemented. Four are health. Fifteen are security. Each failed gate carries a severity and a score impact, and the report lists what to fix first.
Health and reliability
Application health
Response time
Database
Error handling
Security and compliance
HTTPS
Authentication
Authorization
Session cookies
CORS
HSTS
Content type options
Frame protection
Content Security Policy
Rate limiting
Debug exposure
Environment variables
Dependencies
File uploads
Audit logs
File uploads fail when a registered uploader writes into a public path or skips type and size checks. Session cookies are checked for Secure, HttpOnly, and SameSite. Dependency evidence is a lockfile-style table on the report, not a live advisory feed.
Deployment advisor
Ready, risks, fix order
From the latest inspection, the advisor answers whether the service is ready, lists the biggest risks, orders the first fixes from P0 to P2, and recommends approved, hold, or blocked.
Tony
Workspace-trained answers
Tony trains on the registered apps and inspections. Without an API key, answers come from that DeployGuard data. With TONY_API_KEY, training can be compiled by the configured model. The default model is gpt-4o-mini.
Voice
Optional spoken reply
The app can speak a sentence through ElevenLabs when that provider is configured. The portfolio demo does not call a voice provider. Its voice button says so.
Fleet dashboard
Average readiness, healthy / warning / blocked counts, health and security bars, and recent gate results.
Application catalog
Register name, owner, email, environment, stack, health URL, repository, description, and whether the app accepts uploads.
Recurring inspections
Daily, weekly, monthly, or yearly. The dashboard lists what is due and can run due inspections.
Readiness report
Open an inspection to review gates, then print or download a report with the advisor decision.
Owner mail
After an inspection, the owner can be emailed the score and whether the release is cleared, on hold, or blocked.
Access control
People apply for access. An admin approves or denies. Roles cover admin, developer, DevOps, platform, security, and engineering manager.
Sessions
Passwords require 12 characters with upper, lower, number, and symbol. They are stored as PBKDF2-SHA-256. Sessions use an httpOnly cookie.
Notices and theme
In-app notices for new apps, finished inspections, and held releases. Light, dark, and system appearance.
SQL-backed API
The product UI calls a Node API. Applications, inspections, users, notices, and mail logs are stored in SQL Server.
React 19
TypeScript
Vite
React Router
Tailwind CSS
Chart.js
Express
SQL Server
Helmet
Tony · gpt-4o-mini
ElevenLabs voice
No public GitHub repository or documentation site is configured for this project.