tilltheend-website/SPEC.md

3.5 KiB

TillTheEnd Website Specification

Overview

Personal website for TillTheEnd — IT consulting and freelancing.

Visual Style

Inspired by ollama.com: minimal, clean, light.

  • Background: White/off-white (#fafafa or #ffffff)
  • Text: Dark gray/black (#111 or #1a1a1a)
  • Accents: Orange (#f97316) + Purple (#a855f7) — used sparingly for links, buttons, icons
  • Typography: System fonts (Inter or system-ui), clean sans-serif
  • Layout: Single page, minimal navigation, lots of whitespace
  • No: Animations, gradients, heavy shadows (keep it flat)

Branding

  • Name: TillTheEnd
  • Slogan: "Delivering results, not promises."
  • Play on words: Name "Till" + "to the end" = commitment to completion

Contact

Platform Value
Email contact@tilltheend.de
GitHub https://github.com/iRave
LinkedIn https://de.linkedin.com/in/tilltheend

Services

  1. Software Development — Custom solutions tailored to your needs
  2. Infrastructure — Reliable systems architecture
  3. Consulting — Expert guidance from concept to completion

Page Sections

1. Header

  • Logo/Name: "TillTheEnd" (left)
  • Minimal nav: Services | About | Contact (right, optional — could skip)

2. Hero

TillTheEnd
Delivering results, not promises.

[Contact] [GitHub]

Software Development • Infrastructure • Consulting

3. Services (3 columns, icons)

Icon Service Description
</> Software Development Custom solutions tailored to your needs
⚙️ Infrastructure Reliable systems architecture
💬 Consulting Expert guidance from concept to completion

4. About (placeholder)

About
[Short bio — fill in later]
Contact
email: contact@tilltheend.de
github: github.com/iRave
linkedin: de.linkedin.com/in/tilltheend
© 2026 TillTheEnd. All rights reserved.

Tech Stack

Item Choice
Framework Vite + plain HTML (no React/Vue — keep it simple)
Styling Tailwind CSS (via PostCSS)
Icons Heroicons or Lucide (inline SVG)
Container Nginx Alpine (serves static files)
Port 8080 (configurable via env)
Size < 50KB total (gzipped)

Project Structure

tilltheend-website/
├── Dockerfile              # Multi-stage: Node build → Nginx serve
├── docker-compose.yml      # Port 8080 (configurable)
├── package.json            # Vite + Tailwind
├── tailwind.config.js      # Custom colors (orange/purple)
├── vite.config.js          # Build config
├── index.html              # Single page entry
├── src/
│   ├── main.css            # Tailwind imports + custom styles
│   └── main.js             # Minimal JS (if needed)
└── README.md               # How to run/deploy

Dockerfile

# Build stage
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build

# Serve stage
FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

docker-compose.yml

services:
  website:
    build: .
    ports:
      - "8080:80"
    restart: unless-stopped

Deployment Notes

  • Exposes port 8080
  • Can be put behind reverse proxy (Caddy, Traefik, Nginx)
  • Static files only — no server-side logic needed
  • Build once, deploy anywhere