Skip to content

cherimedz/Halcyon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Halcyon: AI Document Maker

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.


Features

  • 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 / .pdf as input
  • Multiple models — switch between free Hugging Face models (Zephyr, Phi-3, Mistral, Falcon) via the sidebar

Tech Stack

Layer Library
UI Streamlit
AI inference Hugging Face Inference API via huggingface_hub
PDF export ReportLab
Word export python-docx
PDF parsing PyPDF2

Getting Started

1. Clone the repository

git clone https://github.com/your-username/halcyon.git
cd halcyon

2. Install dependencies

pip install -r requirements.txt

3. Set your Hugging Face token

Get 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_here

or paste it directly in the app sidebar each session.

4. Run

streamlit run app.py

Usage

  1. Select a document type — Resume, Cover Letter, Structured Notes, or Report / Memo
  2. Enter your content — write a free-form prompt describing yourself or the topic, or upload a .txt/.pdf
  3. (Optional) Enable JD tailoring — paste a job posting for ATS-optimized output
  4. Generate — click Generate for a single document, or Bundle for a matched Resume + Cover Letter pair
  5. Refine — expand the section editor to tweak individual sections or rewrite them with AI
  6. Download — choose a visual theme and export as PDF, Word, or plain text

Project Structure

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

Export Themes

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

Roadmap

  • 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

License

Apache License 2.0

About

About Halcyon is a document generation app that transforms raw text and unstructured notes into polished, professionally formatted documents such as resumes, cover letters, meeting notes, and business reports. Features ATS-optimized job description tailoring, a section-by-section AI editor, one-click resume + cover letter bundles.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors