CASTRO DEV

BRYAN CASTRO APRESENTA
Sete capítulos: quem eu sou, como construo sistemas, como penso segurança, os jogos, as ferramentas, os projetos e o contato.

ROLAR下へ
BRYAN CASTRO 人物
始動

19 ANOS · RIO DE JANEIROComeçou cedo, movido por curiosidade e por fóruns antigos de programação.

SOBRE MIM 自己紹介
弓

QUEM ESCREVE
O CÓDIGO.

Desenvolvedor full-stack na Caixa, CEO e desenvolvedor da BFL Studio e, nas horas livres, professor de quem está começando.

Idade
19 anos
Base
Rio de Janeiro
Hoje
Dev full-stack na Caixa
Empresa
BFL Studio · CEO
Ensino
Castro School
FULL-STACK 構築
TODO PROJETO TERMINA EM DEPLOY

Interface, servidor, dados e infraestrutura. O sistema inteiro, do primeiro commit ao servidor no ar.

COMO EU TRABALHO 仕事

RESOLVER PROBLEMA DE VERDADE.

Gosto de resolver problema de verdade: interface que respeita o usuário, backend que não cai, e código que o eu do futuro não odeie. Aceitando conversas sobre projetos web, produtos e comunidades dev.

Aprender do zero
devia ser menos doloroso.
Por isso eu ensino.
0Trilhas na Castro School
0Projetos próprios no ar
0Divisões na BFL Studio
O QUE EU FAÇO 分野 4 FRENTES
01網

APLICAÇÕES WEB

  • Interfaces em React e TypeScript, pensadas primeiro para o celular
  • APIs em Node.js e Python, com entrada validada
  • Login com OAuth2 e sessões seguras
  • Deploy em servidor Linux e na Cloudflare, com HTTPS

Castro School · GamesOff · site da BFL Studio

02学

PRODUTOS DIGITAIS

  • Trilhas de 7 linguagens, de HTML a Rust, com progresso salvo
  • Conteúdo didático escrito para quem está começando
  • Interface, texto e manutenção do produto no ar

Castro School

03繋

INTEGRAÇÕES

  • Vitrine que reúne promoções de Steam, Epic, GOG e outras lojas
  • Filtros por loja, moeda e desconto sobre dados externos
  • APIs REST pequenas, com erro virando resposta clara

GamesOff

04遊

JOGOS E APPS

  • O Orfanato das Cinzas, jogo narrativo em produção na Godot
  • Exploração, puzzles e lanterna como mecânicas
  • Apps web responsivos, do protótipo à primeira versão

VAKAR · Castro School · GamesOff

PROCESSO 工程

DO PROBLEMAÀ EVOLUÇÃO.

Como um projeto sai da ideia e chega ao ar.

  1. 01

    PROBLEMA

    Entender quem usa, o que precisa ser resolvido e o que não pode quebrar.

  2. 02

    PLANEJAMENTO

    Escopo curto, prioridades claras e o que fica para a versão seguinte.

  3. 03

    ARQUITETURA

    Interface, regras, dados e infraestrutura definidos antes da primeira tela.

  4. 04

    CÓDIGO

    Componentes pequenos, APIs explícitas e entrada validada nas bordas.

  5. 05

    TESTES

    Fluxos principais testados no navegador, no celular e no desktop.

  6. 06

    DEPLOY

    Prévia protegida antes de publicar, depois HTTPS em produção.

  7. 07

    EVOLUÇÃO

    Medir o que pesa, corrigir e começar de novo pelo problema.

ARQUITETURA 構造

ANATOMIA
DE UM SISTEMA.

CAMADA 1 / 4

FRONTEND

Interfaces e componentes em React e TypeScript, responsivos do celular ao ultrawide. Foco visível, respeito ao movimento reduzido e integração com APIs que continua de pé quando o navegador bloqueia armazenamento.

  • React
  • TypeScript
  • Tailwind
  • Three.js / R3F
  • GSAP
  • Vite
