I build things that arescalable
Stop building at yesterday's speed. I combine full-stack engineering with AI-native workflows to ship high-end SaaS solutions and complex data tools faster than ever.
Featured Projects
Recent work showcasing full-stack development with AI integration and complex data systems.
AI Invoice Processing
& IBANs Encrypted
AI-powered invoice management and SEPA payment platform for the European rental industry. Uses Mistral AI with intelligent model fallback: starts with a small model, validates quality, and escalates to larger models only when needed. IBANs are encrypted with AES-256-GCM, and serverless edge functions handle OCR and data extraction.
CrewVee CRM
InternalFull-stack B2B CRM with agentic AI built for internal sales operations. Autonomous AI sales agents (multi-LLM: Claude, GPT-4o, Gemini) handle lead qualification 24/7, backed by RAG-powered knowledge bases and real-time conversation intelligence. Integrates with HubSpot, Pipedrive, and Salesforce via OAuth. Deployed on Supabase Edge Functions for near-zero latency.
Refactored and modernized the selection tool for Ad Hoc Data, a leading B2B data provider in the Netherlands and Belgium with 1.2M+ Belgian companies in their database. Added geographic search using GeoJSON polygons, enabling users to find companies within provinces, arrondissements, or postal code areas.
Building with High Velocity: AI-Native Workflow
I leverage Claude Code directly in my terminal to accelerate development without sacrificing code quality. By offloading the boilerplate to AI, I maintain my focus on high-level architecture and system design. This AI-native approach allows me to tackle complex logic and ship production-ready features at a pace that traditional workflows can't match.
Terminal-First Workflow
Claude Code integrated directly into my development environment for seamless AI assistance.
AI Agents & Automation
AI agents and pg_cron jobs handle the repetitive work automatically — from lead qualification in CrewVee CRM to nightly data pipelines running in the background.
Rapid Iteration
From concept to production-ready code in hours, not days. Complex features shipped faster.
// Secure AI invoice processing pipeline
async function processInvoice(encryptedFile: Buffer) {
// AES-256-GCM decryption
const decrypted = await crypto.decrypt(
encryptedFile,
await getFileKey(invoice.keyId)
);
console.log("✓ Decryption successful");
// Extract text with OCR
const ocrText = await extractText(decrypted);
// Mistral AI extraction with smart fallback
const result = await mistral.chat({
model: "mistral-small-latest",
messages: [{
role: "user",
content: `Extract invoice data:\n${ocrText}`
}]
});
// Validate & escalate if needed
if (!isValid(result)) {
return mistral.chat({
model: "mistral-large-latest",
// ... retry with larger model
});
}
// Re-encrypt sensitive data before storage
const encrypted = await crypto.encrypt(
result.bankAccount,
await generateKey()
);
console.log("✓ Encryption successful");
return { ...result, bankAccount: encrypted };
}