De ontwikkeling van beheerpanelen is de engineering van de interfaces waarop een bedrijf draait, niet van die waarmee het adverteert: het dashboard waarop een operationeel team de cijfers volgt, het configuratiepaneel waar een manager verandert wat het product doet, de backoffice waar support een account opzoekt en herstelt. Deze tools hebben geen landingspagina en geen winkelvermelding. Ze bepalen ook hoeveel mensen er nodig zijn om het bedrijf te draaien.

We bouwen ze op Vue en Nuxt met TypeScript van begin tot eind, op dezelfde stack als ons publieke werk aan webontwikkeling — maar afgestemd op een ander doel. Een beheertool wordt afgemeten aan bespaarde operatorminuten en voorkomen fouten, niet aan bouncepercentages, en dat verandert waarvoor je engineert.

De producten die we bouwen

  • Operationele dashboards — live overzichten van de data waarnaar een team handelt: orders, sessies, uitbetalingen, meldingen, met de filters en drill-downs die van een muur rijen een besluit maken
  • Configuratiepanelen — interfaces waar een instelling wijzigen het product wijzigt: prijsregels, feature flags, campagneparameters, tijdens runtime beoordeeld door de backend
  • Backoffices voor mobiele producten — de webtegenhanger van een app, zoals de beheer-UI achter de white-label vloot die we draaien; het klantgerichte weboppervlak heeft een eigen pagina, companion-webapps
  • Support- en accounttooling — zoek een gebruiker op, zie wat hij zag, herstel wat misging, met elke handeling gelogd
  • Portalen voor merchants en partners — de afgeschermde, naar buiten gerichte neef van een beheerpaneel, waar een partner zijn eigen deel van jouw platform beheert

Wie je beheerpaneel bouwt

Ons duidelijkste bewijs is een backoffice die een echte vloot draait.

De beheer-UI die merkapps lanceert

Voor ons cashback- en loyaliteitsplatform was een nieuw white-label merk lanceren ooit een engineeringklus: configuratie, bundle-identifiers, ondertekeningsassets, winkelmetadata, een nieuw CI-target. Dat alles hebben we samengevouwen tot één Nuxt-applicatie op PHP-services en PostgreSQL. Een manager vult een formulier in — merknaam, thema, assets, functies — en het systeem genereert de configuratiebundel, registreert de app in de -pijplijn en produceert ondertekende iOS- en Android-builds. Een merk lanceren ging van een meerdaagse engineeringtaak naar een selfserviceformulier, bediend door mensen die geen code schrijven. Dat is de maatstaf waaraan we beheertooling houden: het paneel stuurt de machinerie aan in plaats van haar te beschrijven.

Gebouwd door de mensen die de backend bouwen

Een beheerpaneel is maar zo goed als zijn API, en we bouwen zelden het een zonder het ander. Dezelfde opdracht die de beheer-UI hierboven opleverde, leverde ook de PHP-services erachter op; de Nuxt-front-end van Formtastic draait tegen een backend in Django en Go die we ernaast doorontwikkelden. Wanneer één team beide kanten bezit, is "de front-end heeft hier een endpoint voor nodig" een ochtend werk in plaats van een onderhandeling tussen teams — en sluiten de validatieregels van het paneel aan op wat de backend werkelijk afdwingt.

Wat beheertools werkelijk vragen

Vijf zorgen komen in elke backofficebouw terug. Zo pakken we ze aan.

Autorisatie die het organogram volgt

Een inlogscherm regelt alleen wie binnenkomt. Echte beheertooling heeft rollen nodig — wie mag zien, wie mag wijzigen, wie mag goedkeuren — afgedwongen op de server, waarbij de UI slechts weerspiegelt wat de API toch al weigert. We bouwen toegang op basis van rollen eerst in de API-laag in, zodat een zelfgebouwd verzoek niet kan doen wat een verborgen knop niet zou toestaan.

Formulieren die echte machinerie aansturen

Wanneer het versturen van een formulier configuratie genereert, geld verplaatst of een buildpijplijn start, erft het formulier de engineeringstandaarden van de machinerie erachter: validatie die aansluit op wat de backend afdwingt, idempotent versturen zodat een dubbelklik niet twee merken kan lanceren, en duidelijke, specifieke foutstatussen. Het happy path is het makkelijke deel.

Tabellen die echte data overleven

Elk beheerpaneel demonstreert prachtig met twaalf rijen en sterft bij vijftigduizend. We pagineren op de server, duwen filteren en zoeken de database in waar de indexen staan, en houden de interactie — sorteren, filteren, exporteren — responsief op de volumes die je operatie werkelijk gaat bereiken.

Een audittrail vanaf dag één

Wie wijzigde het uitbetalingspercentage, wanneer, en van wat naar wat? In een beheertool is die vraag een functie in plaats van forensisch onderzoek. Handelingen worden gelogd met actor, tijdstip en de waarden voor en na — want een backoffice waar wijzigingen anoniem zijn, wordt een plek waar niemand iets mag wijzigen.

Saai, met opzet

