<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/svg+xml" href="/favicon.png">
<link rel="apple-touch-icon" href="/favicon.png">
<link rel="manifest" href="/site.webmanifest">
<title>Website Design & Development | After Dark Labs Florida</title>
<meta name="description" content="Florida-based custom website design and development. Fast, modern business sites, Shopify stores, apps, SEO, and tools that actually convert. Free demo in 24 hours.">
<meta name="robots" content="index,follow">
<link rel="canonical" href="https://afterdarklabs.io/">
<!-- Open Graph -->
<meta property="og:title" content="Website Design & Development | After Dark Labs Florida">
<meta property="og:description" content="Custom websites, Shopify stores, apps & tools for Florida businesses. Built to stand out and convert.">
<meta property="og:image" content="https://afterdarklabs.io/twitter-card.png?v=2">
<meta property="og:image:width" content="1536">
<meta property="og:image:height" content="1024">
<meta property="og:type" content="website">
<meta property="og:url" content="https://afterdarklabs.io/">
<!-- Twitter -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Website Design & Development | After Dark Labs Florida">
<meta name="twitter:description" content="Modern websites and tools for businesses that want to dominate locally.">
<meta name="twitter:image" content="https://afterdarklabs.io/twitter-card.png?v=2">
<link rel="stylesheet" href="index.tailwind.css">
<style>
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');
:root {
--neon: #ccff00;
--page-bg: #17212b;
--page-bg-rgb: 23, 33, 43;
}
html { scroll-behavior: smooth; }
body {
background: var(--page-bg);
font-family: 'Inter', system-ui, sans-serif;
}
.heading { font-family: 'Space Grotesk', sans-serif; }
.hero-bg { background: var(--page-bg); }
.bg-black, .bg-zinc-950 {
background-color: var(--page-bg) !important;
}
.neon-text {
color: var(--neon);
text-shadow: 0 0 15px var(--neon), 0 0 30px var(--neon);
}
#hero-canvas {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
z-index: 0;
opacity: 0.75;
}
.hero-content { position: relative; z-index: 1; }
.hero-vignette {
position: absolute;
inset: 0;
background: radial-gradient(ellipse 70% 60% at 50% 40%, transparent 40%, rgba(var(--page-bg-rgb),0.65) 100%);
pointer-events: none;
z-index: 1;
}
nav a[data-nav-link][aria-current="page"] {
color: #ccff00;
font-weight: 600;
}
</style>
</head>
<body class="bg-black text-white overflow-x-hidden">
<nav class="fixed top-0 z-50 w-full bg-black/90 backdrop-blur-lg border-b border-white/10">
<div class="mx-auto max-w-7xl px-4 py-4 sm:px-6">
<div class="flex items-center justify-between">
<!-- Logo -->
<a href="/" class="flex items-center gap-3">
<div class="flex h-9 w-9 items-center justify-center rounded-2xl border-2 border-[#ccff00] bg-black text-2xl font-bold">🌑</div>
<div>
<span class="heading block text-2xl font-semibold tracking-tighter">After Dark</span>
<span class="block -mt-1 text-xs tracking-[3px] text-[#ccff00] font-medium">LABS</span>
</div>
</a>
<!-- Desktop Nav -->
<div class="hidden lg:flex items-center gap-8">
<a href="#work" class="transition-colors hover:text-[#ccff00]" data-nav-link>Work</a>
<a href="#services" class="transition-colors hover:text-[#ccff00]" data-nav-link>Services</a>
<a href="https://calendly.com/harrison-afterdarklabs/30min" target="_blank" rel="noopener noreferrer" class="rounded-2xl bg-[#ccff00] px-6 py-3 font-semibold text-black transition-all hover:bg-white hover:scale-105">Get Free Demo</a>
</div>
<!-- Mobile -->
<div class="lg:hidden flex items-center gap-3">
<a href="https://calendly.com/harrison-afterdarklabs/30min" target="_blank" rel="noopener noreferrer" class="rounded-2xl bg-[#ccff00] px-5 py-2.5 text-sm font-semibold text-black">Get Demo</a>
<button id="mobile-nav-toggle" class="flex h-10 w-10 items-center justify-center rounded-xl border border-white/20 hover:bg-white/10" aria-label="Toggle menu">
<span class="text-2xl">☰</span>
</button>
</div>
</div>
</div>
<!-- Mobile Menu -->
<div id="mobile-nav-menu" class="hidden lg:hidden border-t border-white/10 bg-black/95">
<div class="px-6 py-6 flex flex-col gap-4 text-lg">
<a href="#work" class="py-2 hover:text-[#ccff00]" data-nav-link>Work</a>
<a href="#services" class="py-2 hover:text-[#ccff00]" data-nav-link>Services</a>
<a href="https://calendly.com/harrison-afterdarklabs/30min" target="_blank" rel="noopener noreferrer" class="py-2 hover:text-[#ccff00]" data-nav-link>Get Free Demo</a>
</div>
</div>
</nav>
<main>
<!-- Hero -->
<section id="hero" class="hero-bg min-h-screen flex items-center relative overflow-hidden pt-16">
<canvas id="hero-canvas"></canvas>
<div class="hero-vignette"></div>
<div class="hero-content mx-auto max-w-5xl px-6 py-24 lg:py-32 text-center lg:text-left">
<div class="max-w-3xl mx-auto lg:mx-0">
<div class="inline-flex items-center gap-2 rounded-full border border-[#ccff00]/30 bg-black/60 px-4 py-1.5 text-sm mb-6">
<span class="text-[#ccff00]">●</span>
Pompano Beach, FL
</div>
<h1 class="heading text-6xl md:text-7xl lg:text-[4.2rem] leading-none tracking-tighter font-semibold">
Websites that make<br>your business <span class="neon-text">unforgettable</span>.
</h1>
<p class="mt-6 text-xl text-gray-300 max-w-xl mx-auto lg:mx-0">
Custom design & development for Florida businesses. Fast-loading sites, Shopify stores, and tools that turn visitors into customers.
</p>
<div class="mt-10 flex flex-col sm:flex-row gap-4 justify-center lg:justify-start">
<a href="https://calendly.com/harrison-afterdarklabs/30min" target="_blank" rel="noopener noreferrer"
class="px-10 py-5 bg-[#ccff00] hover:bg-white text-black font-semibold rounded-3xl text-lg inline-flex items-center justify-center transition-all hover:scale-105">
Get Your Free Demo
</a>
<a href="#work"
class="px-8 py-5 border border-white/30 hover:border-white rounded-3xl text-lg inline-flex items-center justify-center transition-all">
See Our Work
</a>
</div>
</div>
</div>
</section>
<!-- Work / Portfolio -->
<section id="work" class="scroll-mt-24 border-t border-white/10 bg-zinc-950">
<div class="mx-auto max-w-5xl px-6 py-20">
<div class="flex flex-col md:flex-row md:items-end gap-4 mb-12">
<div>
<p class="text-sm font-bold uppercase tracking-widest text-[#ccff00]">Real results</p>
<h2 class="heading text-5xl font-semibold tracking-tighter">Selected work</h2>
</div>
<p class="md:ml-auto max-w-xs text-gray-400">Every project is built from scratch — no templates, no bloat.</p>
</div>
<div class="grid md:grid-cols-2 gap-6">
<a href="https://miadruck.com" target="_blank" class="group block overflow-hidden rounded-3xl bg-black border border-white/10 hover:border-[#ccff00]/50 transition-all">
<img src="https://afterdarklabs.io/miadruck.webp" width="1200" height="681" loading="lazy" decoding="async" class="w-full aspect-video object-cover transition-transform group-hover:scale-105" alt="Mia Druck Real Estate">
<div class="p-6">
<p class="font-medium">Mia Druck • Real Estate</p>
<p class="text-sm text-gray-400">Modern lead-generation website</p>
</div>
</a>
<a href="https://gardenfreshwholesale.com" target="_blank" class="group block overflow-hidden rounded-3xl bg-black border border-white/10 hover:border-[#ccff00]/50 transition-all">
<img src="https://afterdarklabs.io/gardenfresh.webp" width="1200" height="702" loading="lazy" decoding="async" class="w-full aspect-video object-cover transition-transform group-hover:scale-105" alt="Garden Fresh Wholesale">
<div class="p-6">
<p class="font-medium">Garden Fresh • Wholesale Produce</p>
<p class="text-sm text-gray-400">E-commerce platform + SEO</p>
</div>
</a>
<a href="https://coralvibefl.com" target="_blank" class="group block overflow-hidden rounded-3xl bg-black border border-white/10 hover:border-[#ccff00]/50 transition-all">
<img src="https://afterdarklabs.io/coralvibe.webp" width="1200" height="678" loading="lazy" decoding="async" class="w-full aspect-video object-cover transition-transform group-hover:scale-105" alt="Coral Vibe">
<div class="p-6">
<p class="font-medium">Coral Vibe • Shopify Store</p>
<p class="text-sm text-gray-400">E-commerce with local flavor</p>
</div>
</a>
<a href="https://invoiceotter.com" target="_blank" class="group block overflow-hidden rounded-3xl bg-black border border-white/10 hover:border-[#ccff00]/50 transition-all">
<img src="https://afterdarklabs.io/invoiceotter.webp" width="1200" height="673" loading="lazy" decoding="async" class="w-full aspect-video object-cover transition-transform group-hover:scale-105" alt="Invoice Otter">
<div class="p-6">
<p class="font-medium">Invoice Otter • SaaS</p>
<p class="text-sm text-gray-400">Subscription billing platform</p>
</div>
</a>
</div>
</div>
</section>
<!-- Services -->
<section id="services" class="scroll-mt-24 border-t border-white/10 bg-black">
<div class="mx-auto max-w-5xl px-6 py-20">
<div class="max-w-2xl">
<p class="uppercase tracking-[0.125em] text-[#ccff00] text-sm font-semibold">What we build</p>
<h2 class="heading text-5xl font-semibold tracking-tighter mt-3">No templates. No nonsense.<br>Just results.</h2>
<p class="mt-6 text-lg text-gray-300">We create custom digital experiences that load fast, rank well, and make your phone ring.</p>
</div>
<div class="mt-16 grid md:grid-cols-2 gap-x-16 gap-y-12">
<div>
<h3 class="text-[#ccff00] font-semibold text-lg mb-3">Websites & Online Stores</h3>
<p class="text-gray-400">Professional business sites, Shopify stores, booking systems, and lead capture pages designed to convert South Florida customers.</p>
</div>
<div>
<h3 class="text-[#ccff00] font-semibold text-lg mb-3">Custom Tools & Apps</h3>
<p class="text-gray-400">Internal dashboards, customer portals, inventory systems, and simple mobile apps that actually match how your business runs.</p>
</div>
<div>
<h3 class="text-[#ccff00] font-semibold text-lg mb-3">SEO & Local Domination</h3>
<p class="text-gray-400">Technical SEO, Google Business optimization, local search strategies that put you ahead of the competition in Broward & Palm Beach.</p>
</div>
<div>
<h3 class="text-[#ccff00] font-semibold text-lg mb-3">Everything Else</h3>
<p class="text-gray-400">Branding, logo design, API integrations, hosting, email setup, AI automations — we handle the full stack so you don't have to.</p>
</div>
</div>
<div class="mt-16 pt-10 border-t border-white/10">
<p class="text-sm text-gray-400">Simple sites start at $800–$2,000 (one-time). Custom platforms and apps are quoted individually. Transparent. No monthly bloat fees unless you want ongoing maintenance.</p>
</div>
</div>
</section>
</main>
<footer class="bg-black border-t border-white/10 py-16">
<div class="max-w-5xl mx-auto px-6 text-center">
<div class="flex justify-center mb-8">
<a href="/" class="flex items-center gap-3">
<div class="h-9 w-9 flex items-center justify-center rounded-2xl border-2 border-[#ccff00] text-3xl">🌑</div>
<div class="text-left">
<span class="heading text-3xl tracking-tighter">After Dark</span>
<span class="block text-xs tracking-widest text-[#ccff00]">LABS</span>
</div>
</a>
</div>
<p class="text-gray-500">© 2026 Harrison Erd • Pompano Beach, Florida</p>
<p class="text-xs text-gray-600 mt-6">Built with focus. Delivered with speed.</p>
</div>
</footer>
<script>
// Simplified mobile nav
const toggle = document.getElementById('mobile-nav-toggle');
const menu = document.getElementById('mobile-nav-menu');
toggle.addEventListener('click', () => menu.classList.toggle('hidden'));
// Canvas - toned down
(function() {
const canvas = document.getElementById('hero-canvas');
const ctx = canvas.getContext('2d');
let W, H, nodes = [];
const NODE_COUNT = 45; // Reduced
function resize() {
const rect = canvas.getBoundingClientRect();
canvas.width = W = rect.width * devicePixelRatio;
canvas.height = H = rect.height * devicePixelRatio;
}
function init() {
resize();
nodes = Array.from({length: NODE_COUNT}, () => ({
x: Math.random() * W,
y: Math.random() * H,
vx: (Math.random() - 0.5) * 0.6,
vy: (Math.random() - 0.5) * 0.6,
r: 1.8
}));
}
function frame() {
ctx.fillStyle = '#17212b';
ctx.fillRect(0, 0, W, H);
// Draw connections and nodes (simplified)
ctx.strokeStyle = 'rgba(204,255,0,0.15)';
ctx.lineWidth = 0.8;
for (let i = 0; i < nodes.length; i++) {
for (let j = i+1; j < nodes.length; j++) {
const a = nodes[i], b = nodes[j];
const dx = a.x - b.x;
const dy = a.y - b.y;
const d = Math.sqrt(dx*dx + dy*dy);
if (d < 160) {
ctx.globalAlpha = (160 - d) / 160 * 0.25;
ctx.beginPath();
ctx.moveTo(a.x, a.y);
ctx.lineTo(b.x, b.y);
ctx.stroke();
}
}
}
ctx.globalAlpha = 1;
nodes.forEach(n => {
n.x += n.vx;
n.y += n.vy;
if (n.x < 0 || n.x > W) n.vx *= -1;
if (n.y < 0 || n.y > H) n.vy *= -1;
ctx.fillStyle = '#ccff00';
ctx.beginPath();
ctx.arc(n.x, n.y, n.r, 0, Math.PI*2);
ctx.fill();
});
requestAnimationFrame(frame);
}
window.addEventListener('resize', () => { resize(); init(); });
init();
frame();
})();
</script>
</body>
</html>