A modern web application that leverages AI and vector search to help users find relevant job postings. Built with SvelteKit, Weaviate, and Ollama.
- AI-Powered Search: Utilizes vector embeddings for semantic job search
- Modern Web Interface: Built with SvelteKit and Tailwind CSS
- Vector Database: Uses Weaviate for efficient similarity search
- Local LLM Integration: Supports local language models via Ollama
- Responsive Design: Works on desktop and mobile devices
- Docker and Docker Compose
- Node.js (v18 or later)
- PNPM package manager
- Ollama for local LLM support
-
Clone the repository
git clone <repository-url> cd jobsearch-ai
-
Set up the backend
cd data docker compose up -d
-
Install Ollama and required models
ollama pull llama3.2:3b ollama pull nomic-embed-text
-
Run the data pipeline
# In the data directory python 1.scrape_jobs.py python 2.jobs_fix.py python 3.quickstart_check_readiness.py python 4.quickstart_create_collection.py python 5.quickstart_import.py
-
Set up the frontend
cd ../app pnpm install pnpm run dev
-
Open your browser Visit
http://localhost:5173
to access the application
/app
- Frontend SvelteKit application/data
- Data processing scripts and Weaviate configurationscrape_jobs.py
- Job scraping scriptjobs_fix.py
- Data cleaning and processingquickstart_*.py
- Weaviate setup and data import scriptsdocker-compose.yml
- Weaviate container configuration
- Frontend: SvelteKit, TypeScript, Tailwind CSS, DaisyUI
- Backend: Weaviate (vector database)
- AI/ML: Ollama with LLaMA 3.2 and Nomic Embed Text models
- Data Processing: Python
This project is licensed under the MIT License - see the LICENSE file for details.