TypeScript · estado que sobrevive a navegador restrito
export function readPref<T>(key: string, fallback: T): T {
  try {
    const raw = localStorage.getItem(key);
    return raw ? (JSON.parse(raw) as T) : fallback;
  } catch {
    // modo privado ou WebView sem armazenamento: a interface segue
    return fallback;
  }
}
CAMADA 2 / 4

BACKEND

APIs pequenas e explícitas, autenticação OAuth2 com state validado, regras de negócio isoladas e integrações com serviços externos. Só passa o que foi listado; erro vira resposta clara.

  • Node.js
  • Python
  • FastAPI
  • OAuth2
  • REST
  • Cloudflare
Node.js · entrada validada antes da regra de negócio
const ALLOWED = new Set(['page', 'q', 'sort']);

export function parseQuery(url: URL) {
  if (url.search.length > 2048) throw new HttpError(414);
  const out: Record<string, string> = {};
  for (const [k, v] of url.searchParams)
    if (ALLOWED.has(k)) out[k] = v.slice(0, 200);
  return out; // o resto nem chega ao serviço
}
CAMADA 3 / 4

BANCO DE DADOS

Modelagem antes da tabela: o que precisa persistir, quem lê e quem escreve. MongoDB e PostgreSQL no stack. Chave primária pensada para a consulta mais comum e nenhuma SQL montada com texto do usuário.

  • MongoDB
  • PostgreSQL
  • Modelagem
  • Consultas parametrizadas
PostgreSQL · modelagem e consulta parametrizada
create table lesson_progress (
  user_id   uuid not null references users(id),
  lesson_id text not null,
  done_at   timestamptz not null default now(),
  primary key (user_id, lesson_id)
);
-- a aplicação nunca concatena texto do usuário na SQL
select lesson_id from lesson_progress where user_id = $1;
CAMADA 4 / 4

INFRAESTRUTURA

Servidores Linux, containers Docker, HTTPS em todas as rotas e deploy estático na Cloudflare.

  • Linux
  • Docker
  • nginx
  • Cloudflare
  • AWS
  • Git
Docker · imagem enxuta, sem root, com verificação de saúde
FROM node:22-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --omit=dev
COPY . .
USER node
HEALTHCHECK CMD wget -qO- http://localhost:3000/health || exit 1
CMD ["node", "server.js"]
Um campo de lâminas negras recortadas por luz azul
防御
CYBERSECURITY 防御

Ver o sistema pelo outro lado.
Com autorização, método e registro.

MÉTODO 手順

SEM ESCOPO,
NÃO EXISTE
TESTE.

Como eu conduzo uma verificação de segurança, da autorização ao reteste.

  1. 01

    ESCOPO AUTORIZADO

    O que pode ser verificado, por quem e até quando, por escrito. Fora disso, nada é tocado.

  2. 02

    PREPARAÇÃO

    Ambiente de laboratório isolado, ferramentas conferidas e o hash dos arquivos originais guardado antes de tudo.

  3. 03

    RECONHECIMENTO

    Levantar o que o sistema expõe publicamente: cabeçalhos, certificados, rotas e versões.

  4. 04

    ANÁLISE

    Comparar o que foi encontrado com boas práticas e configurações recomendadas.

  5. 05

    VALIDAÇÃO

    Confirmar cada ponto sem causar dano, só no ambiente combinado.

  6. 06

    DOCUMENTAÇÃO

    Cada ponto com evidência, impacto e como reproduzir.

  7. 07

    CORREÇÃO

    Corrigir a causa, não o sintoma, e registrar o que mudou.

  8. 08

    RETESTE

    Repetir a verificação original. Só fecha quando o resultado se mantém.

LABORATÓRIO 実験

A ESTAÇÃO
DE TRABALHO.

O ambiente onde eu verifico sistemas: escopo, checklist, scripts e relatórios no mesmo lugar. Abra os arquivos, digite help no terminal ou teste um arquivo seu nas abas Integridade e Metadados. Tudo roda no seu aparelho; nada é enviado.

