polycy is a Retrieval-Augmented Generation (RAG) tool designed to quickly sift through Public Service Legislative Acts (PS LAs) based on a user's prompt and provide highly tailored, accurate responses.
The overall project is split into two parts: an Ingestion Engine and a Full-Stack Frontend. This repository contains the frontend application, which treats the processed artifacts from the ingestion engine as its absolute source of truth to serve the user interface.
- Intelligent Querying: Accept natural language user prompts to query legislative documents.
- Contextual Responses: Display highly tailored responses alongside the source artifacts used to generate them.
- Artifact Integration: Seamlessly reads and visualizes the structured data generated by the ingestion engine.
- Svelte-Powered UI: Highly reactive, lightweight, and blazing-fast user experience.
- Framework: Svelte / SvelteKit
- Styling: Tailwind CSS / bits-ui (shadcn-svelte)
- State Management: Svelte Stores / Runes
- Build Tool: Vite
- Google GenAI Framework Currently supporting gemini generative calls
- marked Markdown parsing
- pnpm Package management
Ensure you have the following installed on your machine:
- Node.js (v18+ recommended)
- npm, pnpm, or yarn
# Clone the repository
git clone https://github.com/polycy-bot/polycy-fe.git
cd polycy-fe
# Install dependencies
pnpm installThe frontend relies on the artifacts generated by the Polycy Ingestion Engine.
- Locate your generated ingestion artifacts knowledge.json
- Create a
.envfile in the root directory:
GEMINI_API_KEY=""Start the development server:
pnpm run devOpen http://localhost:5173 in your browser to see the app in action.
polycy-frontend/
├── src/
│ ├── lib/ # Helper functions, API clients, and types
│ ├── routes/ # SvelteKit pages and API endpoints
│ └── app.html # Main HTML template
├── static/ # Static assets
├── .env.example # Example environment variables
└── README.md # You are here!
