Naar de inhoud
Kenny.build
Terug naar start
12 projecten

Alles wat ik heb gebouwd

Software voor livestreaming, multiplayergames, 3D-platformen, webwinkels, CRM's, native plugins, browserextensies en mobiele apps. Filter op de vaardigheid waar het u echt om gaat.

TypeScript×10React×8Express×7Drizzle ORM×6PostgreSQL×6Vite×3AWS S3×2Babylon.js×2pnpm workspaces×2WebSocket×2AI / RAGAndroidAnthropic SDKC++Chrome APIClerkCMakeDaily.coDesign documentationdiscord.jsesbuildExpress 5
Game-engine / Platform voor makersIn ontwikkelingFlagship

PlayMaker

Een game-engine zonder code, van 2D tot 3D, gebouwd om het tegen Roblox op te nemen

Het grootste project in deze catalogus: een volledige game-engine waarin u nooit code schrijft. Natuurkunde, vernietiging, belichting en vloeistofsimulatie worden allemaal visueel opgezet, en projecten groeien op hetzelfde platform van 2D naar volledig 3D. Alles wordt in eigen huis gemaakt via ingebouwde werkplaatsen, zodat een maker nooit naar software van derden hoeft: geen Blender, geen Photoshop, geen externe keten voor materialen.

ReactTypeScriptThree.jsBabylon.jsClerkAWS S3ExpressDrizzle ORM

Technische aantekeningen

  • Een echte engine, geen oefenzandbak: natuurkunde, vernietiging, dynamische belichting en vloeistofsimulatie, allemaal aangestuurd zonder code
  • 2D en 3D op één platform, zodat een project in ambitie kan groeien zonder ergens anders opnieuw te worden gebouwd
  • Ingebouwde werkplaatsen voor materialen, logica en scènes. De hele maakketen zit in het product, en daar zit de echte voorsprong
  • Twee 3D-engines achter één editor ingebouwd, Three.js en Babylon.js, in plaats van het platform op één renderer te zetten
  • Uitleg → Zandbak → Publiceren → Delen, zodat een volslagen beginner de eerste sessie afsluit met iets speelbaars dat via een link te delen is
  • Aanmelden via Clerk met opslag van materialen op S3 via vooraf ondertekende uploadadressen
  • Testen gevoerd als geschreven foutrapport, elk probleem gevolgd met oorzaak, oplossing en controlestatus
Software voor livestreamingIn ontwikkelingFlagship

SuperTurkBot

Een platform voor Twitch-makers, hun OBS-plugin en hun browserextensie

Een abonnementsplatform voor Twitch-streamers, opgebouwd uit drie apart verspreide producten die met elkaar praten: een webapp, een native OBS Studio-plugin en een extensie voor meerdere browsers. De plugin codeert op de machine van de streamer, het platform verdeelt, en de extensie past aan per kijker, en juist dat maakt de twee belangrijkste functies mogelijk.

ReactTypeScriptExpressPostgreSQLDrizzle ORMtmi.jsdiscord.jsAnthropic SDKAWS S3WebSocket

Technische aantekeningen

  • JustTheMic. De streamer zendt zijn geluid uit in aparte sporen (microfoon, spel, muziek, gasten) en elke kijker mengt zijn eigen balans in de browser. Zet het spel zachter, demp de muziek, houd de stem. Niemand anders laat het publiek de mix bepalen.
  • Live ondertiteling, vertaald per kijker. De OBS-plugin maakt de ondertitels lokaal in realtime, het platform stuurt ze door, en de extensie vertaalt ze naar de taal die deze kijker spreekt. Een streamer die in één taal uitzendt bereikt een publiek in alle talen, zonder iets anders te doen.
  • Een native plugin, een doorgeefpunt in de cloud en een browserextensie die samen één keten met lage vertraging vormen: drie verspreidingskanalen, drie uitgifteprocessen, één product
  • 37 genummerde ontwikkelfasen met aparte publieke, technische en interne wijzigingsnotities. Het uitgifteproces is een systeem, geen bijzaak
  • Zelfgeschreven Postgres-migratieloper met afwijkingsgeschiedenis, zodat schemawijzigingen terug te draaien en te controleren zijn
  • Realtime inlezen van de Twitch-IRC via tmi.js plus een spraakbrug met Discord, allebei bestand tegen herverbindingen en verzoeklimieten
  • Versleutelde opslag van inloggegevens met @noble/ciphers voor OAuth-tokens van derden
