Projects

// Two production deployments. Both built from scratch. Demos available on request.

api-portfolio.js // gated demo - dev.sourri.com
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.',

}
chatbot-frontend.js // gated demo - chatbot-dev.sourri.com
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.',

}