.mob-menu.open{display:flex;} .mob-menu a{font-size:15px;color:var(--text);font-weight:500;padding:8px 0;} /* PAGE HEADER */ .page-header{padding:140px 0 80px;position:relative;overflow:hidden;} .page-header::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(59,130,246,0.08),transparent),radial-gradient(ellipse 60% 40% at 80% 60%,rgba(139,92,246,0.05),transparent);} .page-header .w{position:relative;z-index:1;} .page-header .stag{font-family:var(--mono);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--blue);margin-bottom:12px;font-weight:600;} .page-header h1{font-size:clamp(32px,5vw,52px);font-weight:900;color:var(--white);letter-spacing:-2px;line-height:1.08;margin-bottom:16px;} .page-header .sub{font-size:17px;color:var(--text);max-width:560px;line-height:1.75;} /* CONTENT SECTIONS */ .content-section{padding:80px 0;border-top:1px solid var(--border);} .content-section.alt{background:var(--bg2);} .content-section h2{font-size:clamp(24px,3vw,32px);font-weight:800;color:var(--white);letter-spacing:-1px;line-height:1.2;margin-bottom:20px;} .content-section p{font-size:15px;color:var(--text);line-height:1.8;margin-bottom:16px;max-width:680px;} .content-section p strong{color:var(--white);font-weight:600;} /* MISSION BLOCK */ .mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;} .mission-left h2{max-width:400px;} .mission-right{display:flex;flex-direction:column;gap:20px;} .mission-card{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:24px;transition:all .3s;} .mission-card:hover{border-color:var(--border-h);transform:translateY(-2px);} .mission-card h4{font-size:14px;font-weight:700;color:var(--white);margin-bottom:6px;display:flex;align-items:center;gap:8px;} .mission-card p{font-size:13px;color:var(--text);line-height:1.65;margin:0;max-width:100%;} /* APPROACH */ .approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px;} .approach-card{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:28px 22px;transition:all .3s;position:relative;overflow:hidden;} .approach-card:hover{border-color:var(--border-h);transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,0,0,0.3);} .approach-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--grad2);opacity:0;transition:opacity .3s;} .approach-card:hover::after{opacity:1;} .approach-card .num{font-family:var(--mono);font-size:11px;color:var(--blue);font-weight:600;margin-bottom:12px;display:block;} .approach-card h4{font-size:15px;font-weight:700;color:var(--white);margin-bottom:8px;} .approach-card p{font-size:13px;color:var(--text);line-height:1.65;margin:0;max-width:100%;} /* TECH STACK */ .stack-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px;} .stack-item{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:18px 16px;text-align:center;transition:all .2s;} .stack-item:hover{border-color:var(--border-h);} .stack-item .si-icon{font-size:24px;margin-bottom:8px;display:block;} .stack-item h5{font-size:13px;font-weight:600;color:var(--white);margin-bottom:2px;} .stack-item span{font-size:11px;color:var(--dim);} /* VALUES */ .values-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px;} .value-card{display:flex;gap:16px;padding:24px;background:var(--bg2);border:1px solid var(--border);border-radius:14px;transition:all .3s;} .value-card:hover{border-color:var(--border-h);} .value-icon{width:44px;height:44px;min-width:44px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:20px;} .value-card h4{font-size:14px;font-weight:700;color:var(--white);margin-bottom:4px;} .value-card p{font-size:13px;color:var(--text);line-height:1.6;margin:0;max-width:100%;} /* CTA */ .page-cta{text-align:center;padding:100px 0;position:relative;} .page-cta h2{font-size:clamp(28px,4vw,40px);font-weight:900;color:var(--white);letter-spacing:-1.5px;margin-bottom:12px;} .page-cta p{font-size:16px;color:var(--text);margin:0 auto 28px;max-width:440px;} .btn-p{display:inline-flex;align-items:center;gap:8px;background:var(--white);color:var(--bg);font-size:14px;font-weight:700;padding:13px 26px;border-radius:10px;transition:all .2s;border:none;cursor:pointer;} .btn-p:hover{background:var(--blue);color:#fff;transform:translateY(-2px);box-shadow:0 8px 32px rgba(59,130,246,0.25);} /* FOOTER */ footer{border-top:1px solid var(--border);padding:40px 0 28px;} footer .w{display:grid;grid-template-columns:1fr auto auto;gap:32px 48px;align-items:start;} .ft-l{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800;color:var(--white);} .ft-l span{background:var(--grad2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;} .ft-r{display:flex;flex-direction:column;gap:8px;} .ft-r-title{font-size:10px;color:var(--dim);text-transform:uppercase;letter-spacing:1.5px;font-weight:600;font-family:var(--mono);margin-bottom:2px;} .ft-r a{font-size:12px;color:var(--dim);transition:color .2s;display:block;}.ft-r a:hover{color:var(--white);} .ft-legal{display:flex;flex-direction:column;gap:8px;} .ft-legal-title{font-size:10px;color:var(--dim);text-transform:uppercase;letter-spacing:1.5px;font-weight:600;font-family:var(--mono);margin-bottom:2px;} .ft-legal a{font-size:12px;color:var(--dim);transition:color .2s;display:block;}.ft-legal a:hover{color:var(--white);} .ft-c{grid-column:1/-1;font-family:var(--mono);font-size:10px;color:var(--dim);padding-top:20px;border-top:1px solid var(--border);} /* RESPONSIVE */ @media(max-width:900px){ .nav-r{display:none;}.hamburger{display:flex;} .mission-grid{grid-template-columns:1fr;} .approach-grid{grid-template-columns:1fr;} .stack-grid{grid-template-columns:repeat(2,1fr);} .values-grid{grid-template-columns:1fr;} footer .w{grid-template-columns:1fr;text-align:center;gap:24px;}.ft-r,.ft-legal{align-items:center;} } @media(max-width:480px){ .stack-grid{grid-template-columns:1fr;} } /* REVEAL */ .rv{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease;} .rv.vis{opacity:1;transform:translateY(0);} .rv-d1{transition-delay:.08s;}.rv-d2{transition-delay:.16s;}.rv-d3{transition-delay:.24s;} @media(prefers-reduced-motion:reduce){.rv{opacity:1!important;transform:none!important;transition:none!important;}}
Koekoek.ai is een klein technisch team uit Amsterdam. Wij ontwerpen, bouwen, hosten en beheren autonome AI-systemen voor bedrijven die resultaat willen zonder de overhead van een heel tech-team.
Wij zagen steeds hetzelfde patroon: bedrijven die tienduizenden per maand betalen aan consultants, bureaus en developers voor systemen die halverwege stilvallen. Te duur, te traag, te complex.
Koekoek.ai is het alternatief. Een klein team dat end-to-end levert: van architectuur tot productie, van hosting tot doorlopend beheer. Zonder tussenlagen, zonder overhead, zonder verrassingen.
Geen maanden plannen. Eerste werkende versie binnen twee weken. Elke iteratie levert direct waarde op.
Wij bouwen het, wij hosten het, wij beheren het. Eén aanspreekpunt, geen vingerwijzen.
Ons eigen systeem StackSats draait 24/7 op dezelfde architectuur die wij voor klanten bouwen. Wij eten ons eigen dogfood.
Koekoek.ai is een klein technisch team. De studio is opgericht en geleid door Joshua — geen tussenlagen, geen account managers. Als je met ons werkt, schakel je direct met de founder en de developer die jouw systeem bouwen.
Zes jaar ervaring in het vak, met focus op data- en AI-systemen die productie halen — van self-learning trading-engines tot autonome agent-teams. Bouwt het liefst systemen die maanden later nog steeds beter presteren dan op dag één. Gelooft in werk laten zien boven pitches, en in klein-en-snel boven groot-en-traag.
Geen waterval, geen Agile-theater. Wij werken in korte cycli met directe communicatie. Elke week een werkende versie, elke beslissing transparant.
Elk systeem bestaat uit losse componenten: data ingestion, verwerking, beslissingslogica, output. Apart te testen, apart te schalen. Geen monoliet.
Alles draait op Hetzner VPS met geautomatiseerde provisioning. Monitoring, backups en alerting zijn ingebouwd. Niet achteraf bedacht.
Elke week een werkende versie. Jij test, geeft feedback, wij bouwen door. Geen grote onthulling na maanden radiostilte.
Bewuste keuzes, geen hype-driven development. Wij kiezen tools die bewezen zijn en passen bij de schaal van het probleem.
Past AI niet bij jouw probleem? Dan zeggen wij dat. Wij verkopen geen oplossingen die niet werken.
NDA bij elk project, GDPR standaard. Jouw data blijft op jouw omgeving. Geen uitzonderingen.
Je praat met de mensen die bouwen. Geen tussenlagen, geen account managers, geen vergaderingen over vergaderingen.
Wij bouwen niet voor de demo. Wij bouwen voor productie. Monitoring, backups en self-healing zijn standaard.
Plan een vrijblijvend gesprek. Wij vertellen eerlijk of wij de juiste partij zijn.
Plan een gesprek →