Digitalisierung. Durchdacht.
Pragmatic by design. This site was built with a focus on speed, clarity, and directness. We believe that a high-quality web experience shouldn't require hundreds of kilobytes of frameworks and bundled scripts that consume user resources and slow down page loads, especially when less than 1% of their functionality is typically needed.
Digital AI-Z is a static project with minimal, purpose-built JavaScript. It relies on modern CSS and a clean structure to deliver content efficiently and beautifully.
Corporate website for Digital AI-Z GbR, an IT consulting, software development, and AI integration firm based in Deggendorf, Germany.
| Layer | Choice |
|---|---|
| Markup | HTML5 |
| Styles | Vanilla CSS (custom properties, grid, flexbox) β split across focused files |
| Scripts | Vanilla JS (modularized, zero dependencies) |
| Fonts | System font stack (-apple-system, BlinkMacSystemFont, β¦) |
| SEO | JSON-LD Structured Data, Canonical Tags, Sitemap, Robots.txt |
| Privacy | No cookies, no tracking, no external frameworks |
Total footprint: ~80 KB uncompressed (all assets and legal pages included).
/
βββ index.html # Main landing page (German)
βββ en/ # English localized content
β βββ index.html # English entry point
β βββ impressum.html # English legal notice
β βββ datenschutz.html # English privacy policy
βββ de/ # German localized legal pages
β βββ impressum.html
β βββ datenschutz.html
βββ assets/
β βββ css/
β β βββ site.css # CSS entry file with imports
β β βββ site.min.css # Bundled and minified stylesheet
β β βββ styles.css # Core styles and layout
β β βββ gallery.css # Scrolling card gallery
β β βββ modal.css # Legal modal overlay
β β βββ menu.css # Mobile hamburger menu
β β βββ responsive.css # Breakpoint overrides
β βββ js/
β β βββ site.js # JS entry file with imports
β β βββ site.min.js # Bundled and minified script
β β βββ main.js # Nav scroll, hamburger menu, scroll-reveal, language link hashes
β β βββ modal.js # On-demand legal modal (Fetch API)
β β βββ gallery.js # Auto-advancing card gallery with dot controls
β βββ images/
β βββ *.png / *.svg # Shared images, icons, and flags
β βββ mobile/ # Optimised mobile variants of gallery images
βββ scripts/
β βββ build-css.mjs # Bundles and minifies CSS with Lightning CSS
β βββ build-js.mjs # Bundles and minifies JS with esbuild
βββ package.json # Asset build dependencies and scripts
βββ package-lock.json # Locked dependency versions
βββ favicon.svg
βββ robots.txt # Crawler instructions
βββ sitemap.xml # SEO indexing map
The default language is German. The EN toggle in the top-right nav links to the separate /en/ subdirectory, which contains a fully localized version of every page. main.js preserves any active anchor hash when the language link is clicked, so users land on the same section after switching. The mobile menu exposes the same language link in the bottom bar.
The site is built to be as privacy-friendly as possible:
- No external scripts (no Google Fonts, no Analytics, no CDNs).
- No cookies or local storage used for tracking.
- Self-hosted assets (images, logos, fonts).
- GDPR-compliant legal notices (Impressum and Datenschutz).
Legal pages (Impressum and Datenschutz) are loaded on-demand via the Fetch API into a modern modal overlay. This keeps the main landing page lean while providing a seamless user experience. Standalone versions of these pages are also accessible for SEO and direct linking.
The services section uses a touch-friendly, auto-advancing card gallery (gallery.js + gallery.css) with dot navigation and a pause/resume control. Cards cycle automatically and pause on hover or user interaction.
A hamburger menu (menu.css, main.js) slides in a full-screen overlay on small viewports. It closes on any nav link click or Escape key press, and locks body scroll while open.
- JSON-LD: Full schema markup for
Organization,LocalBusiness,Service,FAQ, andBreadcrumbsincluded directly inindex.html. - Meta Tags: Optimized titles and descriptions for all pages and languages.
- Canonical Tags: Prevents duplicate content issues.
- Performance: High Lighthouse scores due to zero dependencies and minimal asset sizes.
Elements marked .reveal, .reveal-left, or .reveal-right are observed via IntersectionObserver and gain the .visible class when they enter the viewport. No scroll event listeners, no layout thrashing. A fallback scroll listener is included for older browsers.
| # | Section | Description |
|---|---|---|
| 1 | Hero | Full-viewport headline with animated entry |
| 2 | Manifesto | Mission statement and three value propositions |
| 3 | Visual panel | Two-column strategy/architecture overview (Strategie & Steuerung Β· Architektur & Umsetzung) |
| 4 | Services | Auto-advancing gallery: IT-Beratung Β· Software & LΓΆsungen Β· KI-Integration Β· Systemintegration Β· Daten & Automatisierung |
| 5 | Approach | Four principles: Business-First Β· Pragmatische LΓΆsungen Β· Saubere Entscheidungen Β· UnabhΓ€ngigkeit & Nachhaltigkeit |
| 6 | Gradient strip | Full-bleed cinematic statement |
| 7 | Process | Five-step model: Analyse Β· Strategie & Architektur Β· Umsetzung & Integration Β· Iterationen & Feedback Β· Launch & BefΓ€higung |
| 8 | CTA | Contact call-to-action with email, phone, and LinkedIn links |
| 9 | Footer | Service links, company links, legal (Impressum Β· Datenschutz) |
| Variable | Hex | Preview | Usage |
|---|---|---|---|
--accent |
#2DD4BF |
Logo mark, eyebrow labels, scroll indicator | |
--accent2 |
#C084FC |
Gradient endpoints | |
--accent3 |
#818CF8 |
Buttons, gradient midpoint |
Gradient direction: teal β indigo β soft violet (#2DD4BF β #818CF8 β #C084FC)
No build step is required. Open index.html directly in a browser:
open index.html # macOS
xdg-open index.html # Linux
start index.html # WindowsOr serve with any static file server:
npx serve .
# or
python3 -m http.serverTo regenerate the bundled and minified stylesheet:
npm install
npm run build:css
npm run build:jsTo rebuild automatically while editing assets:
npm run watch:css
npm run watch:jsThe site is a collection of static files β it deploys to any static host as-is:
- GitHub Pages β push to
main, enable Pages in repo settings, set a source to/ (root) - Netlify / Vercel β connect repo, no build command needed, publish directory:
. - Any web server β upload all files to the document root
This repository also includes an SFTP deployment workflow at .github/workflows/deploy-sftp.yml.
It uploads only the relevant static site files:
index.htmlfavicon.svgrobots.txtsitemap.xmlassets/de/en/
Before upload, the workflow installs dependencies and rebuilds assets/css/site.min.css and assets/js/site.min.js.
Configure these GitHub repository secrets before enabling the workflow:
SFTP_HOSTβ hostname of the SFTP serverSFTP_PORTβ optional, defaults to22SFTP_USERNAMEβ SSH/SFTP usernameSFTP_PRIVATE_KEYβ private key used for authenticationSFTP_REMOTE_PATHβ destination directory on the serverSFTP_KNOWN_HOSTSβ optional recommendedknown_hostsentry for strict host verification
The workflow runs on pushes to main when static site files change, and it can also be started manually from the Actions tab.
Β© 2026 Digital AI-Z GbR Β· Deggendorf, Germany
Legal notices are available via the footer or directly at /de/impressum.html and /de/datenschutz.html.