[{"data":1,"prerenderedAt":919},["ShallowReactive",2],{"work-page-nl":3,"work-nl":16},{"id":4,"title":5,"body":6,"description":7,"extension":8,"meta":9,"navigation":10,"path":11,"seo":12,"stem":14,"__hash__":15},"workPage\u002Fnl\u002Fwork.yml","Cases",null,"Dertien case studies. Het meeste draait vandaag in productie, en dat zegt meer dan welke screenshot ook.","yml",{},true,"\u002Fnl\u002Fwork",{"title":5,"description":13},"Case studies van SolwareX: SaaS-producten, maatwerk webstores, gamesystemen, docs-platformen en bots, allemaal gebouwd door één engineer.","nl\u002Fwork","6UO_ZNXptJ5miAZZtGcs9_P6A6FDBZ7eW7X2LvPCxYY",[17,122,191,292,355,420,482,544,612,678,737,798,854],{"id":18,"title":19,"body":20,"category":97,"description":98,"extension":99,"featured":10,"image":100,"meta":101,"navigation":10,"order":102,"outcome":103,"path":104,"problem":105,"role":106,"seo":107,"stack":108,"status":118,"stem":119,"type":120,"url":84,"video":6,"__hash__":121},"work\u002Fnl\u002Fwork\u002Fmychar.md","MyChar",{"type":21,"value":22,"toc":89},"minimark",[23,28,32,36,39,64,67,71,74,78],[24,25,27],"h2",{"id":26},"probleem","Probleem",[29,30,31],"p",{},"Iedereen die een persoonlijk merk bouwt, of dat nu een creator, een klein bedrijf of een gamer is, wil een pagina die er echt als henzelf uitziet, niet een van de drie templates die iedereen gebruikt. De bekende link-in-bio tools geven bijna geen designcontrole en geen diepgang, dus loopt elk profiel in het volgende over.",[24,33,35],{"id":34},"wat-we-bouwden","Wat we bouwden",[29,37,38],{},"Een zeer aanpasbaar link-in-bio platform waar mensen hun eigen pagina ontwerpen in plaats van te kiezen uit een handvol templates. Het gaat voor iedereen diep op personalisatie, en voor creators en gamers voegt het live platformintegraties toe die de meeste tools negeren:",[40,41,42,46,49,52,55,58,61],"ul",{},[43,44,45],"li",{},"Diepe personalisatie: layouts, fonts, kleuren, achtergronden, effecten, custom cursors en skins uit de community",[43,47,48],{},"Live integraties met Twitch, YouTube en Discord, inclusief kijkers- en ledenaantallen",[43,50,51],{},"Een gekoppelde Spotify-speler, clips, setup- en gearlijsten en een gamebibliotheek met in-game namen",[43,53,54],{},"Comments, vrienden en achievement-badges",[43,56,57],{},"Analytics: views, clicks, toplinks, landen, live bezoekers",[43,59,60],{},"Eigen domeinen, automatisch aangemaakt via de Vercel API voor het hoogste abonnement",[43,62,63],{},"Free-, Pro- en Elite-abonnementen op Stripe, met zowel abonnements- als lifetime-prijzen plus add-ons",[29,65,66],{},"Onder de motorkap zit het productiewerk dat een echte SaaS nodig heeft: rate limiting, plan guards, grace-periods, beveiligde cron jobs en directe zoekmachine-pings via IndexNow.",[24,68,70],{"id":69},"stack","Stack",[29,72,73],{},"Nuxt met TypeScript, Supabase (auth, database, storage), Stripe met webhooks, Resend met react-email templates, de Discord-, Twitch-, YouTube- en Spotify-API's, en een bijbehorende discord.js bot op MongoDB.",[24,75,77],{"id":76},"resultaat","Resultaat",[29,79,80,81,88],{},"MyChar draait live op ",[82,83,87],"a",{"href":84,"rel":85},"https:\u002F\u002Fmychar.gg",[86],"nofollow","mychar.gg"," met meer dan 500 gebruikers verdeeld over gratis en betaalde abonnementen. SolwareX heeft het gebouwd en bepaalt de richting, en een klein clubje bekenden draagt de dagelijkse support mee, zodat klantwerk nooit hoeft te concurreren met onze eigen producten. Het is ook het duidelijkste bewijs dat we een SaaS-klant kunnen laten zien: hetzelfde team, dezelfde stack, een product waar je je vandaag voor kunt aanmelden.",{"title":90,"searchDepth":91,"depth":91,"links":92},"",2,[93,94,95,96],{"id":26,"depth":91,"text":27},{"id":34,"depth":91,"text":35},{"id":69,"depth":91,"text":70},{"id":76,"depth":91,"text":77},"saas","Een zeer aanpasbare link-in-bio SaaS voor iedereen die een persoonlijk merk bouwt, met diepe designcontrole, live platformintegraties en abonnements- of lifetime-prijzen via Stripe.","md","\u002Fimg\u002Fwork\u002Fmychar.webp",{},1,"Live op mychar.gg met 500+ gebruikers; SolwareX bouwt en groeit het, met een klein clubje bekenden voor de dagelijkse gang van zaken.","\u002Fnl\u002Fwork\u002Fmychar","Link-in-bio tools lijken allemaal op elkaar en beperken je: een paar templates, weinig designcontrole, geen diepgang.","SolwareX: ontwerp, bouw, deploy, onderhoud, support, docs",{"title":19,"description":98},[109,110,111,112,113,114,115,116,117],"Nuxt","TypeScript","Supabase","Stripe","Discord API","Twitch API","YouTube API","Spotify API","Vercel","live","nl\u002Fwork\u002Fmychar","SaaS","EyV-_YrYGQ--V1V0a62OHV4HfOGjNGLnlv6sCSV3U6A",{"id":123,"title":124,"body":125,"category":175,"description":176,"extension":99,"featured":10,"image":177,"meta":178,"navigation":10,"order":91,"outcome":179,"path":180,"problem":181,"role":106,"seo":182,"stack":183,"status":118,"stem":187,"type":188,"url":189,"video":6,"__hash__":190},"work\u002Fnl\u002Fwork\u002Frxscripts.md","RX Scripts store",{"type":21,"value":126,"toc":169},[127,129,132,134,137,150,152,155,157,160,166],[24,128,27],{"id":26},[29,130,131],{},"Digitale producten verkopen aan gameservers betekent betalingsverwerking, directe levering, licentiebeheer en support op volume. Tebex lost betalingen op, maar de gehoste storefronts zijn traag, generiek en scoren nauwelijks in zoekmachines. Voor een premium catalogus was de storefront de zwakste schakel in de funnel.",[24,133,35],{"id":34},[29,135,136],{},"Een volledig zelfgemaakte storefront op de Tebex Headless API: eigen design, domein, paginastructuur en SEO, met winkelmandjes, kortingscodes, gift cards, bundels en abonnementen. De interface is gebouwd met Nuxt en PrimeVue, en de store verkoopt een zelfgebouwde catalogus van ruim 150 scripts.",[29,138,139,140,144,145,149],{},"Rond de storefront zitten twee zusterprojecten met hun eigen case study: een ",[82,141,143],{"href":142},"\u002Fnl\u002Fcases\u002Frx-docs","zelfgemaakt documentatieportaal"," op docs.rxscripts.xyz, en de ",[82,146,148],{"href":147},"\u002Fnl\u002Fcases\u002Frx-bot","RX Discord bot"," die levering, licenties en support afhandelt.",[24,151,70],{"id":69},[29,153,154],{},"Nuxt met PrimeVue en TypeScript op de Tebex Headless API, met Google Analytics voor inzicht in wat converteert.",[24,156,77],{"id":76},[29,158,159],{},"Meer dan 20.000 klanten, een Discord-community van 10.000+ leden en 300+ vijfsterrenreviews, met twee thema's die in die reviews terugkeren: installeren kost minuten en de support helpt echt.",[161,162,163],"blockquote",{},[29,164,165],{},"\"The support here is top tier. I asked could webhooks be added to the script for all sales and it was done with the next update.\"\nbig_dawg13, geverifieerde klantreview",[29,167,168],{},"De store, levering en eerstelijnssupport draaien dagelijks zelfstandig, en precies daardoor kan een commerciële catalogus draaien zonder bedrijf erachter.",{"title":90,"searchDepth":91,"depth":91,"links":170},[171,172,173,174],{"id":26,"depth":91,"text":27},{"id":34,"depth":91,"text":35},{"id":69,"depth":91,"text":70},{"id":76,"depth":91,"text":77},"webstore","Een maatwerk e-commerce storefront op de Tebex Headless API met automatische levering en licenties, gebouwd met Nuxt en PrimeVue.","\u002Fimg\u002Fwork\u002Frxscripts.webp",{},"20.000+ klanten en 300+ vijfsterrenreviews; betalingen, levering en eerstelijnssupport draaien zonder dat er iemand naar omkijkt.","\u002Fnl\u002Fwork\u002Frxscripts","Gehoste Tebex-templates hielden het merk klein: traag, generiek en onzichtbaar voor zoekmachines.",{"title":124,"description":176},[109,184,185,110,186],"PrimeVue","Tebex Headless API","Netlify","nl\u002Fwork\u002Frxscripts","Webstore","https:\u002F\u002Frxscripts.xyz","bvP8iOPF_ns9PDamf7dj_-B9D_8afP_aF7u-ffGHGX8",{"id":192,"title":193,"body":194,"category":269,"description":270,"extension":99,"featured":271,"image":272,"meta":273,"navigation":10,"order":274,"outcome":275,"path":276,"problem":277,"role":106,"seo":278,"stack":279,"status":118,"stem":288,"type":289,"url":251,"video":290,"__hash__":291},"work\u002Fnl\u002Fwork\u002Fone-inventory.md","One Inventory",{"type":21,"value":195,"toc":263},[196,198,201,203,206,226,234,236,244,246,255,260],[24,197,27],{"id":26},[29,199,200],{},"Inventorysystemen zijn de meest vervangen resource op FiveM-servers. De gevestigde opties dwingen beheerders voor elk item en elke shop de configbestanden in, breken bij framework-updates en maken migreren vanaf een oude inventory een weekend handwerk. Beheerders bleven wisselen omdat niets die oorzaken wegnam.",[24,202,35],{"id":34},[29,204,205],{},"One Inventory pakt elke vervangingsreden direct aan:",[40,207,208,211,214,217,220,223],{},[43,209,210],{},"Items, wapens, shops en stashes geconfigureerd in-game via een adminpaneel, zonder Lua te bewerken",[43,212,213],{},"Een migratie-importer die stashes, gloveboxes, kofferbakken en player slots overneemt uit bestaande inventories",[43,215,216],{},"Compatibiliteit met ESX, QBCore en QBox, plus ox_lib, ox_target en qb-target",[43,218,219],{},"Thema-aanpassing voor kleuren, geluiden, fonts en slotgedrag",[43,221,222],{},"0.00ms idle performance, anti-duplicatie en server-authoritative operaties",[43,224,225],{},"Wekelijkse updates, een publieke roadmap en betaprijzen met levenslange prijsgarantie",[29,227,228,229,233],{},"De interface is een Vue NUI, gebouwd met shadcn-componenten en Tailwind CSS. Licenties en support lopen via de ",[82,230,232],{"href":231},"\u002Fnl\u002Fcases\u002Fonestudios-bot","One Studios Discord bot",", inclusief een AI-assistent die vragen beantwoordt vanuit de productdocumentatie.",[24,235,70],{"id":69},[29,237,238,239,243],{},"Lua voor de gamelogica, Vue met shadcn-componenten en Tailwind CSS voor de interface, verkocht via de ",[82,240,242],{"href":241},"\u002Fnl\u002Fcases\u002Fonestudios-store","One Studios store",".",[24,245,77],{"id":76},[29,247,248,249,254],{},"Verkocht op ",[82,250,253],{"href":251,"rel":252},"https:\u002F\u002Fonestudios.gg",[86],"onestudios.gg"," onder de tagline \"the one you stop replacing\", met een Discord-community van meer dan 1.000 leden eromheen.",[161,256,257],{},[29,258,259],{},"\"Most complete and advanced inventory you can find on the market. Recommended!\"\nadrian_1950, geverifieerde klantreview",[29,261,262],{},"De in-game configuratie haalde de belangrijkste reden weg waarom serverbeheerders steeds van systeem wisselden, en precies daarvoor was het product bedoeld.",{"title":90,"searchDepth":91,"depth":91,"links":264},[265,266,267,268],{"id":26,"depth":91,"text":27},{"id":34,"depth":91,"text":35},{"id":69,"depth":91,"text":70},{"id":76,"depth":91,"text":77},"fivem","Een premium FiveM-inventorysysteem dat volledig in-game wordt geconfigureerd, verkocht onder het merk One Studios. Vue NUI met shadcn-componenten en Tailwind.",false,"\u002Fimg\u002Fwork\u002Fone-inventory.webp",{},3,"Verkocht op onestudios.gg aan een community van 1.000+ leden, met reviews die het de meest complete inventory op de markt noemen.","\u002Fnl\u002Fwork\u002Fone-inventory","FiveM-serverbeheerders vervangen hun inventory vaker dan elk ander systeem: configbestanden, kapotte migraties, framework-lock-in.",{"title":193,"description":270},[280,281,282,283,284,285,286,287],"Lua","Vue","shadcn\u002Fui","Tailwind CSS","FiveM","ESX","QBCore","QBox","nl\u002Fwork\u002Fone-inventory","FiveM-script","https:\u002F\u002Fwww.youtube-nocookie.com\u002Fembed\u002FV-22-GgU_T8","uaqEkYCw_K2Cb-XggnFcw6-PeqrQdrXuxhZjNqjxb9k",{"id":293,"title":242,"body":294,"category":175,"description":343,"extension":99,"featured":10,"image":344,"meta":345,"navigation":10,"order":346,"outcome":347,"path":348,"problem":349,"role":106,"seo":350,"stack":351,"status":118,"stem":353,"type":188,"url":251,"video":6,"__hash__":354},"work\u002Fnl\u002Fwork\u002Fonestudios-store.md",{"type":21,"value":295,"toc":337},[296,298,301,303,306,320,322,328,330],[24,297,27],{"id":26},[29,299,300],{},"One Inventory is gepositioneerd als de premium optie in zijn markt. Premium positionering sneuvelt op een generieke storefront: de store is het eerste wat een prospect ziet, nog voor de featurelijst. Er was een eigen designtaal nodig, snelle pagina's en een checkout die kopers niet halverwege naar een vreemd ogend domein stuurt.",[24,302,35],{"id":34},[29,304,305],{},"Een tweede zelfgemaakte storefront op de Tebex Headless API, los van RX Scripts en gebouwd rond één vlaggenschipproduct:",[40,307,308,311,314,317],{},[43,309,310],{},"Een productgedreven landingservaring: featuretour, geverifieerde reviews, roadmap en betaprijzen met levenslange prijsgarantie",[43,312,313],{},"Pakket- en checkoutflow via de Headless API op het eigen domein van het merk",[43,315,316],{},"De changelog en volledige productdocumentatie direct in de site ingebouwd, zodat klanten de site nooit hoeven te verlaten voor antwoorden",[43,318,319],{},"Koppeling van aankoop naar Discord, zodat een koper direct verbonden is met licenties en support",[24,321,70],{"id":69},[29,323,324,325,327],{},"Nuxt met TypeScript en Pinia op de Tebex Headless API, geïntegreerd met de ",[82,326,232],{"href":231}," voor levering en licenties.",[24,329,77],{"id":76},[29,331,332,333,336],{},"Live op ",[82,334,253],{"href":251,"rel":335},[86]," als het complete verkoopkanaal voor de productlijn, inclusief docs en changelog. De tweede store bouwen op de fundering van de eerste kostte een fractie van de tijd, en dat is het argument voor maatwerk dat herbruikbaar is boven eenmalige templates.",{"title":90,"searchDepth":91,"depth":91,"links":338},[339,340,341,342],{"id":26,"depth":91,"text":27},{"id":34,"depth":91,"text":35},{"id":69,"depth":91,"text":70},{"id":76,"depth":91,"text":77},"Een tweede maatwerk Tebex Headless storefront met de changelog en productdocumentatie direct in de site ingebouwd.","\u002Fimg\u002Fwork\u002Fonestudios-store.webp",{},4,"Live op onestudios.gg als het complete verkoopkanaal voor One Inventory, van landingspagina tot checkout tot docs.","\u002Fnl\u002Fwork\u002Fonestudios-store","Een premium product vraagt een premium storefront; een standaard Tebex-template zou de hele positionering ondergraven.",{"title":242,"description":343},[109,185,110,352,117],"Pinia","nl\u002Fwork\u002Fonestudios-store","g-ih9DB-twCM9uxBQDfBW4MzufjXJJenTs9K4H-Edzg",{"id":356,"title":357,"body":358,"category":97,"description":406,"extension":99,"featured":271,"image":407,"meta":408,"navigation":10,"order":409,"outcome":410,"path":411,"problem":412,"role":106,"seo":413,"stack":414,"status":416,"stem":417,"type":120,"url":418,"video":6,"__hash__":419},"work\u002Fnl\u002Fwork\u002Fgetgiven.md","GetGiven",{"type":21,"value":359,"toc":400},[360,362,365,367,370,387,389,392,394,397],[24,361,27],{"id":26},[29,363,364],{},"Communitygiveaways betekenden spreadsheets, handmatig winnaars kiezen en beschuldigingen van doorgestoken kaart. Controleren of deelnemers echt de Discord-server hadden gejoind was handwerk, en geen enkele organisator kon achteraf bewijzen dat een trekking eerlijk was.",[24,366,35],{"id":34},[29,368,369],{},"Een platform dat giveaways van begin tot eind verifieerbaar maakte:",[40,371,372,375,378,381,384],{},[43,373,374],{},"Aantoonbaar eerlijke trekkingen: de winnaar volgt uit een hash die vóór de trekking is gepubliceerd, zodat elke deelnemer het resultaat zelf kan narekenen",[43,376,377],{},"Entry-acties met automatische verificatie: Discord-joins, sitebezoeken, geheime codes, dagelijkse bonus-entries",[43,379,380],{},"Een dashboard met live deelnemersoverzicht, planning, re-rolls en CSV-exports van winnaars",[43,382,383],{},"Een gratis versie plus premium voor 9,99 per maand via Stripe",[43,385,386],{},"Discord-verificatie en auto-join direct in het platform ingebouwd",[24,388,70],{"id":69},[29,390,391],{},"Nuxt met Nuxt UI Pro, Supabase voor auth en database plus Deno edge functions, Stripe en de Discord API.",[24,393,77],{"id":76},[29,395,396],{},"GetGiven draait sinds 2023 in productie, kort na RX Scripts: meer dan 11.000 gebruikers, ruim 1.000 gehoste giveaways en 42.000+ geverifieerde en getrokken deelnemers. Het eerlijkheidsmechanisme deed zijn werk: nul discussies over winnaarselectie.",[29,398,399],{},"Het platform draait vandaag nog steeds voor zijn gebruikers. Actieve featureontwikkeling stopte in 2026 toen MyChar de SaaS werd die de nieuwe ideeën krijgt, en dat is een bewust onderdeel van hoe SolwareX werkt: een product bereikt het punt waarop het zelfstandig draait, blijft zijn gebruikers bedienen, en de bouwenergie gaat naar het volgende.",{"title":90,"searchDepth":91,"depth":91,"links":401},[402,403,404,405],{"id":26,"depth":91,"text":27},{"id":34,"depth":91,"text":35},{"id":69,"depth":91,"text":70},{"id":76,"depth":91,"text":77},"Een giveaway-SaaS met aantoonbaar eerlijke trekkingen, Discord-verificatie en premium via Stripe. Draait sinds 2023 en bedient zijn gebruikers nog steeds.","\u002Fimg\u002Fwork\u002Fgetgiven.webp",{},5,"11.000+ gebruikers, 1.000+ giveaways en 42.000+ deelnemers, met nul discussies over trekkingen; draait nog steeds voor zijn gebruikers terwijl MyChar de nieuwe features krijgt.","\u002Fnl\u002Fwork\u002Fgetgiven","Communitygiveaways draaiden op spreadsheets en vertrouwen: geen verificatie, geen bewijs dat de trekking eerlijk was.",{"title":357,"description":406},[109,111,112,113,415,117],"Deno edge functions","maintenance","nl\u002Fwork\u002Fgetgiven","https:\u002F\u002Fgetgiven.com","dlqyL0oCtuzB6KvFUNCRgcPyobCJgrPmY2m59l8oKF4",{"id":421,"title":422,"body":423,"category":465,"description":466,"extension":99,"featured":10,"image":467,"meta":468,"navigation":10,"order":469,"outcome":470,"path":471,"problem":472,"role":106,"seo":473,"stack":474,"status":118,"stem":478,"type":479,"url":480,"video":6,"__hash__":481},"work\u002Fnl\u002Fwork\u002Frx-docs.md","Documentatie",{"type":21,"value":424,"toc":459},[425,427,430,432,435,449,451,454,456],[24,426,27],{"id":26},[29,428,429],{},"150+ scripts verkopen aan duizenden serverbeheerders betekent dat elke dag dezelfde vragen binnenkomen: hoe installeer ik dit, wat doet deze configoptie, welke frameworkversies werken. Ze één ticket tegelijk beantwoorden schaalt niet, en kopers die geen antwoorden vinden, stoppen stilletjes met kopen.",[24,431,35],{"id":34},[29,433,434],{},"Een zelfgemaakt documentatieplatform, los van de store maar onderdeel van hetzelfde ecosysteem:",[40,436,437,440,443,446],{},[43,438,439],{},"Documentatie per product met installatiegidsen, configuratiereferenties en codevoorbeelden",[43,441,442],{},"Volledige zoekfunctie, zodat een klant het antwoord sneller vindt dan een ticket wordt opgepakt",[43,444,445],{},"De publieke fmLib-documentatie, zodat externe developers op onze library kunnen bouwen",[43,447,448],{},"AI-leesbare exports via llms.txt, waardoor de documentatie ook AI-tooling voedt, inclusief de supportassistent in de One Studios bot",[24,450,70],{"id":69},[29,452,453],{},"Nuxt met Nuxt Content en Nuxt UI Pro, plus nuxt-llms voor de machine-leesbare exports.",[24,455,77],{"id":76},[29,457,458],{},"Het portaal beantwoordt de vragen die vroeger de ticketwachtrij vulden, voordat het tickets worden. Het is een groot deel van de reden dat reviews blijven herhalen dat installeren minuten kost: het antwoord op vrijwel elke setupvraag is dag en nacht één zoekopdracht verwijderd.",{"title":90,"searchDepth":91,"depth":91,"links":460},[461,462,463,464],{"id":26,"depth":91,"text":27},{"id":34,"depth":91,"text":35},{"id":69,"depth":91,"text":70},{"id":76,"depth":91,"text":77},"custom","Een zelfgemaakt documentatieplatform op docs.rxscripts.xyz: gidsen per product, codevoorbeelden en AI-leesbare exports.","\u002Fimg\u002Fwork\u002Frx-docs.webp",{},6,"Klanten installeren en configureren zonder een ticket te openen, en de docs voeden de AI-supportassistent.","\u002Fnl\u002Fwork\u002Frx-docs","Een catalogus van 150+ scripts genereert eindeloos dezelfde setupvragen; elk beantwoord ticket is tijd die niet naar bouwen gaat.",{"title":422,"description":466},[109,475,476,477,186],"Nuxt Content","Nuxt UI Pro","nuxt-llms","nl\u002Fwork\u002Frx-docs","Website","https:\u002F\u002Fdocs.rxscripts.xyz","IX72ZzdHvBJBxN3Z4s-U6AX9FC69UD4WS21KFpcU3dQ",{"id":483,"title":484,"body":485,"category":269,"description":530,"extension":99,"featured":271,"image":531,"meta":532,"navigation":10,"order":533,"outcome":534,"path":535,"problem":536,"role":106,"seo":537,"stack":538,"status":118,"stem":541,"type":542,"url":189,"video":6,"__hash__":543},"work\u002Fnl\u002Fwork\u002Ffivem-scripts.md","FiveM script-catalogus",{"type":21,"value":486,"toc":524},[487,489,492,494,497,514,516,519,521],[24,488,27],{"id":26},[29,490,491],{},"Roleplay-servers staan of vallen met hun scripts, en de meeste marketplace-resources falen op één van drie manieren: ze trekken de serverperformance omlaag, ze zitten vast aan één framework, of de installatie kost een weekend. Serverbeheerders wilden systemen die je erin zet, licht draaien en blijven werken na framework-updates.",[24,493,35],{"id":34},[29,495,496],{},"Meer dan 150 scripts voor de community en webstores sinds 2023, allemaal volgens dezelfde standaard:",[40,498,499,502,505,508,511],{},[43,500,501],{},"Complete gameplay-systemen in plaats van losse snippets, los en als bundel verkrijgbaar",[43,503,504],{},"Eén codebase die ESX, QBCore en QBox ondersteunt via onze fmLib-abstractielaag",[43,506,507],{},"Moderne NUI-interfaces: de vroege in React, alles daarna in Vue",[43,509,510],{},"Open dependencies, zodat integreren met andere resources minuten kost",[43,512,513],{},"Documentatie bij elk script, met updates via de RX Scripts store",[24,515,70],{"id":69},[29,517,518],{},"Lua voor de gamelogica, Vue voor de interfaces (React in de beginjaren), fmLib als framework-abstractie, MySQL voor opslag.",[24,520,77],{"id":76},[29,522,523],{},"De catalogus draait op honderden actieve servers en levert het merendeel van de 300+ vijfsterrenreviews op de store. Twee dingen keren steeds terug in die reviews: installeren kost minuten, en de scripts blijven snel onder echte spelersaantallen. Op die reputatie is het premium merk One Studios later gebouwd.",{"title":90,"searchDepth":91,"depth":91,"links":525},[526,527,528,529],{"id":26,"depth":91,"text":27},{"id":34,"depth":91,"text":35},{"id":69,"depth":91,"text":70},{"id":76,"depth":91,"text":77},"Ruim 150 scripts gemaakt voor de community en webstores sinds 2023: complete gameplay-systemen, drop-in installatie, één codebase voor drie frameworks.","\u002Fimg\u002Fwork\u002Ffivem-scripts.webp",{},7,"150+ scripts opgeleverd, draaiend op honderden actieve servers en goed voor het merendeel van de 300+ vijfsterrenreviews op RX Scripts.","\u002Fnl\u002Fwork\u002Ffivem-scripts","Marketplace-scripts zijn zwaar, framework-gebonden of lastig te installeren; serverbeheerders wilden drop-in systemen die snel blijven.",{"title":484,"description":530},[280,281,539,284,285,286,287,540],"React","MySQL","nl\u002Fwork\u002Ffivem-scripts","FiveM-scripts","DdbOJcYqQ31lt2hxvi705nanTjaEn6uQiXwsMyu_npI",{"id":545,"title":546,"body":547,"category":269,"description":598,"extension":99,"featured":271,"image":599,"meta":600,"navigation":10,"order":601,"outcome":602,"path":603,"problem":604,"role":605,"seo":606,"stack":607,"status":118,"stem":609,"type":610,"url":583,"video":6,"__hash__":611},"work\u002Fnl\u002Fwork\u002Ffmlib.md","fmLib",{"type":21,"value":548,"toc":592},[549,551,554,556,559,573,576,578,587,589],[24,550,27],{"id":26},[29,552,553],{},"Elk FiveM-script dat een serieuze markt wil, moet ESX, QBCore en QBox ondersteunen. Zonder abstractielaag betekent dat drie codepaden voor spelers, items, geld en notificaties in elke resource. Drie keer het oppervlak, drie keer de bugs, drie keer het onderhoud.",[24,555,35],{"id":34},[29,557,558],{},"De abstractielaag die SolwareX zelf miste, uitgebracht als open source:",[40,560,561,564,567,570],{},[43,562,563],{},"Eén API die de grote frameworks omvat, zodat een script op fmLib ongewijzigd op alle drie draait",[43,565,566],{},"Wrappers voor veelgebruikte resources bovenop de frameworklaag",[43,568,569],{},"Extra modules voor taken die elk script nodig heeft, aan de Lua-kant en als React-gebaseerde NUI-componenten aan de webkant",[43,571,572],{},"Publieke documentatie op docs.rxscripts.xyz\u002Ffmlib",[29,574,575],{},"Het is de fundering onder onze eigen commerciële catalogus, waardoor het onderhouden en in productie getest blijft in plaats van een demo-repository te zijn.",[24,577,70],{"id":69},[29,579,580,581,586],{},"Lua met React-gebaseerde web- en NUI-utilities, gepubliceerd op ",[82,582,585],{"href":583,"rel":584},"https:\u002F\u002Fgithub.com\u002Fmeesvrh\u002FfmLib",[86],"GitHub"," onder een open licentie.",[24,588,77],{"id":76},[29,590,591],{},"fmLib is meer dan 23.000 keer gedownload, draagt de multi-framework-support van elk script dat we verkopen en is gratis te gebruiken voor elke FiveM-developer. Die support één keer goed schrijven is een groot deel van de reden dat onze scripts in minuten installeren in plaats van dagen.",{"title":90,"searchDepth":91,"depth":91,"links":593},[594,595,596,597],{"id":26,"depth":91,"text":27},{"id":34,"depth":91,"text":35},{"id":69,"depth":91,"text":70},{"id":76,"depth":91,"text":77},"Een open-source Lua- en weblibrary waarmee één FiveM-codebase op ESX, QBCore en QBox draait zonder herschrijven.","\u002Fimg\u002Fwork\u002Ffmlib.webp",{},8,"23.000+ downloads; draagt de framework-compatibiliteit van de hele commerciële catalogus, gratis voor elke FiveM-developer.","\u002Fnl\u002Fwork\u002Ffmlib","Drie FiveM-frameworks ondersteunen betekende drie codepaden in elk script, en drie keer zoveel bugs.","SolwareX: ontwerp, bouw, onderhoud, docs",{"title":546,"description":598},[280,539,284,608],"Open source","nl\u002Fwork\u002Ffmlib","FiveM-library","vmk5RE8YWNPC4LI1b4tmUt1ifgDSb9ZwhoWfLZeNrbk",{"id":613,"title":614,"body":615,"category":660,"description":661,"extension":99,"featured":271,"image":6,"meta":662,"navigation":10,"order":663,"outcome":664,"path":665,"problem":666,"role":106,"seo":667,"stack":668,"status":118,"stem":675,"type":676,"url":6,"video":6,"__hash__":677},"work\u002Fnl\u002Fwork\u002Frx-bot.md","RX Scripts Discord bot",{"type":21,"value":616,"toc":654},[617,619,622,624,627,644,646,649,651],[24,618,27],{"id":26},[29,620,621],{},"De RX Scripts-community leeft op Discord: daar verifiëren klanten aankopen, stellen ze ordervragen en openen ze supporttickets, in elke tijdzone en lang niet alleen in het Engels. Dat handmatig doen werkt niet meer bij ruim 10.000 leden, en kant-en-klare bots kunnen niet met een Tebex-store praten.",[24,623,35],{"id":34},[29,625,626],{},"Een maatwerkbot, rechtstreeks aan de store gekoppeld:",[40,628,629,632,635,638,641],{},[43,630,631],{},"Tebex-integratie: aankoopverificatie en orderlookups, zodat klanten hun aankopen koppelen en hun rollen krijgen zonder op een mens te wachten",[43,633,634],{},"Een ticketsysteem met doorzoekbare HTML-transcripts van elk supportgesprek",[43,636,637],{},"Automatische vertaling van supportreacties via DeepL, zodat niet-Engelstalige klanten hulp krijgen in hun eigen taal",[43,639,640],{},"Review-, statistiek- en suggestiecommands die de community betrokken houden",[43,642,643],{},"Een role selector en community easter-egg-events voor de fun tussen releases door",[24,645,70],{"id":69},[29,647,648],{},"discord.js op Node.js met MongoDB voor state, de Tebex API voor orders en licenties, en de DeepL API voor vertalingen.",[24,650,77],{"id":76},[29,652,653],{},"De bot draagt de eerstelijnssupport van een community van meer dan 10.000 leden, de klok rond. Orderchecks, ticket-intake en taalbarrières zijn afgehandeld voordat een mens ernaar kijkt, en alleen zo kan één persoon een store met 20.000 klanten ondersteunen.",{"title":90,"searchDepth":91,"depth":91,"links":655},[656,657,658,659],{"id":26,"depth":91,"text":27},{"id":34,"depth":91,"text":35},{"id":69,"depth":91,"text":70},{"id":76,"depth":91,"text":77},"discord","De commerce- en supportbot achter de RX Scripts-community: Tebex-orderlookups, tickets met transcripts, vertaalde reacties en community-events.",{},9,"Eerstelijns commerce-support voor een community van 10.000+ leden draait de klok rond zonder mens van dienst.","\u002Fnl\u002Fwork\u002Frx-bot","Een storecommunity van 10.000+ leden genereert de klok rond ordervragen, supporttickets en taalbarrières.",{"title":614,"description":661},[669,670,671,672,673,674],"discord.js","Node.js","MongoDB","Tebex API","DeepL API","Zap Hosting","nl\u002Fwork\u002Frx-bot","Discord bot","IFugog9QWw8tairzjgYi7RQyU2WVmMn5WAaXkSduBRo",{"id":679,"title":232,"body":680,"category":660,"description":725,"extension":99,"featured":271,"image":6,"meta":726,"navigation":10,"order":727,"outcome":728,"path":729,"problem":730,"role":106,"seo":731,"stack":732,"status":118,"stem":735,"type":676,"url":6,"video":6,"__hash__":736},"work\u002Fnl\u002Fwork\u002Fonestudios-bot.md",{"type":21,"value":681,"toc":719},[682,684,687,689,692,709,711,714,716],[24,683,27],{"id":26},[29,685,686],{},"One Inventory-klanten verwachten support die past bij de premium positionering. Het punt: de meeste vragen in tickets staan al beantwoord in de documentatie. Klanten laten wachten tot een mens een docs-link plakt is traag voor hen en zonde van de tijd van het team.",[24,688,35],{"id":34},[29,690,691],{},"Een supportbot met als kern een echte AI-assistent, geen macro met standaardantwoorden:",[40,693,694,697,700,703,706],{},[43,695,696],{},"Documentatie-inname: de bot leest de productdocs, inclusief PDF-inhoud, en indexeert ze met vector-embeddings",[43,698,699],{},"Een AI-antwoordpipeline op de Claude API met retrieval, zodat antwoorden uit de echte documentatie komen in plaats van gehallucineerde gokken",[43,701,702],{},"Configureerbare instructies, zodat de assistent antwoordt in de toon van het merk en weet wanneer hij moet doorverwijzen naar een mens",[43,704,705],{},"Tebex-aankoopverificatie voor licenties en klantrollen",[43,707,708],{},"Tickets met doorzoekbare transcripts, reviews, statistieken en suggestiecommands",[24,710,70],{"id":69},[29,712,713],{},"discord.js op Node.js met MongoDB, de Claude API voor het beantwoorden, VoyageAI-embeddings voor retrieval over de docs, en de Tebex API voor licenties.",[24,715,77],{"id":76},[29,717,718],{},"Veelgestelde vragen krijgen op elk uur binnen seconden een correct, onderbouwd antwoord. De menselijke wachtrij krimpt tot de problemen die echt een persoon nodig hebben, en precies zo hoort premium support van een eenmansmerk te voelen.",{"title":90,"searchDepth":91,"depth":91,"links":720},[721,722,723,724],{"id":26,"depth":91,"text":27},{"id":34,"depth":91,"text":35},{"id":69,"depth":91,"text":70},{"id":76,"depth":91,"text":77},"Een supportbot met een AI-assistent die de productdocs inleest en klantvragen direct beantwoordt, gebouwd op de Claude API.",{},10,"De repetitieve helft van de ticketwachtrij wordt direct door AI beantwoord, vanuit de echte docs, met mensen alleen voor wat hen echt nodig heeft.","\u002Fnl\u002Fwork\u002Fonestudios-bot","Een premium product belooft premium support, maar de meeste supportvragen staan al beantwoord in de documentatie.",{"title":232,"description":725},[669,670,671,733,734,672,674],"Claude API","VoyageAI","nl\u002Fwork\u002Fonestudios-bot","r_i2vlGBHa2nHOasXthb6LfzsdhZqTf_6EO7VUbyDI8",{"id":738,"title":739,"body":740,"category":660,"description":788,"extension":99,"featured":271,"image":6,"meta":789,"navigation":10,"order":790,"outcome":791,"path":792,"problem":793,"role":106,"seo":794,"stack":795,"status":118,"stem":796,"type":676,"url":6,"video":6,"__hash__":797},"work\u002Fnl\u002Fwork\u002Fmychar-bot.md","MyChar Discord bot",{"type":21,"value":741,"toc":782},[742,744,747,749,752,772,774,777,779],[24,743,27],{"id":26},[29,745,746],{},"Een productcommunity op Discord heeft structuur nodig voordat hij groeit, niet erna: nieuwe leden moeten geonboard worden, vragen hebben een nette intake nodig in plaats van losse DM's, en engagement heeft een reden nodig om te ontstaan. Niets daarvan loopt vanzelf.",[24,748,35],{"id":34},[29,750,751],{},"Een modulaire communitybot waarin elk onderdeel zijn eigen module is:",[40,753,754,757,760,763,766,769],{},[43,755,756],{},"Een ticketsysteem met transcripts voor support-intake",[43,758,759],{},"Giveaways voor community-engagement en lanceermomenten",[43,761,762],{},"Een role selector, zodat leden zelf hun interesses en notificatievoorkeuren kiezen",[43,764,765],{},"Rules- en welkomstmodules die elk nieuw lid consistent onboarden",[43,767,768],{},"Een suggestiemodule, zodat feature-ideeën uit de community op één gestructureerde plek landen",[43,770,771],{},"Server-boost-perks die de leden belonen die de server steunen",[24,773,70],{"id":69},[29,775,776],{},"discord.js op Node.js met MongoDB, opgezet als losse modules zodat features per community aan of uit kunnen.",[24,778,77],{"id":76},[29,780,781],{},"De MyChar-server onboardt leden, verzamelt productfeedback en handelt support-intake af zonder handmatig moderatiewerk. De suggestiemodule is meteen een productonderzoekskanaal: ideeën uit de community voeden direct wat er daarna wordt gebouwd.",{"title":90,"searchDepth":91,"depth":91,"links":783},[784,785,786,787],{"id":26,"depth":91,"text":27},{"id":34,"depth":91,"text":35},{"id":69,"depth":91,"text":70},{"id":76,"depth":91,"text":77},"De communitybot voor de MyChar-server: tickets, giveaways, rolselectie, suggesties, welkomstberichten en boost-perks.",{},11,"De MyChar-community onboardt, doet mee en krijgt support zonder handmatig moderatiewerk.","\u002Fnl\u002Fwork\u002Fmychar-bot","Een groeiende productcommunity heeft vanaf dag één structuur nodig: onboarding, support-intake en engagement lopen niet vanzelf.",{"title":739,"description":788},[669,670,671,674],"nl\u002Fwork\u002Fmychar-bot","aN6xYfk1PFubfJ9S3RjFDtXtdz-BZT0V_aICjrDzGAk",{"id":799,"title":800,"body":801,"category":269,"description":839,"extension":99,"featured":271,"image":840,"meta":841,"navigation":10,"order":842,"outcome":843,"path":844,"problem":845,"role":846,"seo":847,"stack":848,"status":849,"stem":850,"type":851,"url":852,"video":6,"__hash__":853},"work\u002Fnl\u002Fwork\u002Ffiverr.md","Fiverr freelance (rejoxdev)",{"type":21,"value":802,"toc":833},[803,805,808,812,815,818,820,823,825],[24,804,27],{"id":26},[29,806,807],{},"Voordat RX Scripts bestond, betekende maatwerk FiveM-werk freelancen: een klant vinden, de opdracht scopen, opleveren, herhalen. Het werkt, en je leert er snel scopen en communiceren van, maar elke maand begint bij nul.",[24,809,811],{"id":810},"wat-ik-bouwde","Wat ik bouwde",[29,813,814],{},"Een freelancepraktijk op Fiverr onder de naam rejoxdev, met maatwerk FiveM-scripts voor serverbeheerders: elke aanvraag scopen, bouwen, werkend opleveren en daarna ondersteunen.",[29,816,817],{},"De cijfers deden de marketing: een tijd lang was ik de top FiveM scripting-seller op het platform, en het profiel telt 72 reviews van opgeleverde opdrachten.",[24,819,70],{"id":69},[29,821,822],{},"Lua voor FiveM, tegen de frameworks die klanten draaiden, in die tijd vooral ESX en QBCore.",[24,824,77],{"id":76},[29,826,827,828,832],{},"Freelancen bewees de vraag en bouwde het publiek, en dat riep de logische vraag op: waarom hetzelfde vertrouwen gig voor gig winnen? Ik stapte over van freelancen naar een eigen webstore, en die store werd ",[82,829,831],{"href":830},"\u002Fnl\u002Fcases\u002Frxscripts","RX Scripts",". Het Fiverr-hoofdstuk is afgesloten, maar daar zijn scopen, klantcommunicatie en opleveren boven verwachting geleerd, en die gaan mee in elk klantproject van vandaag.",{"title":90,"searchDepth":91,"depth":91,"links":834},[835,836,837,838],{"id":26,"depth":91,"text":27},{"id":810,"depth":91,"text":811},{"id":69,"depth":91,"text":70},{"id":76,"depth":91,"text":77},"Waar het commerciële verhaal begon: freelance FiveM-development op Fiverr, top scripting-seller met 72 reviews, voordat ik naar een eigen store stapte.","\u002Fimg\u002Fwork\u002Ffiverr.webp",{},12,"Een tijd lang de top FiveM scripting-seller op het platform, 72 reviews; het publiek waarop RX Scripts is gebouwd.","\u002Fnl\u002Fwork\u002Ffiverr","Er was vraag naar maatwerk FiveM-werk, maar elke freelanceklant moest gig voor gig gewonnen worden.","Solo freelancer: scoping, bouw, oplevering, support",{"title":800,"description":839},[280,284,285,286],"archived","nl\u002Fwork\u002Ffiverr","Freelance","https:\u002F\u002Fwww.fiverr.com\u002Frejoxdev?public_mode=true","AjwX3Z9RYB5fz-Z3sJ4CYJlRbD06_MOYmPGCQgmDVNk",{"id":855,"title":856,"body":857,"category":465,"description":902,"extension":99,"featured":271,"image":903,"meta":904,"navigation":10,"order":905,"outcome":906,"path":907,"problem":908,"role":909,"seo":910,"stack":911,"status":915,"stem":916,"type":917,"url":6,"video":6,"__hash__":918},"work\u002Fnl\u002Fwork\u002Fauthorization-tool.md","Achmea Bank interne tooling",{"type":21,"value":858,"toc":896},[859,861,864,866,869,883,886,888,891,893],[24,860,27],{"id":26},[29,862,863],{},"Bij Achmea Bank bestond het proces voor het ontwerpen van autorisaties uit handmatige stappen, verspreid over meerdere teams. Op die schaal wordt een routineus intern proces traag en foutgevoelig, en elke overdracht is een kans dat details verschuiven.",[24,865,811],{"id":810},[29,867,868],{},"Een interne webapplicatie die het autorisatie-ontwerpproces op één plek bracht:",[40,870,871,874,877,880],{},[43,872,873],{},"Een full-stack applicatie met een RESTful API als kern",[43,875,876],{},"Gebouwd op schaal en onderhoudbaarheid volgens de engineering- en securitystandaarden van de bank",[43,878,879],{},"Requirements doorlopend aangescherpt met multidisciplinaire teams",[43,881,882],{},"Opgeleverd met documentatie zodat interne teams erop verder konden bouwen",[29,884,885],{},"De details blijven onder NDA, zoals dat hoort bij een bank.",[24,887,70],{"id":69},[29,889,890],{},"Full-stack webdevelopment rond een RESTful API, binnen de enterprise-toolchain van Achmea, met formele code review en security-eisen.",[24,892,77],{"id":76},[29,894,895],{},"De applicatie stroomlijnde de interne autorisatieworkflow en is gedocumenteerd overgedragen. Voor klantwerk telt vooral de discipline die het trainde: enterprise-reviewcultuur, security-eisen en afstemming tussen teams, sindsdien toegepast op elk project dat ik alleen draai.",{"title":90,"searchDepth":91,"depth":91,"links":897},[898,899,900,901],{"id":26,"depth":91,"text":27},{"id":810,"depth":91,"text":811},{"id":69,"depth":91,"text":70},{"id":76,"depth":91,"text":77},"Een interne webapplicatie die het autorisatie-ontwerpproces bij een Nederlandse bank stroomlijnde. Details onder NDA.","\u002Fimg\u002Fwork\u002Fachmea.webp",{},13,"Opgeleverd volgens enterprise-standaarden en in gebruik genomen door interne teams; details blijven onder NDA.","\u002Fnl\u002Fwork\u002Fauthorization-tool","Autorisatie-ontwerp draaide op handmatige stappen verspreid over teams, traag en foutgevoelig op bankschaal.","Full-stack developer binnen multidisciplinaire teams",{"title":856,"description":902},[912,913,914],"Full-stack web","REST API","Enterprise-standaarden","nda","nl\u002Fwork\u002Fauthorization-tool","Web-app","AKJmBnWGODvRbYCZydcPKueepk86lAXAewRaqCCzb1U",1786202350658]