const apiPortfolio = {
// Parcel · Docker · Apache · GitHub Container Registry
// Full cycle: local dev → containerized build → proxied deploy
stack: ['Parcel', 'Docker', 'Apache', 'Node.js', 'GH Container Registry'],
challenge: 'A repeatable, self-contained deploy pipeline - no SaaS lock-in,
no managed CI to depend on, no black boxes.',
approach: 'Designed the container registry workflow, Apache reverse proxy config,
and Dockerfile from the ground up. The entire build-to-serve
pipeline lives in the repo - portable and reproducible.',
result: 'A containerized API platform served behind Apache SSL with zero
vendor-specific tooling. Deployed and running in production.',
}
Projects
// Two production deployments. Both built from scratch. Demos available on request.
const chatbotFrontend = {
// Parcel · nginx container · Bootstrap 5 · Gemini API
// Frontend + AI integration + containerized delivery
stack: ['Parcel', 'nginx', 'Bootstrap 5', 'Node.js', 'Gemini API'],
challenge: 'Integrate an AI backend into a responsive, real-time UI
with clean component boundaries and no framework overhead.',
approach: 'Vanilla frontend with a well-defined API contract to the AI backend.
Served via nginx container, proxied through Apache - the same
deployment pattern used across all projects in this stack.',
result: 'A working AI chat interface in production, demonstrating full-cycle
delivery: design, frontend build, AI integration, and containerized deploy.',
}