Building a Production Company Website on AWS — Project…
    Neura MarketNeura Market/Stable Diffusion
    ChatGPTChatGPTClaudeClaudeGeminiGeminiCursorCursorGrokGrokPerplexityPerplexityStable DiffusionStable Diffusion
    DeepSeekDeepSeekCoPilotCoPilotMidjourneyMidjourney
    View All Directories
    OverviewPromptsBlogVideosGuidesCoursesCommunityModelsLoRAsComfyUI WorkflowsTrending
    Stable DiffusionBlogBuilding a Production Company Website on AWS — Project Overview
    Back to Blog
    Building a Production Company Website on AWS — Project Overview
    aws

    Building a Production Company Website on AWS — Project Overview

    Josh Blair May 21, 2026
    0 views

    What We Built This series documents the end-to-end process of designing, building, and...

    What We Built

    This series documents the end-to-end process of designing, building, and deploying a production company website for a software and cloud consulting business. The result is a modern, fully serverless stack with automated CI/CD deployments — built intentionally to demonstrate and practice the AWS services I use professionally.

    Tech stack at a glance:

    LayerTechnology
    FrontendReact 18 + Vite + TypeScript + Tailwind CSS v4
    HostingAmazon S3 + CloudFront (CDN)
    DNS & TLSRoute 53 + ACM (SSL/TLS certificate)
    CI/CDGitHub + AWS CodePipeline + CodeBuild
    Contact APIAPI Gateway (HTTP) + AWS Lambda (Python)
    Data storageAmazon DynamoDB
    Email deliveryAmazon SES
    IaCAWS CloudFormation + AWS SAM

    Architecture Overview

    Architecture overview


    CI/CD Pipeline

    Every push to the main branch on GitHub automatically triggers a full build and deploy:

    CI/CD pipeline


    Articles in This Series

    #ArticleWhat it covers
    1Project Overview (this article)Full architecture, stack decisions, what we're building
    2React + Vite + Tailwind SetupScaffolding the SPA, routing, design system, component structure
    3Static Site Hosting on AWSS3, CloudFront with OAC, ACM, Route 53 DNS, CloudFormation
    4CI/CD with CodePipeline & CodeBuildGitHub connection, pipeline stages, buildspec.yml, IAM roles
    5Serverless Contact FormLambda, API Gateway, DynamoDB, SES, CORS, SAM deployment

    Key Design Decisions

    Why React + Vite (not Next.js)?

    Next.js is a great framework, but for a static marketing site, it's overhead. Vite produces a clean static build (dist/) that S3 + CloudFront serves perfectly. The site has no server-side rendering requirements. Vite also gives faster local dev iteration.

    Why S3 + CloudFront (not Amplify or Vercel)?

    This project is intentionally built on "raw" AWS primitives — CodePipeline, CloudFormation, S3, CloudFront — rather than abstracted platforms. The goal is to learn and demonstrate AWS services used in real enterprise projects.

    Why CloudFormation (not CDK or Terraform)?

    CloudFormation is the AWS-native tool that every AWS practitioner encounters. Understanding it directly — before abstracting to CDK — builds a stronger mental model of what's actually being deployed.

    Why separate ACM cert in us-east-1?

    CloudFront is a global service and requires ACM certificates to be provisioned specifically in us-east-1, regardless of where your other resources live. This is an AWS constraint, not a design choice.

    Why CloudFront OAC (not OAI)?

    Origin Access Control (OAC) is the modern replacement for Origin Access Identity (OAI). It supports all S3 operations, works with SSE-KMS encrypted buckets, and uses AWS SigV4 signing.


    Repository Structure

    bonefishsoftware.com/
    ├── src/                    # React source
    │   ├── components/         # Navbar, Footer, SectionHeader
    │   ├── pages/              # Home, Services, Technologies, Portfolio, Team, Contact
    │   └── data/               # services.ts, technologies.ts, team.ts
    ├── public/                 # Static assets (logo, sitemap, robots.txt)
    ├── lambda/
    │   └── contact/            # Python Lambda — contact form handler
    ├── infra/
    │   ├── acm/                # certificate.yml (deploy to us-east-1)
    │   └── stacks/
    │       ├── website.yml     # S3 + CloudFront (deploy to us-west-2)
    │       ├── pipeline.yml    # CodePipeline + CodeBuild (deploy to us-west-2)
    │       └── contact-api.yml # SAM — API Gateway + Lambda + DynamoDB (deploy to us-west-2)
    ├── docs/                   # This documentation
    ├── buildspec.yml           # CodeBuild build spec
    └── index.html              # Vite entry point with SEO meta tags
    

    Tags

    awswebdevtutorialcloud

    Comments

    More Blog

    View all
    Five Gemma-4 models, one accelerator: what porting E2B 31B to AWS Inferentia2 taught megemma

    Five Gemma-4 models, one accelerator: what porting E2B 31B to AWS Inferentia2 taught me

    I ported the whole Gemma-4 family — E2B, E4B, 12B, 31B, and the 26B-A4B MoE — to run on...

    X
    xbill
    Hey DEV, I'm Tobore. Let's actually connect.community

    Hey DEV, I'm Tobore. Let's actually connect.

    Hey DEV, I'm Tobore. Let's actually connect. I've been on here for a while now, mostly writing and...

    L
    Laurina Ayarah
    I burned through thousands of AI tokens. Then a friend did it for freeai

    I burned through thousands of AI tokens. Then a friend did it for free

    (yep, kinda clickbait, just for the funsies 😊) At the beginning of the year, I relaunched my...

    P
    Paulo Henrique
    Claude might be saturating your machineai

    Claude might be saturating your machine

    My laptop was sitting idle with the fan at full tilt. Nothing was running that I knew of. The culprit...

    S
    Sidhant Panda
    Automated GitHub Code Reviews Using Google Geminigithubactions

    Automated GitHub Code Reviews Using Google Gemini

    I Built a Thing! TL;DR — Google Gemini-based Pull Request reviews and Issue Triaging for...

    D
    Darren "Dazbo" Lester
    What is an "agentic harness," actually?ai

    What is an "agentic harness," actually?

    I've been hearing the word "harness" thrown around a lot lately. I assumed it just meant "the IDE" or...

    T
    Tilde A. Thurium

    Stay up to date

    Get the latest Stable Diffusion prompts, rules, and resources delivered to your inbox weekly.

    Neura Market LogoNeura Market

    Discover the best AI prompts, plugins, and resources for Stable Diffusion and more.

    Content Types

    • Rules
    • Prompts
    • MCPs
    • Agents
    • Guides

    Platforms

    • ChatGPT Directory
    • Claude Directory
    • Gemini Directory
    • Cursor Directory
    • Grok Directory
    • Perplexity Directory
    • DeepSeek Directory
    • CoPilot Directory
    • Stable Diffusion Directory
    • Midjourney Directory
    • All Directories

    Resources

    • Blog
    • Documentation
    • Help Center
    • Marketplace

    Legal

    • Privacy Policy
    • Terms of Service

    © 2026 Neura Market. All rights reserved.

    |

    Not affiliated with any AI platform vendors.

    Neura Market

    Custom AI Systems & Services

    Our team of experienced AI builders will help build custom AI systems, workflows, and solutions for your business.

    Request custom work

    Ready-made automations for this

    Workflows from the Neura Market marketplace related to this Stable Diffusion resource

    • Process Documents with Recursive Chunking Using Google Drive, OpenAI & Gemini RAGn8n · $14.99 · Related topic
    • Process Voice, Images & Documents with GP-40, MongoDB & Gmail Toolsn8n · $14.99 · Related topic
    • Automate RAG Chatbot for Company Documents with Google Drive and Geminin8n · $14.99 · Related topic
    • Get a Slack overview of completed PandaDoc documentsmake · $4.99 · Related topic
    Browse all workflows