.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;}}
Over ons Diensten Hoe het werkt Case Study AI-Fit Check FAQ Contact

Waarom wij bestaan

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.

Snel naar productie

Geen maanden plannen. Eerste werkende versie binnen twee weken. Elke iteratie levert direct waarde op.

Eigenaarschap

Wij bouwen het, wij hosten het, wij beheren het. Eén aanspreekpunt, geen vingerwijzen.

Bewezen in productie

Ons eigen systeem StackSats draait 24/7 op dezelfde architectuur die wij voor klanten bouwen. Wij eten ons eigen dogfood.

Wie bouwt dit?

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.

J
Joshua
Founder · AI & Data Engineer

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.

AI & ML Data Pipelines Agent Architecturen Productie-systemen Amsterdam
“Wij bouwen met onze eigen code, op onze eigen infrastructuur, en wij draaien ons eigen AI-systeem (StackSats) er bovenop. Zo weten wij dat onze aanpak werkt: niet in theorie, maar in productie.”

Hoe wij werken

Geen waterval, geen Agile-theater. Wij werken in korte cycli met directe communicatie. Elke week een werkende versie, elke beslissing transparant.

01

Modulaire architectuur

Elk systeem bestaat uit losse componenten: data ingestion, verwerking, beslissingslogica, output. Apart te testen, apart te schalen. Geen monoliet.

02

Infrastructure-as-code

Alles draait op Hetzner VPS met geautomatiseerde provisioning. Monitoring, backups en alerting zijn ingebouwd. Niet achteraf bedacht.

03

Iteratief en transparant

Elke week een werkende versie. Jij test, geeft feedback, wij bouwen door. Geen grote onthulling na maanden radiostilte.

Waar wij mee bouwen

Bewuste keuzes, geen hype-driven development. Wij kiezen tools die bewezen zijn en passen bij de schaal van het probleem.

🐍
Python
Pipelines & AI
🗄
MySQL / PostgreSQL
Data opslag
Hetzner VPS
EU hosting
🤖
Claude / GPT
AI-modellen
🌐
REST APIs
Integraties
📊
Custom dashboards
Monitoring
🔒
End-to-end encryptie
Security
Cron & event-driven
Automatisering

Waar wij voor staan

Eerlijkheid boven sales

Past AI niet bij jouw probleem? Dan zeggen wij dat. Wij verkopen geen oplossingen die niet werken.

Privacy als default

NDA bij elk project, GDPR standaard. Jouw data blijft op jouw omgeving. Geen uitzonderingen.

Direct contact

Je praat met de mensen die bouwen. Geen tussenlagen, geen account managers, geen vergaderingen over vergaderingen.

Systemen die blijven werken

Wij bouwen niet voor de demo. Wij bouwen voor productie. Monitoring, backups en self-healing zijn standaard.

Klaar om te beginnen?

Plan een vrijblijvend gesprek. Wij vertellen eerlijk of wij de juiste partij zijn.

Plan een gesprek →