grig-teo:~$
← back to experience

Creator & Full-Stack Developer @ Lemniscate

Lemniscate is my personal open-source project — a self-hosted web app that keeps a codebase improving with an LLM in the loop. You log in with GitHub or GitLab OAuth (or a GitVerse token), connect any OpenAI-compatible LLM endpoint (OpenAI, Azure, vLLM, Ollama, LM Studio), and the agent analyzes your repositories, proposes improvements, features and fixes, generates the code, pushes a branch and opens pull requests — on a configurable schedule. The screenshot below is the project's landing page with its one-command installer.

Lemniscate — landing page

Highlights

  • Agent loop as background jobs: a separate worker service (same Docker image) clones repos, runs the LLM loop, commits and opens PRs — queued with Redis + BullMQ
  • Bring your own LLM: base URL, API key, model name and generation parameters configured per user in the web UI — works with any OpenAI-compatible /v1/chat/completions endpoint
  • Auth via OAuth 2.0 for GitHub and GitLab; GitVerse via personal access tokens; user secrets stored encrypted
  • Backend: Node.js 22, Fastify, Prisma, PostgreSQL 16; Frontend: React 18, Vite, Tailwind CSS, shadcn/ui, TanStack Query
  • One-command idempotent installers for Linux and macOS bootstrap Docker, generate secrets and start the full stack via Docker Compose
  • Live console streams the agent's reasoning, edits, commits and pushes in real time over SSE

Tech stack

Node.js 22 · TypeScript · Fastify · Prisma · PostgreSQL 16 · Redis · BullMQ · React 18 · Vite · Tailwind CSS · shadcn/ui · TanStack Query · Docker / Docker Compose · OAuth 2.0 (GitHub, GitLab, GitVerse) · OpenAI-compatible LLM API · SSE

Lemniscate — Experience | grig-teo