gethumanai-landing/README.md
Oskar Kapala fc5741316f feat: initial humanAI landing page
- Astro 6 static site, PL default (/) + EN (/en/)
- All copy in src/i18n/pl.json and src/i18n/en.json
- Sections: Hero, Problem, HowWeWork, Offers, Process, Contact, Footer
- Security section hidden behind SHOW_SECURITY flag
- Conservative tone for Industry and Med (human-in-the-loop)
- Contact form via mailto prefill
- Dockerfile multi-stage (node build -> nginx)
- docker-compose.yml on npm_proxy network (NPM visible)
- deploy.sh for SATURN -> VPS workflow
2026-06-02 17:24:37 +02:00

1.7 KiB

humanAI landing page

Static bilingual landing page for humanAI (gethumanai.com).
Stack: Astro 6, static output, i18n PL (default /) + EN (/en/), nginx in Docker.


Local development

# Host: SATURN
npm install
npm run dev        # dev server at http://localhost:4321
npm run build      # build to ./dist/
npm run preview    # preview built site at http://localhost:4321

Docker local test

# Host: SATURN
# Create a local test network if npm_proxy doesn't exist locally
docker network create npm_proxy 2>/dev/null || true
docker compose up --build
# site at http://localhost:80

Deploy to VPS

# Host: SATURN
./deploy.sh

The script:

  1. Commits any pending changes and pushes to Forgejo (oskar/gethumanai-landing).
  2. SSH-es to ubuntu-4gb-hel1-1, pulls the repo and runs docker compose up -d --build.

The container joins the npm_proxy Docker network. In Nginx Proxy Manager on the VPS, create a proxy host: gethumanai.comhttp://humanai-landing:80.

Structure

src/
  i18n/
    pl.json          # Polish copy (all text)
    en.json          # English copy (all text)
    index.ts         # translation helpers
  layouts/
    Layout.astro     # HTML shell, meta/OG/hreflang
  components/
    Nav.astro
    Hero.astro
    Problem.astro
    HowWeWork.astro
    Offers.astro
    Process.astro
    Security.astro   # hidden on MVP (SHOW_SECURITY flag)
    Contact.astro
    Footer.astro
  pages/
    index.astro      # PL — /
    en/
      index.astro    # EN — /en/

Enabling the Security section

Open src/components/Security.astro and set SHOW_SECURITY = true.

The logo text and SVG icon are in src/components/Nav.astro (.logo).