Sift is a document search and summarization tool that leverages LLMs to help users quickly find and understand relevant information across multiple integrations.
- Search through documents stored in Google Drive
- AI-powered summarization of search results
- User-friendly web interface
- Node.js (v14 or later)
- npm (v6 or later)
- Google Cloud Platform account with Drive API enabled https://console.cloud.google.com/welcome?supportedpurview=project
- Anthropic API key for Claude AI https://console.anthropic.com/login?returnTo=/?
-
Clone the repository:
git clone https://github.com/danielortiz0220/sift.git cd sift -
Install dependencies for both frontend and backend:
npm install --save-dev @types/qs cd frontend/src npm install cd ../backend/src npm install -
Set up environment variables: Create a
.envfile in thebackenddirectory with the following content:ANTHROPIC_API_KEY=your_anthropic_api_key GOOGLE_CLIENT_ID=your_google_client_id GOOGLE_CLIENT_SECRET=your_google_client_secret GOOGLE_REDIRECT_URL=http://localhost:3000/oauth2callback PORT=8080Replace the placeholder values with your actual API keys and credentials.
-
Start the backend server:
cd backend/src npx ts-node api/api.ts -
In a new terminal, start the frontend development server:
cd frontend/src npm start -
Open your browser and navigate to
http://localhost:3000to use the application.
frontend/: React-based user interfacesrc/app/: Main application componentssrc/components/: Reusable UI components
backend/: Express.js serversrc/api/: API routes and handlerssrc/ai/: AI-related functionality (Claude integration)
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.