◆ 1234 bryan@lab: ~/lab

LABORATÓRIO somente leiturasem redeamostras próprias


              
ÁREAS 分野
  • LINUX E LABORATÓRIO

    Ambientes isolados para testar, servidor de teste local e o laboratório de metadados.

  • SEGURANÇA DE APLICAÇÕES

    Validação de entrada, cabeçalhos restritivos, segredos fora do código e autenticação comparada em tempo constante.

  • REDES E PROTOCOLOS

    HTTP, TLS, DNS e o caminho de uma requisição até o servidor.

  • FERRAMENTAS

    ExifTool, MAT2, ImageMagick, OpenSSL, dig, ss e sha256sum.

  • AUTOMAÇÃO COM SCRIPTS

    Bash e Python para verificações repetíveis, como as da aba Scripts.

  • PRÁTICAS AUTORIZADAS

    Verificação só em ambiente e arquivos próprios, sempre com escopo escrito.

JOGOS & APPS 遊戯
Arte oficial de O Orfanato das Cinzas

O ORFANATODAS CINZAS.

THE ASHEN ORPHANAGE

Estúdio
VAKAR · BFL Studio
Gênero
Suspense e terror narrativo
Engine
Godot
Mecânicas
Exploração, puzzles e lanterna
Estado
Em produção · previsão jan. 2027
  1. 01

    CONCEITO

    Premissa, tom e referências.

  2. 02

    PROTÓTIPO

    A versão jogável mais simples da ideia.

  3. 03

    MECÂNICAS

    O que o jogador faz, e por quê.

  4. 04

    PROGRAMAÇÃO

    Cenas, nós e scripts na Godot.

  5. 05

    ARTE

    Ambientação, luz e som.

  6. 06

    TESTES

    Jogar, anotar e ajustar.

  7. 07

    BUILD

    Exportar e testar de novo.

APPS 応用

APPS
NO AR.

Dois produtos web que eu criei e mantenho, do código ao servidor.

Castro School no celular: trilhas e chamada principal

CASTRO SCHOOL

学

Ensinar programação sem curso enrolado, com exemplos reais e progresso visível.

Trilhas
7 linguagens, de HTML a Rust, ordenadas por dificuldade
Progresso
salvo por trilha, para retomar de onde parou
Interface
pensada primeiro para o celular, no tema escuro
Arquitetura
React · Node.js · conteúdo próprio
Manutenção
No ar desde 2026. Conteúdo, interface e código mantidos por mim.
school.castrodev.site ↗
GamesOff no celular: destaque do dia e promoções

GAMESOFF

割

Parar de perder promoção boa por não abrir oito lojas diferentes.

Lojas
Steam, Epic, GOG e outras numa vitrine só
Filtros
por loja, moeda e desconto
Destaques
o jogo do dia e o link direto para o preço na loja
Arquitetura
React · API própria · coleta de preços
Manutenção
No ar desde 2026. Integração e interface mantidas por mim.
gamesoff.castrodev.site ↗
FERRAMENTAS 道具

O ARCO
E AS FLECHAS.

As ferramentas do meu dia a dia, em cinco grupos ao longo do arco. Escolha uma flecha para ver onde ela entra.

O QUE CONSTRUÍ 創造
Castro School e GamesOff
PROJETOS 作品

Dois projetos no ar. Um ensina, o outro economiza.

ESCOLA PRA DEVS INICIANTESCASTRO
SCHOOL
JOGOS EM PROMOÇÃOGAMES
OFF
TRABALHOS 作品

OS
TRABALHOS.

Do que está no ar ao que está em produção. Cada carta é um trabalho real.

Castro School
2026 · AO VIVO学校

CASTRO SCHOOL

Trilhas de HTML até Rust, com progresso salvo.

GamesOff
2026 · AO VIVO割引

GAMESOFF

Promoções de Steam, Epic, GOG e mais num painel só.

