De interface van GrowPad op meerdere apparaten
Dashboard- en rapportschermen van GrowPad op desktop
Dashboard- en rapportweergaven.
Groeiplan- en missieschermen van GrowPad op desktop
Groeiplan- en missieweergaven.

GrowPad is een platform waarop bewoners en coaches persoonlijke ontwikkeling, doelen, begeleidingsmomenten en voortgang organiseren. Ik werkte eraan bij B302 als frontend developer.

Deze pagina gaat over mijn deel van het werk: de profielpagina, de dashboardschermen voor organisatie en beheer, het kaartoverzicht van groeiplannen met archivering en de tijdlijnfunctie.

Mijn aandachtsgebieden

Profielpagina

Bewerkbare persoonsgegevens, locatie, notificatie-instellingen, wachtwoord, 2FA, app-installatie en accountacties.

Organisatie / beheer

Overzichtsschermen in dashboardstijl voor data, organisaties, beheeronderdelen en adminnavigatie.

Groeiplannen

Kaartoverzicht met tabs voor eigen en gedeelde plannen, bewerkmodus, archiveren, herstellen en lege staten.

Tijdlijn

Een chronologische verslagweergave met filters, paginering, gebeurteniskaarten, iconen, opmerkingen en links terug naar het plan.

Dataoverzicht van GrowPad met het gevoel van bewoners en doelen per levensgebied

Een van de overzichtsschermen: compacte data, duidelijke secties en genoeg hiërarchie om snel te scannen.

Profielpagina

De profielpagina was vooral layout- en interactiewerk: persoonsgegevens, instellingen, notificatievoorkeuren, beveiligingsopties en accountacties begrijpelijk houden zonder dat het scherm één lang formulier wordt.

<ProfileLayout>
  <ProfileHeader editableAvatar />

  <ProfileColumn title="Persoonlijke gegevens">
    <PersonalDetailsForm />
  </ProfileColumn>

  <ProfileColumn title="Instellingen">
    <NotificationSettings />
    <SecuritySettings />
    <AppSettings />
  </ProfileColumn>
</ProfileLayout>

Op mobiel wordt dezelfde informatie een eenvoudigere, gestapelde flow. Het belangrijkste doel was dat gebruikers de belangrijke acties ook zonder desktoplayout nog kunnen vinden.

Schermen voor organisatie en beheer

Voor de organisatie- en beheerschermen werkte ik aan de overzichts-UI: tabs, dashboardkaarten, filters, tabellen en lege staten. Deze schermen moesten gestructureerd genoeg voelen voor beheerders, maar niet zo vol dat elke weergave op een spreadsheet leek.

const dashboardSections = [
  { label: 'Organisatie', icon: OrganisatieIcon },
  { label: 'Missies', icon: MissieIcon },
  { label: 'Doelen', icon: GoalsIcon },
  { label: 'Effecten', icon: EffectsIcon },
];

<DashboardNav>
  {dashboardSections.map((section) => (
    <Button key={section.label} prefixIcon={<section.icon />}>
      {section.label}
    </Button>
  ))}
</DashboardNav>

De beheerpagina gebruikt een eenvoudig kaartraster. Elke kaart legt één beheeronderdeel uit en geeft de gebruiker een duidelijke volgende stap.

<Card title="Effectdoelen">
  <p>Beheer outcomes en verantwoording voor de organisatie.</p>
  <Button>Beheer Effectdoelen</Button>
</Card>

Groeiplannen: kaarten, bewerkmodus, archief

De groeiplannenpagina is opgebouwd uit kaarten. Ik heb tijd gestoken in het tonen van precies de juiste hoeveelheid informatie op de kaarten: titel, icoon, aantal missies, deelstatus en knoppen om te bewerken of archiveren.

<GrowPlanCard
  title="Mijn groeiplan"
  icon="star"
  missionCount={4}
  sharedWith={2}
  mode="view"
/>

In de bewerkmodus krijgt dezelfde kaart een andere rol. Het wordt een object dat je kunt beheren in plaats van alleen openen. Gearchiveerde plannen zijn visueel rustiger en kunnen vanuit een aparte sectie worden hersteld.

<GrowPlanCard
  title="Gearchiveerd groeiplan"
  missionCount={3}
  mode="archived"
  actionLabel="Herstellen"
/>
actiefPlannen worden als kleurrijke kaarten getoond.
bewerkenArchiefknoppen verschijnen alleen tijdens het bewerken.
archiverenOude plannen verdwijnen uit het hoofdoverzicht.
herstellenGearchiveerde plannen blijven terug te halen.

Tijdlijnfunctie

De tijdlijn was de interessantste UI-flow. Die maakt van verschillende soorten activiteit één chronologisch overzicht: berichten, missies, doelen, acties, evaluaties en stemmingsupdates.

const timelineItems = [
  { type: 'message', title: 'Bericht toegevoegd', side: 'right' },
  { type: 'goal', title: 'Doel aangemaakt', side: 'left' },
  { type: 'evaluation', title: 'Evaluatie ingevuld', side: 'right' },
];

<VerticalTimeline items={timelineItems} />

Het kaartontwerp moest elk item scanbaar maken: een label voor het type, een titel, metadata, optionele berichtinhoud en een visuele markering op de tijdlijn.

<TimelineCard
  type="evaluation"
  title="Evaluatie ingevuld"
  meta="Coach · vandaag"
  status="Op schema"
/>
Ontwerptaal van GrowPad met logo, typografie, kleuren, iconen, statuslabels en UI-elementen

Het designsysteem gaf de frontend herbruikbare onderdelen voor staten, kaarten, iconen en hiërarchie.

Responsive details

De schermen moesten ook op kleinere apparaten blijven werken. Voor mij betekende dat vooral dashboardrijen omzetten naar gestapelde layouts, kaartacties bereikbaar houden en voor belangrijke acties niet afhankelijk zijn van hover-states.

Drie mobiele GrowPad-schermen met doelen, het aanmaken van een effectdoel en het groeiplanoverzicht

Mobiele schermen voor bewoners en coaches die GrowPad op kleinere apparaten gebruiken.

Resultaat

Mijn deel van GrowPad was de frontendimplementatie van de plekken waar gebruikers vaak terugkomen: profielinstellingen, dashboards, groeiplannen, archiefflows en de tijdlijngeschiedenis. De uitdaging was die schermen begrijpelijk houden en tegelijk genoeg data en acties beschikbaar maken voor coaches, organisaties en beheerders.