Team project · Residential community management
VecinUs
An application for residential communities, bringing incidents, facility bookings, votes, communication and documents together.
My contribution
I handled all deployments and developed much of the team’s GitHub Actions workflows and hooks. I also worked on community administration, incidents, permissions and testing, including an AI-based regression testing system that uses an LLM-as-a-judge approach.

- 15-person team
- Deployments and CI/CD
- Automated AI assistant evaluation
Deploying and maintaining a 15-person project
My main responsibility was DevOps: preparing and maintaining frontend and backend deployments, and automating the checks used across the team. I developed much of the continuous integration workflows and local hooks.
I configured Render blueprints for the different sprints and deliveries. The deployment workflow resolves the environment from the release branch, runs reusable lint and test workflows and, once they pass, triggers both deployments through hooks protected by GitHub Environments.
- CI/CD: integrating lint and Pytest, reusing workflows and removing redundant checks.
- Local hooks: Python formatting and lint, ESLint, TypeScript type checks and commit conventions.
- Supabase: scheduled queries to keep each environment’s projects active, with separate configuration and schemas.
Checking the AI assistant’s response quality
Together with a colleague, I developed an AI-based regression testing system using LLM-as-a-judge methodology, which employs a golden set of questions to evaluate the RAG assistant. This workflow runs daily or on demand, using a set of questions with context and expected answers to detect quality changes in the assistant that queries community documents.
The test mocks document retrieval and embeddings but calls the real Gemini model. A second model scores responses from 1 to 5; the check fails if the average falls below 4. A JSON report is stored as a GitHub Actions artifact so each answer can be reviewed.
This is a regression signal, not a guarantee that every answer is correct. I also worked on isolated AI feature tests with mocked external calls so they do not require credentials.
Community administration
I also worked on the community administration screen: residents, properties, invitations and refreshing information when switching communities.
The complete application includes bookings, votes, chat, documents and AI features alongside everyday management. It is a team product; the screenshots on this page show specific areas I contributed to.

Incidents, validation and permissions
- Development and refinements of the incident interface, including forms, states and user messages.
- Property updates and synchronisation when switching communities.
- Validation of images, dates, voting options and other business rules.
- Role-based permission changes for document access and AI functionality.

See the project in action
5:55What the video shows
The demo covers community setup, subscriptions using test data, invitations, chat, bookings, incidents, meeting minutes and voting. It is an overview of the shared product; my own contribution is described separately on this page.
Source code, documentation and landing page available.