Platform voor interne communicatieIn ontwikkelingFlagship

A.V.Y.N.

Eigen teamberichten en spraak: bezitten in plaats van licenties huren

Teamberichten en spraak, gebouwd om in eigen beheer te draaien. Het uitgangspunt is de kostenstructuur: Slack en Teams rekenen voor altijd per gebruiker, en een bedrijf dat zijn eigen communicatielaag draait, betaalt die belasting niet meer en geeft zijn interne gesprekken niet meer uit handen. Berichten, spraakkamers en aanmelding, uit te rollen op de infrastructuur die het bedrijf al beheert.

ReactTypeScriptExpressPostgreSQLDrizzle ORMFirebase AuthDaily.coAndroid

Technische aantekeningen

  • Gebouwd voor en in gebruik genomen bij een echt bedrijf. Het maakte deel uit van het TutorMax-pakket dat de maandelijkse softwarekosten van ~$ 15.000 naar ~$ 500 bracht
  • Schaft licenties per gebruiker volledig af. De 200e gebruiker toevoegen kost hetzelfde als de 20e
  • Door het in eigen beheer te draaien verlaten interne gesprekken nooit infrastructuur die het bedrijf bezit
  • Firebase Auth als enige aanmeldpoort, aan de serverkant gecontroleerd met de beheer-SDK
  • Daily.co-spraakkamers met de levensduur aan de serverkant geregeld, zodat clients nooit sleutels in handen hebben
  • Levert naast de webclient een Android-app, zodat het team ook buiten het bureau bereikbaar is zonder een tweede rekening per gebruiker
  • Oorspronkelijk op Matrix gebouwd. Het gefedereerde protocol is er volledig uit gehaald zodra duidelijk werd dat het product het niet nodig had. De omvang beperken won het van het verdedigen van reeds gemaakte kosten.
Realtime multiplayergameIn ontwikkelingFlagship

StreamRacer

Multiplayerracen in de browser waarbij de Twitch-chat het opneemt tegen betalende coureurs

Een multiplayer-racespel voor de browser met een client op Babylon.js en Havok-natuurkunde en een Node-server. Twitch-kijkers doen mee door !join te typen en rijden als door AI bestuurde bots; betalende gebruikers rijden zelf via WebSocket. Beide rijden op hetzelfde circuit, in dezelfde simulatie, op hetzelfde moment.

Babylon.jsHavok PhysicsTypeScriptNode.jsWebSocketpnpm workspaces

Technische aantekeningen

  • Havok-natuurkundesimulatie in de browser met een server die het laatste woord heeft over de racestand
  • Twee besturingsroutes in één simulatie: door de chat gestuurde AI-rijders en live invoer via WebSocket van menselijke coureurs
  • Monorepo met pnpm-werkruimtes die spelclient, server en gedeelde typen scheidt
  • Eigen keten voor circuits en texturen die de Babylon-scène voedt
BrowserextensieOpgeleverd

STB Extension

Live ondertiteling, vertaling en overlays geïnjecteerd in websites van anderen

Een Manifest V3-extensie voor Chromium en Firefox die live ondertiteling, realtime vertaling, meeluisteraudio en door de uitzender bepaalde overlays boven op Twitch legt. Ingepakt en ingediend bij de Chrome Web Store; de Firefox-versie komt uit dezelfde bron.

TypeScriptManifest V3LiveKitesbuildChrome APIWebRTC

