Transform raw notes and ideas into polished, professionally formatted documents in seconds — powered by open-source AI.
Halcyon generates resumes, cover letters, meeting notes, and business reports from free-form text or uploaded files. Documents export as PDF or Word across five visual themes.
- Four document types — Resume / CV, Cover Letter, Structured Notes, Report & Memo
- ATS-optimized tailoring — paste a job description and Halcyon rewrites your resume/cover letter to mirror its keywords
- Resume + Cover Letter bundle — generate a matched pair in one click and download as a ZIP
- Section-by-section editor — edit any generated section directly, or hit "Rewrite" to regenerate just that part with AI
- Five export themes — Warm, Modern, Classic, Minimal, Creative — applied to both PDF and DOCX
- File upload — paste text or upload a
.txt/.pdfas input - Multiple models — switch between free Hugging Face models (Zephyr, Phi-3, Mistral, Falcon) via the sidebar
| Layer | Library |
|---|---|
| UI | Streamlit |
| AI inference | Hugging Face Inference API via huggingface_hub |
| PDF export | ReportLab |
| Word export | python-docx |
| PDF parsing | PyPDF2 |
git clone https://github.com/your-username/halcyon.git
cd halcyonpip install -r requirements.txtGet a free token at huggingface.co/settings/tokens, then either:
# Option A — .env file (recommended)
cp .env.example .env
# edit .env and set HF_TOKEN=hf_your_token_hereor paste it directly in the app sidebar each session.
streamlit run app.py- Select a document type — Resume, Cover Letter, Structured Notes, or Report / Memo
- Enter your content — write a free-form prompt describing yourself or the topic, or upload a
.txt/.pdf - (Optional) Enable JD tailoring — paste a job posting for ATS-optimized output
- Generate — click Generate for a single document, or Bundle for a matched Resume + Cover Letter pair
- Refine — expand the section editor to tweak individual sections or rewrite them with AI
- Download — choose a visual theme and export as PDF, Word, or plain text
halcyon/
├── app.py # Streamlit UI and app logic
├── requirements.txt
├── .env.example
│
├── utils/
│ ├── hf_client.py # Hugging Face Inference API wrapper
│ └── prompts.py # Prompt templates for each doc type
│
├── generators/
│ └── parser.py # Markdown section parser shared by all generators
│
└── exporters/
├── themes.py # Color/font theme definitions (PDF + DOCX)
├── pdf_exporter.py # ReportLab PDF export — theme-aware
└── word_exporter.py # python-docx Word export — theme-aware
| Theme | Style |
|---|---|
| 🍷 Warm | Scarlet Ember headings, Wine Shadow text — matches the app's own palette |
| 🔵 Modern | Blue accents, clean Helvetica — versatile professional look |
| ⚫ Classic | All black, Times serif — traditional formal style |
| ⬜ Minimal | Soft grey tones, generous whitespace — understated elegance |
| 🟣 Creative | Purple accent, bold headers — suited for creative roles |
- v1 — Streamlit app with HF Inference API
- v2 — Fine-tuned seq2seq model (T5-small) trained on synthetic document generation data, replacing the API dependency with a self-hosted model
- v2 — Deployment on Hugging Face Spaces
Apache License 2.0