[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"cms-options":3,"work-case-gamelib":41},{"data":4,"source":40},{"absolitOptions":5},{"absolitOptionsFields":6},{"tagline":7,"shortDescription":8,"faqIntro":9,"email":10,"phone":11,"seoTitleSuffix":12,"seoDefaultDescription":13,"seoDefaultImage":14,"seoPages":15},"Digitaal vakwerk. Vlakbij.","Websites en maatwerk software voor ondernemers die kwaliteit verwachten. Persoonlijk contact, snel geschakeld.","Hier vind je antwoorden op alle vragen over mijn werkwijze, diensten en tarieven.","info@absolit.nl","0644694639"," - Absolit","Websites en maatwerk software voor ondernemers in Nederland. Persoonlijk contact, snel geschakeld.",null,[16,20,24,28,32,36],{"route":17,"title":18,"description":13,"noindex":19,"image":14},"\u002F","Absolit - Webontwikkeling voor ondernemers",false,{"route":21,"title":22,"description":23,"noindex":19,"image":14},"\u002Fwork","Mijn Werk","Bekijk mijn werk: recente webdevelopment projecten voor ondernemers in Nederland.",{"route":25,"title":26,"description":27,"noindex":19,"image":14},"\u002Ffaq","Veelgestelde Vragen","Antwoorden op veelgestelde vragen over webdevelopment en diensten.",{"route":29,"title":30,"description":31,"noindex":19,"image":14},"\u002Ftarieven","Tarieven","Vaste uurtarieven voor webdevelopment: website, webshop, maatwerk software en onderhoud.",{"route":33,"title":34,"description":35,"noindex":19,"image":14},"\u002Fprivacy","Privacyverklaring","Lees hoe Absolit omgaat met jouw persoonlijke gegevens en privacy.",{"route":37,"title":38,"description":39,"noindex":19,"image":14},"\u002Fvoorwaarden","Algemene Voorwaarden","De algemene voorwaarden voor samenwerking met Absolit. Lees hier alles over opdrachten, prijzen en aansprakelijkheid.","live",{"databaseId":42,"title":43,"slug":44,"date":45,"content":46,"seo":47,"projectFields":53,"featuredImage":126,"siteVisibility":135},326,"GameLib","gamelib","2026-08-10T13:44:22","\u003Cp>GameLib is mijn eigen bibliotheek van gamekeys. Het houdt bij welke spellen ik heb, welke serienummers daarbij horen, wat de spellen op dit moment waard zijn en wat er op de marktplaats van Kinguin voor gevraagd wordt. Op basis daarvan bepaal ik wat ik aanbied en tegen welke prijs.\u003C\u002Fp>\n\u003Cp>Niemand anders gebruikt de bibliotheek naast mijzelf en registratie staat ook uit. Het is het oudste project dat ik heb en het is nog steeds in ontwikkeling.\u003C\u002Fp>\n\u003Ch2>Waarom\u003C\u002Fh2>\n\u003Cp>Ik had een flinke stapel keys en die wilde ik ergens opslaan. Dat begon met Excel. Daarna een WordPress-site en toen nog twee keer WordPress met een eigen thema en Bedrock eronder. Elke versie loste iets op, maar ik liep, bij elke vernieuwing, tegen problemen aan. Tot het duidelijk werd dat een lijst met spullen niet het probleem was maar een lijst die weet wat de spullen waard zijn.\u003C\u002Fp>\n\u003Cp>Want dat beweegt continu. Een spel dat vorige maand vijftien euro was staat nu misschien bij een paar winkels tegelijk in de aanbieding. Zonder systeem doe je dat op gevoel: je kijkt wat rond, gokt een prijs en zet hem erop. Dat werkt, maar je verkoopt structureel op de verkeerde momenten. Waar het mij om gaat is geduldig verkopen: wachten tot een prijs goed staat in plaats van er zo snel mogelijk vanaf te komen.\u003C\u002Fp>\n\u003Ch2>Hoe het werkt\u003C\u002Fh2>\n\u003Cp>Laravel aan de achterkant, Nuxt aan de voorkant, in één monorepo. Het datamodel is opgeknipt in het spel zelf, de serienummers die eraan hangen, de prijzen die ik erover verzamel en de aanbiedingen die eruit voortkomen.\u003C\u002Fp>\n\u003Cp>Er hangen drie externe koppelingen aan. Kinguin is de marktplaats en die heeft twee gezichten: een kant om als verkoper aanbiedingen te beheren en een kant om te zien wat er verkocht is. Die hebben elk hun eigen inloggegevens, dus Gamelib moet slimme keuzes maken welke API de juiste informatie bevat. Naast Kinguin is er Allkeyshop die levert ook de prijsgeschiedenis per spel.\u003C\u002Fp>\n\u003Ch2>Kernpunten waar ik trots op ben\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>Kandidaten-matching op titel vóór er prijzen worden opgehaald.\u003C\u002Fstrong> Een spel in mijn bibliotheek koppelen aan hetzelfde spel bij een prijsvergelijker gaat mis op edities, ondertitels, jaartallen en regio&#8217;s. Daar zit het meeste werk: eerst een lijst kandidaten opbouwen, dan pas prijzen. Het is veruit de grootste service in de codebase.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Diepe Kinguin-koppeling\u003C\u002Fstrong> voor prijsinformatie en half-geautomatiseerde verkoop.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Een rijk dashboard voor API- en verkoopstatussen.\u003C\u002Fstrong> Elke koppeling schrijft na elke poging weg of het gelukt is en zo niet waarom. In een tool die van externe partijen afhangt is niet &#8220;er is iets stuk&#8221; de vraag maar &#8220;wát is er stuk&#8221;.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Prijsgeschiedenis opslaan in plaats van alleen actuele prijzen\u003C\u002Fstrong>, samen met de prijzen van AllKeyShop. Een prijs zegt weinig; een prijs die drie weken zakt zegt iets.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Wat er nog niet in zit\u003C\u002Fh2>\n\u003Cp>Volledig geautomatiseerd in- en verkopen. Dat is het einddoel en daar is dit nog lang niet.\u003C\u002Fp>\n\u003Ch2>Wat het opleverde\u003C\u002Fh2>\n\u003Cp>Vijf jaar dezelfde codebase onderhouden terwijl de stack eromheen doorschuift; daar komen weinig hobbyprojecten aan toe. Verder veel CRUD- en query-ervaring, want de vraag die je continu stelt is welke van je spellen samen de meest waardevolle serienummers hebben en in een omgeving met meerdere gebruikers dan alleen de exemplaren die aan jou zijn toegewezen. Dat soort vragen dwingt je om je queries serieus te nemen.\u003C\u002Fp>\n",{"title":48,"metaDesc":49,"canonical":49,"opengraphTitle":48,"opengraphDescription":50,"metaRobotsNoindex":51,"metaRobotsNofollow":52,"opengraphImage":14},"GameLib - WP - Admin","","GameLib is mijn eigen bibliotheek van gamekeys. Het houdt bij welke spellen ik heb, welke serienummers daarbij horen, wat de spellen op dit moment waard zijn en wat er op de marktplaats van Kinguin voor gevraagd wordt. Op basis daarvan bepaal ik wat ik aanbied en tegen welke prijs. Niemand anders gebruikt de bibliotheek naast … Continued","noindex","follow",{"client":14,"startDate":54,"duration":55,"projectType":56,"description":58,"liveWebsite":59,"cvDescription":60,"headerImage":61,"skills":71,"gallery":91},"2021-07-06T00:00:00+00:00","Doorlopend",[57],"prive","Een bibliotheek voor gamekeys met prijsinformatie uit meerdere bronnen, om op het juiste moment te verkopen.","https:\u002F\u002Fgamelib.nl","\u003Cul>\n\u003Cli>Persoonlijk ontwikkelingsproject: begonnen met WordPress, voortdurend evoluerend en experimenterend.\u003C\u002Fli>\n\u003Cli>Onlangs herschreven met Laravel 12 &amp; Inertia.\u003C\u002Fli>\n\u003Cli>Ervaring opgedaan in Breeze, Sanctum en JWT authenticatie.\u003C\u002Fli>\n\u003Cli>Meerdere integraties, waarvan sommige niet via REST API.\u003C\u002Fli>\n\u003Cli>WebSocket meldingen: implementatie van real-time meldingen i.c.m. wachtrijen.\u003C\u002Fli>\n\u003Cli>Ervaring opgedaan in Queues, Schedule workers &amp; Laravel Horizon.\u003C\u002Fli>\n\u003Cli>Modulaire Vue-componenten: structuur in de Vue-architectuur met herbruikbare componenten en scoped SCSS.\u003C\u002Fli>\n\u003C\u002Ful>\n",{"node":62},{"mediaItemUrl":63,"altText":64,"caption":65,"thumbnailUrl":66,"previewUrl":67,"mediaDetails":68},"https:\u002F\u002Fadmin.marthijnbeilschmidt.nl\u002Fapp\u002Fuploads\u002F2026\u002F08\u002Fbibliotheek-desktop.webp","De bibliotheek van GameLib, met alle spellen en hun actuele waarde.","\u003Cp>De bibliotheek van GameLib, met alle spellen en hun actuele waarde. Onderdeel van het project GameLib.\u003C\u002Fp>\n","https:\u002F\u002Fadmin.marthijnbeilschmidt.nl\u002Fapp\u002Fuploads\u002F2026\u002F08\u002Fbibliotheek-desktop-768x480.webp","https:\u002F\u002Fadmin.marthijnbeilschmidt.nl\u002Fapp\u002Fuploads\u002F2026\u002F08\u002Fbibliotheek-desktop-1024x640.webp",{"width":69,"height":70},1600,1000,{"nodes":72},[73,76,79,82,85,88],{"databaseId":74,"title":75},291,"Laravel",{"databaseId":77,"title":78},293,"Nuxt",{"databaseId":80,"title":81},392,"Vue 3",{"databaseId":83,"title":84},309,"PHP",{"databaseId":86,"title":87},429,"TypeScript",{"databaseId":89,"title":90},390,"MySQL",{"nodes":92},[93,101,110,118],{"id":94,"altText":95,"caption":96,"thumbnailUrl":97,"previewUrl":98,"mediaItemUrl":99,"mediaDetails":100},"cG9zdDo1MjM=","Het aanbiedingenoverzicht van GameLib, met wat er op de marktplaats te koop staat.","\u003Cp>Het aanbiedingenoverzicht van GameLib, met wat er op de marktplaats te koop staat. Onderdeel van het project GameLib.\u003C\u002Fp>\n","https:\u002F\u002Fadmin.marthijnbeilschmidt.nl\u002Fapp\u002Fuploads\u002F2026\u002F08\u002Faanbiedingen-desktop-768x480.webp","https:\u002F\u002Fadmin.marthijnbeilschmidt.nl\u002Fapp\u002Fuploads\u002F2026\u002F08\u002Faanbiedingen-desktop-1024x640.webp","https:\u002F\u002Fadmin.marthijnbeilschmidt.nl\u002Fapp\u002Fuploads\u002F2026\u002F08\u002Faanbiedingen-desktop.webp",{"width":69,"height":70},{"id":102,"altText":103,"caption":104,"thumbnailUrl":105,"previewUrl":106,"mediaItemUrl":107,"mediaDetails":108},"cG9zdDo1MjY=","Het dashboard van GameLib, met de status van elke koppeling en verkoop.","\u003Cp>Het dashboard van GameLib, met de status van elke koppeling en verkoop. Onderdeel van het project GameLib.\u003C\u002Fp>\n","https:\u002F\u002Fadmin.marthijnbeilschmidt.nl\u002Fapp\u002Fuploads\u002F2026\u002F08\u002Fdashboard-desktop-768x747.webp","https:\u002F\u002Fadmin.marthijnbeilschmidt.nl\u002Fapp\u002Fuploads\u002F2026\u002F08\u002Fdashboard-desktop-1024x996.webp","https:\u002F\u002Fadmin.marthijnbeilschmidt.nl\u002Fapp\u002Fuploads\u002F2026\u002F08\u002Fdashboard-desktop.webp",{"width":69,"height":109},1556,{"id":111,"altText":112,"caption":113,"thumbnailUrl":114,"previewUrl":115,"mediaItemUrl":116,"mediaDetails":117},"cG9zdDo1Mjc=","De instellingen van GameLib, met de status van elke koppeling in de zijkolom.","\u003Cp>De instellingen van GameLib, met de status van elke koppeling in de zijkolom. Onderdeel van het project GameLib.\u003C\u002Fp>\n","https:\u002F\u002Fadmin.marthijnbeilschmidt.nl\u002Fapp\u002Fuploads\u002F2026\u002F08\u002Finstellingen-desktop-768x480.webp","https:\u002F\u002Fadmin.marthijnbeilschmidt.nl\u002Fapp\u002Fuploads\u002F2026\u002F08\u002Finstellingen-desktop-1024x640.webp","https:\u002F\u002Fadmin.marthijnbeilschmidt.nl\u002Fapp\u002Fuploads\u002F2026\u002F08\u002Finstellingen-desktop.webp",{"width":69,"height":70},{"id":119,"altText":120,"caption":121,"thumbnailUrl":122,"previewUrl":123,"mediaItemUrl":124,"mediaDetails":125},"cG9zdDo1Mjg=","De voorkant van GameLib zoals een bezoeker hem krijgt, met het inlogscherm.","\u003Cp>De voorkant van GameLib zoals een bezoeker hem krijgt, met het inlogscherm. Onderdeel van het project GameLib.\u003C\u002Fp>\n","https:\u002F\u002Fadmin.marthijnbeilschmidt.nl\u002Fapp\u002Fuploads\u002F2026\u002F08\u002Fvoorkant-desktop-768x480.webp","https:\u002F\u002Fadmin.marthijnbeilschmidt.nl\u002Fapp\u002Fuploads\u002F2026\u002F08\u002Fvoorkant-desktop-1024x640.webp","https:\u002F\u002Fadmin.marthijnbeilschmidt.nl\u002Fapp\u002Fuploads\u002F2026\u002F08\u002Fvoorkant-desktop.webp",{"width":69,"height":70},{"node":127},{"sourceUrl":128,"altText":129,"caption":130,"thumbnailUrl":131,"previewUrl":132,"mediaItemUrl":128,"mediaDetails":133},"https:\u002F\u002Fadmin.marthijnbeilschmidt.nl\u002Fapp\u002Fuploads\u002F2026\u002F08\u002Fbanner-gamelib.webp","Het logo van GameLib op een vlak in de merkkleur.","\u003Cp>Het logo van GameLib op een vlak in de merkkleur. Onderdeel van het project GameLib.\u003C\u002Fp>\n","https:\u002F\u002Fadmin.marthijnbeilschmidt.nl\u002Fapp\u002Fuploads\u002F2026\u002F08\u002Fbanner-gamelib-768x432.webp","https:\u002F\u002Fadmin.marthijnbeilschmidt.nl\u002Fapp\u002Fuploads\u002F2026\u002F08\u002Fbanner-gamelib-1024x576.webp",{"width":69,"height":134},900,{"site":136,"searchVisible":138},[137],"both",true]