Product Design · Desenvolvimento Full-stack

Jus21
Mentoria

Do zero à produção em 13 dias: uma plataforma onde mentores jurídicos montam cronogramas de estudo diários e personalizados, e cada aluno acompanha seu progresso em um painel único — com segurança aplicada no banco de dados, não apenas na interface.

Prazo
13 dias
Meu Papel
Product Design + Full-stack
Segmento
Educação Jurídica
Cliente
Jus21
Jus21 Mentoria — visão da plataforma de cronogramas
01

Visão Geral

A Jus21 oferece mentorias jurídicas em que cada aluno recebe um cronograma de estudos diário, montado sob medida pelo seu mentor. Com cerca de 50 alunos por mentor, essa personalização deixou de ser viável sem uma ferramenta própria — e foi esse o produto que projetei e desenvolvi de ponta a ponta.

O resultado é uma plataforma web com três perfis de acesso: o aluno acompanha suas atividades semana a semana, marca conclusões e vê seu progresso; o mentor cria cronogramas a partir de modelos reutilizáveis, copia de outro aluno ou monta do zero, e acompanha atrasos de toda a sua turma em um dashboard; o administrador gerencia mentores e redistribui alunos entre eles.

Resultado: do primeiro ao último commit foram 13 dias — design de produto, interface, front-end, modelagem de dados e regras de segurança — entregando uma operação com capacidade para 100 a 120 alunos simultâneos.

"Personalização 1:1 não escala na base do esforço. Ela escala quando a ferramenta transforma o trabalho repetitivo em modelo, cópia e ajuste."

02

Contexto

Neste projeto, atuei além do design e do código: participo como gestor do produto, definindo escopo, priorizando funcionalidades e centralizando decisões de governança — como a criação de novos administradores, que deliberadamente não existe na interface e passa por mim.

A escala esperada guiou cada decisão técnica: cerca de 50 alunos por mentor e 100 a 120 alunos no total. Não é um produto para milhões de usuários — é uma ferramenta operacional para uma equipe enxuta, e o desenho respeita isso. Nada de infraestrutura especulativa: apenas 6 dependências de produção e um único endpoint próprio no servidor.

A ponta comercial permanece onde o cliente prefere: renovações de mentoria acontecem por WhatsApp, com negociação pessoal. A plataforma sinaliza a expiração ao aluno e oferece o canal direto — sem tentar forçar um checkout que não faz sentido para o modelo de negócio.

lightbulb_2
Escopo é uma decisão de design

Saber o tamanho real da operação — 120 alunos, não 12.000 — permitiu eliminar camadas inteiras de complexidade: sem paginação desnecessária, sem cache distribuído, sem gestão de estado elaborada. O produto certo para a escala certa fica pronto em semanas, não meses.

03

Os Desafios

Três públicos diferentes, dados sensíveis de alunos e um fluxo de trabalho que precisava caber na rotina corrida de mentores:

O Problema
Personalização sem ferramenta
Cronogramas individuais para ~50 alunos por mentor
Nenhuma visão consolidada de progresso e atrasos
Atividades atrasadas exigiam replanejamento manual
Sem controle sobre quando o aluno vê o cronograma
Três públicos com necessidades e permissões distintas
A Solução
Uma plataforma, três experiências
Modelos reutilizáveis + cópia entre alunos + criação do zero
Dashboard com busca, filtros e status de cada aluno
Realocação de atrasos em 3 cliques, com dois modos
Publicação controlada: salvar ≠ disponibilizar
Permissões aplicadas no banco de dados, por perfil

Quer ver a arquitetura de permissões, os fluxos e as decisões técnicas em detalhe?

01
Personalização em Escala
Cada aluno recebe um cronograma diário único — mas com ~50 alunos por mentor, montar tudo à mão é inviável. A ferramenta precisava transformar repetição em reaproveitamento.
02
Três Públicos, Uma Base
Aluno, mentor e administrador têm tarefas, vocabulários e níveis de acesso completamente diferentes — e precisavam conviver na mesma aplicação sem vazamento de dados entre perfis.
03
Segurança de Verdade
Dados de alunos não podem depender de esconderijos na interface. A autorização precisava ser garantida na camada de dados, resistindo a qualquer tentativa de acesso indevido.
04
O Atraso como Evento Central
Aluno atrasa — sempre. O produto precisava tratar o atraso como parte do fluxo, não como exceção: identificar, sinalizar e replanejar em poucos cliques.
05
Salvar Não É Publicar
O mentor precisa preparar o cronograma com calma antes de o aluno ver. A separação entre rascunho, salvamento e disponibilização tinha que ser explícita no fluxo.
06
Prazo Real de Negócio
A operação precisava da ferramenta funcionando — o cronograma do projeto não permitia meses de desenvolvimento. Cada decisão de escopo foi tomada com o calendário na mesa.
04