Technische aantekeningen

  • Eén codebasis, twee extensieplatformen: de Chromium- en Firefox-versies komen uit één esbuild-keten
  • LiveKit WebRTC-client die binnen een inhoudsscript draait voor meeluisteraudio met lage vertraging
  • Ondertitels en overlays getekend binnen andermans DOM waar ze geen zeggenschap over heeft, zonder de pagina eromheen te breken
  • Functies die de uitzender vrijgeeft: kijkers zien alleen wat de streamer heeft aangezet
Native desktopOpgeleverd

STB OBS Plugin

Een native C++-plugin voor OBS Studio, met ondertekend Windows-installatieprogramma

Een native OBS Studio-plugin geschreven in C++ en gebouwd met CMake, verspreid als Windows x64-installatieprogramma en als zip. Hij breidt het uitzendprogramma zelf uit in plaats van het vanuit de browser te omzeilen.

C++CMakeOBS Studio APIGitHub ActionsWindows installer

Technische aantekeningen

  • C++ tegen de plugin-koppeling van OBS, een ander vak dan de webkant, en het bewijs dat het gereedschap geen grens is
  • CMake-instellingen plus GitHub Actions voor herhaalbare builds op meerdere platformen
  • Geleverd als een echt installatieprogramma, niet als een zip met bestanden en een leesmij met instructies
Spelontwerp + prototypePrototype

Claw Gunners

Een turn-based grijpmachine-roguelite, in de browser uitgeprobeerd voordat er iets vastlag

Vis met een grijper van vast volume ballen uit een bak met natuurkunde, en vecht daarna met wat u eruit hebt gehaald. De ballen zijn tegelijk uw munitie, uw genezing, uw hulpmiddelen en uw munt voor verbeteringen, dus elke greep is een keuze over middelen. Ontworpen onder Contorium Studios LLC.

HTML CanvasJavaScriptGodot (planned port)Design documentation

Technische aantekeningen

  • Speelbaar browserprototype als eerste gebouwd, juist om de ontwerpvragen te beantwoorden voordat er een engine werd gekozen
  • Een productieplan dat het werk zo ordent dat het spel aan het eind van elke fase speelbaar is
  • Uitgeschreven ontwerpdocumentatie over de kernlus, de economie en de beslissingen die duur zijn om terug te draaien
WebwinkelOpgeleverd

Silver Ahmet

Tweetalige webwinkel met meerdere valuta voor een 30 jaar oude Turkse juwelier

Een webwinkel voor een Turks bedrijf in sterlingzilver dat wereldwijd verkoopt. Inhoud in het Engels en Turks, prijzen in dollars en lira, en betaalmethoden die veranderen met de regio van de koper, plus één portaal dat klanten en beheerders bedient vanuit dezelfde codebasis.

ReactTypeScriptExpressPostgreSQLDrizzle ORMPayPal SDKGCS

Technische aantekeningen

  • Afrekenen dat rekening houdt met de regio: welke betaalpartijen verschijnen hangt af van waar de koper zit
  • Volledige Engels/Turkse vertaling over catalogus, afrekenen en transactieprocessen
  • Prijzen in meerdere valuta met regels voor internationale verzending
  • Eén portaal, twee doelgroepen: de bestelgeschiedenis van de klant en het beheer-CRM achter dezelfde schil
MarktplaatsIn ontwikkeling

Elefy

Een marktplaats met twee kanten die kleine streamers koppelt aan gecontroleerde promotors

Kleine Twitch-streamers vragen promotie aan (raids, vermeldingen), en gecontroleerde makers nemen die aan en voeren ze uit. Een campagne doorloopt een levenscyclus met meerdere standen, met toezicht van beheerders bij de controle van makers en de vrijgave van de betaling.

ReactTypeScriptExpressPostgreSQLDrizzle ORMVite

Technische aantekeningen

  • Marktplaats met twee kanten en aparte processen voor aanvrager en uitvoerder, op gedeelde gegevens
  • Standenmachine voor campagnes met beheerdersoordeel bij de controle- en uitbetaalstappen
  • Controleketen voor makers die bepaalt wie betaald werk mag aannemen
