DFL

DFL

O manual completo da marca DFL (DevFellowship): 22 capítulos — fundação, estratégia, voz, logo, cor, tipografia, iconografia, imagem, grafismos, layout, motion, aplicações digitais e impressas, merch, vídeo, canais, sub-marcas, governança, anexos, logos das mini-apps e regras de UI. Sistema dark-first, um único accent amber (#E07A4A), logo puramente tipográfico com o motivo `/`, e o arquétipo Magician/Outlaw.

DEVFELLOWSHIP · BRAND GUIDE
v1.0 · alphamaio · 2026são paulo · global
— Manual da marca · 19 capítulos · 1 sistema

DEVFELLOW/SHIP

A fellowship onde aprender é shippar trabalho real em produção, com IA como parceira inseparável. Este documento é como a DFL se apresenta — em palavra, em forma, em código.

OwnerTainan Fidelis
Versão1.0 · alpha
EscopoDFL · Revera · Alavancagem · Labs
CadênciaQuarterly review
We believe shipping is learning.
Plans before code.
Code before review.
Review before celebration.
Tokens don't matter.
Autonomy does.
We are a fellowship,
not a factory.
We chose Brazil.
We chose global.
Iterate is everything.
Build with AI like you'd build
with a peer who never sleeps.
If you can't ship it today,
ship it tomorrow.
The drift is the data.
— DEVFELLOWSHIP · 2026
Capítulo01de 19

Fundação da marca

O que a DFL é, por que existe, o que defende, o que recusa. A base sobre a qual todo o resto (logo, voz, produto, sub-marca) é só consequência.

Por que a DFL existe

Formar o operador completo de software pós-IA — em prod, em meses, com fluxo real — não em laboratório, não em quatro anos.— Propósito DFL
O problema

Bootcamps ensinam sintaxe desconectada do trabalho real. Faculdade leva quatro anos sem que o aluno mergeie uma linha em produção. Aprender sozinho é mês após mês sem ritmo, sem feedback, sem rede.

No meio desse vácuo, a IA mudou o que significa "ser dev". O gap entre o que escolas ensinam e o que prod exige nunca foi tão grande.

A nossa resposta

DFL forma fellows que shippam em produção desde a semana 1, mentorados por quem está shippando hoje, operando com IA como parte do fluxo — não como brinquedo.

A medida é entrega: PR mergeado, plano publicado, eval rodado. Não nota, não certificado, não horas de aula.

Onde vamos chegar

DFL como sistema operacional do desenvolvimento de software brasileiro — e, na sequência, global. Forma fellows → fellows treinam empresas via Revera → empresas contratam fellows → o ciclo gira.

"Passei pela DFL" vira selo de "sabe operar com IA em produção, em time". Não é título. É prova de operação.

Horizonte 1 · 12 meses

Stack interna consolidada (plans · harness · brain). Primeira coorte com placement > 70%. Revera com 5 contratos B2B fechados.

Horizonte 2 · 3 anos

Rede alumni > 300 fellows. Revera vira product-led — empresas operam plans+harness+eval no próprio time, sem dependência humana.

Horizonte 3 · 10 anos

"Operador DFL" vira categoria. Empresa sem time formado em runtime DFL é a exceção. Influência exportada para LATAM, depois global.

A operação diária

  • Shippar fellows operacionais. Cada coorte sai com PR real merged, plano publicado, eval rodado. Sem cerimônia, sem teatro.
  • Operar a runtime DFL. Plans-app, harness, brain, sandbox-manager, paperclip — infraestrutura própria, self-hosted, sem dependência do hype-stack externo.
  • Treinar empresas via Revera. Não vender entrega — vender a transição. O time interno do cliente sai 2–3× mais produtivo, operando IA em produção.
  • Documentar o método em público. Plans, ADRs, episodes, drift-signals, runbooks — tudo público. O método é parte do produto.

O que recusamos negociar

Valor 01

Ship > plan > review

Entrega de valor real é a métrica única. Plano que não vira PR é overhead. Review que não shippa é cerimônia.

Valor 02

Tokens don't matter

Automatize o trabalho — o custo de API segue. Otimizar custo de token antes de otimizar fluxo é otimizar a coisa errada.

Valor 03

Plan-driven autonomy

Decisões duráveis ficam em planos públicos versionados. Agentes executam. Humanos destravam. Conhecimento institucional não vive na cabeça de uma pessoa.

Valor 04

Drift é dado

Captura honesta do que está quebrado, mesmo quando inconveniente. Drift escondido vira dívida. Drift capturado vira eval.

Valor 05

Brasil + global

Raízes locais (PT-BR, cultura brasileira, tu/bora/valeu), ambição mundial. A voz é BR. O design é global. As duas coisas convivem sem custo.

Como pensamos antes de agir

  • Capture > polish. Capturar dado bruto é mais valioso que polir relatório.
  • Async > sync. Reunião é dívida. TG/Discord/Notion comments são default.
  • Public > private. Plans, ADRs, repos: público por default. Privado por exceção.
  • Build > buy quando é core. Buy > build quando é commodity.
  • One-way doors exigem ADR. Two-way doors só decidem e seguem.
  • Velocidade > perfeição em first draft. Perfeição > velocidade em ship final.
  • Fact > opinion em debate técnico. PR ou número, não retórica.
  • People > process sempre. Processo serve à pessoa, não o contrário.

O que prometemos a quem entra

Para o fellow

O que recebe

"Você não sai da DFL junior. Você sai com PR real merged, plano publicado, eval rodado, e uma rede de gente que está shippando hoje."

O que NÃO recebe
  • Certificado decorativo
  • Garantia de emprego (mas há placement)
  • Hand-holding
  • Curso passivo · ambiente "safe"
Para o cliente B2B (Revera)

O que recebe

"Você não está comprando entrega. Você está comprando a transição da sua engenharia. Seu time sai 2–3× mais produtivo, com fluxo IA estabelecido, operando como nós operamos."

O que NÃO recebe
  • Body-shop / mão de obra
  • Consultoria-por-hora
  • Carimbo de "fizemos treinamento IA"
  • Software house entregando código

Quem a DFL é

Arquétipo primário

Magician (Mago)

Transforma. Faz acontecer. Vê padrões que outros não veem (plans+harness+eval como runtime). Promete não conforto, mas transformação real e mensurável.

Arquétipo secundário

Outlaw (Rebelde)

Recusa a ordem estabelecida (faculdade, bootcamp, consultoria-por-hora). Opinião forte, ferramentas próprias, "we don't do what everyone does". Não pede licença.

Como isso aparece

  • Linguagem direta, sem hedging. "Bootcamp não ensina fluxo." Não "é interessante notar que…".
  • Ferramentas próprias em vez de SaaS de prateleira. Plans-app, harness, brain — construídos.
  • Métricas honestas. Drift capturado, eval público, ship medido — não "satisfação dos alunos".
  • Visual operacional, não inspiracional. Dashboard, não Coursera.
  • Vocabulário próprio: "ship", "drift", "harness", "fellow" — não "aluno", "graduação", "módulo".

Por que essa combinação

Magician puro é sedutor mas frágil — promete sem provar. Outlaw puro é interessante mas auto-marginalizante. A combinação dá transformação com prova: o Magician produz o efeito, o Outlaw entrega sem cerimônia.

De cohort informal a runtime

Tainan, dev sênior multi-stack, viveu os três modos do dev moderno: tradicional (frameworks, time, prod), consultor/founder (entregar valor → cliente paga), e IA-first (operar com agente, plan-driven).

No terceiro modo, percebeu que o gap entre devs formados pelo modelo (a) e o que (c) exige é gigante — e nenhuma escola estava ensinando isso. Começou informalmente, mentorando devs próximos. Cohort virou programa. Programa virou DFL.

Dá pra escalar via processo + ferramentas próprias, não via "mais aulas". DFL não vende curso. Vende infraestrutura de prática.— O momento de virada

Marcos folclóricos

  • O primeiro fellow que shippou PR em produção em menos de uma semana.
  • A noite de 2026-05-19 → 20: 11 PRs mergeados via subagents enquanto Tainan dormia (overnight push protocol).
  • O dia em que Tainan disse "tokens don't matter" e parou de medir custo por API call.
  • A primeira coorte fechada com 100% placement (não foi a primeira coorte — foi a terceira).
  • O primeiro PR rejeitado por um fellow num projeto de Tainan — momento em que se confirmou que a rede funciona.
Esses são o folclore interno. Quando alguém pergunta "por que vocês operam assim?", são essas histórias que se conta.

Uma frase, um parágrafo, um pitch

One-liner oficial

DFL — fellowship de devs que shippam em produção, operando com IA, todo dia.

Parágrafo de posicionamento

A DevFellowship é uma fellowship brasileira para devs que querem operar software como o trabalho exige hoje: planos públicos, agentes executando, drift sendo capturado, PR sendo mergeado. Não vendemos curso — operamos uma runtime própria (plans · harness · brain · sandbox) que fellows e empresas usam para entregar valor real, em meses. Quando alguém passa pela DFL, sai sabendo trabalhar com IA em produção, em time — não em demo.

Pitch · 30 segundos · festa

"DevFellowship — fellowship onde a gente forma devs operando com IA em produção. Você entrega projetos reais, é mentorado por quem shippa todo dia, sai daqui empregável ou contratado pela rede. A gente também treina empresa via Revera. Brasileira, ambição global."

Contra o que estamos

Inimigo

Engineering-as-gatekeeping

Review como tax, não como dado. PR aberto há 9 dias porque três pessoas precisam aprovar. Process theater.

Inimigo

Faculdade-fábrica-de-diploma

Quatro anos formando gente que nunca shippou. Termina com PowerPoint, não com PR.

Inimigo

Bootcamps-de-certificado

Vende vibes e canecas. Não ensina fluxo de trabalho real. Sai sabendo to-do list e vai pra LinkedIn.

Inimigo

Sério-é-doloroso

O mito de que profissionalismo precisa ser seco, formal, sem voz. Dá pra ser excelente e ainda parecer gente.

Inimigo

IA-vai-substituir-devs

Tese covarde. Nossa tese: IA amplifica devs que sabem operar. Quem aprende, sobe. Quem não aprende é amplificado pra fora.

Inimigo

Consultor-por-hora

Vende entrega, não transição. Cliente fica dependente. Sem capacity-building, time interno do cliente não muda.

Inimigo

Software-house body-shop

Aluga dev por mês. Não constrói competência interna. Cliente paga pra sempre.

Inimigo

Cursos-online-passivos

Vídeo gravado + quiz. Zero feedback humano. Sem ship. Sem rede.

Como medimos a nós mesmos

MétricaDefiniçãoCadência
PRs mergeados / fellow / semanaThroughput por pessoaSemanal
Drift signals capturados / runHonestidade do sistemaPor run
Eval pass rate% de runs com grade passSemanal
Plans publicados / mêsVelocidade de decisão durávelMensal
Placement rate (fellow → contratado)% de fellows em prod no fim do programaPor coorte
Tempo até primeiro PR mergeadoDay-1 to merge-1Por fellow
NPS internoComo o fellow se senteMensal
Revera · throughput antes/depoisMétrica B2B principalPor contrato
Sem "horas de aula", sem "alunos satisfeitos", sem "conteúdo entregue". Só medimos trabalho shipped + rede gerada.

Como o time DFL opera

  • Stand-up async via TG. Todo dia 9h, cada membro posta "o que fiz · o que vou fazer · onde tô preso". Texto, mono uppercase para metadados.
  • Plan antes de código. Qualquer trabalho > 4h tem plan publicado primeiro. Sem plan = sem trabalho.
  • Review é dado, não tax. PR é review de plan vs execução, não de gosto pessoal. Limite de 2 reviewers.
  • Public default. Repos, plans, ADRs, decisões — público. Privado vira ADR justificando.
  • Demo de sexta. 30min · todo time mostra o que rolou. Hard limit no tempo, soft demo em qualidade.
  • Drift retrospective. Cada quinta, time discute o maior drift capturado. Vira ADR ou eval.
Capítulo02de 19

Estratégia & audiência

Quem queremos atrair, quem deixamos passar, e como a DFL se relaciona com Revera, Alavancagem, Labs e os produtos internos.

Para quem isto é

Persona 01

O fellow ideal

22–30 anos · BR · técnico curioso
Onde está
Já mexeu em código — tutorial, hobby project, faculdade na metade.
O que sente
"Eu sei que dá pra fazer mais rápido — alguém me mostra o jeito."
O que busca
Aprender fazendo. Mentor que está shippando hoje. Portfólio que prova ship.
O que NÃO busca
Certificado decorativo. Ambiente safe. Hand-holding.
Canais
LinkedIn (descobre Tainan) · YouTube · Instagram
Conversão
Aplicação coorte · ~10 min · perguntas técnicas + projetos
Persona 02

Cliente B2B Revera

100–1000 pessoas · time legado ou estagnado
Onde está
Time interno não acompanha competidores. Curso normal não pega.
O que sente
"Meu time precisa virar a chave da IA — não dá mais pra fingir."
O que busca
Capacity-building. ROI mensurável. Transição cultural.
O que NÃO busca
Body-shop. Software house. Carimbo de 'fizemos treinamento'.
Canais
LinkedIn (Tainan / Revera) · referral · landing Revera
Conversão
Alinhamento 60min via Calendly · proposta de 3 páginas
Persona 03

Alumni · fellow formado

Pós-fellowship · empregado ou solo
Onde está
Já operou a runtime DFL. Quer manter vínculo (placement, mentoria reversa).
O que sente
"DFL é network — quero contribuir e colher."
O que busca
Hub. Eventos. Drops de oportunidade. Continuar aprendendo.
O que NÃO busca
Newsletter genérica. Comunicação de massa.
Canais
Discord alumni · TG · email pessoal
Engajamento
Mensal · drops + 1 evento/trimestre
Persona 04

Parceiro institucional

Empresa de software · founder · early adopter
Onde está
Empresa que admira o método DFL. Quer parceria não-cliente.
O que sente
"Vocês são interessantes — vamos fazer algo juntos."
O que busca
Co-marketing. Acesso à rede. Validação de tese técnica.
Canais
Direto Tainan · LinkedIn · evento DFL
Engajamento
Pontual · proposta específica · não recorrente

Do clique no LinkedIn ao alumni

FaseTouchpointSurfaceTom
1. DescobertaPost de Tainan no LinkedInLinkedIn DFL · TainanProfissional · opinativo
2. PesquisaLanding devfellowship.comWebConfiante · direto
3. AplicaçãoFormulário (10min · técnico)Web · CalendlyFiltro
4. Triagem72h · email + TGEmail · TGTransacional
5. Conversa30min com mentorLoom · MeetConversational
6. OnboardingWelcome kit · manual A5Físico · emailEditorial
7. Semana 1–4Primeiro PR em prodDiscord · TG · paperclipCorrido
8. Semana 5–8Plan publicado · primeiro driftplans.tainanfidelis.comTécnico denso
9. Semana 9–12Projeto final · placementDiscord · email · LinkedInOperacional
10. GraduationCertificado · graduation kitFísico · cerimôniaEditorial · ritual
11. AlumniDrops mensaisDiscord alumni · emailInsider

A quem dizemos não

Definir o público é definir quem não cabe. A clareza protege a marca tanto quanto atrai os certos.

  • Buscador de diploma decorativo. Quer linha no LinkedIn. Não quer mergear PR.
  • Hobby coder sem intenção de ship. Apaixonado por código, alérgico à entrega.
  • Empresa que só quer carimbo de "fizemos treinamento IA". Quer PR de marketing, não transformação.
  • Dev que detesta ferramentas IA por princípio. Posição respeitável — mas incompatível.
  • Quem precisa de hand-holding tier 1. Não temos suporte síncrono 24/7. Lê doc, abre PR.
  • Empresa em crise existencial. "Salva meu time" não é capacity-building. É consultoria de turnaround.
  • Quem busca atalho. "Fellowship de 4 semanas" não existe na DFL.

Onde a DFL fala — e por quê

TerritórioQuem ouveO que dizemosComo provamos
Formação técnica pós-IAFellow ideal · alumni · candidatosO modo real de operar com IA em prod, em time.PRs mergeados, planos públicos, eval rodado.
Capacity-building corporativoCTO · VP Eng · Head of PlatformNão consultoria — transição. 2–3× throughput.Métricas antes/depois, runs de harness em prod do cliente.
Opinião técnica autoralComunidade tech BR · LATAM · alumniComo pensar dev/IA em 2026. Plans > tutoriais.Posts LinkedIn · blog · livro Alavancagem.
Infraestrutura de práticaDevs avançados · early adoptersPlans-app, harness, brain mudam fluxo.Self-hosted stack · repos públicos · demos overnight.

O que ninguém mais faz

  • Plans-driven autonomous execution. Planos públicos versionados + ADRs + decisões locked. Agentes executam.
  • Harness eval framework. Mede trabalho entregue: run grading + episode mining + LLM judges + human-in-the-loop.
  • Plans-app + canal de feedback. Loop assíncrono humano-cérebro × agente-execução via Telegram.
  • Self-hosted stack completa. dfl-runner · sandbox-manager · paperclip · Infisical · Traefik · OTel · Langfuse.
  • Fellowship model real (vs cohort). Você não conclui — se forma. A rede vira ativo permanente.
  • Brasileira de raiz, global de design. Voz BR, infra global, ambição mundial.
Junto, isso é uma runtime própria. Ninguém mais opera assim.

DFL vs bootcamp · faculdade · sozinho

CaminhoVendeResultado típicoLimitaçãoTempo até prod
Bootcamp tradicionalSintaxe (React, Node)Sai sabendo to-do listNão ensina fluxo, IA, ship∞ (não shippa)
FaculdadeDiploma4 anos sem entregar linhaPerde a era IA · teoria · sem portfólio~4 anos
SozinhoNada (gratuito)Sem ritmo, vira hobbySem feedback, rede, urgência~2 anos
DFLInfra de prática + redeShippa em prod desde semana 1Não cabe quem quer hand-holding ou diploma~3 meses

Revera vs consultoria · software house

ModeloVendePós-contrato
ConsultoriaHorasResolve problema imediato. Time interno continua o mesmo.
Software houseCódigoEntrega projeto. Time fica dependente do externo.
ReveraCapacity-buildingTreina o time. Mensurável. Capacita.

Família DFL · sub-marcas · produtos

Arquitetura branded house: DFL é a mãe. Sub-marcas herdam tokens (cor, tipo, voz) mas têm lockups distintos. Produtos internos são identificados por nome+mono, sem mark próprio.

Topologia
DFL  ·  devfellowship  (the mother)
├── DFL Fellowship      ·  programa core (product line, não sub-marca)
├── Revera              ·  B2B / corporativo · sister-brand · lockup distinto
├── Alavancagem         ·  livro · extensão editorial · lockup próprio
├── DFL Labs            ·  playground experimental · visual mais solto
└── DFL Edu             ·  guarda-chuva educacional

Produtos internos (não são sub-marca · usam DFL):
  plans · harness · brain · paperclip · sandbox-manager · dfl-runner
  dfl-learn · dfl-financing · dfl-flows · lesson-studio · books-app

Regras de herança

  • Paleta + tipografia compartilhada em toda a família.
  • Lockup distinto por sub-marca: Revera tem o próprio wordmark; Alavancagem tem tratamento editorial com serifa display; Labs tem permissão de quebra estética.
  • Accent secundário só para Revera: trust-blue (#5a85c4) ao lado do amber, para B2B trust.
  • Produtos internos não têm logo: usam o wordmark DFL + nome em mono uppercase ao lado (DFL · plans).

Como entram

Funil Fellow

StageSurfaceMétrica
AwarenessLinkedIn Tainan · YouTube · IGImpressões · reach
InterestLanding · blog · podcastVisitas · tempo na página
ConsiderationNewsletter · Discord público · meetupInscritos · presenças
ApplicationFormulário aplicaçãoTaxa de conclusão · qualidade
ConversionTriagem + conversa + decisãoTaxa fellow novo / aplicação

Funil B2B (Revera)

StageSurfaceMétrica
AwarenessLinkedIn Revera · referral · Tainan postsVisitas landing Revera
InterestLanding Revera · case studyTempo de leitura · scroll
LeadCalendly 60min agendadoConversão visita → call
PropostaDoc 8 páginas enviadoEngagement de leitura
FechamentoContrato assinadoTaxa proposta → fecha · ticket

Como cobramos

ProdutoPreçoTermos
Fellowship (16 semanas)R$ 12.0004× ou à vista (5% desc)
Fellowship + Revera-readyR$ 18.000Inclui pipeline B2B
Revera · empresarial (12 sem · 3 squads)Sob consultaR$ 200k+ médio
Revera · enterprise (custom)Sob consultaR$ 500k+ médio
DFL Edu · workshop (1-3 dias)R$ 800–3000 / participantePor evento
Alavancagem (livro)R$ 89 físico · R$ 39 digitalLançamento 2026

Magician + Outlaw — shell vs. soul

O guia nomeia o arquétipo explicitamente: Magician dominante, Outlaw secundário.

  • Dominante — Magician (Mago): a DFL transforma e faz acontecer; vê padrões que outros não veem (plans + harness + eval como runtime) e promete não conforto mas transformação real e mensurável ("a runtime própria", "your team ships 2–3× more, measured in the harness"). Promete transformação com prova, não vibes.
  • Secundário — Outlaw (Rebelde): a DFL recusa a ordem estabelecida — universidade, bootcamp, consultoria por hora, "diploma-factory" — constrói as próprias ferramentas em vez de comprar SaaS de prateleira, tem opiniões fortes e não pede permissão. Seus inimigos nomeados (engineering-as-gatekeeping, bootcamps de certificado, "IA-vai-substituir-devs") são posicionamento Outlaw puro.

Por que o par: um Magician puro é sedutor mas frágil (promessas sem prova); um Outlaw puro é interessante mas se auto-marginaliza. Combinados, dão transformação com prova — o Magician produz o efeito, o Outlaw entrega sem cerimônia. Energia Creator/Sage aparece na textura de apoio (tooling próprio, método público, ADRs, drift-as-data), mas o par dominante + secundário é Magician + Outlaw.

A casca vs. a alma (shell vs. soul)

O Magician dominante (transformação via sistemas — plans+harness+eval como runtime; disciplinado — "proof, not promise") e o Outlaw secundário (rejeita diploma/bootcamp/consultoria-por-hora, é dono das ferramentas, não pede permissão) descrevem a voz/edge. Co-secundário é o Creator — Outlaw é a atitude, Creator é a atividade diária (a gente constrói; "founders who code"; projetos reais shippados).

Mas o edge sozinho soa frio/elitista. O que mantém quente é a alma (soul): uma linha Sovereign (devs soberanos donos do próprio cap table; autonomia como métrica de output — a tese de liberdade econômica) e um núcleo Caregiver (elevar jovens do Sul-Global / favela na pirâmide de Maslow; um movimento, não uma corporação; a base espiritual da Polaris).

Regra: ambos têm que aparecer. Magician/Outlaw sem a alma Sovereign/Caregiver = frio e elitista; a alma sem o edge = mole e esquecível.

Capítulo03de 19

Voz & linguagem

Como a DFL fala — em LinkedIn, em landing page, em deck comercial, em canal interno. A voz é o ativo mais barato e mais difícil de copiar.

O perfil

Sênior brasileiro que morou fora 10 anos, voltou pra investir no Brasil. Direto sem ser rude. Opinião forte, mas escuta. Cita planos e PRs como prova — não argumenta com adjetivo.— Perfil da marca

O que essa pessoa faz

  • Fala PT e EN intercambiavelmente, sem hesitar.
  • Prefere ship a discutir. Abre PR enquanto outros abrem thread.
  • Tem opinião sobre tudo que importa. Não tem opinião sobre o que não importa.
  • Despreza burocracia, ceremony, theater. Não esconde isso.
  • Lê PRD e abre issue ao mesmo tempo. Não espera reunião.
  • Critica processo · respeita pessoa.

O que essa pessoa não faz

  • Não usa "stakeholder", "synergy", "leverage".
  • Não vende vibe. Não fala em "jornada". Não promete "transformação digital".
  • Não escreve em comitê. Texto tem dono e tem voz.
  • Não pede licença para ter opinião.
  • Não usa hashtag em LinkedIn.
  • Não promete certeza onde não há.

Onde a DFL fica nos eixos

Formal
Informal
Sério
Bem-humorado
Acadêmico
Operacional
Vendedor
Autoral
Corporativo
Pessoal
Genérico
Opiniativo
Leitura: informal mas competente. Levemente bem-humorada, nunca meme-y. Brutalmente operacional. Autoral, com voz reconhecível em um parágrafo. Opinião como default.

Palavras-chave

Usa

shipfellowiterateplanharnessdriftautopilotborapratuvaleufluxoagenteprodmergeevalruntimebrainpaperclipsandboxcapacity-buildingoperadorrunsepisodedecisão duráveldrift signalADRthroughputship nightPRreview

Nunca usa

stakeholdersynergyagile transformationbest-in-classunlock valueleverageecosistemajornada digitalempoderardesbloquear potencialsolução inovadoradisruptivomindsetengajamentoalinhamentoentregar valor agregadorobusta solução end-to-endponta a pontaestratégiaROIcliente em primeiro lugarno nosso DNADNA digital

Substituições rápidas

Em vez deDigaPor quê
"para""pra"Voz BR. Soa gente.
"você""tu" (interno) / "você" (B2B)Tu na comunicação fellow. Você em landing Revera.
"oferecemos""a gente faz" / "shippa"Direto. Ativo.
"alinhar expectativas""combinar o escopo"Diz o que é.
"jornada""caminho", "programa", "fluxo""Jornada" é palavra-zumbi.
"solução"nome do que faz"Solução" mascara o objeto.
"impactar""mudar", "mover", "shippar"Verbo concreto > verbo de marketing.
"experiência""o que tu vai fazer"Concreto.
"compreender""entender"Mesma coisa · menos formal.
"realizar""fazer" / "rodar"Mesma coisa.
"plataforma""app" / "site" / "ferramenta"Específico.
"colaboradores""time" · "fellows" · "pessoas"Soa gente.

Antes de publicar qualquer texto

  • Primeira frase carrega o sentido. Se a primeira frase pode sair sem perda, ela já não devia estar lá.
  • Prova > adjetivo. "Shippamos 11 PRs em uma noite" > "somos eficientes".
  • Verbo ativo. "Fellows shippam" > "É shippado por fellows".
  • Número específico > faixa. "70% placement" > "alto índice de placement".
  • Direto sem ser rude. "Não fazemos isso" > "Não estamos focando neste momento em iniciativas dessa natureza".
  • PT e EN convivem. "Bora rodar harness no run do TG-typed" — sem itálico, sem aspas.
  • Editar para subtrair. Toda revisão tem que devolver o texto mais curto.
  • Frase curta. Default 8-15 palavras. Frase > 25 palavras é warning.
  • Concreto > abstrato. "PR mergeado" > "entrega".
  • Voz consistente em série. Se a edição #07 é informal, #08 não vira formal.

Calibração rápida

✓ Soa DFL
Mensagem · canal internoBora trabalhar no app X — worktree + sandbox aberto. Tu manda feedback no TG, eu shippo PR a PR. Plan publicado quando tiver decisão durável. Drift signal capturado no final.

Direto. Operacional. PT+EN sem cerimônia. Verbos ativos. Nomeia os artefatos (plan, drift signal). Tem voz.

✗ Não soa DFL
Texto-zumbi corporativoWe're excited to announce our innovative AI-powered platform that empowers developers to unlock their full potential through our comprehensive methodology aligned with industry best practices.

Zero objeto, zero prova, zero opinião. Vocabulário-zumbi. Soa como release de qualquer SaaS. Banido em qualquer canal DFL.

Mais exemplos · paralelos

Anúncio coorte
✓ DFL

Coorte 04 · aplicações abertas até 30 jul. Set 2026. 18 vagas.

✗ não DFL

Estamos muito felizes em anunciar a abertura das inscrições para a próxima coorte do nosso programa, que terá início em setembro de 2026.

Mudança de produto
✓ DFL

plans-app v2.1 saiu. Lock automático em ADR. PRs vinculados. Drift signal por episode.

✗ não DFL

Temos o prazer de comunicar uma evolução importante da nossa plataforma, agora ainda mais robusta...

Pitch curto
✓ DFL

Forma dev que ship em prod, em meses, operando IA.

✗ não DFL

Capacitamos profissionais de tecnologia a navegarem no novo paradigma da inteligência artificial...

Erro / drift público
✓ DFL

Status DEGRADED · harness 3/11 falhou em onboarding-revera. Drift +0.34 capturado. Fix em 30min.

✗ não DFL

Estamos enfrentando uma instabilidade temporária. Pedimos desculpas pelo inconveniente. Nossa equipe técnica...

Onde a voz se ajusta

LinkedIn corporativo

Profissional + opinião + prova. PR shipped, métrica antes/depois, decisão técnica autoral.

Exemplo11 PRs mergeados ontem. Subagents executando plans, eu dormindo. O custo não é o problema — o gargalo é a clareza do plan.

Canal interno fellows

Corrido, gírias técnicas+BR, abreviado, TG-friendly. "Bora", "valeu", "PR aberto".

Exemplo@fulano sandbox tá de pé. roda harness no run X. drift signal no final, valeu

Landing B2B · Revera

Confiança calma, número grande, prova social, sem hype. "Isto resolve isto".

ExemploSeu time entrega 2–3× mais por trimestre. Você mede no harness, em prod do seu próprio repo. Sem PowerPoint.

Proposta comercial

Curta, escopada, sem floreio. 3 páginas resolvem. Entregáveis nomeados.

ExemploEscopo: 12 semanas. Entregável: time operando plans+harness em prod. Métrica: throughput de PR / semana antes/depois.

Manifesto / editorial

Declarativo, curto, sem qualificadores. Frase por linha. Apple-1986. Permitido ser solene.

ExemploWe believe shipping is learning. Tokens don't matter. The drift is the data.

Suporte / cliente

Respeitoso, direto, sem desculpa performática. Reconhece, age, fecha.

ExemploReproduzi. PR aberto. Deploy na sexta. Te aviso quando subir.

Newsletter editorial

Autoral, médio formato. Mais Georgia que Inter no peso. Mais ar.

ExemploEsta semana virou edição. Captei drift como dado pela primeira vez de forma "limpa" — e isso mudou como olho um run.

Twitter / X

Seco, opinativo, técnico. Tweet curto · thread quando vale.

Exemploplan-driven autonomy não é hype. é a única forma de operar agentes em produção sem virar caos.

Produtos · features · eventos · documentos

  • Produtos internos: nome curto, lowercase, hifenizado se preciso. plans · harness · brain · paperclip · sandbox-manager. Não pluraliza, não maiúscula.
  • Sub-marcas: nome substantivo, primeira maiúscula. Revera · Alavancagem · Labs. Lockup próprio.
  • Eventos: formato tipo + edição. DFL Meetup #03 · Fellow Demo Day · Overnight Push 05-19 · Ship Night.
  • Features dentro de produto: verbo+objeto se for ação ("run grading", "episode mining"), substantivo se for conceito ("ADR", "drift signal").
  • Documentos canônicos: ALL-CAPS com hífen. DESIGN.md · CLAUDE.md · README.md · ADR-001-plan-format.
  • Releases: semver. v1.0.0. Não "Mythical Names". Não "Aurora", "Phoenix", "Atlas".
  • Coortes: número sequencial · "Coorte 03". Não nomes inventados.

Como contamos a história DFL

Antes-vs-Depois

"Bootcamp ensina sintaxe. DFL forma operador." Estado anterior → ruptura → estado novo. Ideal pra LinkedIn e landing.

Folklore-do-overnight

"11 PRs mergeados enquanto eu dormia." Cena específica → método embutido. Conta a runtime sem listar features.

Plan → Ship → Drift

"Publicamos o plan. Subagents rodaram. Drift capturado virou eval." Três atos da runtime. Convence dev sênior.

Inimigo-vs-Tese

"'IA vai substituir devs' vs 'IA amplifica devs que sabem operar'." Posição comum + contraposição. Editorial.

Fellow journey

"Semana 1: zero PR · Semana 12: 14 PRs em prod." Time-line concreto da transformação. Landing + IG.

Drift-as-discovery

"Captei drift +0.34 · não escondi · virou ADR · virou eval." Sistema aprendendo em público. Newsletter / blog.

Os textos mínimos

ContextoDFL dizNão diz
Botão CTA primárioAplicar → · Agendar → · Shippar PR"Clique aqui" · "Saiba mais"
Botão secundárioLer mais · Ver runtime · Demo"Voltar" sem contexto
Empty state"Nenhum plan ainda. Bora começar.""Você ainda não tem nada cadastrado"
Loading"rodando harness…""Aguarde, por favor"
Erro"Quebrou. Capturado em drift signal.""Ocorreu um erro inesperado"
Success"PR mergeado. Próximo?""Operação realizada com sucesso!"
404"plan errado. route não existe.""Página não encontrada"
Coming soon"em 2026. waitlist aberta.""Em breve!"
Form label"email""Por favor, informe seu endereço de email"
Form helper"a gente responde em 72h""Nossa equipe entrará em contato"

Bandeiras vermelhas em qualquer texto

  • Texto-comitê. Frase sem dono, sem opinião, sem voz. Soa como nada porque foi escrita por todos.
  • Hedging excessivo. "Talvez", "pode ser que", "achamos que". Direto ou cala.
  • Adjetivo-superlativo. "Incrível", "revolucionário", "único". Prova ou apaga.
  • Pedido-de-engajamento. "Concordam?", "compartilha aí". Trabalho é da escrita, não do leitor.
  • Auto-elogio. "Somos referência em…". Faz o trabalho · deixa outro dizer.
  • Empilhamento de jargão. "AI-powered ML-driven SaaS". Use palavra concreta.
  • Frase-zumbi de transição. "Pensando nisso…", "diante disso…". Editar fora.
  • Promessa-vaga. "Transformaremos seu negócio". Diga O QUE muda e EM QUANTO TEMPO.

PT-BR é casa · EN é vizinho

  • Default: PT-BR em todo material BR-facing (landing, IG, newsletter, fellow comms).
  • EN aparece: termos técnicos (ship, drift, plan, runtime), nomes próprios (paperclip, harness), manifesto, GitHub.
  • Conteúdo global: EN puro para LinkedIn de Tainan voltado a audiência LATAM/global, podcast cuts internacionais, repo READMEs.
  • Não traduzir: "ship" não vira "entregar". "Drift" não vira "desvio". O termo é o conceito.
  • Não code-switch performático: "let's grow together" no meio de texto BR soa fake.

Como traduzir "crew"

Sempre traduza "crew" como "tripulação" (registro institucional / elevado; ressoa com a metáfora barco/cibernética e a viagem de transformação do arquétipo Magician) ou "tropa" (registro fellow-facing / cru; a energia de esquadrão leal do Outlaw, "minha tropa"). Escolha pelo contexto. A gíria favela / Global-South "bonde" é permitida só para a voz de fellow / social-media mais crua. Nunca use "turma", "equipe" ou "time" (soam escola / corporativo).

Capítulo04de 19

Logo

Wordmark tipográfico em Barlow Condensed + slash amber como assinatura. Sem brasão, sem ilustração, sem AI sparkle. A marca é uma palavra tratada com precisão.

Os 3 elementos da logo

A logo DFL é puramente tipográfica. Três letras em Barlow Condensed Black, justaposta a uma barra (slash) em amber que marca a posição: dev / fellowship. A barra é o único elemento gráfico do sistema.

DFL/devfellowship
Logo primária · wordmark + slash + tagline
DFL/
Construção · grid 16px · barra 1 unidade

Regras de construção

ElementoTratamentoToken
WordmarkBarlow Condensed · 700 (Black)--p-font-display
Tracking−2px no display (≥48px), −1px abaixotracking-tight
Slash (barra amber)Mesmo glyph "/", peso 700, cor brand--brand · #E07A4A
Espaçamento ao slash0.12em antes e depoisgap · 0.12em
TaglineJetBrains Mono · 500 · letter-spacing 1.4px · uppercase--p-font-mono
Cor padrãoWordmark ink-primary · slash brandink + brand

Todos os arranjos oficiais

Horizontal · default · com tagline
DFL/devfellowship
Horizontal compacto · sem taglineDFL/
Vertical · centralizado
DFL/devfellowship
Icon · D-bar (favicon · 16/32/64px)
Mono branco · sobre escuroDFL/
Mono preto · sobre claroDFL/
Knockout · slash em amberDFL/
Negativa · sobre amber
DFL/
Apenas slash · selo/
Stencil · só wordmark sem slashDFL
"Apenas slash" funciona como selo isolado (favicon, sticker, watermark de canto). "Stencil sem slash" só em contextos onde a marca já está estabelecida na mesma tela.

Quanto ar a logo precisa

Clear space

Área de proteção igual à altura da letra F em todos os lados. Nada (texto, ícone, foto, borda) entra nessa zona.

Tamanho mínimo

Digital · wordmark
64px de largura
Digital · icon
16px (favicon)
Impresso · wordmark
20mm de largura
Impresso · icon
6mm
Bordado / gravado
35mm largura mínima
Vídeo · canto
2% da largura do frame
DFL/
Clear space · 1F em torno · zona amber translúcida

O que nunca fazemos

✗ Não faça
DFL/

Não estique.

✗ Não faça
DFL/

Não rotacione.

✗ Não faça
DFL•

Não troque o slash.

✗ Não faça
DFL/

Não use amber no wordmark inteiro.

✗ Não faça
DFL/

Não aplique gradient.

✗ Não faça
DFL/

Não aplique shadow.

✗ Não faça
DFL/

Não troque a fonte.

✗ Não faça
DFL/

Não use sobre amber sem inverter.

✗ Não faça
DFL/

Não embale em moldura decorativa.

✗ Não faça
/DFL/

Não duplique slash.

✗ Não faça
DFL/

Não use serifa.

✗ Não faça
DFL/🚀

Não combine com emoji.

Quando a DFL aparece junto

Co-branding com sub-marcas usa o slash como elemento de junção: DFL / SUB. Com parceiros externos: pipe vertical com 2× clear space.

DFL × Revera (família)DFL/REVERA
DFL × Alavancagem (editorial)DFL/Alavancagem
DFL × EduDFL/EDU
DFL × LabsDFL/LABS
DFL | parceiro externo
DFL/
Parceiro
DFL · produto interno (mono)DFL/· plans

A logo em contexto

ContextoVariaçãoNotas
Favicon · 16/32pxMark D-bar · amber sobre darkSem wordmark, sem tagline
App ícone iOS/AndroidMark D-bar · radius 22%Sand background
GitHub org avatarMark D-bar quadrada · 4px radiusPara reconhecimento na timeline
Header de appWordmark horizontal · 24px alturaSem tagline
Slide / deckVertical centralizada · canto inferiorTagline opcional na capa
Certificado / diplomaVertical centralizada · topo · 40mmSempre com tagline
Vídeo intro/outroWordmark anima slash por últimoSlash entra com snap, 220ms
Assinatura emailWordmark · 90px largura · PNG @2x+ tagline + nome em mono
OG card / socialWordmark canto inferior · 14-20pxNão no canto da informação principal
README GitHubH1 wordmark inlineSlash amber em span
Print · papel timbradoMono preto · canto superior esquerdoTagline no rodapé
Camiseta peitoWordmark default · 22px larguraBordado · amber thread
Camiseta costasManifesto · slash 60-90pxCentro do tórax
Stencil de eventoSlash isolado giganteDecoração ambiente

De onde a marca vem

A logo atual é a v1.0 deste guide. Versões anteriores eram lockups ad-hoc.

devfellowship
2024 · uso interno · sem sistema
DFL.
2025 · primeira tentativa wordmark
DFL/devfellowship
2026 · v1.0 · este guide

Como o arquivo é feito

<!-- DFL wordmark · v1.0 · primary -->
<svg viewBox="0 0 240 60" xmlns="http://www.w3.org/2000/svg">
  <style>
    .dfl-text { font-family: "Barlow Condensed", sans-serif;
                font-weight: 700; font-size: 56px;
                letter-spacing: -2px; }
    .ink   { fill: #f4ede2; }
    .brand { fill: #E07A4A; }
  </style>
  <text class="dfl-text ink"   x="0"   y="48">DFL</text>
  <text class="dfl-text brand" x="118" y="48">/</text>
</svg>
Todo SVG da logo entregue na pasta brand/logo/ — versões otimizadas (sem metadata, paths inlinados) ficam em brand/logo/dist/.

Status legal

  • "DFL" · marca registrada INPI · classe 41 (educação) e 42 (TI).
  • "DevFellowship" · marca registrada INPI · classe 41 (educação).
  • Slash + tipografia · trade dress · não-registrado mas reivindicado.
  • Domínios · devfellowship.com (master) + .com.br + .dev defensivos.
  • Handles sociais · @devfellowship em todas as plataformas onde existimos.

capítulo 05

Sistema cromático

Sand escuro, um único acento âmbar, quatro cores de estado e uma paleta de dez cores para pessoas. A cor só entra quando carrega informação: ação, posição, estado ou identidade.

5.1 Princípios cromáticos

  • Dark-first. surface-page é #0a0908 e as superfícies sobem por tom. O modo claro existe só para impresso e editorial (5.8).
  • Saturação baixa. Saturação é informação. Cor de enfeite conta como tinta.
  • Um acento. O âmbar #E07A4A é a cor de ação e de posição. Nunca é fundo, borda decorativa nem status.
  • Estado tem cor; ênfase não. success, warning, danger e info dizem em que estado o objeto está. Eles nunca dizem “olhe aqui”.
  • Hierarquia por superfície e hairline, não por sombra. A sombra é zero. Só o focus ring usa box-shadow.
  • Identidade ≠ UI. A paleta de membros é só para avatar. Ela não conta no orçamento de cor.

5.2 Superfícies e tinta

Uma tela de documento ou lista usa duas superfícies: page e panel. Uma tela de ferramenta usa três: stage, page e panel. A raised entra só em overlay real, ou como seleção dentro de um panel.

Superfícies

surface-stage#050404só palco de editor
surface-page#0a0908fundo da tela e moldura
surface-panel#141210sidebar, painéis, item ativo do nav
surface-raised#1a1714overlay e seleção dentro de panel
surface-elevated#1f1c18hover dentro de overlay

O surface-scrim é rgba(10,9,8,0.72) e cobre a tela atrás de um dialog.

Tinta

ink-primary#f6f1e7títulos e conteúdo primário
ink-secondary#c9c0b4corpo e rótulos
ink-muted#887f71meta, ícones, placeholder. Mínimo 4,5:1 em page, panel e raised
ink-disabled#5a5249só item desabilitado
ink-inverse#0a0908texto sobre o acento

Bordas

border-subtle#2a2622hairline padrão entre linhas e seções
border-strong#3a3530hover, overlay e cabeçalho de coluna de kanban

5.3 Acento · âmbar

O acento aparece em quatro lugares: o botão primário (no máximo um aceso por contexto), o item ativo do nav, a seleção (view toggle, tab ativa, radio, slide selecionado) e o hover de título ou link para um objeto. Link inline em prosa usa ink-primary com sublinhado border-strong; o acento só entra no hover.

brand-solid#e07a4abotão primário, indicador ativo, seleção, focus
brand-hover#ea915ahover do primário
brand-pressed#c2663bestado pressionado
brand-fg#f0a872acento como texto ou ícone sobre escuro

O focus ring é rgba(224,122,74,0.45) com 3px (--c-focus-ring). Ele é a única sombra permitida.

faça

Um primário por contexto. O olho sabe para onde ir.

não faça

Dois ou três botões em âmbar. Com muito acento, nada tem acento.

5.4 Estado

A forma canônica é um dot de 6 a 7px mais a palavra em ink-secondary. O fundo -subtle fica reservado a bloqueio e erro reais, no máximo um por viewport. Dica, aviso de sistema e “precisa de fulano” são texto normal.

ideatodoreviewrunningapproveddone
Dot e palavra: a forma canônica de estado
EstadoDotUso
ideia / draftanel 1,5px ink-mutedcoluna Ideia, lição draft
todoink-muted sólidocoluna Todo
em review / aguardandowarning sólidocoluna Review
executandoinfo sólidocoluna Running
aprovadoanel 1,5px successcoluna Approved
donesuccess sólidocoluna Done, check de saved
bloqueadoícone octagon-alert em danger-fgbotão de bloqueio (cap. 12.6)
IntentSolidForegroundQuando
success#5ec27e#7ad79aterminou
warning#e0b04a#f0c875review ou aguardando
danger#e07a7a#e89898quebrou ou bloqueado
info#7aa2e0#9ab9e8executando

faça

Dot colorido mais a palavra: done, running, review.

não faça

Pill com fundo preenchido para um rótulo que nunca muda.

Progresso: barra de 3px, trilho border-subtle, preenchimento success, radius pill. Em zero, só o trilho.

5.5 Identidade · pessoas e agentes

Pessoa tem foto. Sem foto, o avatar mostra as iniciais em 600 11px, ink-inverse, sobre a cor do membro (hash do UUID). A mesma pessoa tem a mesma cor em todo lugar. Agente usa o ícone bot sobre --s-agent.

member 1#e07a4aavatar
member 2#7aa2e0avatar
member 3#5ec27eavatar
member 4#b58fe0avatar
member 5#e0b04aavatar
member 6#7ad6cdavatar
member 7#e07a7aavatar
member 8#7ae0a8avatar
member 9#e0b8a8avatar
member 10#9aa8e0avatar
agent#b58fe0avatar de agente (bot)
TFMJARLCDK
Pilha de avatares: overlap de 5px e anel de 2px da superfície de trás

5.6 Piso de vazio

A v1 sugeria uma receita de proporções por cor. A v2 troca a receita por um orçamento por tela (cap. 20) e por um piso de vazio: cerca de 30% da tela sem tinta. É um guia de revisão. Nenhuma ferramenta mede isso, e ele não vale para a lista densa nem para o kanban.

5.7 Acessibilidade · contraste verificado

Razões calculadas pelo check.mjs do design system, com os tokens v2 do DFL.

Tokenpagepanelraised
ink-primary #f6f1e717,6716,6015,85
ink-secondary #c9c0b411,0710,409,93
ink-muted #887f715,044,744,52
ink-disabled #5a52492,592,442,33
brand-solid #E07A4A6,686,285,99
brand-fg #f0a8729,999,398,97

O ink-muted foi clareado de #7d7568 (4,37 na page) para #887f71, e agora passa 4,5:1 nas três superfícies. O ink-disabled não passa e serve só para item desabilitado. Estado nunca depende só de cor: o dot sempre leva a palavra.

5.8 Modo claro · editorial

O modo claro não faz parte dos tokens v2. Ele existe para contextos editoriais e impressos: propostas, certificados, o livro e o longform de blog. App e dashboard ficam dark, e não há alternância de tema no produto.

PapelHexUso
paper#F6F1E7fundo editorial
paper-2#ECE4D2card editorial
ink-on-paper#1A1714texto editorial
brand on light#c2663bâmbar rebalanceado, 5,1:1

5.9 Cor por marca

As regras valem para o acento de cada marca. O acento é sempre o --s-brand-* do tokens.css da marca.

Marcabrand-solidbrand-fgNota
DevFellowship#E07A4A#f0a872acento do guia
Itera#3fd17f#62d996fica perto de success #5ec27e; estado sempre leva dot e palavra
Revera#3d8fe0#60a3e6azul de confiança como acento

5.10 Cor em movimento · vídeo

  • LUT DFL: warm shift +5 mireds, saturação −15%, leve lift nas sombras.
  • Highlight: nunca estourar. O sand white é o teto.
  • Sombras: nunca esmagar. Mantém detalhe em #0a0908.
  • Tons de pele: quentes e realistas, sem laranja forte.
  • Lower-thirds: stroke âmbar, nunca fill.

5.11 Códigos · todas as formas

CorHEXRGBCMYKHSLOKLCH
Amber primary#E07A4A224 / 122 / 740 / 56 / 75 / 1219° 70% 58%0.66 0.13 50
Sand 950#0a090810 / 9 / 860 / 60 / 70 / 9030° 11% 4%0.10 0.005 60
Sand 50#f6f1e7246 / 241 / 2310 / 3 / 8 / 040° 51% 93%0.96 0.015 90
Brand fg#f0a872240 / 168 / 1140 / 38 / 56 / 526° 80% 69%0.78 0.105 55
Success#5ec27e94 / 194 / 12655 / 0 / 50 / 18140° 47% 56%0.74 0.130 145
Danger#e07a7a224 / 122 / 1220 / 60 / 50 / 120° 64% 68%0.69 0.125 25

capítulo 06

Tipografia

Três famílias com papéis estritos e quatro tamanhos de UI: 11, 13, 15 e 28. Barlow Condensed faz o título, Inter faz o corpo e a UI, JetBrains Mono faz a meta.

6.1 As famílias

FamíliaPapelPesosFallback
Barlow Condensedtítulo da página (display)600Inter, system-ui, sans-serif
Intercorpo, UI, botões, lede400 · 500 · 600system-ui, -apple-system, Segoe UI, sans-serif
JetBrains Monometa e eyebrow400 · 500ui-monospace, SF Mono, monospace

Os tokens v2 declaram só estas três famílias (--s-font-display, --s-font-body, --s-font-mono). A Georgia não tem token na v2. Ela fica fora da UI e vale só para editorial e impresso (cap. 13).

6.2 Escala · quatro tamanhos

Plans · runtime do agente
Lede e título de dialog em Inter 15.
Corpo e UI em Inter 13. Título de card e linha em 13/500.
saved 17 h ago · 5 / 10 · .zip
eyebrow · máx 1 por tela
Cada papel renderizado com o seu token
PapelSpecToken
Título da páginaBarlow Condensed 28/600, −0,3px, leading 1,1--s-text-display
Lede, título de sheet e dialogInter 15 (400 lede · 600 título)--s-text-lead
UI, corpo, botõesInter 13/400. Título de card e linha 13/500--s-text-body
MetaJetBrains Mono 11/400, minúsculo, ink-muted--s-text-meta
EyebrowJetBrains Mono 11/500, uppercase, 1px. Máx 1 por tela--s-text-meta
Input em tela de toque16px, a única exceção aos quatro tamanhos--s-text-input-touch

Marketing, impressão e a capa do guia mantêm um nível display à parte (--s-text-marketing-md, -lg, -xl: 36, 44 e 64). Esse nível não vale para UI de app nem de site. Conteúdo do usuário (slides, capas) tem tipografia própria e não conta.

6.3 Hierarquia de uma página longa

O eyebrow abre o documento, e não cada seção. Depois dele vêm o título em display, o lede em Inter 15 e o corpo em Inter 13. Prosa longa (plano, doc) pode subir para 15/1,6 e ganha H2 e H3 em Inter 600. Os tamanhos continuam os mesmos quatro.

6.4 Pareamentos

ContextoPareamentoPor quê
App shellBarlow 28/600 + Inter 13 + Mono 11Inter resolve a UI inteira. Mono fica na statusbar e na meta.
Documento e planoBarlow 28/600 + Inter 15/1,6 + H2/H3 Inter 600Prosa confortável com a mesma escala.
Dashboard e dadosInter 13 + Mono 11 tabularInter para o rótulo, mono para o número.
Capa e marketingnível display (36, 44, 64)Fora do orçamento de UI.

6.5 Regras

  • Quatro tamanhos (11 · 13 · 15 · 28) e três pesos (400 · 500 · 600). O peso 700 saiu.
  • Meta em mono minúsculo. 17 h ago, 5 / 10, .zip. Uppercase fica só no eyebrow.
  • Barlow Condensed nunca no corpo. A condensação prejudica a leitura longa.
  • Itálico só em ênfase. Não estilize parágrafos inteiros.
  • Letter-spacing: −0,3px no display e 1px no eyebrow. Em outro lugar, zero.
  • Números tabulares em coluna numérica e em dashboard.
  • Leading: 1,1 no display, 1,5 no corpo e 1,6 em prosa.
  • Comprimento de linha: 72ch em prosa e 90ch em UI.
  • Input em tela de toque: 16px. O iOS dá zoom em input abaixo disso, e 15px não evita o zoom.

faça

17 h ago · 5 / 10 · .zip: mono 11, minúsculo, ink-muted.

não faça

LAST UPDATED · 2H AGO em todo rótulo. Uppercase repetido vira ruído e o eyebrow perde o papel.

6.6 OpenType

FeatureQuandoCSS
tabular-numscolunas numéricas, dashboardsfont-variant-numeric: tabular-nums
liga (Inter)padrão, sempre ligadafont-feature-settings: "liga"
calt (Inter)padrão, sempre ligadafont-feature-settings: "calt"
oldstyle-numscorpo editorial e livrofont-variant-numeric: oldstyle-nums
fracreceitas e livrosfont-feature-settings: "frac"

A classe .mono do tokens.css já liga tnum e ss01.

6.7 Localização

  • PT-BR, EN e ES: as três famílias têm suporte completo a diacríticos.
  • Asiáticos (futuro): Noto Sans CJK como fallback.
  • Hebraico e árabe: ainda não testados. Peça uma auditoria antes de usar.

6.8 Carregamento

  • Auto-hospedado em /fonts/, em WOFF2.
  • Subset: Latin, Latin Ext e diacríticos PT-BR.
  • Preload dos três críticos: Inter 400, Inter 600 e Barlow Condensed 600.
  • font-display: swap evita o FOIT.
  • JetBrains Mono carrega depois, porque não é crítica.
@font-face {
  font-family: "Inter";
  src: url("/fonts/inter-400.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

6.9 Ritmo vertical

SequênciaEspaçoToken
h1 → corpo32pxspace-8
h2 → corpo24pxspace-6
h3 → corpo16pxspace-4
parágrafo → parágrafo16pxspace-4
item de lista → item8pxspace-2
seção → seção64pxspace-16

A escala de espaço termina em 64px. Página tem 32px de padding no topo e 40px nas laterais, e o header da página fica a 28px do conteúdo.

capítulo 07

Iconografia & ilustração

Lucide, stroke 1,5, 16px na UI. Ícone é âncora de varredura e não enfeite: onde ele não carrega informação, apague. Ilustração: não temos. Foto, placeholder honesto ou diagrama.

7.1 Estilo e tamanhos

ParâmetroValorNotas
BibliotecaLucideUI genérica. O conjunto custom cobre só conceitos da runtime
Stroke1,5pxconstante em todos os tamanhos
Tamanho na UI16px14px em meta e em botão com label
Grid de autoria24 × 24pxlive area 20 × 20, 2px de padding
Linejoin e linecapround
Fillnoneoutline por padrão
CorcurrentColorherda do texto. Nunca uma cor fixa no SVG
EstadoCor
repousoink-muted
hoverink-secondary
ativobrand-fg

7.2 Onde o ícone entra

  • Nav: sempre, expandido e recolhido.
  • Meta de card: troca a palavra. calendar mais a data, list-checks mais 5. Ícone de 13px e número em mono 11.
  • Tipo de anexo: ícone do tipo mais a extensão em mono (.zip, .html), ao lado do nome.
  • Toolbar, player e segmented compacto: ícone sozinho mais tooltip com label e atalho.
  • Coleção na sidebar do detalhe: documentos, planilhas, links, anexos.

Onde o ícone não entra: ao lado de cada label de formulário, em título de seção e em botão que já tem uma palavra clara (exceto o CTA primário com plus).

7.3 Biblioteca DFL · conceitos da runtime

  • ship
  • plan
  • harness
  • brain
  • drift
  • merge
  • sandbox
  • agent
  • fellow
  • repo
  • eval
  • focus
  • paperclip
  • episode
  • run
  • lock
16 ícones custom, line art em currentColor

7.4 UI genérica · Lucide

Para UI genérica usamos o Lucide, com o mesmo grid e o mesmo stroke. Lista pré-aprovada:

search menu x chevron-down chevron-right arrow-right plus minus settings user users mail bell calendar clock filter more-horizontal external-link copy trash edit check alert-circle info github twitter linkedin bot octagon-alert list-checks message-circle-question

Quando surge uma necessidade de ícone, olhe primeiro o Lucide. Crie um custom só para conceito específico da DFL.

7.5 Como criar um ícone novo

  1. Pergunte se dá para reusar. A maior parte já existe no Lucide.
  2. Se for um conceito da runtime (plan, harness, drift, episode), crie.
  3. Desenhe no grid 24 × 24 com 2px de padding.
  4. Stroke 1,5px e pontas round. Teste em 14px e em 28px.
  5. Sem fill, sem gradient e sem cor fixa.
  6. Abra um PR em dfl-components/icons, com uso real e teste visual.

7.6 Ilustração · posição: não temos

A DFL não tem estilo de ilustração próprio, e isso é deliberado. Ilustração custa para manter, rende pouco em produto operacional e arrisca o visual de “AI slop”. A ordem é: foto, depois placeholder honesto, depois diagrama.

  • Se o layout pede imagem, use um placeholder honesto: área tracejada com border-strong, ícone e legenda (“Mermaid diagram · renders here”).
  • Se o conteúdo exige imagem real, use foto (cap. 8). Nunca ilustração.
  • Para visualizar um conceito, use blocos e linhas no estilo da runtime.

Número só se for real. Métrica inventada como textura sai. Sem dado, sem gráfico.

7.7 Emoji

Em produto: nunca. Em marketing público: nunca. Em canal interno de fellows (Telegram, Discord): sim, faz parte do registro corrido. Lista curta de uso interno: 🚢 ship · ✅ done · ⚠️ warn · 🧠 brain · 🚀 launch · 📋 plan · 🐛 bug · ✨ new.

7.8 Export de SVG

<!-- icon · plan · 24x24 · stroke 1.5 -->
<svg
  width="24" height="24" viewBox="0 0 24 24"
  fill="none"
  stroke="currentColor"
  stroke-width="1.5"
  stroke-linecap="round"
  stroke-linejoin="round"
  xmlns="http://www.w3.org/2000/svg"
>
  <rect x="4" y="4" width="16" height="16" rx="2"/>
  <path d="M8 10h8M8 14h5"/>
</svg>

Sempre currentColor. ViewBox 0 0 24 24. O SVGO roda no build.

Capítulo08de 19

Imagem & fotografia

Direção documental — pessoas reais, ambientes reais, sem encenação. Quando não tem foto pronta, placeholder honesto > stock genérico. Foto é prova, não decoração.

Mood & composição

O que buscamos

  • Pessoa olhando pra tela, não pra câmera. Trabalhando, não posando.
  • Setup real (mesa do fellow), iluminação natural ou neutra. Sem flash duro.
  • Profundidade rasa quando focar pessoa; profundidade total quando ambiente.
  • Composição com respiração — assunto descentralizado, regra dos terços.
  • Paleta low-sat: madeira clara, sand, off-white, ocres.
  • Mãos digitando, terminal aberto, post-it com plan.

O que evitamos

  • Stock corporativo "diverse team smiling at laptop".
  • Foto encenada com sorriso pra câmera.
  • Saturação alta, lente fish-eye, filter trendy.
  • Mockup de tela com "AI generated UI" inventada.
  • "Generative AI illustration" — sem exceção.
  • Foto noturna cyberpunk · neon · vibe matrix.

O que cada tipo de imagem mostra

1.6:1

Fellow @ work

Pessoa real trabalhando. Tela legível ou desfocada.

1.6:1

Time / hub

Cena coletiva, baixa direção. Ambiente DFL.

1:1 ou 4:5

Setup / objeto

Detalhe — teclado, post-it, terminal.

16:9

Evento / meetup

Documental. Plateia + speaker.

4:5

Portrait Tainan

Direto, sem sorriso forçado. Olhar lateral OK.

4:5

Portrait fellow

Idem · semi-formal · com setup atrás

16:9 ou 1.6:1

Screenshot UI

Tela real, em prod, chrome neutro.

1:1

Detalhe arquitetural

Macro · post-it · note book · café.

LUT DFL custom

ParamValorNotas
Color castWarm · +5 a +10 miredsCombina com sand do sistema
Saturação−10 a −20%Tira o "Instagram look"
ContrasteMédio · curva S leveSem crush em sombra
Highlights−10Recuperação suave em janela / monitor
Vinheta0Não usamos
Grain+5 fine grain (opcional)Em foto de evento · dá textura editorial
Filtros estilizadosNãoSem B&W estilo · sem duotone
Crop ratio4:5 portrait · 16:9 land · 1:1 socialResto, evitar
Min resolução2400px lado maiorPrint + retina
Format exportJPG q85 · WebP q80 · AVIF q753-format fallback

Fellows · clientes · time

  • Fellows são protagonistas. Foto em material DFL = fellow real, não modelo.
  • Consentimento sempre. Toda foto de fellow precisa release assinado.
  • Diversidade real, não cota visual. Foto reflete a coorte. Não montamos.
  • Tela > rosto. Quando a história é o trabalho, foco vai pra tela.
  • Tainan ≠ marca. Tainan é founder, não mascote. Pode aparecer, não TEM que aparecer.
  • Crédito visível. Todo material publicado credita o fotógrafo em mono uppercase.

De onde puxar

TipoSource primárioSource secundário
Foto DFL (fellow, evento, hub)Banco interno /brand/photosFotógrafo contratado · brief próprio
Screenshot de produtoApp rodando em prod · captura @2xMock do design-system v0
Foto de stock (last resort)Unsplash · busca curada · usuário verificadoBanco interno editado
Ícone / pictogramaLucide-reactSVG custom DFL (cap. 07)
Foto histórica / referênciaPublic domain · WikimediaCitar fonte obrigatoriamente
B-roll vídeoFilmado internoPond5 · Artgrid (last resort)

Quando não tem imagem

Falta foto e o layout precisa preencher o espaço? Não invente. Coloca placeholder honesto.

[ fellow @ work · 1.6:1 ]
Stripe-warm · default
[ harness ui · 16:9 ]
Stripe-cool · screenshot pendente
[ portrait fellow · 4:5 ]
Sólido sand · portrait pendente
[ icon · 1:1 ]
Dot pattern · ícone pendente
[ chart · 16:9 ]
Cross-hatch · gráfico pendente
/
Slash gigante · marca pendente

Banido

  • Generative AI illustration. Mascote 3D estilo Pixar, hand-drawn-AI, "isometric people".
  • Stock corporativo genérico. "Business team high-five". "Diverse smiling group".
  • Cliché tech. Mão segurando hologram, código verde matrix, gears flutuando.
  • Foto de tela inventada. Se produto não existe ou não está em prod, placeholder.
  • Brasilidade visual forçada. Sem amarelo-verde-azul, sem azulejo, sem Paulista pôr-do-sol.
  • Sorriso de banco. Foto de "consultor sorrindo".
  • Mãos digitando teclado prateado em fundo branco..
  • Lousa branca com fórmula matemática complexa.

Como enquadrar

  • Regra dos terços. Sujeito em 1/3 vertical e 1/3 horizontal. Nunca centro perfeito.
  • Headroom mínimo. 5-10% acima da cabeça em portrait. Sem corte de testa.
  • Linha do olhar livre. Sujeito olha para dentro do frame, não pra fora.
  • Foreground / midground / background. 3 camadas dão profundidade.
  • Negative space proposital. 30-40% vazio para texto ou respiro.

Como descrever uma foto

  • Descrever o que está acontecendo, não o que é. "Maria revisando harness output no terminal" > "uma mulher trabalhando".
  • Mencionar características relevantes sem reduzir a pessoa a elas.
  • Máximo 125 caracteres. Mais que isso é narrativa, não alt.
  • Nunca "DFL logo" como alt text. Descreva o conteúdo da imagem específica.
  • Foto decorativa: alt="" (vazio explícito).

O que mandar pro fotógrafo

# brief · foto DFL · sessão YYYY-MM-DD

contexto:
[1 parágrafo · o que é a DFL · o que vamos usar a foto pra fazer]

mood:
- warm + low-sat (cap. 8.3)
- documental · pessoa trabalhando, não posando
- profundidade rasa em portrait · total em ambiente

shot list:
1. fellow @ work (10 frames · 1.6:1)
2. detail · keyboard / post-it (5 frames · 1:1)
3. portrait fellow (3 fellows · 5 frames cada · 4:5)
4. ambiente · hub (15 frames · misto)
5. tainan portrait · serial (10 frames · 4:5)

no-go:
- sorriso pra câmera
- prop stock
- flash duro
- saturação acima de 80%

entrega:
- RAW + JPG q85 + WebP q80
- ratio crops já feitos
- metadata · IPTC com créditos

— release assinado por todos · brand/photos/releases/
Capítulo09de 19

Grafismos & elementos visuais

A barra-slash como assinatura. Stripes diagonais sand como padrão único. Dataviz com a mesma economia. Decorações? Quase nenhuma — quando aparecem, são propositais.

O único grafismo recorrente

A barra / da logo é o único elemento gráfico recorrente da DFL. Aparece como separador, acento, divider, bullet — sempre em amber, sempre em mesmo tratamento.

São Paulo / global
Separador inline
/plans
/harness
/brain
Bullet de lista
/SHIP
Acento de hero · rotated
/
Marca d'água · canto
/
Divider centralizado
//////
Stencil pattern · repetido

Único pattern oficial

Stripes diagonais a 135°, em duas variações de sand + uma amber para uso ritual.

stripe-warm · contraste alto
stripe-cool · contraste baixo
stripe-brand · uso ritual
dot grid · subtle
cross-hatch · technical
amber gradient · ritual
Stripes nunca cobrem texto. Sempre background-de-suporte, atrás ou ao lado.

12-col / 8-col / 4-col

Marketing & editorial

12 colunas · gutter 24px · max 1280px

App shell

Sidebar 224 · main fluid · content max 1280

side
main · max 1280

Baseline · 4px

Toda altura, gap e padding é múltiplo de 4px. Passos usados: 4 · 8 · 12 · 16 · 20 · 24 · 32 · 40 · 48 · 64 · 80. Nada fora.

Hairline · mono-eyebrow · slash-divider · etc

hairline-divider · 1px border-subtle
mono-eyebrow · início de seção
/
slash-divider · quebra editorial
  • /plans
  • /harness
  • /brain
bullet de lista · slash
In progress
badge · status mono
⌘ K
kbd · keyboard hint

Visualização de dados

Dataviz segue o sistema: 1 série em amber, intent para estado, mono pra eixo & rótulo. Sem 3D, sem sombra, sem gradient.

JANJUL
Line chart · uma série amber + grid hairline
Bar · ranking · intent variant para outliers
Area chart · empilhado
58%
Donut · 3 segmentos · intent
  • Série principal sempre amber. Comparação usa muted neutral.
  • Grid 1px --border-subtle. Eixos não recebem cor.
  • Eixo, rótulo, valor — sempre mono. Tabular nums.
  • Sem legenda flutuante. Inline annotation > legend separada.
  • Outliers ganham cor de intent (danger queda, success alta).

Como desenhar a runtime DFL

PLAN
EXEC
HARNESS
BRAIN
Plans · Exec · Harness · Brain — fluxo canônico
INPUT
TRANSFORM
OUTPUT
Vertical · pipeline
Network · 3-node
Cycle · loop
Nós são retângulos com radius-md, label em mono uppercase. Conexões são linhas amber de 1-2px. Sem seta — direção dada por leitura.

Posters · spreads · capas

LayoutEstruturaQuando
Hero-with-slashSlash gigante canto + título centro + mark canto opostoPoster · capa
Stat-ledNúmero 200pt amber + label mono pequeno + 1 frase contextoAnúncio · social
Editorial-quoteSlash + Georgia italic grande + cite em monoManifesto · spread
4-col grid4 cards stat ou feature alinhadosLanding seção
Split 60/40Texto à esquerda · visual à direitaHero de landing
Full-bleed photoFoto cobre tela · overlay sand-dark · texto inferiorFellow spotlight
Diagram-ledDiagrama central · texto periféricoComo funciona
Stripe-frameStripe pattern só em bordas · conteúdo centroCover de capítulo

Decoração não é o trabalho

  • 1 elemento gráfico por composição. Slash OU stripes OU dot pattern · não os três.
  • Slash > tudo. Quando dúvida, slash. É o elemento mais reconhecível.
  • Stripes pra quebra de seção. Não pra "preencher".
  • Dot grid pra contexto técnico. Diagramas, fundo de timeline.
  • Cross-hatch pra material editorial. Livro, proposta.
  • Gradient pra hero. Sutil · radial · canto.

capítulo 10

Layout & composição

Coluna única, hairline e espaço. Grid, card e segunda superfície são upgrades que pedem justificativa. A respiração é uma decisão.

10.1 Princípios

  • Coluna única por padrão. Toda tela nova começa em uma coluna, com hairlines e sem card. Kanban e editor são as exceções justificadas.
  • Hierarquia por espaço, hairline e tamanho de texto. Não por sombra nem por borda de acento.
  • Fundo ou borda: escolha um. Hairline só quando separa.
  • Linhas dentro, espaço entre. Itens de lista têm hairline. Blocos irmãos têm 32px de respiro.
  • Tipografia faz a hierarquia. Tamanho e peso, e não cor.
  • Densidade segue a tarefa. A lista densa pode ser densa. Uma landing precisa de ar.
  • Alinhe à grade de 4px. Sem pixel intermediário.
  • Mobile: nada some, tudo muda de lugar.

10.2 Escala de espaço · base 4px

TokenValorUso típico
space-00reset
space-14pxgap mínimo, dot e label
space-28pxgap entre chip e label, padding de botão de ícone
space-312pxgap dentro de linha densa
space-416pxgap entre campos de formulário
space-520pxpadding de card
space-624pxpadding interno de seção
space-832pxpadding de topo da página, gap entre blocos e colunas de kanban
space-1040pxpadding lateral da página
space-1248pxtopo e base de seção em landing
space-1664pxentre seções de página

A escala termina em 64px. O header da página fica a 28px do conteúdo.

10.3 Breakpoints · mobile-first

TokenMin-widthComportamento
phone0coluna única, drawer de nav
sm640grids de 2 colunas
md768sidebar permanente
lg1024alvo principal de layout
xl1280--c-content-max limita a largura
2xl1536sem mudança estrutural

10.4 Composições canônicas

ComposiçãoEstrutura
App shellsidebar + main + statusbar (10.7)
Marketinghero + três colunas de features + CTA (nível display)
Editorial e doccoluna única de prosa, com sidebar de propriedades (cap. 12.8)
Lista densauma linha por item (cap. 12.7)
Kanbancolunas de 232px com gap de 32px (cap. 12.5)
Editorstage + page + panel (cap. 12.9)
Formuláriocampos em coluna, ações no rodapé
Modal e sheetraised + border-strong, com scrim no dialog

10.5 Desktop → mobile

DesktopMobile (390)
Sidebar de navdrawer pelo ☰ (300px, page), itens de 44px
Toolbar com muitas açõesvoltar · título · 2–3 ícones · primário · ⋯ (o resto vai no sheet “More”)
Painéis lateraisbottom bar de 4 destinos que abre bottom sheets
Tabs longasscroll-x sem scrollbar
Grade de 4 colunas2 colunas
Canvas horizontalstrip com scroll-snap
Modal grandetela cheia com ✕
Hover e tooltiptoque. O ⓘ abre ao tocar

Regra dura: o <body> nunca tem overflow-x. O scroll horizontal vive só em strip, tabs e kanban.

10.6 Alvos de toque

TokenValorUso
--c-touch44 × 44pxmínimo absoluto em mobile
botão em toque44px--c-button-h-touch. No desktop o botão tem 30px
REC e primário isolado48pxação única da tela

A área de toque pode passar do visual por padding invisível. O que conta é onde o dedo acerta.

10.7 App shell canônico

┌ sidebar 232 / 56 ─┬─ main ────────────────────────────────────┐
│ wordmark          │ h1 28 + lede 15            [ + New task ] │
│ avatar · nome     │ busca · filtros ······· view ⊞ ≡          │
│ busca ⌘K          │ ───────────────────────────────────────── │
│ grupos de nav     │ conteúdo                                  │
│ ─ collapse ⌘B     │                                           │
├───────────────────┴───────────────────────────────────────────┤
│ statusbar 28 · mono 11 · dot de sync                          │
└───────────────────────────────────────────────────────────────┘
ParteMedida
Sidebar expandida / recolhida232px / 56px (--c-sidebar-w, --c-sidebar-w-collapsed)
Statusbar28px (--c-statusbar-h)
Header56px (--c-header-h)
Largura máxima do conteúdo1280px (--c-content-max)
Padding da página32px no topo e 40px nas laterais

10.8 Camadas · z-index

CamadaZ-indexConteúdo
base0conteúdo da página
sticky10header e sidebar fixos
dropdown20menu e autocomplete
tooltip30tooltip e popover
modal-backdrop40scrim do modal
modal50dialog, sheet, drawer
toast60notificação transitória

Nunca use z-index arbitrário (999, 9999). Use sempre uma camada nomeada.

10.9 Receitas de grid

/* 1 / 2 / 3 / 4 colunas */
.grid-auto {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 24px;
}

/* sidebar + main */
.app {
  display: grid;
  grid-template-columns: var(--c-sidebar-w) 1fr;
}
@media (max-width: 880px) {
  .app { grid-template-columns: 1fr; }
}

/* largura máxima */
.container {
  max-width: var(--c-content-max);
  margin-inline: auto;
  padding-inline: 40px;
}
Capítulo11de 19

Motion & interação

Motion serve à clareza: comunica relação causal, suaviza transição de contexto, confirma ação. Curvas rápidas, sem easing dramático. Microinterações pequenas e consistentes.

Quando faz sentido animar

  • Motion comunica relação. A → B precisa mostrar de onde A virou B.
  • Rápido por default. 120–220ms cobre 90%. Acima de 320ms só em page transition.
  • Easing standard ou ease-out-snap. Sem bounce, elastic, spring exagerado.
  • Reduzir motion = respeitar. prefers-reduced-motion desliga tudo não-essencial.
  • Não animar em loop. Loading spinner exceção. Pulsa "pra atenção" → some.
  • Direção espacial faz sentido. Sheet vem do lado · drawer de baixo · dropdown pra baixo.
  • Stagger sutil. Items em lista podem entrar com 30ms stagger. Não mais.
  • Performance > estilo. Anima só transform/opacity. Nunca width/height.

Os tokens completos

TokenValorUso
duration-instant80msColor shift micro · sem percepção
duration-fast120msHover, focus, color shift
duration-base180msDefault — open/close, expand
duration-medium220msDialog enter, sheet slide
duration-slow320msPage transition · last resort
duration-deliberate600msLogo intro · hero · cinematic
ease-standardcubic-bezier(0.4, 0, 0.2, 1)Default
ease-outcubic-bezier(0, 0, 0.2, 1)Entradas
ease-incubic-bezier(0.4, 0, 1, 1)Saídas
ease-snapcubic-bezier(0.2, 0.8, 0.2, 1)Confirmação · ship pulse
ease-linearlinearProgress bars, scroll-tied

As que se repetem

Button hover

120ms · ease-standard

Cor de fundo muda. Sem scale. Sem shadow novo. Sem ripple.

Focus ring

0ms · sem transition

Focus aparece imediato. Animar focus é prejudicar a11y.

Dialog enter

220ms · ease-out · fade+scale(0.96→1)

Scrim fade-in junto.

Toast in/out

180ms · ease-out · slide-from-top+fade

Vida útil 4s. Saída 180ms ease-in.

Sheet slide

220ms · ease-out

De fora da viewport. Scrim fade junto.

Tab switch

180ms · ease-snap

Underline amber desliza para nova tab.

Skeleton shimmer

1400ms · linear · loop

Único loop permitido.

Status pulse

320ms · ease-snap · dot 1×

Status dot pulsa quando muda. Sem repeat.

Logo intro (vídeo)

420ms · ease-snap · slash último

DFL fade-in 200ms; slash entra com scale snap.

Accordion expand

180ms · ease-standard · max-height

Sem chevron rotate exagerado · max 90°.

Drag-and-drop

ms-by-touch · transform-tied

Sem snap dramático · libera no drop position.

Notification badge appearance

180ms · ease-snap · scale(0→1)

Sem bounce duplo.

Política de transition

  • Entre páginas (app): nenhuma transition. Trocar página é instantâneo.
  • Entre estados (mesmo componente): 120ms color/opacity. 180ms size/position.
  • Entre views drill-in: 220ms slide-from-right; back slide-to-right.
  • Modal/sheet/drawer: 220ms ease-out enter; 180ms ease-in exit.
  • Hero animation marketing: 600–800ms tolerado · 1× por sessão.
  • Route change marketing: 320ms cross-fade · não escudo de slide.

O contrato com acessibilidade

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
Tudo em motion no DFL precisa ser cancelável via essa media query. Se algum efeito exige animação para fazer sentido (ex.: progress bar), substituir por estado discreto, não por motion.

Animações que não custam frame

AnimaNão animaPor quê
transformleft/topTransform usa compositor · não causa reflow
opacityvisibilityOpacity é GPU · visibility não anima
filter (use raro)box-shadow contínuoShadow muda paint em cada frame
scale via transformwidth/heightLayout repaint expensive
background-positionbackground-imageCarrega asset · slow
Antes de adicionar transition, pergunte: anima ou re-rendera? Se re-rendera, não anima.

Exemplo concreto

/* hero entra · 600ms total · ease-out · staggered */

@keyframes hero-eyebrow-in {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes hero-title-in {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes hero-slash-in {
  from { opacity: 0; transform: scale(0.7); }
  to   { opacity: 1; transform: scale(1); }
}

.hero-eyebrow { animation: hero-eyebrow-in 220ms ease-out 0ms both; }
.hero-title   { animation: hero-title-in 320ms ease-out 100ms both; }
.hero-slash   { animation: hero-slash-in 220ms ease-snap 220ms both; }
.hero-body    { animation: hero-title-in 320ms ease-out 320ms both; }
.hero-cta     { animation: hero-title-in 320ms ease-out 440ms both; }
Total 600ms · 5 elementos com stagger de 100-220ms · cada um aparece quando o anterior está terminando.

Motion que mata UX

  • Parallax pesado. Faz a página parecer flutuante. Sem cabeça em prod.
  • Auto-rotating carousels. Carousel só com swipe explícito.
  • Bounce ao final. "Spring overshoot" estilo iOS 2008. Dramático sem ganho.
  • Hover scale ≥ 1.05. Empurra layout · re-paint · cardápio de motion-sickness.
  • Loading com mais de 1 sinal. Spinner + skeleton + progress = 3 ruídos.
  • Animação que esconde estado. Animar uma tela inteira fade-in ao trocar de aba esconde quando carrega.
  • Confete celebrativo. Sem confete. Sem fogos. Status sólido + número + pronto.
  • Cursor follow effects. Cursor magnético, cauda de partículas — DFL não.

capítulo 12

Aplicações digitais

Onde a marca vive de verdade: 14 apps, 3 landings, orgs do GitHub, ferramentas internas e Telegram. Este capítulo é uma biblioteca. A primeira parte traz os padrões de app e de site em v2, com marcação real. A segunda parte lista os formatos de marketing.

12.0 Estilo de app · mínimo

Vale para app web e mobile. Não vale para site, landing, social, vídeo nem impresso: essas mídias seguem os outros capítulos sem mudança. Em app, esta seção vence o cap. 21 e o cap. 5.4 onde eles divergem. Fonte: o canvas Flows Engine minimal e o design dfl-plans-v3, aprovados em 2026-11-12.

ItemRegra em app
FundoPreto: surface-page (#0a0908). O palco de editor usa surface-stage (#050404).
TextoBranco (ink-primary) e tons de cinza (ink-secondary, ink-muted, ink-disabled). A tela é preta, branca e cinza.
AcentoUm só. Apps DFL: laranja #E07A4A. Apps Itera: o verde Itera #3fd17f. Ele marca só a ação primária, a seleção e o item ativo.
Verde de successApps DFL: no máximo um ponto verde por tela, no resultado que importa (“9 / 9 pass”, “completed”). Apps Itera: o success nunca é verde, porque o acento já é verde. Ele é um check branco mais a palavra (“✓ pass 3/3”).
VermelhoSó falha real: run que falhou, erro, incidente. Bloqueio, espera e “precisa de você” não são falha.
EstadoPalavra em ink-secondary. Sem cor por estado e sem badge colorido por status. Um dot é cinza, ou verde (success, 1 por tela), ou vermelho (falha).
NavbarPequena e esparsa: barra de 44px, marca em texto pequeno (dfl em ink-muted mais o nome do app, 13/600), até 4 itens mais More, busca ⌘K e avatar. Sem logo grande.
Dentro de um objetoSidebar de ícones recolhida (56px) no lugar de muitas tabs. Ela expande (⌘B) e mostra os labels. O item ativo leva o ícone no acento.
LabelsCurtos: uma ou duas palavras (“Runs”, “Test”, “New flow”). Sem frase que explique a tela.
┌ navbar 44 ──────────────────────────────────────────────────┐
│ dfl flows   Map  Flows  Decisions  Inbox  More ▾    ⌘K   TF │
├ 56 ┬─ main ─────────────────────────────────────────────────┤
│ ▣  │ título 28                              [ New flow ]    │
│ ▤  │ conteúdo em preto, branco e cinza                      │
│ ▥  │ status em palavra · um verde no resultado              │
│ ⌘B │                                                        │
└────┴────────────────────────────────────────────────────────┘

Exceções: o avatar usa a paleta de membros, e um heatmap de dados (mapa, insights) pode usar vermelho, amarelo e verde como escala. Nada mais leva cor.

faça

Tela preta, texto branco e cinza, um botão no acento, status em palavra e um verde no resultado.

não faça

Um badge colorido por status, uma navbar cheia com logo grande e sete tabs com nome escrito.

12.1 Mapa · onde a marca aparece

Apps DFL · web e mobile

  • dfl-learn · plataforma de aprendizado
  • dfl-financing · finanças do fellow
  • dfl-flows · orquestração
  • dfl-rec e lesson-studio · gravação e edição de aula
  • dfl-plans · planos públicos
  • dfl-brain · knowledge graph
  • dfl-components · design system
  • dfl-harness · framework de eval
  • dfl-process-mining · análise de runs
  • dfl-bmcanvas · business model canvas
  • dfl-apps · launcher
  • dfl-notifications · central de notificações
  • dfl-fellow-portal · portal do fellow
  • books-app · leitor de Alavancagem

Outras superfícies

  • Landings: devfellowship.com (master, dark), revera.* (B2B, claro editorial com seções dark), tainanfidelis.com (ponte pessoal), alavancagem.devfellowship.com (livro, serif editorial).
  • GitHub e DocOps: org devfellowship (social preview, README, releases), taigfs (ponte pessoal) e READMEs canônicos com header DFL.
  • Social: Instagram @devfellowship e @taigfs, LinkedIn (DFL, Revera, Tainan), X, YouTube, TikTok e podcast.
  • Canais internos: Telegram, Discord, paperclip board, Notion, plans, brain, ADRs e Substack.

12.2 Componentes · botões, estado, cards

Os componentes vivem no registry dfl-components-cli. O app nunca copia e cola: ele puxa do registry com npx dfl add. Cada botão cobre default, hover, active, focus, disabled e loading.

Botões

AnswerCancel
Primário (1 por contexto) · secundário com hairline e sem fundo · ícone · view toggle
TipoSpec
Primário30px (44px em mobile), fundo acento, texto ink-inverse 500 13. 1 por contexto.
Secundário30px, hairline border-subtle, sem fundo, ink-secondary. No hover vira border-strong e ink-primary.
Ícone28 a 30px quadrado, sem borda. Hover em panel. .on = ícone acento mais panel.
View toggleGrupo de ícones. O ativo fica em acento. Separador hairline vertical de 16px.

Estado: dot mais palavra

O StatusPill de 13 estados com fundo saiu. Em app, o estado de um objeto é a palavra, com um dot cinza de 6 a 7px quando ajuda a varrer (12.0). O dot verde marca só o success que importa, no máximo um por tela. O dot vermelho marca só falha real. Rótulo fixo é texto, sem badge.

ideatodoreviewrunningapproveddone
Os seis estados de objeto em app: cinza, e um verde

Cards

O card é nu: sem fundo e sem borda, separado dos vizinhos por hairline. O título é 13/500 em ink-primary e vai para o acento no hover. A meta fica embaixo, em ícone mais número. Fundo, borda e sombra no mesmo limite são o primeiro tell de fase 1-2 (cap. 20).

12.3 App shell

Tasks
New task
Mine ▾Search tasks
Review onboarding copyreview
Export lesson to MP4running
saved 17 h ago
Sidebar 232, main com h1 28, primário único, statusbar 28
  • Sidebar expandida: item de 30px. O ativo leva fundo panel, ink-primary 500 e ícone em acento. A contagem fica em mono à direita. O rótulo de grupo é mono 11 em ink-muted.
  • Sidebar recolhida (56px): item quadrado de 36px, grupos separados por hairline e tooltip à direita com label e atalho.
  • Breadcrumb de editor: ancestrais em ink-muted e o atual em ink-primary 500.
  • A sidebar não narra. Painel lateral mostra estado e atalhos. Prosa explicando o estado ou o produto sai.
  • Marca: texto pequeno (dfl mais o nome do app), nunca um logo grande. No app de frota com navbar, a navbar tem até 4 itens mais More.
  • Título sem lede. O título da tela é curto, e uma frase que explica a tela sai.

12.4 Filtros e tabs

  • Filtro é dropdown, e não tab. “Precisa de você”, “bloqueados”, “em execução” e “recentes” ficam num dropdown junto da busca (Mine ▾). O dropdown ativo fica em ink-primary.
  • Tab só troca de conteúdo (Draft, Published, All) ou de painel (Properties). A ativa tem underline de 2px e ink-primary. A contagem é mono, e contagem zero fica em ink-muted.
  • Muitas tabs dentro de um objeto viram sidebar de ícones. Acima de três vistas (por exemplo as sete de um flow: Editor, API, Runs, Insights...), use a sidebar recolhida de 56px que expande com ⌘B (12.0).

12.5 Kanban

Todo2

Write the lesson brief

jul 305MJ

Record intro

aug 02AR
Review1

Publish the cohort page

needs MariaLC
Running1

Transcode recording

2
Coluna de 232px, cabeçalho com dot, nome e contagem, card nu
  • A coluna tem 232px, o gap entre colunas é 32px e o cabeçalho tem hairline border-strong.
  • A meta quebra linha (flex-wrap) e nunca estoura a coluna: min-width: 0 na coluna e na meta.
  • “Precisa de fulano” é ícone mais texto cinza, sem cor e sem pill.

12.6 Bloqueio resolvível no lugar

O bloqueio é status, então aparece no lugar do status: o ícone octagon-alert mais “blocked · 2” em mono ink-primary. Bloqueio não é falha, então não leva vermelho (12.0). No hover ou aberto, o fundo vira panel. O clique abre um popover (raised, 420px) com as perguntas bloqueantes. Cada pergunta tem opções em radio e um “Answer” primário. A pergunta respondida recolhe para uma linha. O usuário resolve sem abrir o plano.

blocked · 2

Which cohort date?

ASep 02
BSep 16
Answer
Botão de bloqueio e popover

12.7 Lista densa

09:00Daily plan sweepTFdone
11:30Cohort 04 pageMJrunning
15:00Harness run reviewARreview
Uma linha por item: hora mono, título, owner, status, progresso
  • Uma linha por item, com altura para caber muitos por viewport.
  • A coluna é de owner (avatar), e não de “agente”.
  • Sem contadores de status no topo (“19 planos · 5 drafts”). Isso é textura.

12.8 Detalhe · plano e doc

onboarding-revera

Plano de onboarding do primeiro cliente.

Contexto

Uma coluna de prosa, com H2 e H3, listas, código, tabela e citação.

Mermaid diagram · renders here
Corpo em coluna única mais sidebar de propriedades
  • A sidebar tem scroll próprio, ou seções recolhíveis quando o conteúdo não cabe.
  • O item da lista é inline: título com ellipsis e sub em meta à direita.
  • Cada seção tem quatro estados: vazio (placeholder curto mais “Add”), cheio, expandido e recolhido.
  • Uma seção com muitos itens mostra os primeiros N mais “View all 21”.

12.9 Editor

Cohort 04 / Lesson 3saved
12

properties

Layout
Captions
Três superfícies: stage, page e panel
  • Superfícies: stage para o conteúdo, page para a moldura (topo, player, gravação, console, rodapé) e panel para rails e painéis.
  • Toolbar de ícones com tooltip. “saved” é texto meta com check success.
  • Gravação: o dispositivo pronto é a palavra “ready” em cinza. O botão REC é anel mais núcleo ink-primary. O vermelho entra só quando a gravação falha.
  • Propriedades em seções recolhíveis de 40px. A ação extra fica à direita do cabeçalho e nunca é um botão dentro de outro botão.
  • Segmented só com ícones e tooltip quando a opção é visual. A opção indisponível fica desabilitada, com o motivo no tooltip.

12.10 Overlays

Zoom in⌘+

Templates

Tooltip e dialog de busca
  • Tooltip: raised, 13px, padding 7×10, label mais atalho em mono ink-muted, sem seta.
  • Popover e dialog: raised, 1px border-strong, radius 4 e, no dialog, o scrim surface-scrim.
  • Dialog de busca: título 15/600, busca de 36px com kbd / e grade de cards. No hover o card ganha border-strong e o nome vira acento.

12.11 Formulários

titleLesson 3ownerTainanfocusCohort 04 Notify the cohort
Input, foco e switch
  • Input de 30 a 36px com fundo page dentro de panel. Hover em border-strong. Foco com borda de acento mais ring de 3px.
  • Switch e radio ligados em acento. O checkbox de linha tem 18px.
  • Erro usa danger. O fundo -subtle fica reservado a erro real.

12.12 Mobile · 390

Regra: nada some, tudo muda de lugar. A tabela completa está em 10.5.

Tasks21New
Review onboarding copyreview
Export lesson to MP4running
TasksPlansDayMore
Topo com voltar/título/ícones/primário/⋯, bottom bar de quatro destinos
  • Alvo de toque mínimo de 44px, e 48px no botão REC ou no primário isolado.
  • Input de texto com 16px.
  • Os painéis laterais viram bottom sheets (panel, grip, título 15/600).
  • O scroll horizontal vive só em strip, tabs e kanban.

12.13 Marketing e social · formatos

Marketing, impressão e a capa mantêm um nível display. O orçamento da UI não vale para essas peças. O guia v1 (/v/1/) guarda os mockups dos templates. Esta tabela guarda os formatos e as regras.

FormatoTamanhoRegra
Instagram feed1080 × 10809 templates. Alterne manifesto-card, big-stat, fellow-spotlight e editorial-quote. Nunca 3 manifestos seguidos.
Instagram stories1080 × 19206 templates. Topo com a marca, centro com a mensagem, rodapé com CTA. Margens internas de 8 a 10%.
Reels cover9 / 165 templates. O hook aparece nos primeiros 3s. Texto grande e legível no mute.
TikTok cover9 / 164 templates. O terço inferior (30%) fica livre para caption e CTA nativos.
YouTube thumbnail1280 × 72010 variações, 1 padrão de cabeçalho, 0 clickbait. Texto em Barlow Condensed, 60+ pt.
YouTube banner2560 × 14402 templates. Tudo crítico fica na safe zone central de 1546 × 423.
LinkedIncapa, post, carrossel3 capas, 3 imagens de post e 1 carrossel de 6 slides.
X / Twitterheaders e cards2 headers e 2 cards. Sem emoji e sem 🧵. Card só para quote, abertura de thread ou screenshot de código.
App Storeícones e screenshots4 ícones e 4 screenshots, na ordem hero, feature, prova, CTA. Uma mensagem por screenshot.
Emailtransacional e marketingClaro para transacional e dark para marketing. Assunto em minúsculas, sem emoji, abaixo de 60 caracteres.
Open Graphcards3 receitas: post de blog, número/KPI e manifesto. Preview social do GitHub em 1280 × 640.
Podcast, newsletter, Notion3000 × 3000 · 1200 × 400Capa de podcast, header do Substack e banner do espaço Notion.
Discord, Telegram, Calendly960 × 540 e headersBanners de canal e header de agendamento.
Landing e READMEhero e headerVeja a estrutura abaixo e o header canônico de repo.

Receitas visuais

ReceitaUso típico
manifesto-cardfrase do manifesto isolada
big-statum número que faz a história
slash-heroanúncio ou brand drop
editorial-quotecitação em papel sand
fellow-spotlightpessoa real em destaque
terminalbastidor técnico
diagramconceito da runtime
numbered-seriesthread ou carrossel
drop / KPI gridanúncio com 4 datas ou números
debate · splitX contra Y, antes e depois
data-chartcaso com prova visual
talking-headvídeo de entrevista
listicle 3ד3 razões”, “5 erros”
announcementanúncio importante

Anti-padrões de thumbnail

  • Rosto de boca aberta, setas vermelhas e emoji de fogo. Não somos YouTuber.
  • O título do vídeo escrito na thumbnail. A thumbnail diz uma coisa, o título diz outra.
  • Mais de duas cores além do sand e do acento. Cores de estado só aparecem em data-chart.

Estrutura padrão da landing DFL

SeçãoFunção
1. Herotese e CTA primário
2. Manifesto curtoestabelece a voz em 3 frases
3. Runtimediagrama de 4 blocos: plan, exec, harness, brain
4. Prova3 cases curtos com número
5. Testemunhovoz humana de um fellow
6. Programatimeline de 12 semanas
7. FAQ5 perguntas que quebram objeções
8. CTA finalaplicar ou agendar

Estado vazio, 404 e coming soon

A DFL não esconde o estado vazio. O 404 captura o erro como drift, e o coming soon registra o timing. Em vez de ilustração ou mascote, entra o mesmo estado vazio do produto mais a voz da marca.

Decks, Notion e assinatura de email

Decks usam 9 layouts canônicos. Documentação interna segue o sistema do produto. A assinatura de email tem um só template para todas as pessoas.

Acessibilidade digital

  • Estado nunca depende só de cor: o dot sempre leva a palavra.
  • ink-muted passa 4,5:1 em page, panel e raised.
  • Alvo de toque de no mínimo 44px, e input com 16px em tela de toque.
  • O foco é sempre visível: borda de acento mais o ring de 3px (--c-focus-ring).

Header de README

<div align="center">
  <h1>DFL / plans</h1>
  <p><em>plan-driven autonomous execution · part of the DFL runtime</em></p>
</div>

> "Plans before code. Code before review. Review before celebration."
Capítulo13de 19

Aplicações impressas & offline

Papel é editorial. Light sand · tinta dark · amber rebalanceado pra CMYK · Georgia entra como segunda voz. Certificado, proposta, livro, sinalização, embalagem. Não-app é não-dark.

Papel ≠ tela

Em impresso o sistema vira light: papel sand #f6f1e7, tinta sand-900, amber rebalanceado para #c2663b (legível em CMYK 4-color). Tipografia ganha respiração maior; Georgia entra como serif editorial em texto longo.

Conversão CMYK · Pantone

CorHEXCMYKPantone
Sand paper#f6f1e70 / 3 / 8 / 0Warm Gray 1 C
Ink dark#1a171460 / 60 / 70 / 70Black 7 C
Brand amber print#c2663b0 / 60 / 78 / 187585 C
Muted#7d756810 / 16 / 30 / 50Warm Gray 8 C
Ink editorial#3a353050 / 50 / 60 / 50Black 6 C

6 surfaces · canônicos

DFL/devfellowship
Tainan Fidelis
founder · @taigfs
Cartão · 90 × 50mm · frente
/
Cartão · verso · slash
DFL/
devfellowship · sp · brasil
Envelope C5 · marca canto
DFL/doc · 0042 · 2026-05
devfellowship.comsão paulo · brasil
Letterhead A4 · header + footer
DFL//fellowship · materiais
Pasta A4 · capa
— plan · runs · drifts
Notepad A5 · header DFL

Fellowship · Workshop · Participação

DFL/cert-id · 0142 · 2026-05
— certifica que
Maria Justi

completou o programa DFL Fellowship — shippou em produção, publicou planos, rodou harness. Membro permanente da rede.

Tainan Fidelis · founder
/
Certificado Fellowship · A4 horizontal · papel sand-light
DFL/
— workshop concluído
harness em 5 noites
Maria Justi · 12 hrs · 2026-05
cert-id · w-0042
Workshop · A5 vertical · sand light + amber bar
DFL/part-id · p-0142
— ship night · 2026-05-23
Maria Justi
devfellowship · meetup #03
Participação · A6 horizontal · sand dark
QR de verificação no rodapé (apontando pra devfellowship.com/cert/[id]). Imprime em papel reciclado 250g.

Template completo

DFL/— REVERA · 01 · Capa
Capa
Wordmark · título · cliente · data
pg 01
pg 01 · Capa
DFL/— REVERA · 02 · Sumário
Sumário
Mono uppercase · numeração
pg 02
pg 02 · Sumário
DFL/— REVERA · 03 · Diagnóstico
Diagnóstico
Estado atual · 3 números
pg 03
pg 03 · Diagnóstico
DFL/— REVERA · 04 · Escopo
Escopo
12 semanas · entregáveis nomeados
pg 04
pg 04 · Escopo
DFL/— REVERA · 05 · Método
Método
Diagrama runtime · 4 blocos
pg 05
pg 05 · Método
DFL/— REVERA · 06 · Métrica
Métrica
KPI antes/depois · amber big
pg 06
pg 06 · Métrica
DFL/— REVERA · 07 · Time
Time
Pessoas · headshot + role
pg 07
pg 07 · Time
DFL/— REVERA · 08 · Comercial
Comercial
Preço · cronograma · termos
pg 08
pg 08 · Comercial

Sales · Revera B2B · 12 slides

  • Capa · dark · tagline + nome do prospect.
  • Por que estamos aqui · 1 número específico sobre o time deles.
  • Tese · 3 frases manifesto-style.
  • O que ninguém faz · 3 diferenciais (plans, harness, infra própria).
  • Como rodamos · diagrama da runtime.
  • Caso 01 · cliente A · métrica antes/depois.
  • Caso 02 · cliente B · métrica antes/depois.
  • Caso 03 · cliente C · métrica antes/depois.
  • Proposta · escopo + preço + cronograma — sem floreio.
  • Time · quem entrega · headshot + role.
  • FAQ · 4 perguntas que sempre vêm.
  • Fechamento · 1 next step + canal de contato.
Mistura editorial+dark: capa+fechamento dark, slides centrais light. Marca a transição com section divider grande.

Material de evento + ambiente

— DFL Meetup #03
SHIP
/NIGHT
23 mai · 19h · sp
devfellowship.com/meetups
Poster A2 · ship night
DFL/
Próxima
coorte
set · 2026
aplicações até 30 jul.
devfellowship.com · aplicar
Flyer A6 · drop coorte
DFL/devfellowship— ship night · 23 mai
Sinalização · entrada
DFL/devfellowship
— DFL · 2026
Devs that
ship,
every day.
devfellowship.com
Banner roll-up · 85 × 200cm
/DFL/sala da runtime
Adesivo de porta · A6 vertical
SALA · 03
Drift Room
Placa de sala · 1.6:1

Material distribuído

Sticker mark · 50mm circle
/
Sticker slash · 70mm die-cut
tokens don't matter
Sticker manifesto · 80 × 30mm
DFL/
Maria
Justi
fellow · 03
Crachá · 70 × 100mm

Capa · lombada · contracapa · spread interno

— DFL · 2026
/
Alavancagem
Como operar software com IA — em prod, em meses.
tainan fidelis
Capa · 145 × 215mm
Tainan Fidelis
Alavancagem
/
Lombada · vertical
"O modo como o software será feito mudou. Este livro é um manual sobre como acompanhar."
— blurb · 2026
Contracapa · blurb
— capítulo 03
Drift é dado

Não medimos sucesso — medimos drift capturado. A diferença muda como o time se organiza.

Drift escondido vira dívida. Drift capturado vira eval. A pergunta certa não é 'rodou bem?' — é 'o que ficou diferente do plan?'.

pg 42 / 168
Spread interno · página dupla
— Capítulo 04
Tokens não importam
Por que a métrica de custo nos atrapalha mais que ajuda.
Página inicial de capítulo
/— DFL · 2026
Impresso em Georgia 11pt.
Capas em Barlow Condensed.
Colofão · final do livro

Livreto A5 · 24 páginas

O fellow recebe na entrada um livreto editorial: manifesto + sistema operacional do programa + glossário. Light editorial, Georgia + Inter, capa com slash + número da coorte.

  • Cap. 1 — Manifesto (PT e EN lado a lado)
  • Cap. 2 — O que é a runtime (plans · harness · brain · paperclip)
  • Cap. 3 — Como medimos sucesso (drift, eval, PR shipped)
  • Cap. 4 — Como pedir ajuda (TG, channels, mentor escalation)
  • Cap. 5 — Como sair (offboarding + alumni network)
  • Anexo · Glossário (mesmos termos do cap. 19 deste guide)

Ticket · meetup · 5 × 15cm

DFL/— SHIP NIGHT #03
23 mai / 19h
são paulo · auditório · vila madalena
seat
A-12
ticket · #0142
Ingresso · ship night · perfurado

Como o material chega

  • Welcome box (fellow): caixa kraft 30 × 22 × 8cm. Tampa interna com mark debossed. Wrap interno em papel seda sand. Manual A5 + camiseta + 3 stickers + caderno + cartão assinado.
  • Livro pack (Alavancagem): envelope kraft 20 × 28cm. Adesivo de fechamento amber com slash. Marca-página em papel pesado com manifesto.
  • Graduation box: caixa preta fosca 35 × 25 × 6cm. Foil amber externo (slash). Certificado emoldurado + livro + jaqueta + carta autoral.
  • Revera kit: envelope A4 kraft + folder com proposta + caderno + cartão. Lacre amber.
Capítulo14de 19

Merch & ambiente

Vestível diário, palavra forte, qualidade material. Sem mascote, sem tagline cringe. Cada item DFL é um objeto opinativo — não swag genérico.

Antes da peça

  • Vestível diário. Cor sand-dark ou sand-light. Sem laranja-flúor, sem neon.
  • Estampa pequena OU frase forte — nunca ambas. Marca discreta no peito, ou manifesto grande nas costas.
  • Tipografia faz o trabalho. Barlow Condensed grande, JB Mono pequeno. Zero ilustração.
  • Qualidade material acima da estética. Algodão 200g+, costura reforçada, tinta water-based.
  • Fellow merch ≠ event swag. Fellow merch é nominado (nome no avesso). Evento é universal.
  • Quantidade pequena, lote único. Não fazemos "loja DFL". Cada lote dura ~6 meses.
  • Embalagem é parte. Caixa kraft, papel seda, cartão assinado. Não envelope plástico.

Default + manifesto + slash + drift + tokens + revera

DFL/
front · sand-dark
Default · mark peito
Tokens
don't
matter.
back · sand-dark
Manifesto · costas
/
front · sand-light
Slash gigante · centro
— drift signal
The drift
is the data.
back · sand-dark
Drift signal · costas
plans
before
code.
back · sand-dark
Plans before code · costas
Revera
— by devfellowship
front · sand-light
Revera · peito mono

Inverno + headwear + accessórios

DFL/
/
Moleton com capuz · sand-dark
DFL/
Boné 5-painel · slash bordado
SHIP
IS
LEARNING
Bomber jacket · manifesto costas
DFL / DEVFELLOWSHIP
Gorro · etiqueta na barra
DFL · DFL · DFL
Crew socks · mark amber
///////
Bandana · slash repete

Caderno · caneca · garrafa · mousepad · etc

ItemMaterialTratamento
Caderno A5 · plainCapa sand-dark hardback, miolo pontilhadoSlash debossed na capa
Caderno A6 · pocketCapa kraft sand, miolo liso"DFL /" gravado a quente
CanetaMetal preto fosco"DFL" gravado a laser · 4mm
Mug · 350mlCerâmica matte sand-darkWordmark + tagline · interior amber
Mug · 60ml espressoCerâmica matte sand-lightSlash amber centro · pira de café especial
Garrafa · 750mlAço escovado sand-darkSlash grande · gravura a laser
Mousepad · 90 × 40cmBorracha + tecido sandManifesto inteiro impresso
Tote bag · canvas naturalAlgodão 280gSlash amber serigrafia · 30mm
Keychain · metalLatão acetinadoMark D-bar · 25mm gravado
Pin · metalEsmalte amber sobre pretoSlash + DFL · pinback
Sleeve notebookAlgodão sand-dark · feltro internoMark mini canto + slash interno
Adesivo conjunto · packVinyl mate4 tamanhos × 3 designs

Quem recebe o quê

Welcome kit · fellow novo

Camiseta sand-dark + caderno A5 + 3 stickers + sticker nominado + manual A5 + card assinado por Tainan. Caixa kraft com mark debossed.

Graduation kit · fellow formado

Jaqueta bomber + certificado A4 emoldurado + cópia de Alavancagem + carta editorial. Caixa preta fosca, slash gold-foil.

Revera kit · cliente fechado

Garrafa de aço + caderno + caneta + cópia Alavancagem + carta editorial Georgia. Entrega pessoal para o CTO.

Speaker kit · convidado de evento

Camiseta + sticker pack + caneca + crachá A6 com QR pro perfil. Entrega na entrada.

Quando tiver espaço físico

  • Parede manifesto · vinyl sand-dark sobre tinta sand-light · 240cm largura · manifesto Apple-1986.
  • Parede de runs · monitor 65" mostrando paperclip board ao vivo.
  • Sinalização interna · mono uppercase 24pt em vinyl amber discreto. Nomes: "Drift Room", "Plan Room", "Brain Room".
  • Cadeiras · Aeron pretas. Sem cadeira startup colorida.
  • Iluminação · 3500K constante. Sem RGB LED, sem neon "code is poetry".
  • Plantas · aspidistra, monstera, sansevieria. Verde escuro, baixa manutenção.
  • Mesa default · sand light, com caderno A5 DFL + lápis. Não desktop com 7 monitores.
  • Música ambiente · pad eletrônico low-key. Sem rádio FM.
  • Cozinha · café especialty BR. Sem cápsula Nespresso decorativa.

Como um meetup DFL aparece

/DFL/devfellowship
Backdrop · 240 × 180cm · palco
DFL/
Lectern · painel frontal
DFL/CHECK-IN · 03
Mesa credenciamento · panel
/
Cone de palco / proteção · 30cm
PALCO →/
Wayfinding · seta de direção
DFL/SHIP · DRINK · SHIP
Garrafa d'água · etiqueta

Como o objeto chega

  • Caixa kraft simples · 30 × 22 × 8cm · tampa interna com mark debossed · papel seda sand · welcome kit.
  • Caixa preta fosca · graduation · 35 × 25 × 6cm · foil amber externo (slash) · interior amber acetinado.
  • Envelope kraft · livro pack · 20 × 28cm · adesivo de fechamento amber · marca-página interno.
  • Envelope A4 kraft · Revera · lacre amber · folder de proposta dentro.
Capítulo15de 19

Vídeo & áudio

YouTube, Loom, podcast cuts, intro/outro, shorts vertical. Mesma marca em movimento. Sem identidade sonora obrigatória — quando aparecer, serve à fala, não compete.

Posição atual: leve, opcional

DFL não tem jingle. Tem um logo sonoro discreto: 1.2s de pad sand morno + 1 thump de baixo na entrada do slash. Quando aparece, marca o fim do intro/início do outro. Quando não aparece, silêncio é OK.

Acabamento sonoro: −18 LUFS short-term, peak −1 dBTP. Sem retro-radio compressão.

Banco sonoro · 5 cama de fundo

FaixaBPMMoodQuando
amber-pad-01—Warm ambient padIntro · outro · 30s loop
sand-loop-0292Lo-fi piano + sub bassTutorial · talk-head
drift-03104Minimal techno · sem buildHighlight · sizzle
silence-04—Silêncio escolhidoManifesto · entrevista
thump-05—Logo sting · 1.2sLogo entry · transição

Frame-by-frame

00:00.0  silêncio · tela sand-dark
00:00.4  wordmark "DFL" fade-in 200ms (ease-out)
00:00.8  slash entra com snap (scale 0 → 1, 220ms ease-snap)
         + thump sonoro (opcional)
00:01.0  tagline "devfellowship" fade-in mono uppercase
00:02.0  hold
00:03.0  fade-out 400ms → conteúdo

Storyboard · 4 frames

DFL/
t = 0.4s · wordmark fade-in
DFL/
t = 0.8s · slash snap
DFL/devfellowship
t = 1.0s · tagline aparece
DFL/devfellowship · brand guide v1.0
t = 3.0s · hold

Frame-by-frame

00:00.0  conteúdo · fade-to-black 300ms
00:00.5  wordmark + tagline fade-in centralizado
00:01.5  linha hairline cresce de 0 → 200px (220ms)
00:01.8  CTA mono uppercase fade-in
         "devfellowship.com / aplicar"
00:04.0  hold
00:05.0  end
DFL/devfellowship
t = 0.5s · wordmark center
DFL/devfellowship
t = 1.5s · linha cresce
DFL/
devfellowship.com / aplicar
t = 1.8s · CTA fade-in
t = 5.0s · end

Atribuição de fala

— founder · DFL
Tainan Fidelis
Lower third · default · canto inferior esquerdo
— FELLOW · 03
Maria Justi
runtime engineer · revera-ABC
Lower third · fellow · com role
— 03 · drift
Como capturar drift
Chapter marker · canto superior
"O gargalo não é o token. É o plan."
Caption queimada · centro inferior

Como o vídeo se sente

  • Corte seco. Sem dissolve, sem transition pack 2014. Cut, cut, cut.
  • Cabeça reduzida. Cortar respiração inicial e final de cada take. Soa pensado, não falado.
  • Cor. Warm + low-sat. LUT custom DFL: warm shift +5 mireds, sat −15%, lift slight em sombras.
  • Tipografia em tela. Barlow Condensed. Mesma do print. Sem fontes de motion-pack.
  • B-roll. Tela > pessoa caminhando. Mostramos código, plan, harness rodando.
  • Aspect ratios. 16:9 master · 9:16 vertical · 1:1 quadrado.
  • Frame rate. 24fps narrativa · 30fps screencast · 60fps motion intensa.
  • Áudio. Mono em fala (não estéreo). Sample rate 48k. Bitrate AAC 256kbps.

O que produzimos · catálogo

FormatoDuraçãoCadênciaPlataformas
Episódio talk-head14–22 min1–2 / mêsYouTube · podcast cut
Tutorial técnico5–12 min1 / mêsYouTube · landing
Manifesto reading1–3 minEventualYouTube · Reel · LinkedIn
Fellow story2–4 min1 / coorteYouTube · IG · landing
Highlight reel30–60sEventualIG Reel · Short · TikTok
Case Revera3–5 min1 / clienteYouTube · landing Revera
Demo de produto1–3 minPor releaselanding · LinkedIn
Bastidor overnight30s–90sSpontâneoIG Story · X · TG

Quando precisar de cama

GêneroQuandoReferência (busca)
Ambient eletrônicoIntro · outro · documentalBrian Eno, Tycho, Helios — instrumental low-key
Lo-fi instrumentalTutorial · talk-headLo-fi piano + warm bass · sem vocal sample
Minimal technoHighlight · sizzle reelBPM 100–115 · sem drop · sem build dramático
SilêncioManifesto falado · entrevistaSem música. Escolha.
Banido: corporate motivational · "epic cinematic build" · piano triste de banco · trap-beat genérico.

Áudio standalone

Podcast canônico DFL: Drift Signal. 1 episódio/semana. Tainan + 1 convidado por episode. Estrutura: 3 min intro tese → 30 min conversa → 5 min síntese.

SpecValor
Sample rate48 kHz
Bitrate outputAAC 192 kbps
Loudness−16 LUFS integrated
Peak ceiling−1 dBTP
MicrofonesShure SM7B local · Zoom F6 captura
Edit softwareReaper · descript
HospedagemTransistor.fm
DistribuiçãoSpotify · Apple · YouTube · RSS público

Texto em vídeo

  • Short-form (Reels, Shorts, TikTok): caption queimada (open). Inter 32–40px. Fundo sand-dark com 70% opacity. Max 2 linhas.
  • Long-form (YouTube): caption nativa SRT. Sem styling — herda do player.
  • Idioma: PT-BR primário. EN secundário com auto-tradução revisada.
  • Sincronia: caption aparece 50ms antes da fala, sai junto.
  • Verificação: qualquer vídeo > 1min passa por revisor humano antes de publicar.
Capítulo16de 19

Comunicação por canal

Cada canal puxa a marca pra uma direção. O sistema absorve — voz e visual se ajustam ao registro sem soltar o eixo. Aqui ficam os contratos por plataforma.

Voz · visual · cadência

Quem ouve

CTO, VP Eng, dev sênior pensando em mudar de carreira, founder técnico, RH de tech.

Voz

Profissional + opinião + prova. Primeira pessoa quando possível. Posts curtos (< 250 palavras), 1 número específico, 1 take opinativo. Nunca "vem ser feliz" — sempre "isto resolve isto".

Cadência

  • DFL: 2–3 posts / semana
  • Tainan: 3–5 posts / semana
  • Carrossel: 1× / mês
  • Vídeo nativo: 1× / mês
Post-modelo · LinkedIn DFL11 PRs mergeados ontem. Subagents executando plans, eu dormindo.

O gargalo não é custo de token. É clareza do plan.

Tese: a próxima vantagem competitiva em eng é quão bem você descreve o que quer — não quem você contrata.

Detalhe técnico no blog · devfellowship.com/blog/overnight

Anti-padrões LinkedIn

  • Sem "Eu estava no Uber e tive um insight…" no início.
  • Sem perguntas-gancho fake ("vocês concordam?")
  • Sem emoji decorativo (🚀💪✨).
  • Sem "Eu te ensino em 10 passos" estilo guru.
  • Sem hashtag explosion. Max 3 — todas em minúsculas.

Cultura · fellows · bastidores

  • Feed: 1:1, dark-first, alterna manifesto-card / big-stat / fellow-spotlight / quote.
  • Stories: bastidores (PR aberto, harness rodando), tickers de evento, drops.
  • Reels: < 45s, 9:16, mesmo registro do YouTube short. Sem dance, sem trend.
  • Highlight covers: ícone DFL amber sobre sand dark. Categorias: runtime · fellows · revera · meetups · alavancagem · manifesto.
  • Bio: 1 linha posicionamento + link único pra hub.
  • DM: resposta corrida tipo TG ("bora", "valeu"). Sem texto formal.

Grid de 9 · alternância

Pensa o feed como matriz 3×3 que rola. Próxima rolagem alterna: dark/light/dark · stat/quote/stat · slash/number/slash. Mantém o feed reconhecível mesmo no thumbnail.

Técnico · opinativo

  • Conta DFL para anúncio + retweet do time. Conta Tainan para opinião + thread técnica.
  • Thread > tweet solto. Cada thread: cabeçalho (tese), corpo (3–7 tweets), fechamento (call).
  • Sem emoji. Sem "🧵". Apenas numerar tweets quando faz sentido.
  • Screenshot de código sempre com tema sand-dark DFL (não tema padrão de IDE).
  • Reply curto, direto, opinativo. Sem performance ou agradecimento ritual.

Cadência

  • DFL: 1 anúncio / semana (drops, releases, threads próprias).
  • Tainan: diário · 2-5 tweets · 1 thread / 2 semanas.

Educacional · long-form

  • Vídeos > 8min. Padrão de intro/outro do cap. 15.
  • Titles: minúsculas, descritivas, sem clickbait. "como rodamos overnight push", não "VOCÊ NÃO VAI ACREDITAR…".
  • Thumbnail: cap. 12.8 — dark + Barlow Condensed grande.
  • Descrição: 3 parágrafos máx + links pra plan/repo/blog.
  • Comentários: respondemos com 24h, registro normal.
  • End screen: cap. 12.X — wordmark + 1 next step.

Posição: tolerado · não prioritário

Shorts repurposed de YouTube — cortes de 30–60s com tese curta. Não fazemos conteúdo native pra TikTok. Se um short viralizar, ótimo. Não otimizamos pra algoritmo.

  • Sem dancinha, sem trend, sem "POV".
  • Capa: cap. 12.7 — hook gigante centro · zona safe-caption.
  • Caption queimada (cap. 15.9).

Substack · quinzenal

Cadência

Quinzenal. Edição numerada (#01, #02…). 4–8 min de leitura. Quinta-feira manhã.

Estrutura padrão

  • Eyebrow: "edition #07 · 19 maio 2026"
  • Tese da edição: 1 frase Barlow Condensed
  • Lead: 1 parágrafo Inter 16
  • Corpo: 3–4 blocos com h3 + parágrafo · Georgia 16 italic OK em destaque
  • Imagem: 1 OG card visual
  • Próximo passo: 1 CTA mono uppercase
  • Footer: wordmark + tagline + opt-out
Subject lines · exemplos
edition #07 · 11 PRs mergeados enquanto eu dormia
edition #08 · "tokens don't matter" — uma justificativa
edition #09 · revera, 90 dias depois
edition #10 · drift como dado, não como bug
edition #11 · plans-app v2 · o que mudou
edition #12 · folklore do overnight push

Drop oficial + comunicação corrida

  • Canal @devfellowship: drops de coorte, anúncios, vagas. Texto mono uppercase no início ("— DROP · 05-19"), mensagem em registro normal abaixo.
  • Bot interno: avisos automáticos de run, drift signal, novo plan. Persona: técnica, sem floreio.
  • Grupo de coorte: corrido, gírias BR+tech, "bora", "valeu", "PR aberto".
  • 1:1 com Tainan: assíncrono. Tainan responde em minutos quando online, em horas senão.

Onde fellows ativos vivem

ChannelPropósitoCadência típica
#dropsAnúncios oficiais2-3 / semana
#shippingPRs em tempo real (bot posta)diário
#helpPerguntas técnicascontínuo
#runsDiscussão de harness runscontínuo
#driftDrift signals capturadosdiário
#showcaseDemos de fellow1-2 / semana
#randomOff-topiclivre
#alumniPós-formadoscontínuo

Drift Signal podcast

Hospedagem em Transistor.fm; distribuição via RSS público pra todas as plataformas. Identidade visual cap. 12.16 — capa quadrada sand-dark + slash. Sem capa diferente por episódio: identidade do canal > identidade do episódio.

Onde o método vive em código

  • README de cada repo: header padronizado (cap. 12.19).
  • Releases: versionamento semver. Notas em registro DFL — direto, sem "thanks all contributors" decorativo.
  • Issues: templates de bug, feature, ADR. Quem abre escreve no tom DFL.
  • Discussions: público; pergunta + resposta + decisão capturada.
  • Social preview: cap. 12.15 — template visual por repo.
  • Pinned repos: plans · harness · brain · paperclip. Os 4 pilares.

Como prospect Revera fala com a gente

  • 2 tipos de slot: Alinhamento 60min (B2B) · Conversa fellow 30min (candidato).
  • Cor: amber (cor da disponibilidade visualizada).
  • Cover Calendly: cap. 12.17.
  • Pré-meeting form: nome · empresa · timezone · 1 frase "o que tá te trazendo".
  • Confirmação automática em PT-BR, voz DFL.

Comunicação interna avançada

  • Loom: mensagens em vídeo curtas (< 5min). Background dark, lower-third pessoal.
  • Notion comments: usados como ADR side-channel — decisões em comments viram ADR formal.
  • Paperclip board: kanban interno · onde runs aparecem ao vivo. Não é canal de mensagem, é canal de estado.

Resumo único · todos os canais

CanalAudiênciaVozVisualCadência
LinkedIn DFLCTO · VP EngProfissional + opinativoDark · wordmark canto2–3 / semana
LinkedIn TainanTech BR + LATAMAutoral primeira pessoaFoto + texto3–5 / semana
InstagramAspirante a fellowCasual · bastidorDark + foto documentaldiário stories · 2 posts
X / TwitterDev sêniorTécnico · seco · opinativoTexto, screenshot DFL darkdiário · thread quinzenal
YouTubeDev curiosoDidático · operacionalIntro 4s · outro 5s1–2 / mês
TikTokCasual scrollerHook + pontoVertical · caption queimadarepurpose
NewsletterComunidade · alumniEditorial · autoralSand light · Georgia OKquinzenal
PodcastLongform escutaConversacionalCapa quadrada · áudio1 / semana
TG / DiscordFellows ativosCorrido · BR · técnicoTexto purodiário
GitHubDev avançadoTécnico densoMarkdown + badgescommit-driven
Landing ReveraB2B · CTOConfiança calmaLight editorialstatic

Calendário de publicação

DiaSurfaceTipo
SegundaLinkedIn DFL · XTese da semana · post longo
TerçaInstagram feedManifesto card ou stat
QuartaYouTube · LoomVídeo / tutorial / talk
QuintaNewsletter (quinzenal)Field Notes edition
SextaInstagram · X · TGRecap semana · drop
Sábado—Pause (off-canal)
Domingo—Pause (off-canal)
Final de semana DFL não posta. Marca tem cadência de quem ship segunda a sexta.

Playbook de erro público

Software DFL quebra em produção. Acontece. Quando acontece em público, a marca responde no tom da runtime: capturado, registrado, corrigido.

  • Reconhecer rápido. Post / tweet em < 1h confirmando o problema.
  • Sem desculpa performática. "Sentimos muito" sem ação concreta = ruído.
  • Drift signal público. Capturar o que falhou em formato de post-mortem (cap. 19 link template).
  • Status visível. fleet-health.devfellowship.com atualizado em tempo real.
  • Resolução documentada. ADR público sobre o que mudou.

Template de comunicação · drift público

status · DEGRADED · 2026-05-19 14:32 BRT

what broke: harness-runner failed in 3/11 PRs
why: drift +0.34 no plan onboarding-revera
captured: episode 07 · drift signal in plans-app
fix: rolling out v2.1.3 · ETA 30min
status updates: fleet-health.devfellowship.com

— tainan
Capítulo17de 19

Sub-marcas & ecossistema

DFL é a mãe. Revera, Alavancagem e Labs herdam paleta + tipografia, mas têm lockup distinto. Produtos internos não são sub-marca — são parte da runtime.

A família inteira em uma página

DFL  ·  devfellowship  (mother brand)
│
├── DFL Fellowship      ·  programa core (product line, não sub-marca)
├── DFL Edu             ·  guarda-chuva educacional (workshops, lives)
├── Revera              ·  B2B · sister-brand · lockup distinto
├── Alavancagem         ·  livro · editorial · serif protagonista
├── DFL Labs            ·  playground experimental
│
└── Produtos internos (não são sub-marca · usam DFL como pai):
       plans  ·  harness  ·  brain  ·  paperclip
       sandbox-manager  ·  dfl-runner  ·  dfl-learn
       dfl-financing  ·  dfl-flows  ·  lesson-studio
       books-app  ·  dfl-notifications  ·  dfl-fellow-portal
       dfl-process-mining  ·  dfl-bmcanvas  ·  dfl-apps

Quando criar nova marca

CritérioSub-marcaProduto interno
Audiência distintaSim · público diferenteNão · mesma audiência DFL
Lockup próprioSim · wordmark dedicadoNão · "DFL · nome" em mono
Tom de voz adaptadoSim · pode formalizar / suavizarNão · voz DFL pura
Tokens compartilhadosSim (paleta + tipo)Sim (tudo)
Domínio próprioSim · revera.* · alavancagem.*Não · *.devfellowship.com
Roadmap independenteSimNão · parte da runtime

Quando a DFL veste terno

Posicionamento

Capacity-building para empresas operarem com IA em prod.

Revera herda DFL (paleta, tipografia, voz operacional) e adiciona um registro formal B2B: tom de cinza maior, accent secundário azul (#5a85c4) para KPI e prova social, mais respiração editorial, menos gírias.

Lockup

"REVERA" wordmark próprio em Barlow Condensed 700 + slash amber. Em material de família, "DFL / REVERA" — em material standalone, "REVERA" sozinha com referência DFL no rodapé.

Tom B2B vs DFL puro
  • "Você" em vez de "tu"
  • Sem "bora", sem "valeu"
  • PT-EN ainda OK
  • Número específico sempre
REVERA/by devfellowship
Lockup standalone
DFL/REVERA
Lockup família

Paleta Revera

#E07A4A
herdada · amber
#E07A4A
CTA principal · idem DFL
#5A85C4
trust-blue
#5A85C4
KPI · prova social · só Revera
#F6F1E7
paper-light
#F6F1E7
background editorial
#1A1714
ink-on-paper
#1A1714
texto sobre paper

Aplicações Revera

— REVERA · by DevFellowship
Capacity-building
para times pós-IA.
/
LinkedIn cover · Revera B2B
REVERA/capacity-building · by DFL
Lockup vertical · proposta
REVERA/by devfellowship · sp · global
Webfooter · revera.*
✓ Faça
Landing ReveraSeu time entrega 2–3× mais por trimestre. Você mede no harness, em prod do seu próprio repo. Sem PowerPoint, sem consultoria-por-hora.

Concreto. Mensurável. Recusa o teatro consultivo.

✗ Não faça
Não-Revera (genérico)Empoderamos seu time com IA de ponta para alcançar o próximo nível de produtividade na sua jornada de transformação digital.

Vocabulário-zumbi. Banido em qualquer surface Revera.

Livro · serif protagonista

Posicionamento

O livro autoral da tese DFL — para dev sênior e CTO.

Alavancagem tem lockup próprio: título em Georgia italic 700 ao lado de slash amber rotacionada 12°. Tipografia interna majoritariamente Georgia 11pt para texto corrido, Barlow para capítulos.

Única sub-marca onde Georgia ocupa > 50% da composição. Aqui, serif é protagonista.

/
Alavancagem
tainan fidelis · devfellowship · 2026
Alavancagem · lockup

Paleta editorial · Alavancagem

#F6F1E7
paper
#F6F1E7
background livro
#3A3530
ink editorial
#3A3530
texto corrido Georgia
#C2663B
amber print
#C2663B
slash + acentos
#ECE4D2
paper aged
#ECE4D2
folha de rosto · partes

Visual mais solto

Labs tem permissão de quebra estética — testamos motion ousado, ilustração experimental, layouts não-canônicos. O contrato: o wordmark DFL aparece em algum canto.

DFL/· L A B S ·
Labs · lockup com permissão
Trabalho de Labs que prova-se vai pro programa principal — e perde a permissão de quebra. Labs é R&D, não produto.

Workshops · live · cohorts curtos

DFL Edu cobre formato de aprendizado curto: workshops 1–3 dias, lives, cohorts focadas (ex.: "harness em 5 noites"). Visual = DFL puro. Lockup: DFL / EDU.

Posicionamento: porta de entrada de baixa fricção pra DFL. Cliente Edu pode virar fellow. Fellow pode dar workshop Edu.

Como identificar produto interno

Plans, harness, brain, paperclip, sandbox-manager — não têm logo, não têm wordmark próprio, não têm paleta. São parte da DFL, identificados em mono uppercase ao lado da mãe.

DFL/· plans
plans
DFL/· harness
harness
DFL/· brain
brain
DFL/· paperclip
paperclip
DFL/· sandbox
sandbox
DFL/· dfl-runner
dfl-runner
DFL/· dfl-learn
dfl-learn
DFL/· books-app
books-app
DFL/· dfl-flows
dfl-flows
DFL/· lesson-studio
lesson-studio
DFL/· dfl-bmcanvas
dfl-bmcanvas
DFL/· dfl-financing
dfl-financing
Cada produto interno pode ter sua própria identidade visual de UI (cap. 12) mas não logo separada. README/header sempre puxa a mãe.

Quando aparece com outra marca

Co-branding externo (cliente Revera, sponsor de evento, parceiro técnico) usa pipe vertical com 2× clear space entre marcas. Nunca trancamos a logo em uma "lockup parceria" — cada marca mantém sua área.

DFL/
Parceiro
DFL × Parceiro · pipe + clear space
REVERA/
Cliente Ltda
Revera × Cliente · co-branding B2B
— produzido porDFL/— com apoio deSponsor A · Sponsor B
DFL × Sponsor · em evento

Quando duas regras colidem

  • Cliente Revera quer cor própria. Não. Co-branding tem regra (17.8). Cada marca mantém sistema.
  • Workshop pode usar logo de patrocinador no fundo? Sim, em pipe lateral. Nunca dentro do clear space DFL.
  • Sub-marca novo que herda Revera? Não fazemos sub-sub-marca. Se necessário, vira produto Revera (sem marca, com label mono).
  • Alavancagem vai virar série de livros? Sim · cada título mantém o lockup Alavancagem + serif. Cor da capa pode variar dentro da paleta sand.
Capítulo18de 19

Governança da marca

Quem aprova o quê. Onde os arquivos vivem. Como pedir um novo artefato. Como o guide evolui. Sem isso, em 6 meses tudo derrapa.

Quem destrava o quê

ArtefatoAprovaSLA
Tweak em material existenteBrand owner (Tainan) · async TG24h
Novo lockup para evento/parceiroBrand owner48h
Adição de cor primitiva ao tokens.jsonBrand owner + DS owner72h · via PR
Sub-marca nova / mudança em lockup oficialBrand owner + ADR público1 semana
Evolução de versão do guide (1.0 → 1.1)Brand owner + review pública2 semanas
Logo redesign / paleta novaBrand owner + ADR + RFC público4–6 semanas

Source of truth

AssetRepo / pastaFormato canônico
tokensdesign-system/tokens.jsonDTCG JSON · gera tokens-v2.css
componentsdfl-components-clishadcn-style registry
fontesbrand/fonts/WOFF2 self-hosted + fallback Google Fonts
logo (SVG)brand/logo/SVG vetor · PNG @1× @2× @3×
brand-guide (este)brand-guide/HTML auto-contido + bundle PDF
templates (deck, proposta, cert)brand/templates/Keynote · Google Slides · InDesign
fotosbrand/photos/RAW + JPG editado + metadata
vídeos · mastersbrand/video-masters/ProRes · 4K · 24fps master
banco sonorobrand/audio/WAV 48kHz + AAC export
artefatos publicadosbrand/artifacts/Numerado · 2026-05-19-thumb.png
Tudo no GitHub org devfellowship, mirror local em pasta sincronizada via Infisical para os fellows ativos.

Fluxo de pedido

  • Abrir issue no repo devfellowship/brand com template "Pedido de artefato".
  • Descrever: contexto, audiência, prazo, surface, exemplos de referência.
  • Brand owner triagem em até 48h: aceita / pede ajuste / recusa com razão.
  • Quem executa: fellow designer (se aceito) ou agente (se template existente).
  • Review final: brand owner aprova ou pede iteração.
  • Entrega: arquivo final + entrada em brand/artifacts/ + drop no canal interno.

3 formulários canônicos

### Pedido de artefato (template)

contexto: [1 parágrafo · pra quem é, pra quê]
audiência: [primária + secundária]
surface: [LinkedIn / IG / landing / etc]
prazo: [data hard]
referências: [3 links · pode ser do próprio guide]
arquivos necessários: [SVG, PNG, MP4, deck...]
quem entrega: [auto-assign ou nome]

— abre issue

Como o brand guide evolui

VersãoQuando bumparComunicação
patch (1.0.x)Typo, ajuste de exemplo, spec sem efeitoChangelog interno
minor (1.x.0)Adição de capítulo, novo template, novo tokenDrop no canal · changelog público
major (x.0.0)Mudança de logo, paleta, voz, arquiteturaRFC público · 30 dias de transição

Cadência de review

Trimestral (4× ao ano). Cada review: brand owner + 1 fellow ativo + 1 cliente Revera convidado. Pauta: o que travou? o que foi ignorado? o que precisa de update?

Como mudar a marca ao longo do tempo

  • Refinamento > ruptura. Marca DFL evolui em iterações pequenas. Rebrand total só se a tese mudar.
  • Toda decisão durável vira ADR em brand/decisions/. Histórico fica auditável.
  • Antes de adicionar, pergunta: dá pra remover? Sistema cresce por subtração quando possível.
  • Brand é parte do produto. Mudança em DESIGN.md / tokens dispara revisão neste guide.
  • Brand não é gosto pessoal. Owner muda, marca segue. Decisões ficam no ADR.
  • Marca tem voz no design system. Quando os dois conflitam, fala-se primeiro com ambos os owners.

Como registrar mudança

# ADR-brand-007: adicionar cor secundária para Revera

## status
accepted · 2026-05-19

## contexto
Revera precisa de cor pra destacar KPIs em decks B2B
sem competir com amber DFL (que é a primary).

## decisão
adicionar trust-blue #5a85c4 como accent secundário
exclusivo de surfaces Revera.

## consequências
+ KPI Revera tem destaque visual próprio
+ DFL puro permanece mono-accent (amber)
- 1 cor a mais para manter
- risco de "vazar" para DFL puro · mitigação: docs no cap. 17

## alternativas consideradas
- usar amber + opacity diferente · rejeitado: pouco contraste
- usar success green · rejeitado: confunde com status

— brand-owner, ds-owner

Sweep regular do guide

  • Cada app DFL passa por checklist visual: logo correto, cor correta, tipo correto, voz correta.
  • Templates em brand/artifacts/ dos últimos 90 dias revisados em batch.
  • Identificar drift entre guide e aplicação real. Drift > 10% = guide desatualizado, não app.
  • Drift < 10% = corrigir aplicação.
  • ADRs registrados para mudanças aprovadas.

Quem pode usar a logo DFL fora

QuemPodeNão pode
Fellow ativo"Fellow @ DFL" em LinkedIn · sticker no laptopLoja com produto DFL
Alumni"Alumni DFL · coorte X" em LinkedIn · perfilCriar curso "DFL Method"
Cliente Revera"Treinado pela Revera/DFL" em landingCo-branding sem aprovação
ImprensaUsar logo em matéria sobre DFLAlterar logo · usar em endorsement
Sponsor de eventoLogo em pipe lateral (cap. 17.8)Logo dentro de DFL clear space

A marca também diz não

  • Pedido pra "uma versão da logo só com X" → não.
  • Pedido pra "logo em foto stock corporativa" → não.
  • Pedido pra usar a marca em produto que conflita com nossa tese → não.
  • Pedido pra "colocar a logo num evento que não pediu permissão" → não.
  • Pedido pra co-branding sem ADR aprovado → não.
Capítulo19de 19

Anexos

O que você precisa pra começar a usar a marca: glossário, downloads, checklist, FAQ, templates de plan, manifesto canônico, contato. Esta página muda com mais frequência que o resto do guide.

O vocabulário canônico

TermoDefinição curta
ADRArchitecture Decision Record · decisão durável e versionada, com contexto + alternativas + escolha.
AgenteProcesso de IA que executa um plan. claude-main, codex-twin, sub-agents.
AlumniFellow formado. Faz parte permanente da rede DFL.
BrainKnowledge graph DFL · conecta plans, episodes, drifts, evals, fellows.
CoorteGrupo de fellows que entram juntos. Delimitador temporal.
DriftDiferença entre o que o plan disse e o que aconteceu. Drift capturado = dado pra eval.
Drift signalMarcador explícito no fim de uma run que aponta drift.
EpisodeUnidade de trabalho dentro de uma run. Tem hipótese, ação, resultado.
EvalMedição automatizada de output de agente. Pode ser harness, LLM judge, human-in-the-loop.
FellowMembro da DFL Fellowship. Não conclui — se forma. Faz parte da rede para sempre.
HarnessFramework de eval. Roda runs, mede, captura drift, gera grade.
PaperclipBoard kanban interno · estado das runs em tempo real.
PlanPlano público versionado. Decisões duráveis lockadas. Fonte da verdade para agente executar.
Plans-appProduto interno que hosta plans. plans.tainanfidelis.com.
PR (pull request)A unidade de entrega DFL. PR mergeado = trabalho shipado.
ReveraSub-marca B2B. Capacity-building para empresas.
RunExecução de um plan por um agente. Tem início, episodes, fim, grade.
Runtime DFLConjunto plans + harness + brain + sandbox-manager + paperclip — a infra de prática.
SandboxAmbiente isolado onde agente pode tocar código sem afetar prod.
ShipMergear PR em produção. A métrica única.
TG-typedRun iniciada via mensagem no Telegram. Fluxo assíncrono humano → agente.
TokensCusto de API de modelo de IA. Métrica DFL: não importa. Throughput importa.

Download bundle

AssetFormatosLocalização
Logo · wordmark + variaçõesSVG · PNG @1×/@2×/@3× · PDF vetorbrand/logo/
Fontes · Barlow Condensed · Inter · JB Mono · GeorgiaWOFF2 + TTF + licensesbrand/fonts/
TokensJSON (DTCG) · CSS vars · Style Dictionary builddesign-system/tokens.json
Templates · deck · proposta · certKeynote · Google Slides · InDesignbrand/templates/
Templates · email · READMEHTML · MJML · Markdownbrand/templates/digital/
Templates · social (este guide)HTML render · referência visualbrand-guide/templates.jsx
Foto · stock internoJPG editado + RAWbrand/photos/
Brand guide (este doc)HTML standalone · PDF printbrand-guide/
Vídeo · intro/outro mastersProRes · MP4 exportbrand/video-masters/
Banco sonoroWAV · AAC exportbrand/audio/

Versão final em PT e EN

EN · canônico
We believe shipping is learning.

Plans before code.
Code before review.
Review before celebration.

Tokens don't matter.
Autonomy does.

We are a fellowship,
not a factory.

We chose Brazil.
We chose global.

Iterate is everything.

Build with AI like you'd build
with a peer who never sleeps.

If you can't ship it today,
ship it tomorrow.

The drift is the data.

— DEVFELLOWSHIP · 2026
PT-BR · adaptação
A gente acredita que shippar é aprender.

Plan antes do code.
Code antes do review.
Review antes da festa.

Token não importa.
Autonomia importa.

A gente é fellowship,
não é fábrica.

A gente escolheu o Brasil.
A gente escolheu o global.

Iterate é tudo.

Constrói com IA do jeito que tu
construiria com um par que não dorme.

Se não dá pra shippar hoje,
shippa amanhã.

O drift é o dado.

— DEVFELLOWSHIP · 2026

Quick check de 60 segundos

  • Logo na posição certa, clear space respeitado.
  • Cor primary amber aplicada onde faz sentido (CTA, focus). Sem amber decorativo.
  • Tipografia: Barlow display, Inter body, JB Mono meta, Georgia editorial.
  • Vocabulário-zumbi removido (synergy, leverage, jornada, stakeholder…).
  • Verbos ativos. Prova > adjetivo. Número específico onde possível.
  • Tom checado contra cap. 3.6 do canal específico.
  • Acessibilidade: contraste WCAG AA mínimo, alt text em imagem.
  • Tagline / rodapé com referência DFL onde aplicável.
  • Foto = real ou placeholder. Nunca stock corporativo, nunca AI-illustration.
  • Aprovação registrada (se aplicável, ver cap. 18.1).
  • Versão do artefato no nome do arquivo (vYYYY-MM-DD-name.ext).
  • Backup em brand/artifacts/ antes de distribuir.

Para quem usa a marca

FAQ · 01

Posso usar amber pra destacar um número no slide?

Sim, se for o ÚNICO destaque do slide. Dois destaques amber no mesmo slide = perde a função.

FAQ · 02

O cliente Revera pediu pra mudar a cor pra azul corporativo dele.

Co-branding tem regra (cap. 17.8): pipe vertical com clear space. Cada marca mantém seu sistema. Não trancamos paletas.

FAQ · 03

Posso usar emoji no LinkedIn DFL?

Não. Emoji em marketing soa 2017. Em canal interno (TG/Discord), tudo bem.

FAQ · 04

A logo precisa sempre vir com tagline?

Não. Tagline ('devfellowship') aparece em capa de material, certificado, assinatura. App, header, social, pode omitir.

FAQ · 05

Como nomeio um produto interno novo?

Lowercase, hifenizado se preciso, &lt; 12 chars. Não-pluralizado. Ex.: plans, harness, brain.

FAQ · 06

Posso criar uma ilustração ou mascote?

Não. DFL não tem estilo de ilustração. Foto real, placeholder honesto ou diagrama-de-blocos. Mascote, nunca.

FAQ · 07

Posso usar uma fonte serif moderna no lugar de Georgia?

Editorial = Georgia. Se justificável (livro futuro com outra direção), abrir RFC. Para uso ad-hoc, não.

FAQ · 08

Cor primária #E07A4A não passou WCAG AAA no meu botão.

Esperado — usa --brand pra fill com texto inverse, ou --brand-hi (#f0a872) pra texto sobre dark.

FAQ · 09

Onde fica o arquivo da fonte Barlow Condensed?

brand/fonts/barlow-condensed/ — WOFF2 self-hosted.

FAQ · 10

Posso adaptar este guide pra meu time interno na Revera?

Não. Esse guide é canônico. Para o time do cliente, abrir derivado em brand/derived/{cliente} via ADR.

FAQ · 11

Posso reusar um template do cap. 12?

Sim — é pra isso que existem. Pegue o componente, troque copy, publique.

FAQ · 12

Quando posso usar background amber sólido?

Em CTA-final-slide, em IG announcement, em capa de section divider. Não em produto.

FAQ · 13

Posso fazer um post DFL no idioma X (não PT/EN)?

Sim, mas o tom precisa traduzir. Sem mecânica, sem 'autotranslate'.

FAQ · 14

Founder pediu uma versão da logo sem o slash.

Não. O slash é a logo. Sem ele é só 'DFL' em Barlow Condensed — não é a marca.

FAQ · 15

Posso animar o slash?

Sim, no intro/outro de vídeo. Sem loop. Sem giro infinito.

FAQ · 16

Posso fazer merchanise vermelho?

Não. Sand-dark, sand-light, amber. Acabou.

FAQ · 17

O guide tem versão acessível pra alguém daltônico?

Não temos versão separada, mas todo contraste é WCAG-checado. Status nunca depende só de cor (sempre tem rótulo).

FAQ · 18

Quem aprova mudança no tom de voz?

Brand owner via ADR público (cap. 18.6).

FAQ · 19

Vocês imprimem em CMYK ou Pantone?

CMYK em volume. Pantone 7585C em material premium (cap. 13.1).

FAQ · 20

Tem um template pra X que não está aqui?

Provavelmente sim — abre issue (cap. 18.3) ou inventa seguindo as receitas do cap. 12.3.

Documentos canônicos da runtime

Plan template

# plan: <nome>
status · draft | locked | shipped | archived
owner · @taigfs
versão · v1.0.0

## contexto
[1 parágrafo · de onde veio o plan]

## decisões duráveis
- [decisão 1 · com link pra ADR-XXX]
- [decisão 2]

## escopo
- entregável A
- entregável B

## execução
- agent: claude-main
- sandbox: my-sandbox
- harness: required

## drift signal
[preenchido no fim da run]

— created 2026-05-19 · plans.tainanfidelis.com/0142

ADR template

# ADR-XXX: <título da decisão>
status · proposed | accepted | superseded
data · 2026-05-19

## contexto
[1 parágrafo · qual o problema]

## decisão
[1 parágrafo · qual a escolha]

## consequências
+ ganho 1
+ ganho 2
- custo 1
- risco 1

## alternativas consideradas
- alt 1 · rejeitada: razão
- alt 2 · rejeitada: razão

— quem aprovou · referências

Drift signal template

drift-signal · run-2026-05-19-overnight

magnitude: +0.14
episode: 07
expected: PR-142 merged in 30min
actual: merged em 2h · 3 reverts no caminho

root cause:
plan não previu race-condition em sandbox-manager.

what was learned:
adicionar lock em sandbox-spawn → ADR-024 aberto.

what changes:
plans v2 vão incluir secção "sandbox-locks needed".

— captured by paperclip · plans-app · ingested by brain

Quando bater dúvida

Brand owner

Tainan Fidelis

TG · @taigfs
email · [email protected]
github · @taigfs
Async preferido

devfellowship/brand

template · "Pedido de artefato"
template · "Dúvida sobre guia"
template · "Proposta de evolução"

O que mudou e quando

VersãoDataResumo
1.0.02026-05Versão inicial · 19 capítulos · alpha
1.1.02026-06 (planned)Adição de templates para canais novos (Threads, Bluesky)
1.2.02026-09 (planned)Light mode completo · paleta editorial estendida
2.0.02027 (planned)Logo + paleta · revisão maior se necessário

Sobre este documento

DFL Brand Guide v1.0 · alpha · maio 2026. Documento construído em HTML auto-contido, sob o próprio design system DFL. Tipografia: Barlow Condensed, Inter, JetBrains Mono, Georgia (todas open source / system). Paleta: sand-stack DFL + amber #E07A4A. 19 capítulos · 1 mãe + 5 sub-marcas + 14 produtos internos · 70+ templates visuais prontos.

Autoria · Tainan Fidelis + DFL Brand. Construído com agentes operando a runtime DFL — meta. Próxima revisão · outubro 2026. Issues e propostas · devfellowship/brand.

DFL/devfellowship
fim · shipping is learning

capítulo 20

Logo das mini-apps

Cada mini-app DFL tem um ícone que sai de um ícone só: o de DFL Apps. Os outros são essa mesma forma girada, fundida, fatiada, dobrada, arredondada até virar anel, ou aninhada dentro de si. Fundo preto, formas brancas e uma forma laranja.

20.1 A família

DFL Appsdfl/appsDFL Componentsdfl/componentsDFL BM Canvasdfl/bmcanvasDFL Financingdfl/financingDFL Documentsdfl/documentsDFL Flowsdfl/flowsDFL Campanhasdfl/campanhasDFL Social Proofdfl/social-proofDFL Course Shaperdfl/course-shaperDFL Fleet Healthdfl/fleet-healthDFL SEOdfl/seoDFL Wikidfl/wikiDFL Boarddfl/boardDFL Lesson Studiodfl/lesson-studioDFL OSdfl/os
Os 15 ícones, a 96px
DFL Apps 48pxDFL Components 48pxDFL BM Canvas 48pxDFL Financing 48pxDFL Documents 48pxDFL Flows 48pxDFL Campanhas 48pxDFL Social Proof 48pxDFL Course Shaper 48pxDFL Fleet Health 48pxDFL SEO 48pxDFL Wiki 48pxDFL Board 48pxDFL Lesson Studio 48pxDFL OS 48px
DFL Apps 32pxDFL Components 32pxDFL BM Canvas 32pxDFL Financing 32pxDFL Documents 32pxDFL Flows 32pxDFL Campanhas 32pxDFL Social Proof 32pxDFL Course Shaper 32pxDFL Fleet Health 32pxDFL SEO 32pxDFL Wiki 32pxDFL Board 32pxDFL Lesson Studio 32pxDFL OS 32px
DFL Apps 16pxDFL Components 16pxDFL BM Canvas 16pxDFL Financing 16pxDFL Documents 16pxDFL Flows 16pxDFL Campanhas 16pxDFL Social Proof 16pxDFL Course Shaper 16pxDFL Fleet Health 16pxDFL SEO 16pxDFL Wiki 16pxDFL Board 16pxDFL Lesson Studio 16pxDFL OS 16px
Os mesmos ícones a 48, 32 e 16px

20.2 Uma fonte, uma transformação por ícone

Um ícone novo só entra na família quando dá para dizer qual transformação leva o ícone de apps até ele. Se não existe, o ícone não é da família.

AppDe apps para o ícone
dfl/appsa fonte: 2 × 2 células
dfl/componentsgirar 45°
dfl/bmcanvasfundir células no canvas
dfl/financingesticar em escada 8 · 20 · 32 · 44
dfl/documentsfatiar em linhas, título em laranja
dfl/flowsdobrar uma célula: célula → curva → célula
dfl/campanhasabrir em cone (megafone)
dfl/social-proofraio máximo: as células viram anel
dfl/course-shapercortar o anel com o slash
dfl/fleet-healthabrir o anel em medidor; o slash é o ponteiro
dfl/seouma célula vira lente; cabo a 45°
dfl/wiki[/]: colchetes e slash
dfl/boardreorganizar as colunas em cartões de alturas diferentes (kanban)
dfl/lesson-studiocélulas deslizadas na diagonal e empilhadas, a da frente em laranja
dfl/osaninhar: o tile dentro do tile

20.3 Construção

As peças têm três tamanhos, e cada um é feito do anterior com o mesmo vão de 4u: átomo 8u → célula 20u (8 + 4 + 8) → área 44u (20 + 4 + 20). A célula de 20u é o tile reduzido 3,6×, com o mesmo canto de 20%. Um ícone faz parte do outro.

ItemValor
viewBox72 × 72u
Tile72 × 72u, raio 14,4 (20%), #0a0908
Margem e área viva14u em cada lado; área viva 44u
Larguras8 · 20 · 32 · 44u. Os átomos começam em 14, 26, 38 e 50
Raio4u em todo canto, sem exceção. Peça de 8u vira pílula; o átomo vira ponto
Peso8u para barra, anel, slash e cabo
CírculosØ 8 · 20 · 32 · 44u
Vão4u em todos os níveis
Diagonalo slash da marca (0,4 : 1) ou 45° (a rotação de apps para components)
Corbranco #F6F1E7, uma forma laranja #E07A4A, tile #0a0908

Regras

  • Fundo preto sempre. O tile faz parte do ícone, também a 16px.
  • Uma forma laranja por ícone: a parte que faz a coisa.
  • Sem recorte: nada é desenhado na cor do tile por cima de outra forma.
  • Sem gradiente, sombra, contorno fino ou emoji.
  • Nome em mono e minúsculo: dfl/ + nome.

20.4 DFL OS

O ícone do DFL OS é o Kernel: o tile dentro do tile. A moldura é o nível 44u e o núcleo laranja é a célula de 20u, a mesma célula de apps. É o ícone mais fractal da família: ele repete o próprio tile. Escolhido com o núcleo em laranja.

DFL OS 160pxDFL OS 64pxDFL OS 32pxDFL OS 16px
DFL OS: Kernel a 160, 64, 32 e 16px

20.5 Canvas de design

O canvas onde o Tainan desenhou os ícones: Design canvas (Claude), acesso necessário. O link abre numa aba nova e pede login no Claude.

20.6 Arquivos

Cada app tem uma pasta em /mini-apps/<app>/. O gerador é scripts/brandkit/mini-apps/build.py; o índice com bytes e sha256 é /mini-apps/manifest.json.

ArquivoUso
icon.svgFavicon SVG e imagem da marca na navbar
glyph.svgSó a forma, sem tile. Use apenas sobre fundo #0a0908
favicon.ico16, 32 e 48px num arquivo
favicon-16.png · favicon-32.png · favicon-48.pngFavicons PNG
apple-touch-icon.png180px, iOS
icon-192.png · icon-512.pngManifesto de PWA e Android
<link rel="icon" href="/favicon.ico" sizes="32x32">
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<!-- copie os arquivos de https://brand.devfellowship.com/mini-apps/<app>/ para public/ -->

20.7 Fora da família

Saíram da proposta: reviews (sem uso), learn (vai sair), vaults (saiu), dbms (saiu). Eventos entrou em Campanhas. O antigo skillevals virou o ícone de Fleet Health. Do DFL OS ficaram de fora os conceitos Prompt, Slash-cursor, Stack e Órbita. As 16 marcas antigas continuam na versão 1 do guia (/v/1/).

capítulo 21

Regras de UI

Um sistema inteiro descreve o que existe. Uma tela usa só uma fração dele. Estas regras dizem quanto usar. Em conflito com qualquer outro capítulo, este vence. A exceção é app web e mobile: lá o 12.0 (estilo de app mínimo) vence onde diverge.

21.1 O que “minimalista” significa aqui

Minimalista não é ter menos conteúdo. É ter menos marcação por unidade de conteúdo. Numa tela imatura, cada elemento leva a própria marcação: borda, fundo, badge e cor. Numa tela madura, a marcação fica na estrutura (espaço, hairline, tamanho de texto), e cor, ícone e avatar só entram quando carregam informação.

A densidade de informação pode subir, mas a de tinta cai. Cor com significado é informação e não conta como tinta. Cor de enfeite conta. O erro oposto também existe: uma tela só preta, branca e cinza, quando há estado real, está errada.

21.2 Orçamento por tela

O orçamento conta por tela, e não por seção. Ele vale para UI de app e de site. Marketing, impressão e a capa do guia mantêm um nível display.

ItemOrçamento
SuperfíciesTela de documento ou lista: 2 (page e panel). Tela de ferramenta ou editor: 3 (stage, page e panel). A raised entra só em overlay real, ou como seleção dentro de um panel.
Texto4 tamanhos (11 · 13 · 15 · 28), 3 pesos (400 · 500 · 600) e 1 radius (4px).
BordaHairline só quando separa. Fundo e borda: escolha um.
SombraZero. Um overlay se separa por raised mais border-strong. O focus ring é a única exceção.
GrafismoZero em UI de app. O capítulo Grafismos continua valendo para marketing e impressão.

Primário

O botão primário usa a cor de ação do acento. Há no máximo um aceso por contexto. O acento aparece em quatro lugares: o botão primário, o item ativo do nav, a seleção (view toggle, tab ativa, radio, slide selecionado) e o hover de título ou link para um objeto. Ele nunca é fundo, borda decorativa nem status. Link inline em prosa usa ink-primary com sublinhado border-strong, e o acento entra só no hover.

Estado

success é terminou. warning é review ou aguardando. danger é quebrou ou bloqueado. info é executando. A cor de estado marca só o estado de um objeto, como dot mais palavra, dot no cabeçalho de coluna, barra de progresso ou ícone de bloqueio. Dica, aviso de sistema, “precisa de fulano” e truncamento são texto normal, sem cor. O fundo -subtle fica reservado a bloqueio ou erro real, no máximo um por viewport.

Pessoas

A paleta de membros é só para avatar. Pessoa tem foto. Sem foto, usa iniciais sobre a cor do membro. Agente usa o ícone bot sobre a cor de agente. Nada disso conta no orçamento.

Ícone

O ícone é uma âncora de varredura. Ele entra no nav, no tipo de coleção ou arquivo, na meta de card (ícone mais número, sem palavra) e em controle compacto com tooltip. Fora disso, o ícone fica ao lado de um label, e então você apaga o ícone.

Eyebrow e badge

O mono-eyebrow aparece no máximo uma vez por tela. Ele abre o documento, e não cada seção. Badge, pill e dot só entram quando o estado muda sozinho. Um rótulo fixo é texto.

Piso de vazio

Reserve cerca de 30% da tela sem tinta. É um guia de revisão, e nenhuma ferramenta o mede. Ele não vale para a lista densa nem para o kanban. Uma seção que não respira é um erro de hierarquia: reorganize em vez de preencher.

Número só se for real. Uma métrica inventada como textura sai. Sem dado, sem gráfico. Se o dado existe mas o render não, use um placeholder honesto.

21.3 Passe de subtração

O passe é obrigatório antes de entregar. Remova o elemento mais decorativo da tela. Se nada piorou, remova o próximo. Repita até doer. Entre duas opções, fique com a mais vazia.

O teste é apagar o elemento e ver se o usuário perde informação. Se perde, o elemento volta. A exceção é a cor, o ícone e o avatar que carregam estado, tipo ou identidade.

21.4 Os nove tells

Se qualquer um destes aparecer, a tela volta para o forno.

  1. Card com fundo, borda e sombra: três marcações para o mesmo limite.
  2. Mono-eyebrow em toda seção.
  3. Dois primários na mesma tela, ou acento fora de ação e posição.
  4. Badge ou pill decorando um rótulo que nunca muda.
  5. Número inventado como textura.
  6. Ícone ao lado de cada label de conteúdo.
  7. Gradiente, glow ou pattern preenchendo espaço vazio.
  8. Tela monocromática com estado real: existe done, executando ou bloqueado, e está tudo cinza.
  9. Pessoa sem rosto: owner ou assignee só com nome, sem avatar.

21.5 Composição

Toda tela nova começa em coluna única, com hairlines e sem card. Grid, card e segunda superfície são upgrades que pedem justificativa. Mais colunas pedem mais decisão de hierarquia, e uma hierarquia errada é o que faz uma tela parecer template. As exceções justificadas são o kanban, em que a coluna é o estado, e o editor, em que o painel é a ferramenta.

Sidebar e painéis não narram. Um painel lateral mostra estado e atalhos: stats, listas, propriedades. Prosa que explica o estado, ou texto de ajuda sobre o próprio produto, sai.

21.6 Regras de sistema que valem para o leitor

  • Display é só marketing. Os tamanhos de marketing (36, 44 e 64) valem para marketing, impressão e a capa do guia. Eles não valem para UI de app.
  • Contraste. O ink-muted passa 4,5:1 em page, panel e raised. Texto que a pessoa precisa ler usa ink-muted ou mais claro. O ink-disabled serve só para item desabilitado.
  • Componente não nomeia primitivo. Um componente consome só os tokens semânticos e de componente (--s-* e --c-*). Ele não usa um primitivo (--p-*).
  • Sem sombra. Nenhum shadow em UI. O overlay usa raised, border-strong e, no dialog, o scrim. O focus ring é um box-shadow e é permitido.
  • Input em tela de toque tem 16px. O iOS dá zoom em input abaixo disso. Esta é a única exceção aos quatro tamanhos.
  • Um radius. A UI usa 4px. Pill só em avatar, dot e barra de progresso.

faça

Uma coluna, hairlines, um primário, estado com dot e palavra, e muito espaço.

não faça

Uma grade de cards com fundo, borda e sombra, badges em todo rótulo e um gradiente no vazio.

21.7 Copy de UI

  • A UI é em inglês. O conteúdo do usuário fica no idioma dele.
  • Rótulo curto, com verbo no botão: “Answer”, “New task”, “Export”.
  • Sem prosa que explique o produto dentro do produto. Se precisa de explicação, vira tooltip ou some.
  • Meta em mono minúsculo: 17 h ago, 5 / 10, .zip.

21.8 Checklist de entrega

  1. Conte as superfícies (2, ou 3 se for editor), os primários (1), os tamanhos de texto (4) e os pesos (3).
  2. Todo acento é ação ou posição?
  3. Existe estado real? Então há cor de estado. Existe pessoa? Então há rosto.
  4. Todo ícone é nav, tipo, meta, ou substitui a palavra com tooltip?
  5. Algum painel narra? Corte.
  6. Faça o passe de subtração até doer.
  7. Mobile: a feature X do desktop está em qual sheet ou menu?

Official logo downloads

Choose a file for your surface. Each export includes the brand colors and clear space.

Download full kit ZIP ↓
DFL official wordmark on a dark backgroundDFL official wordmark on a light background

Keep the logo proportions. Use the transparent light-ink file on dark backgrounds. Use the light variant on paper. SVG masters contain no fonts. Read the usage notes or file manifest.

DFL / Capa & Manifesto 0%