Static Site + Serverless Architecture
Relevant source files
The following files were used as context for generating this wiki page:
The Keith Soyka Portfolio project utilizes a hybrid architecture that combines a static frontend with serverless backend capabilities. The frontend consists of standalone HTML, CSS, and JavaScript files that provide a fast, inspectable user interface for displaying professional work and interactive AI artifacts.
Dynamic features, including live chat, multi-model LLM orchestration, and generative rendering, rely on the GestaltView v3 runtime. This runtime operates via serverless APIs and a managed database layer to preserve context and handle complex digital intelligence tasks.
Sources: README.md:3-8, work.html:28-32
Core Infrastructure
The system separates static presentation from high-computation logic. This separation ensures that the core portfolio remains accessible even if the high-level AI runtime enters a degraded state.
Static Frontend Layer
The project serves static files directly via Vercel or Hugging Face Spaces. It uses vanilla HTML and CSS for high-performance rendering and SEO optimization.
- Vercel Deployment: Vercel auto-deploys the site from the
mainbranch. It utilizes@vercel/speed-insightsfor performance monitoring. - Hugging Face Spaces: The site can also be served as a static Space using the Hugging Face Static SDK.
- Self-Contained Artifacts: The
showcase/directory contains standalone HTML files that function independently of the main site structure.
Sources: README.md:21-31, package.json:15, showcase/registry.json:153-156
Serverless Runtime (GestaltView v3)
The portfolio integrates with the GestaltView v3 runtime to handle user-directed continuity and recognition. This runtime uses a modern serverless stack to manage AI operations.
- API Layer: A Vercel serverless API handles requests from the static frontend.
- Database: A Supabase/Postgres layer stores state, utilizing 217 tables and 299 Row Level Security (RLS) policies.
- Vector Search: The system uses
pgvectorfor hybrid retrieval over a governed corpus of 768-dimensional embeddings. - Orchestration: A multi-model orchestration layer routes tasks to appropriate LLM models based on cost and complexity.
Sources: work.html:28-32, work.html:42-43
Data Flow and API Integration
Static pages interact with the backend through a secure signing proxy. This architecture prevents the exposure of API secrets within the client-side code.
The diagram shows the request path from the user interface through the secure proxy to the serverless runtime and AI models.
Sources: showcase.html:105-108, showcase/render-engine.html:98-100
Signing Proxy Mechanism
To enable live demos like "Billy Chat" and the "Tribunal of Understanding," the frontend uses a proxy endpoint.
- The client sends a single text field to
/api/showcase-proxy. - The proxy signs the request to authenticate with the GestaltView runtime.
- The runtime processes the request and returns synthesized data to the browser.
- If the runtime is unavailable, the frontend displays an "honest degraded state" instead of faking a response.
Sources: showcase/render-engine.html:98-103, showcase/registry.json:62
Component Specifications
Artifact Registry
The project uses a canonical JSON index to manage the showcase gallery. This registry defines the properties and evidence standards for every interactive piece.
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for the artifact. |
kind | string | Category (e.g., exhibit, demo, profile, package). |
live | boolean | Indicates if the artifact is actively hosted. |
runtime_wired | boolean | Indicates if the artifact requires the GestaltView backend. |
evidence | string | Reliability label (VERIFIED, STAGED, or PLANNED). |
Sources: showcase/registry.json:3-138
Generative Render Engine
The render engine synthesizes source material into specific formats. It uses a structured contract between the frontend and the serverless synth layer.
This sequence illustrates how user-provided source material is processed by the remote runtime and rendered locally in the browser.
Sources: showcase/render-engine.html:136-160, showcase/render-engine.html:248-270
External Integrations
The architecture extends to third-party services for commercial and community features.
- Stripe: Manages secure checkouts, subscriptions (Solo, Business, Enterprise), and flat-fee consulting bookings.
- Discord/Reddit: Billy, the collaborator agent, runs as a runtime agent across these platforms, match-identifying fragments via Supabase match functions.
- Stripe Webhooks: Planned for the "Agent Trainer" package to trigger key generation and asset delivery upon successful payment.
Sources: work.html:56-62, showcase/agent-trainer-pricing.html:142-160, showcase/agent-trainer-sprint.html:157-160
Summary
The Static Site + Serverless Architecture provides a secure and scalable way to host a portfolio while offering complex AI-driven interactions. By decoupling the static UI from the GestaltView v3 runtime, the system maintains high performance and reliability. The use of a signing proxy and structured registry ensures that all dynamic features remain inspectable and governed.
Sources: README.md:37-38, showcase.html:13-16