Papéis e Permissões

Desenhei o produto a partir dos três perfis — cada um com uma tela inicial própria, um conjunto de ações possíveis e limites claros do que jamais pode fazer:

Aluno
Foco total no estudo
Painel único: progresso, atividades do dia e atrasos
Marca atividades como concluídas em 1 clique
Vê o cronograma apenas quando o mentor disponibiliza
Recebe alerta de expiração com renovação via WhatsApp
Não altera textos, datas ou estrutura — só a conclusão
Mentor
Gestão da própria turma
Dashboard com progresso e atrasos de todos os seus alunos
Cria cronogramas por modelo, cópia ou do zero
Realoca atividades atrasadas em poucos cliques
Controla quando cada cronograma fica visível
Acessa apenas os próprios alunos — nunca os de colegas
Administrador
Governança da operação
Tudo que o mentor faz, para todos os alunos
Cria mentores e reatribui alunos entre eles
Dashboard com filtro por mentor
Único perfil que altera papéis de usuários
Todo usuário nasce por convite — não há auto-cadastro
shield
Segurança no banco, não na tela

Todas essas regras existem como 26 políticas de Row-Level Security no PostgreSQL, reforçadas por triggers que impedem, por exemplo, que um aluno altere qualquer coisa além da conclusão de uma atividade — ou que alguém eleve o próprio papel. A interface reflete as permissões; o banco de dados as garante.

05

Arquitetura de Informação

Nove telas e oito modais organizados por perfil, com uma regra de ouro: a tarefa mais frequente de cada usuário deve estar no menor caminho possível. O aluno vive em uma única tela; o mentor navega entre dashboard, detalhe do aluno e editor.

Mapa da Plataforma
Jus21 Mentoria
/aluno — Painel único do aluno: progresso, atividades e alertas
/dashboard — Visão da turma: busca, filtros e status por aluno
/alunos/[id] — Detalhe do aluno: cronograma, disponibilidade e realocação
/editor — Editor de cronograma com arrastar-e-soltar e banco de reservas
/templates — Modelos reutilizáveis compartilhados pela equipe
/usuarios — Gestão de mentores e reatribuição de alunos (admin)

A profundidade de navegação foi medida ação por ação — e otimizada para as tarefas que se repetem todos os dias:

1
Aluno conclui uma atividade — 1 clique
A ação mais frequente de todo o produto acontece na própria tela inicial do aluno, sem navegação: um toque no checkbox e pronto.
2
Mentor disponibiliza um cronograma — 2 cliques
Da linha do aluno no dashboard direto para o badge de disponibilidade. Publicar ou ocultar é imediato.
3
Mentor realoca atrasos — 3 cliques
Linha do aluno → botão com contador de atrasadas → confirmação. O modo mais comum de realocação já vem pré-selecionado.
4
Mentor cadastra um aluno — 3 cliques
Botão, formulário, criar. O fluxo termina já dentro da página do aluno recém-criado, pronto para montar o cronograma.
06

Fluxos-Chave

O coração do produto é o ciclo de vida do cronograma: criar, publicar, acompanhar e replanejar. Cada etapa foi desenhada para reduzir trabalho repetitivo do mentor:

1
Criação com três origens
Um aluno sem cronograma apresenta três caminhos: começar de um modelo da equipe, copiar o cronograma de outro aluno ou criar do zero. Se a duração escolhida for menor que a origem, um aviso explica que o excedente vai para o banco de reservas — nada se perde silenciosamente.
2
Editor com banco de reservas
Dias com atividades, arrastar-e-soltar entre dias, copiar e colar via teclado, dias de descanso e um banco de reservas — atividades ainda sem data, invisíveis para o aluno, prontas para serem encaixadas quando fizer sentido.
3
Salvar ≠ Disponibilizar
Ao salvar, um modal pergunta: disponibilizar agora ou depois? O cronograma nasce oculto por padrão. O mentor decide o momento exato em que o aluno passa a ver o plano — preparar com calma e publicar com intenção.
4
Liberação semanal
O mentor define o dia da semana em que novas atividades são liberadas ao aluno. O painel do aluno mostra quando vem a próxima leva — criando um ritmo de estudo previsível em vez de despejar o plano inteiro de uma vez.
5
Realocação de atrasos em dois modos
As atividades atrasadas aparecem listadas em um painel de alerta, com dois modos de replanejamento: Empurrar (cada atrasada vira um novo dia, estendendo o fim) ou Encaixar (distribui nos dias existentes, mantendo a data final). Uma decisão de estudo virou dois radio cards.
lightbulb_2
Feedback em toda ação

