Skip to content

Discuss and document architecture

Now that we're through the "R&D prototype" phase we can step back and reflect on the technology stack and architecture.

I spoke with @gridinoc today and we're thinking that the following high level architecture is where we would like to move:

  1. An LLM Deployment (possibly more in future, starting with one)
  2. A Python API / backend.
  3. A TypeScript client / frontend (React, possibly Vite as builder).

This would translate to three separate repositories (one per architecture component), each set up with their own CI / CD and deployment strategy.

The current prototype combines the backend and frontend into a single code base and application, so implementing this architecture will involve the following "major" steps:

  1. Converting the NextJS backend components into the python API and creating a swagger specification for the API.
  2. Converting the NextJS frontend components into the React / Vite context
  3. Selecting and then deploying the FOSS LLM
  4. Updating the python backend to use the new LLM