Lalabase
Tickets, Doku, Zeiterfassung und Kundengespräche an einem Ort, durchsuchbar per KI. Für Softwarefirmen mit Kundenprojekten. Open Source: auf deinem eigenen Server oder in unserer Cloud in Deutschland.
Translation pending
El soporte técnico remoto que ve lo que tú ves. Videollamada en vivo entre el celular de campo y la consola de oficina: puntero, dibujo, congelado, fotos, grabación, notas y reporte con IA.
Translation pending
BusinessHTML · PLpgSQLGitHub @josepinedo07OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Soporte remoto por video (WebRTC): enlace/QR, puntero, dibujo, congelar, foto, grabacion, compartir pantalla
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
En vivo: (dominio propio, comprado vía Vercel; www redirige al apex con 308). El alias fieldlens-nu.vercel.app sigue funcionando. GitHub Pages también sirve la videollamada, pero sin el reporte IA porque no corre funciones serverless. Soporte visual remoto: el teléfono del técnico de campo se convierte en los ojos del técnico de oficina. El de oficina abre la consola, genera un enlace / QR y lo comparte. El de campo lo abre en su teléfono, permite la cámara y quedan conectados. Desde la consola el de oficina puede:Read the full README ↗
En vivo: https://fokoremote.com (dominio propio, comprado vía Vercel;
www redirige al apex con 308). El alias fieldlens-nu.vercel.app sigue
funcionando. GitHub Pages https://josepinedo07.github.io/foko/ también sirve
la videollamada, pero sin el reporte IA porque no corre funciones serverless.
Soporte visual remoto: el teléfono del técnico de campo se convierte en los ojos del técnico de oficina.
El de oficina abre la consola, genera un enlace / QR y lo comparte. El de campo lo abre en su teléfono, permite la cámara y quedan conectados. Desde la consola el de oficina puede:
El de campo puede voltear la cámara, encender la linterna, silenciar el micrófono y tocar la pantalla para señalar de vuelta. Antes de conectar pasa por un chequeo de sistemas (cámara / micrófono / red). No necesita cuenta — solo abre el enlace.
La consola de oficina sí requiere cuenta: cada empresa tiene su propio login, su logo/nombre (aparece en la consola, la invitación y el reporte) y puede tener varios técnicos de oficina (dueño + compañeros con un código de invitación).
Ver BRAND.md (wordmark, favicon, tipografía de marca) y
DESIGN.md (sistema de tokens, componentes y reglas de
movimiento) — instrumento de precisión, no app de consumo: oscuro por
defecto, un solo color de acento (que siempre significa "mira aquí"),
tipografía mono para telemetría.
js/rtc-config.js.RTCPeerConnection.getStats() — nada simulado.python3 server.py
getUserMedia solo funciona sobre HTTPS (o localhost), así que hace falta TLS:
python3 server.py --https
La primera vez genera un certificado autofirmado (.cert/, necesita openssl).
El servidor imprime la URL para el teléfono, p. ej. https://192.168.0.102:8443/.
En el teléfono el navegador avisará que el sitio "no es seguro" → Avanzado →
continuar (es tu propio certificado). A partir de ahí la cámara funciona.
La videollamada + anotaciones son 100% estáticas (sirven en cualquier host con
HTTPS: GitHub Pages, Netlify, Vercel…). El asistente de notas IA necesita la
función serverless api/report.js, que solo corre en un host con funciones
(Vercel o Netlify Functions), no en GitHub Pages.
GEMINI_API_KEY — tu clave de Google AI Studio (queda solo en el servidor).SUPABASE_URL — la URL del proyecto de Supabase (ver abajo).SUPABASE_SERVICE_ROLE_KEY — la service role key del mismo proyecto
(Settings → API en el dashboard de Supabase). Nunca va en el frontend.REPORT_MODEL (opcional) — por defecto gemini-3.5-flash-lite.git push si conectas el repo de Git
(ahora mismo el deploy en producción se hace a mano con vercel deploy --prod).En la consola: ⚙ Ajustes → activar "Asistente de notas IA". Ya no hace falta ningún código de acceso manual — el reporte usa la sesión real de la cuenta (ver siguiente sección).
Nota sobre dominios en Vercel: el proyecto vive bajo el slug antiguo
fieldlens(renombrarlo requiere entrar a la cuenta). El alias público que funciona hoy esfieldlens-nu.vercel.app. Se creó tambiénfoko-jpc-hambeo.vercel.app, pero Vercel le aplica su pantalla de login ("Vercel Authentication") aunque el dominio principal esté sin protección — hay que desactivarla también para ese alias en Project Settings → Deployment Protection, o pedir un dominio propio.
El login, las empresas y el logo sí funcionan en cualquier host estático
(Netlify Drop, GitHub Pages, Cloudflare Pages) — hablan directo con Supabase
desde el navegador, no necesitan api/. Lo único que exige un host con
funciones serverless (Vercel/Netlify Functions) es /api/report, porque ahí
vive la API key de Gemini. server.py no se usa en producción en ningún caso.
La P2P directa suele fallar detrás de VPN o CGNAT. El proyecto trae unos TURN
públicos de prueba en js/rtc-config.js; si van lentos,
saca una clave gratis en https://dashboard.metered.ca/ y reemplázalos.
Cada empresa es una fila en companies; cada usuario (técnico de oficina) es
una fila en profiles que apunta a una empresa, con rol owner (la creó)
o member (se unió con el código de invitación). Todo con Row Level Security:
un usuario solo puede leer/escribir su propia empresa. El logo vive en un
bucket de Storage público de solo lectura (logos).
supabase/schema.sql
— se puede volver a correr entero, todo usa if not exists / or replace.supabase/schema.sql.js/supabase-client.js (ya están puestas las de
este proyecto; para uno nuevo, reemplázalas ahí — son públicas por
diseño, RLS es lo que protege los datos).SUPABASE_SERVICE_ROLE_KEY (ver arriba).login.html para el paso de "revisa tu correo".login.html →
"Unirme con código".index.html Selector de rol
login.html Iniciar sesión / crear empresa / unirme con código
remote-expert.html Consola del técnico de oficina (requiere sesión)
field-tech.html Vista móvil del técnico de campo (viewer + systems check)
css/tokens.css Tokens de diseño — única fuente de verdad de color/tipo/espacio
css/design-system.css Componentes (viewer, HUD, toolkit, tray, systems check, toast…)
js/webrtc-manager.js Conexión WebRTC (PeerJS): cámara, mic, pantalla
js/ar-canvas.js Capa de anotación sincronizada
js/ui.js Toast, HUD con estadísticas reales, systems check
js/notes-assistant.js Transcripción por voz + llamada al reporte
js/rtc-config.js Servidores ICE (STUN / TURN)
js/supabase-client.js Cliente de Supabase (auth + empresa)
js/logo.js Wordmark reutilizable (<Logo>)
api/report.js Función serverless: valida sesión, genera el reporte con Gemini
supabase/schema.sql Esquema de base de datos (tablas, RLS, RPCs, storage)
brand/ Assets de marca (favicons, wordmark) — ver BRAND.md
server.py Servidor estático para desarrollo local
DESIGN.md Sistema de diseño de producto
BRAND.md Identidad de marca
Ya hay cuentas reales por empresa (Supabase Auth + RLS) — eso ya no es el parche que era. Lo que falta para cobrar de verdad: medir uso por empresa (cuántos reportes/minutos), un plan/límite, y Stripe para el checkout y la suscripción. No está incluido.