// sobre

Sou o Felipe. Não sou programador profissional — sou um entusiasta autodidata que mestra RPG de mesa e gosta de construir as próprias ferramentas, aprendendo conforme a necessidade aparece.

Estudo as tecnologias e tento aplicá-las da melhor forma que consigo. Pelo caminho acumulo mais erros do que acertos, mas encaro cada projeto como uma chance de melhorar um pouco.

Cada projeto aqui surgiu de ideias para melhorar a imersão e a diversão dos meus jogadores — e de ferramentas para me ajudar a conduzir melhor o fluxo do jogo e da história. Uma wiki para organizar campanhas, um painel para controlar a sessão em tempo real, um terminal retrô para criar atmosfera. Foram desenvolvidos porque eu não encontrava ferramentas prontas para realizar essas ideias — e as poucas que cheguei a encontrar estavam incompletas, não eram simples de usar, ou eram pagas.

Por isso estão todos aqui, abertos e reunidos. Não são perfeitos, mas são feitos com cuidado e com vontade de acertar. Se foram úteis para mim, talvez sejam para você também — espero que façam bom proveito. 🎲

// projetos

Um ecossistema de ferramentas para RPG de mesa — de uma biblioteca de UI publicada no npm a um painel de controle de sessão em tempo real. Tudo autoral e aberto.

Immersive Terminal

Demo ao vivo

Emulador de terminal retrô interativo para mesas de RPG

Terminal jogável que simula sistemas (Alien, Lancer, Blade Runner, Fallout e mais). O mestre monta cenários em JSON; os jogadores exploram com comandos, decriptam e invadem arquivos. Bilíngue (PT-BR/EN) e 100% offline.

  • React 19
  • Vite
  • Vitest
  • i18n

Campaign Codex

Demo ao vivo

Wiki de campanhas de RPG, estática e temática

Gerador de wiki multi-campanha a partir de Markdown: história, mapas, NPCs, eventos e personagens, com temas visuais por gênero (sci-fi, fantasia, cyberpunk e mais).

  • Astro
  • TypeScript
  • Content Collections

GM Control Room

Self-hosted

Painel de controle de sessão de RPG em tempo real

Dashboard multi-dispositivo para o mestre: cenas adaptativas (typewriter, pergaminho, terminal CRT), iluminação/clima, mixer de áudio, integração com Spotify, dados, tracker de combate e histórico de rolagens — tudo sincronizado via WebSocket. A tela dos jogadores é PWA instalável. Suporta 11 sistemas via @lippelt/srd-*.

  • React
  • Node + Express
  • Socket.io
  • TypeScript (monorepo)
  • PWA

scenario-forge

App desktop

Editor desktop para criar cenários do Immersive Terminal

App nativo (Windows/macOS/Linux) que monta cenários por formulário — árvore de arquivos, flags de jogo (crack/tracer/lock), diálogo e eventos —, valida a consistência e testa no terminal real embutido (preview ao vivo via postMessage). Exporta a pasta versionável, um bundle JSON ou um link. Compartilha o motor (rpgterm-engine) com o terminal, então não há divergência de schema.

  • Tauri 2 (Rust)
  • React
  • Vite
  • TypeScript

gmcr-srd-systems

11 pacotes no npm

Monorepo de regras SRD pra 11 sistemas de RPG (D&D, Pathfinder, Starfinder, Lancer, Daggerheart…)

Cada sistema é um pacote npm independente sob @lippelt/srd-*: contrato comum (dice presets, conditions, tracker fields, regras automatizadas) + 11 sistemas — D&D 3.5/5e (2014 e 2024), Pathfinder 1e/2e, Starfinder 1e/2e, Lancer, GUMSHOE, Daggerheart e Candela Obscura. Consumido pelo GM Control Room.

  • TypeScript
  • tsup
  • Vitest
  • npm workspaces
  • CI tag-release

rpg-prop-kit

Publicado no npm

Biblioteca de componentes React com estética CRT retrô

Pacote publicado no npm: telas CRT, efeito de máquina de escrever e sequências de boot para ferramentas de RPG. É o que dá o visual desta própria página.

  • React
  • TypeScript
  • Vite (library)
  • Vitest

rpgterm-engine

Publicado no npm

Motor de lógica do Immersive Terminal, publicado no npm

O núcleo do terminal extraído como pacote, sem DOM: sistema de arquivos virtual, interpretador de comandos, mecânicas de crack/tracer/decrypt e composição de cenários. Fonte única consumida pelo terminal e pelo scenario-forge, com teste de paridade garantindo que ambos leem exatamente os mesmos flags.

  • JavaScript (ESM)
  • Vitest