← Todos los proyectos
Proyectos 08/Trabajo para un cliente · Electron, TypeScript

KAVINSKY59x Control Center

Una aplicación de escritorio para Windows que permite a un streamer de Twitch dirigir su directo desde una sola pantalla: controles de Twitch, cambio de escena en OBS y los overlays que se ven en el stream.

Repositorio privado

01Qué es

Una aplicación Electron privada para el streamer del canal KAVINSKY59x. Un panel de control maneja Twitch y OBS, y un conjunto de overlays como fuente de navegador (starting soon, gaming, chatting, BRB, ending, offline y alertas) se sirven en local para que OBS los muestre. Los eventos de Twitch en directo llegan a los overlays y al panel en el momento en que ocurren.

02En qué trabajé

Armé la primera versión de la aplicación y después la migré a TypeScript: el proceso principal de Electron, los módulos del servicio local, la bóveda de tokens y el flujo de inicio de sesión, seguidos de un panel en React y un build con Vite para los overlays. Reduje el puente entre el panel y el proceso principal a una lista cerrada de canales, y agregué una suite de Vitest, hooks de git y una verificación en CI para que cada cambio pase por la misma validación.

03Cómo funciona

El proceso principal inicia un pequeño servicio que solo escucha en la máquina local. OBS carga los overlays desde él, y el panel habla con el proceso principal, nunca directamente con la red. Los tokens de Twitch se cifran con el sistema operativo y se guardan fuera del proyecto, y los secretos no van dentro de la aplicación entregada. Una utilidad nativa integra una vista previa de OBS en el panel. La aplicación se entrega como instalador de Windows y como versión portable.

Cómo está construido

  1. Pantallas

    Lo que ve el streamer

  2. Control Center

    La aplicación de escritorio

  3. Servicios

    Lo que controla

  4. Entrega

    Cómo llega al PC del streamer

Seleccione una parte del diagrama para ver qué hace. Cada color es un flujo a través del sistema.

© 2026 Benoit Ardiet · Quito, Ecuador · UTC−5GitHubLinkedInSin rastreo, sin cookies.