Sign inSign up

giggsodocker/reveilio

By giggsodocker

•Updated 5 months ago

LLM-powered resume-to-job-description matching with an interactive web interface.

Image
Machine learning & AI
Developer tools
0

230

giggsodocker/reveilio repository overview

reveilio logo

⁠reveilio

LLM-powered resume-to-job-description matching with an interactive web interface.

Upload a JD and resumes (or a zip of many), pick a provider, get ranked candidates with explainable scores, strengths/weaknesses, interview questions, and downloadable PDF reports. Optional database persistence for SQLite, PostgreSQL, MySQL, or MongoDB.


⁠Quick start

bash docker run -p 8501:8501 -v reveilio-data:/data giggsodocker/reveilio:latest

Open http://localhost:8501⁠.

⁠With docker compose
yaml
services:
  reveilio:
    image: giggsodocker/reveilio:latest
    ports:
      - "8501:8501"
    volumes:
      - reveilio-data:/data
    environment:
      - GEMINI_API_KEY=${GEMINI_API_KEY:-}
      - OPENAI_API_KEY=${OPENAI_API_KEY:-}

volumes:
  reveilio-data:

docker compose up


⁠Features

Multi-format inputPDF, DOCX, DOC, TXT, raw text, zip of resumes
Bring your own LLMGemini, OpenAI, Azure OpenAI, Ollama
7-dimension scoringSkills, semantic skills, experience, education, certifications, soft skills, domain relevance — each with reasoning
ExplainableStrengths, weaknesses, career flags, KPIs, 120-word executive summary, suggested interview questions
PDF reportsPer-candidate detail report + batch ranking summary
Database storageSQLite (default), PostgreSQL, MySQL, MongoDB — query/filter/delete via UI
No authDesigned for localhost / private network only

⁠Pages

  1. Configure — pick LLM provider, enter credentials, optionally connect a database.
  2. Analyze — upload JD + resume(s), view ranked results, optionally save to DB.
  3. Database — browse / filter / delete stored analyses.
  4. Reports — download PDF reports.

⁠Environment variables

All optional. UI form values override env vars.

VariablePurpose
GEMINI_API_KEY / GOOGLE_API_KEYGemini provider
OPENAI_API_KEYOpenAI provider
AZURE_OPENAI_API_KEYAzure OpenAI provider
AZURE_OPENAI_ENDPOINTAzure endpoint URL
AZURE_OPENAI_DEPLOYMENTAzure deployment name
AZURE_OPENAI_API_VERSIONAzure API version
OLLAMA_BASE_URLSelf-hosted Ollama URL (e.g. http://host.docker.internal:11434)

⁠Volumes

PathPurpose
/dataSQLite DB + any persisted analyses. Default DB path: /data/reveilio.db.

Wipe everything: docker compose down -v (or docker volume rm reveilio-data).


⁠Ports

PortService
8501Streamlit UI

⁠Connecting external databases

PostgreSQL / MySQL / MongoDB not bundled — bring your own.

  • macOS / Windows: use host.docker.internal to reach host DB.
  • Linux: use host bridge IP (172.17.0.1) or join the same Compose network.
  • Managed (RDS, Cloud SQL, Atlas): use the public hostname.

⁠Image internals

  • Base: python:3.11-slim
  • antiword installed for legacy .doc parsing
  • reveilio library installed with [all-db] extra (every backend works without rebuild)
  • Streamlit + pandas for the UI
  • Healthcheck: GET /_stcore/health every 30s

⁠Security

  • No authentication. Do not expose port 8501 publicly. Use a reverse proxy with auth, a VPN, or localhost only.
  • API keys live in Streamlit session state — never written to disk.
  • Uploaded files written to tempfile paths inside the container, cleaned by OS.

⁠Tags

TagMeaning
latestMost recent stable build
0.1.1Pinned UI release

⁠Library vs. image

This image bundles the Streamlit UI built on top of the reveilio Python library. If you want to integrate reveilio into your own Python code, install from PyPI instead:

bash pip install reveilio

The image and the wheel are independent distribution channels — the wheel contains only src/reveilio/ and has no Streamlit dependency.



⁠License

MIT

Tag summary

Content type

Image

Digest

sha256:bff5be2bf…

Size

200.4 MB

Last updated

5 months ago

docker pull giggsodocker/reveilio