This repository contains a full-stack application scaffold for a work simulation exercise. The goal is to evaluate your ability to work with AI technologies and build a simple question-answering agent.
The project consists of:
- A React frontend (
client) - A NestJS backend (
api) - A PostgreSQL database
- A sample transcript for the AI agent to analyze
- Clone this repository
- From the root of the project, start the application:
docker compose up --build
- In a new terminal, run the database migrations:
docker compose run api npm run migration:up
- Visit localhost:5173 to verify the application is running
Your task is to create a simple AI agent that can answer questions about the contents of a provided transcript. The transcript will be available in the api/data/transcript.txt file.
- Create an endpoint in the API that accepts questions about the transcript
- Implement a basic agent that can:
- Read and understand the transcript
- Answer questions about its contents
- Provide relevant quotes or references when appropriate
- Add a simple interface in the frontend to:
- Display the transcript
- Allow users to ask questions
- Show the agent's responses
Your solution will be evaluated on:
- Code organization and quality
- Implementation of the AI agent
- User interface design and experience
- Error handling and edge cases
- Documentation and comments
Plan to spend about 4 hours to complete this exercise. Focus on delivering a working solution that demonstrates your understanding of AI concepts and software engineering principles.
/api- Backend Node.js application/client- Frontend React application/api/data- Contains the transcript filedocker-compose.yml- Docker configuration for all services
In the API directory:
npm run dev- Start the development servernpm run migration:up- Run database migrationsnpm run test- Run tests
In the Client directory:
npm run dev- Start the development servernpm run build- Build for productionnpm run test- Run tests
When you're done:
- Push your changes to your fork of this repository and make it public
- Send us the link to your repository
- Include any additional notes or documentation about your implementation
Good luck!