Todos os salvamentos têm proteção contra duplo envio e rótulos de progresso ("Criando…", "Salvando…", "Realocando…"). A conclusão de atividade pelo aluno é otimista — marca na hora e reverte com aviso se a rede falhar. Estados de vazio, carregamento e erro foram tratados em todas as telas.

07

Design System

A interface usa um tema claro e sóbrio — azul-marinho institucional como cor primária, azul vivo para realces e uma escala de cinzas para texto — coerente com um produto jurídico que precisa transmitir ordem e seriedade. Toda a paleta, raios e sombras vivem em um arquivo único de tokens, consumido por cerca de 60 componentes.

Fundações
Tokens centralizados
Primária navy #1e3a8a · acento #3b82f6
Escala semântica: sucesso, alerta, perigo, neutro
Tipografia Poppins em 4 pesos
Raios e sombras padronizados por contexto
Componentes
Biblioteca própria
Primitivos: Button, Input, Avatar, Pill, Logo
Sistema de 8 modais com registry central
Toast global para feedback de ações
Linhas de aluno com layouts distintos mobile/desktop

A cor nunca trabalha sozinha: todo status colorido — "Atrasada", "Em dia", "Expirado" — vem acompanhado de texto, e as áreas de toque no mobile foram dimensionadas para o dedo, não para o cursor.

08

Interface

As duas telas que definem o produto: o painel do aluno — mobile-first, onde a rotina de estudo acontece — e o editor de cronogramas, a bancada de trabalho do mentor.

09

Decisões Técnicas

Stack: Next.js (App Router) + React no front-end, Supabase (PostgreSQL, Auth e PostgREST) como back-end. Apenas 6 dependências de produção e um único endpoint próprio — o convite de usuários, que exige a chave de serviço no servidor. Cada trade-off foi consciente:

→
RLS como barreira real
A autorização vive em 26 políticas de Row-Level Security e 4 triggers no banco. Os guards de rota no front melhoram a experiência, mas a proteção dos dados não depende deles — um princípio inegociável quando se trata de dados de alunos.
→
Um único caminho de escrita
Salvar um cronograma regrava dias e atividades de uma vez. Menos caminhos de escrita significam menos estados intermediários possíveis — e para uma equipe pequena editando cronogramas individuais, a simplicidade vale mais que a microtimização.
→
Otimista onde importa
A única mutação otimista do produto é o checkbox do aluno — a ação mais executada de todas. Todo o resto aguarda confirmação do servidor. Otimismo de interface é uma ferramenta pontual, não um padrão global.
→
Estado global mínimo
O estado compartilhado guarda apenas sessão e UI; cada página busca seus próprios dados. Sem camadas de cache para invalidar, sem sincronização entre telas — na escala de 120 alunos, buscar de novo é mais barato que gerenciar cache.
→
Convite, nunca auto-cadastro
Todo usuário nasce por convite de e-mail: mentores criam alunos, admins criam mentores, e a criação de admins passa pela gestão do produto. Em uma operação fechada, a porta de entrada controlada é a primeira camada de segurança.
10

Resultados

Um produto completo — design, front-end, modelagem de dados e segurança — entregue em produção em duas semanas de trabalho:

13 dias
Do zero à produção
Do primeiro ao último commit
120
Alunos suportados
~50 por mentor, na escala real da operação
26
Políticas RLS
Autorização garantida no banco de dados
1 clique
Para concluir atividade
A ação mais frequente, com resposta imediata
11

Aprendizados

!
Segurança pertence à camada de dados
Regras de acesso na interface são cortesia; regras no banco são garantia. Desenhar as políticas de RLS junto com o modelo de dados — e não depois — moldou o produto inteiro para melhor.
!
Otimize a ação mais frequente, não todas
Um checkbox instantâneo para o aluno vale mais que dez micro-otimizações espalhadas. Medir onde o uso realmente se concentra evita gastar sofisticação onde ninguém percebe.
!
Escala conhecida é uma vantagem competitiva
Saber que a operação teria 100–120 alunos autorizou decisões que seriam erradas em outro contexto — e foi isso que tornou 13 dias suficientes. Engenharia boa é engenharia proporcional.
!
Publicação é um momento, não um efeito colateral
Separar 'salvar' de 'disponibilizar' deu ao mentor controle sobre o momento mais delicado do fluxo — quando o aluno vê o plano. Pequena decisão de UX, grande diferença de confiança no produto.

"Um produto sob medida não é o que tem mais recursos — é o que conhece sua operação tão bem que cada clique economizado foi calculado."

Gostou do processo?

Vamos construir seu próximo produto