Interne tools hebben geen SEO nodig en meestal ook geen serverrendering — een gewone Vue-singlepageapp achter een login is vaak de juiste keuze, en dat zeggen we dan ook. We factureren geen framework dat je niet nodig hebt. Waar Nuxt zijn plek verdient — serverroutes die een aparte backend vervangen, of publieke en interne oppervlakken die één codebase delen — zetten we het in, zoals we deden voor de beheer-UI van de vloot. De keuze is een engineeringbesluit, expliciet gemaakt in het voorstel.

Hoe we werken

Bouw met vaste scope. Wij nemen de tool van het in kaart brengen van de werkstromen tot de uitrol — inclusief de weinig glamoureuze delen zoals datamigratie uit de spreadsheets die hij vervangt.

Teamuitbreiding. Onze engineers sluiten aan bij je team en bouwen de backoffice naast je product — zie teamuitbreiding.

Hoe dan ook sturen we, zodra we de eisen scherp hebben, binnen twee werkdagen een offerte met duidelijke scope.

Wat een beheerpaneel kost

Een beheerpaneel is een geauthenticeerde webapplicatie en wordt geprijsd vanuit dezelfde gepubliceerde niveaus als de pagina webontwikkeling: een gerichte backoffice — authenticatie, toegang op basis van rollen, de kerntabellen en -formulieren — valt in het webappniveau op € 12.000-32.000, terwijl een multi-tenant-portaal of een paneel dat in een groter platform is verweven als werk op SaaS-niveau wordt geprijsd vanaf vanaf € 40.000.

Dit zijn dezelfde sleutels die de prijstabel van de pijler renderen, dus de twee kunnen niet uiteenlopen. Wat het bedrag binnen de bandbreedte beweegt: hoeveel rollen en werkstromen de tool dekt, hoeveel van de backend al bestaat, en of het paneel je systemen alleen leest of ze bedient.

Veelgestelde vragen

Veelgestelde vragen van teams die beheerpanelen en interne dashboards laten bouwen.

Een dashboard toont — live cijfers, tabellen, drill-downs die een besluit ondersteunen. Een beheerpaneel handelt — zijn formulieren en knoppen veranderen wat het product doet: configuratie, content, prijzen, gebruikersaccounts. De meeste echte backoffices zijn allebei, en het engineeringverschil telt: de moeilijke problemen van een dashboard zijn query's en datavolume, die van een beheerpaneel autorisatie, validatie en de zekerheid dat een verstuurd formulier geen schade kan aanrichten. Wij bouwen ze als één tool waarin beide disciplines zijn toegepast.
Een gerichte backoffice — authenticatie, toegang op basis van rollen, de kerntabellen en -formulieren op een bestaande API — kost doorgaans 15.000 tot 40.000 dollar over één tot drie maanden, hetzelfde gepubliceerde webappniveau als op onze pagina over webontwikkeling. Een multi-tenant-partnerportaal of een paneel dat echte machinerie orkestreert wordt als werk op SaaS-niveau geprijsd, meer dan 50.000. De grootste kostendrijvers zijn het aantal afzonderlijke rollen en werkstromen, niet het aantal schermen.
Beide, en meestal samen. Een beheerpaneel is maar zo goed als zijn API, dus de opdracht omvat doorgaans de endpoints, de autorisatielaag en de interface als één stuk werk. Voor het white-label platform dat we draaien bouwde hetzelfde team de Nuxt-beheer-UI en de PHP-services erachter — en daarom kan een verstuurd formulier daar veilig configuratie genereren en ondertekende mobiele builds starten. Heb je al een API, dan bouwen we daartegen en zeggen we je eerlijk waar hij moet veranderen.
Voor een tool die volledig achter een login leeft is een gewone Vue-singlepageapp vaak het eerlijke antwoord: niets hoeft geïndexeerd te worden, dus serverrendering voegt bewegende delen toe zonder waarde toe te voegen. Nuxt verdient zijn plek wanneer zijn serverroutes bij een kleiner product een aparte backend kunnen vervangen, of wanneer interne en publieke oppervlakken één codebase delen. We werken in beide en maken die keuze expliciet in het voorstel; het zwaardere gereedschap is bij ons nooit de standaardkeuze.
Dat is het ontwerpdoel waaraan we onszelf houden. De beheer-UI die we bouwden voor een white-label appplatform laat managers zonder programmeerkennis een volledig gemerkte, winkelklare mobiele app lanceren door een formulier in te vullen — het systeem genereert de configuratie, registreert het target in de CI-pijplijn en produceert ondertekende builds. De maat van een backoffice is of hij de engineer uit de lus haalt, en tegen die standaard ontwerpen we elke werkstroom.
Autorisatie afgedwongen op de server, nooit alleen verstopt in de interface; sessies in httpOnly-, secure- en SameSite-cookies; toegang op basis van rollen in de API-laag; en een audittrail die vastlegt wie wat wanneer wijzigde. Beheertools concentreren rechten, wat ze tot doelwit maakt — heb je een bestaand paneel waarover je twijfelt, dan beoordeelt onze audit van AI-code authenticatie, sessieafhandeling en gegevensblootstelling als aparte opdracht.

Bekijk hoe de beheer-UI van de vloot werkt in de platformuiteenzetting, lees over de white-label dienst waar hij bij hoort, of begin bij de pijler webontwikkeling.