BranchesoftwareIn ontwikkeling

TipJar

Fooienregistratie voor de horeca, met bonnen die via tekstherkenning worden gelezen

Registratie van diensten en fooien voor bedienend personeel en barmedewerkers, met analyses die een schoenendoos vol bonnen omzetten in inzicht in wat er verdiend wordt. De gebruiker fotografeert een bon en de bedragen worden eruit gehaald in plaats van ingetypt.

ReactTypeScriptExpressPostgreSQLGoogle Cloud VisionTesseractStripeFirebase

Technische aantekeningen

  • Tekstherkenning met Google Cloud Vision plus een lokale route via Tesseract om totalen uit bonfoto's te halen
  • Dienstregistratie die de verdienanalyse voedt: uurtarief, beste diensten, verloop door de tijd
  • Gratis en betaalde pakketten, afgerekend via Stripe
  • Gebouwd op het echte werkritme van de vloer. Wie het gebruikt zit midden in een dienst, met één hand, en heeft haast
Interne software / CRMOpgeleverd

TutorMax Internal Platform

Het systeem dat een bedrijf van $ 15.000 naar $ 500 per maand aan software bracht

Een volledige vervanging van het operationele pakket van een startup, gebouwd tijdens een opdracht in 2025-26. ClickUp deed dienst als CRM én als projectvolgsysteem, naast een handvol andere betaalde systemen; dat alles is vervangen door een meldingensysteem op basis van Kanban, een interne technische kennisbank, een kennisbank voor klanten en een openbaar portaal, plus een AI-laag die de wekelijkse klantoverleggen uit zichzelf omzette in meldingen en documentatie. De vaste maandkosten gingen van ongeveer $ 15.000 naar ongeveer $ 500.

ReactTypeScriptExpressPostgreSQLDrizzle ORMFathom APINeural networkAI / RAGVite

Technische aantekeningen

  • Circa $ 14.500 per maand uit de bedrijfskosten gehaald, ongeveer $ 174.000 per jaar, door gehuurde systemen te vervangen door software die het bedrijf volledig bezat
  • Overleggen werden automatisch meldingen. De AI haalde de uitgeschreven wekelijkse klantgesprekken op via de koppeling van Fathom, las wat er werkelijk was besproken, herkende de aangekaarte problemen en opende meldingen voor technische support zonder dat iemand notuleerde.
  • De kennisbank schreef zichzelf. Dezelfde ronde haalde oplossingen en context eruit die in het gesprek opkwamen en nooit werden vastgelegd, en zette ze in de kennisbank, waarmee het probleem verdween dat het antwoord wel bestaat maar alleen in iemands hoofd.
  • Getraind op interne documentatie, zodat de uitkomst aansloot bij hoe het bedrijf zijn eigen systemen werkelijk beschreef
  • Een eigen neuraal netwerk gekoppeld aan elke afdeling: doordat alle systemen eigendom van het bedrijf waren, kon één model overleggen, chat, meldingen, gesprekken, verkoop en boekhouding tegelijk lezen. Na een leerperiode van twee à drie maanden beantwoordde het op verzoek vragen van de directie en bracht het terugkerende problemen aan het licht waar de leiding nooit van hoorde.
  • Het model schaalde uit zichzelf op: een klacht die één keer werd genoemd, werd vastgehouden; een klacht die terugkwam werd aangekaart, getoetst aan de interne systemen op een bestaande oplossing, en geopend als melding als die er niet was
  • Kanban voor twee doelgroepen: klanten volgden hun eigen meldingen, reageerden en sloten ze als een probleem zichzelf oploste, terwijl de interne technische discussie verborgen bleef en de directeur zicht hield op beide beelden
  • Aparte interne en externe kennisbanken uit één inhoudsmodel, zodat een oplossing die één keer werd geschreven zowel het technische team als de klant diende
  • Routering op hostnaam: portal.*, help.* en het hoofddomein leverden compleet verschillende routes en aanmeldregimes vanuit één codebasis en één uitrol
