Ryan Raghubans

Public engineering sample

Site Factory

A TypeScript pipeline that turns discovery data and website evidence into reviewable drafts and configurable Astro output.

The engineering problem

Problem
Connect discovery data, website audits and generated copy without losing the distinction between observed facts and proposed content.
What I built
A workflow spanning typed discovery records, audits, AI-assisted copy, reviewable drafts, site configuration and website generation. I built it around a web-design workflow for local manufacturers, machine shops and contractors.
Stack
TypeScript, Astro, Google Places data, Lighthouse auditing and AI-assisted copy. The public edition replaces private inputs with fictional businesses and an offline demo.
Design decision
Keep evidence, scoring and generated copy in separate stages, and preserve unavailable results explicitly. Synthetic fixtures make the public demonstration reproducible without credentials.

The public edition does not send outreach or deploy websites.

An inspectable demonstration

Fictional Ironvale Welding and Fabrication homepage from the public Site Factory example.
Example site from the public repository. Ironvale and its contact details are fictional; form interactions are simulated.

Desktop and mobile screenshots, a responsive demo GIF and reproducible local commands are included. Read how the screenshots were produced.

Engineering decisions

Separate evidence from decisions

Discovery responses become typed lead records. Browser evidence feeds audit checks, scoring and reviewable drafts, so observations remain distinct from generated copy.

Make unknowns explicit

Checks can return unavailable. Copy records distinguish evidence-bearing facts from unconfirmed information instead of turning missing data into claims.

Keep the demo offline

Synthetic fixtures exercise the same checks and scoring without API keys. Audit evidence is simulated; the screenshots document the separately rendered example site.

Validate the output

Typed site configurations and design briefs feed Astro pages. Automated checks, browser tests and security/privacy scans validate the public edition; local form behavior is labeled as a simulation.

Open the source, local setup and documented limitations →