Case Study · Universidade de Brasília · 2022

A platform for active learning

Sole Designer · Web & Mobile · Problem-Based Learning platform

UX Research Usability Testing Information Architecture Responsive Design Design Handoff Interaction Design Prototyping EdTech
PUMA homepage on desktop: a UnB-blue editorial hero over a classroom photo with a green call to action, a green edital ribbon, and a stats strip
External environment · The homepage, the first thing an external agent sees

7
PBL disciplines
3
User types connected
8
Public pages designed
13
Usability sessions

What I owned

    Who I worked with

      PUMA functional architecture map: the external and internal environments broken into modules, each annotated with which user type reaches it and whether it was implemented or pending
      Functional architecture · every module tied to its user and build state · the reference for the whole project
      AGENT
      External agent
      Who
      Companies and public organizations, outside the university. The audience that knows PUMA least.
      Does
      Submits project proposals, tracks their status, gives feedback to the students working on them.
      Needs
      A public surface that explains PUMA in plain terms and a submission path they can finish without help.
      PROF
      Professor
      Who
      Discipline owners who run PBL courses every semester.
      Does
      Evaluates proposals, allocates projects to classes, manages and publishes disciplines.
      Needs
      Clear forms and consistent edit and delete, on a module they touch every term.
      STUDENT
      Student
      Who
      Undergraduates taking the project disciplines, the protagonists of their own learning.
      Does
      Joins classes, picks projects, delivers artifacts, evaluates peers.
      Needs
      Clarity on what PUMA is for and a low-friction way to take part.

      Re-grounding the visual system in UnB's brand manual

      I inherited a partial design language from the previous designer, a navy base with a yellow accent, and re-grounded it in the university's official Manual de Identidade Visual, the UnB guia prático. The manual specifies no yellow, so I dropped it: UnB blue (#003366, Pantone 654) anchors the hero, footer, and headers, and a UnB green carries the primary calls to action. For type I paired Source Serif 4, an editorial serif that gives the public surface a scholarly feel, with Inter for UI and body, a screen-built humanist sans that echoes UnB’s Helvetica spec and renders Portuguese diacritics cleanly. The public pages took editorial cues from Stanford Magazine and Aeon; the internal admin borrowed dashboard patterns from Linear and Stripe. One system, two registers.

      Colour · from UnB's manual

      UnB blue#003366 · Pantone 654 · hero, footer
      UnB green#006B2A · primary calls to action
      Paper green#F0F7F1 · warm editorial bands
      Ink#0B2447 · body and headings

      Yellow removed. The manual specifies none.

      Typography

      Display & headings

      Source Serif 4

      Editorial serif · scholarly weight for the public surface

      UI & body

      Inter: built for screens, clean PT-BR diacritics

      Humanist sans · echoes UnB's Helvetica spec

      The redesign, applied across the internal admin

      The findings weren’t unique to one form: opaque labels, edit and delete hidden from the detail view, one-click destructive actions, and silent failures were patterns. So the redesign answered them across the whole internal admin, rebuilt on the UnB design system: Source Serif 4 and Inter, UnB blue and green, a Linear-style sidebar with grouped navigation and a command-palette shortcut, Stripe-style page headers and breadcrumbs. The profile-management flow below shows the patterns in one place. Each screen carries the decision it represents, not what it looks like.

      Redesigned admin profile list: a search-anchored table with per-row status, owner and inline actions, inside a UnB-blue sidebar shell
      Profile list · search anchored to the table · status, owner and inline actions per row
      Redesigned create-profile form, chunked into labelled sections with plain-language field labels and a sticky save bar
      Create form · chunked into sections, plain-language labels · a sticky save bar that survives scroll
      Profile detail view: a state badge beside the title and a two-column layout with an activity timeline on the right
      Detail view · state badge by the title · two columns, with an activity timeline alongside
      Delete confirmation modal with a red warning badge, an Esc-to-close hint, and a recovery path for when the action is blocked
      Delete confirmation · red warning badge, an Esc hint · a recovery path when the action is blocked

      Usability testing
      MeStudents
      User feedback
      Propose improvements
      Me
      Revised acceptance criteria
      Business validation
      MeProject lead
      Technical validation
      MeDev team
      Prototype fixes
      Me
      Prototype
      Weekly review
      MeStudentsProject leadDev team
      Validated prototype
      Development
      Dev team
      Functional testing & QA
      Students
      Issues logged on GitHub
      Feedback to stakeholders
      StudentsProject lead

      External environment sitemap · eight public pages · the surface that did not exist before

      PUMA homepage on desktop: UnB-blue editorial hero over a classroom photo, a green edital ribbon, a stats strip, and the three ways-in cards
      Homepage desktop · editorial hero, edital ribbon, stats · UnB green carries the open call
      PUMA homepage on mobile shown as two pages: hero and stats, then the three ways-in cards, single column with a hamburger menu and swipe carousels
      Homepage mobile · hamburger nav, swipe carousels · long copy trimmed for the small screen

      Usability-testing map of the mobile external environment: the eight pages in a row, with student feedback noted above each page and external-agent feedback below
      Usability testing · both rounds on one map · students above each page, external agents below

          Delivered

            More cases