FIT Labs — Coming soon
# FIT Labs Landing Page — Implementation Plan > **For agentic workers:** REQUIRED: Use superpowers:subagent-driven-development (if subagents available) or superpowers:executing-plans to implement this plan. Steps use checkbox (`- [ ]`) syntax for tracking. **Goal:** Build and deploy a single-page landing for fitlabs.dev — FactorIT's AI innovation incubator. **Architecture:** Astro static site with Tailwind CSS. 6 sections in a single `index.astro` page composed from Astro components. No client-side framework — vanilla JS only for navbar scroll, scroll-reveal animations, and gradient mesh. Deployed via Docker (nginx) on Coolify. **Tech Stack:** Astro 5.x, Tailwind CSS 4.x, Lucide Icons (SVG inline), Docker + nginx **Spec:** `docs/superpowers/specs/2026-03-14-fitlabs-landing-design.md` --- ## File Structure ``` fitlabs.dev/ ├── public/ │ ├── LogoFIT.png # Logo (already exists at project root) │ └── favicon.svg # Favicon ├── src/ │ ├── layouts/ │ │ └── Layout.astro # Base HTML:
meta/SEO/fonts, slot │ ├── components/ │ │ ├── Navbar.astro # Sticky navbar with scroll behavior │ │ ├── Hero.astro # Gradient mesh hero │ │ ├── About.astro # "Qué es FIT Labs" section │ │ ├── Capabilities.astro # 5 capabilities list │ │ ├── Differentiator.astro # Two-column differentiator │ │ ├── Contact.astro # CTA section │ │ └── Footer.astro # Footer │ ├── pages/ │ │ └── index.astro # Composes all sections │ └── styles/ │ └── global.css # Tailwind imports, custom animations, gradient mesh ├── nginx/ │ └── nginx.conf # Nginx config for static serving ├── Dockerfile # Multi-stage: node build → nginx serve ├── astro.config.mjs # Astro config (static output) ├── package.json ├── tsconfig.json └── .gitignore ``` --- ## Chunk 1: Project Setup & Base Layout ### Task 1: Scaffold Astro Project **Files:** - Create: `package.json`, `astro.config.mjs`, `tsconfig.json`, `.gitignore` - [ ] **Step 1: Initialize Astro project** ```bash cd /Users/felipearentsen/Claude/code/fitlabs.dev npm create astro@latest . -- --template minimal --no-install --typescript strict ``` - [ ] **Step 2: Add Tailwind CSS integration** ```bash npx astro add tailwind -y ``` - [ ] **Step 3: Configure astro.config.mjs for static output** ```javascript // astro.config.mjs import { defineConfig } from 'astro/config'; import tailwindcss from '@astrojs/tailwind'; export default defineConfig({ output: 'static', integrations: [tailwindcss()], site: 'https://fitlabs.dev', }); ``` - [ ] **Step 4: Update .gitignore** Add to `.gitignore`: ``` node_modules/ dist/ .astro/ .superpowers/ ``` - [ ] **Step 5: Move logo to public/** ```bash cp /Users/felipearentsen/Claude/code/fitlabs.dev/LogoFIT.png /Users/felipearentsen/Claude/code/fitlabs.dev/public/LogoFIT.png ``` - [ ] **Step 6: Install dependencies and verify build** ```bash npm install npm run build ``` Expected: Build succeeds, `dist/` directory created. - [ ] **Step 7: Initialize git and commit** ```bash git init git add -A git commit -m "chore: scaffold Astro project with Tailwind CSS" ``` --- ### Task 2: Global Styles & Tailwind Config **Files:** - Create: `src/styles/global.css` - Modify: `tailwind.config.mjs` - [ ] **Step 1: Configure Tailwind with custom colors and fonts** ```javascript // tailwind.config.mjs /** @type {import('tailwindcss').Config} */ export default { content: ['./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}'], theme: { extend: { colors: { dark: { bg: '#0a0a1a', surface: '#0f172a', footer: '#06080f', }, light: { bg: '#f0f9ff', surface: '#e0e7ff', base: '#f8fafc', }, brand: { blue: '#0369a1', violet: '#7c3aed', cyan: '#06b6d4', }, }, fontFamily: { sans: ['Inter', 'system-ui', 'sans-serif'], }, }, }, plugins: [], }; ``` - [ ] **Step 2: Create global.css with Tailwind imports and custom animations** ```css /* src/styles/global.css */ @import 'tailwindcss'; @theme { --font-sans: 'Inter', system-ui, sans-serif; } /* Gradient mesh animation for hero */ @keyframes mesh-drift-1 { 0%, 100% { transform: translate(0, 0); } 33% { transform: translate(30px, -20px); } 66% { transform: translate(-20px, 15px); } } @keyframes mesh-drift-2 { 0%, 100% { transform: translate(0, 0); } 33% { transform: translate(-25px, 20px); } 66% { transform: translate(15px, -30px); } } @keyframes mesh-drift-3 { 0%, 100% { transform: translate(0, 0); } 33% { transform: translate(20px, 25px); } 66% { transform: translate(-30px, -10px); } } /* Scroll reveal */ .reveal { opacity: 0; transform: translateY(20px); transition: opacity 0.6s ease, transform 0.6s ease; } .reveal.visible { opacity: 1; transform: translateY(0); } /* Capability list slide-in */ .slide-in { opacity: 0; transform: translateX(-20px); transition: opacity 0.5s ease, transform 0.5s ease; } .slide-in.visible { opacity: 1; transform: translateX(0); } /* Gradient text utility */ .gradient-text { background: linear-gradient(135deg, #0369a1, #7c3aed); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } ``` - [ ] **Step 3: Verify build** ```bash npm run build ``` Expected: Build succeeds. - [ ] **Step 4: Commit** ```bash git add tailwind.config.mjs src/styles/global.css git commit -m "feat: add Tailwind config with brand colors and global animations" ``` --- ### Task 3: Base Layout with SEO **Files:** - Create: `src/layouts/Layout.astro` - [ ] **Step 1: Create Layout.astro with meta tags and Open Graph** ```astro --- // src/layouts/Layout.astro interface Props { title?: string; description?: string; } const { title = 'FIT Labs — Innovación con IA by FactorIT', description = 'Soluciones de inteligencia artificial enterprise que escalan. La incubadora de innovación de FactorIT.', } = Astro.props; ---FIT Labs — Coming soon
Hero placeholder
FactorIT Innovation Lab
Donde la inteligencia artificial se convierte en soluciones enterprise que escalan
Explorar capacidades ↓Sobre nosotros
FIT Labs es donde exploramos, prototipamos y llevamos a producción soluciones de inteligencia artificial para empresas. Nacimos del ADN tecnológico de FactorIT para resolver los desafíos más complejos con IA — no entregamos demos, entregamos sistemas que funcionan en el mundo real.
Capacidades
{cap.description}
Nuestro enfoque
Nos apasiona la IA, pero nos obsesiona que funcione. Cada proyecto que sale de FIT Labs está pensado para integrarse en operaciones reales, soportar carga real, y crecer cuando tu negocio crece.
{val.text}
Cuéntanos qué problema quieres resolver. Nosotros vemos cómo la IA puede ayudarte.
Conversemos →