Skip to content

Architecture

Vivek Raman edited this page Feb 19, 2026 · 4 revisions

The application is built as two separate modules: the Backend and the Frontend. The backend is responsible for performing all of the file changes and AI interactions. The frontend is the interface that the user sees and manipulates.

sequenceDiagram
    participant User
    box Latex Doc Builder
        participant Frontend
        participant Backend
    end
    participant LLM

    User->>+Frontend: Requests a change in the document
    Frontend->>+Backend: Invokes using credentials
    Backend->>+LLM: Asks AI to make the change
    LLM->>-Backend: AI returns steps to change doc
    Backend->>-Frontend: Document updated
    Frontend->>-User: Refreshes to see updated document
Loading

Backend

The backend is built using Python (see Tech-stack).

  • It is a FastAPI server built using the click library.
  • It uses platformdirs to store user configuration.
  • langgraph is used to interact with an LLM and incorporate agentic tooling.
  • It performs file reads and writes using Python's native os library.

The server is bundled using pyinstaller, which creates a standalone binary executable file.

Frontend

The frontend is a native desktop app built using Tauri, a cross-platform native application development framework.

  • The interface is built on top of Tauri using React.
  • UI components are designed based on ShadCN and Tailwind CSS libraries.

Tauri has powerful packaging options, enabling easy integration of the two modules.

Integration

Tauri has a provision to bundle and interact with external binaries called Sidecar. It also provides a Sidecar API for the frontend to interact with the binaries.

  • The build process first creates the Python standalone executable binary.
  • The binary is copied into the Tauri codebase.
  • Tauri creates a package and bundles the binary along with the UI.
  • The final output is an installable program that includes the backend program within itself.

Clone this wiki locally