Arte oficial de O Orfanato das Cinzas制作中
EM PRODUÇÃO
VAKAR · JAN. 2027灰

O ORFANATO DAS CINZAS

Suspense e terror narrativo, com foco em atmosfera.

01/ 07
BFL STUDIO 工房
O Orfanato das Cinzas, jogo da VAKAR

Tecnologia, criatividade e produção digital.

Uma estrutura formada por três divisões.

E eu sou CEO e desenvolvedor.

BFL STUDIOCriando experiências digitais.
Tecnologia · Desenvolvimento · Soluções Digitais

Logo oficial da BFL Studio

BFLSTUDIO.

Ideias que viram projetos bem construídos. Cofundadores: Felipe Hanri e Lucas Henrique.

  • Página inicial do site da BFL Studio
    Site da BFL StudioNo ar.
  • Arte oficial de O Orfanato das Cinzas
    O Orfanato das CinzasVAKAR. Em produção.
  • ORVEConteúdo e comunicação digital
  • VAKARJogos e entretenimento
  • QORUSoftware e soluções digitais
ESTUDOS DE CASO 記録

DO RASCUNHO AO AR

Página inicial do Castro School
01 · NO ARCASTRO SCHOOL
Objetivo
Ensinar programação sem curso enrolado: exemplos reais e progresso visível.
Solução
Trilhas de 7 linguagens, de HTML a Rust, ordenadas por dificuldade e com progresso salvo.
Stack
React · Node · conteúdo próprio
Papel
Criador: produto, conteúdo e desenvolvimento.
Estado
No ar desde 2026 · school.castrodev.site
Página inicial do GamesOff
02 · NO ARGAMESOFF
Objetivo
Parar de perder promoção boa por não abrir oito lojas diferentes.
Solução
Uma vitrine que agrega Steam, Epic, GOG e mais, com filtro por loja, moeda e desconto.
Stack
React · API · scraping
Papel
Criador: ideia, integração e interface.
Estado
No ar desde 2026 · gamesoff.castrodev.site
Página inicial do site da BFL Studio
03 · NO ARSITE DA BFL STUDIO
Objetivo
Apresentar a empresa e as três divisões com a identidade oficial.
Solução
Experiência WebGL guiada pela rolagem, com ambientes 3D procedurais e site 100% estático.
Stack
React 19 · TypeScript · Vite · Three.js · R3F · Cloudflare Pages · Playwright
Papel
CEO e desenvolvedor.
Estado
No ar · bflstudio.com.br
ARQUIVO 保管

Capturas dos projetos e cenas do portfólio. Uma seleção diferente a cada visita.

ENTRETENIMENTO 遊戯
MINI JOGO

O ARQUEIRO

Um arqueiro Quincy contra os Hollows de Hueco Mundo. Cinco fases até o portão do castelo.

DEMONSTRAÇÃO DAS MECÂNICAS NO NAVEGADOR
JOGOS E EXPERIÊNCIAS 遊戯

VAKAR

Experiências interativas e projetos de entretenimento.

OBJETIVO

Jogos de atmosfera, narrativa e imersão.

MECÂNICAS

Experimente as três.

Arte oficial de O Orfanato das Cinzas AMBIENTE DESCOBERTO 0%

FUNÇÕES

  • Jogos
  • Narrativa
  • Ambientação
  • Godot
  • Builds

EM PRODUÇÃO

O ORFANATO DAS CINZAS

Suspense e terror na Godot. Previsão: janeiro de 2027.

APPS E SISTEMAS 応用

QORU

Desenvolvimento de software e soluções digitais.

OBJETIVO

Apps e sistemas com função, identidade e boa experiência.

FUNÇÕES

  • Aplicativos
  • Sistemas web
  • Sistemas personalizados

COMO É FEITO

Toque numa camada.

TECNOLOGIA

  • React
  • TypeScript
  • Node.js
  • Python
  • PostgreSQL
  • MongoDB
  • Linux
  • Cloudflare