Toepassing voor consumentenIn ontwikkeling

Mama's RecipeKeepr

Receptenbeheer met spraakbediening, slimme voorraadkast en gegenereerde boodschappenlijsten

Een receptenapp gemaakt om echt mee te koken: spraakbediening met de handen vrij terwijl ze onder het meel zitten, voorraadbeheer dat weet wat u al hebt, en boodschappenlijsten die volgen uit het verschil tussen die twee.

ReactTypeScriptExpress 5pnpm workspacesNode 24Vite

Technische aantekeningen

  • Monorepo met pnpm-werkruimtes op Node 24 die de React-client scheidt van een Express 5-koppelvlak
  • Spraakbediening om tijdens het koken tussen de stappen te bewegen
  • Voorraadstand vergeleken met wat het recept vraagt om automatisch boodschappenlijsten te maken
Vaardigheden

Wat voor systeem het ook is, ik heb er al een van die vorm opgeleverd

Startups hebben geen specialist per laag nodig. Ze hebben iemand nodig die het geheel van niets tot draaiend in productie brengt. Elke vaardigheid hieronder verwijst naar echte projecten waarin ze is gebruikt.

Operations en automatisering

Afdeling opbouwen, werkinstructies ontwerpen, inwerktrajecten, escalatieroutes en de automatisering die de handmatige stap helemaal weghaalt. Voortgekomen uit twintig jaar op de werkvloer, niet uit een processchema.

Product over de hele breedte

Van schema tot opgeleverde interface. Postgres-modellering, getypeerde koppelvlakken, authenticatie en de interface daarbovenop, samen ontworpen, want juist door ze te scheiden breken producten.

Realtimesystemen

Spelstatus via WebSocket, IRC-chat inlezen, WebRTC-audio, aanwezigheid. Systemen die herverbindingen, opstoppingen en verzoeklimieten moeten overleven zonder de gebruiker te laten vallen.

3D en grafisch werk

Three.js, Babylon.js, Havok-natuurkunde, WebGL. Scènegrafen, editors, grijpers en serialisatie, waaronder twee 3D-engines achter één platform.

AI- en machinelearning-ketens

Generatieketens over meerdere leveranciers, spraakherkenning, tekstherkenning, verwerking op het apparaat zelf, plus neurale netwerken vanaf nul geschreven als de wiskunde ertoe doet.

Betalingen en facturatie

Koppelingen met Stripe en PayPal, abonnementsniveaus, afrekenen dat rekening houdt met de regio, prijzen in meerdere valuta. Code die met geld omgaat, geschreven om gecontroleerd te worden, niet geïmproviseerd.

Native en desktop

C++ tegen de plugin-koppeling van OBS Studio, gebouwd met CMake en doorlopende integratie, verspreid als een echt Windows-installatieprogramma. Als de browser niet volstaat, ga ik native.

Browserextensies

Manifest V3 voor Chromium en Firefox vanuit één bron. Inhoudsscripts die binnen andermans DOM werken zonder de pagina eromheen te breken.

Webwinkels

Catalogus, winkelwagen, afrekenen, afhandeling, beheer. Geschikt gemaakt voor meerdere talen en valuta, met betaalmethoden die zich aanpassen aan de regio van de koper.

Elk platform

Android naast het web voor A.V.Y.N., een native C++-desktopplugin voor OBS, en een Manifest V3-extensie die vanuit één bron naar twee browsermotoren gaat. iOS, macOS, Windows, Linux of de tablet aan de muur: waar het ook moet draaien, daar bouw ik het.

Data en dashboards

Dashboards, prognoses, trechters en rapportage, gebouwd op afgeleide gegevens zodat de cijfers niet kunnen afwijken van de records die ze samenvatten.

Infrastructuur en DevOps

Docker, uitrollen in eigen beheer, migratielopers met afwijkingsgeschiedenis, integratieketens. Ik beheer mijn eigen machines, inclusief die deze pagina bedient.