# Overview

CVSmia is a Windows Forms application for loading, tailoring, validating and AI-assisted processing of resumes based on the jsonresume format.

Key features:
- Load source data from file, GitHub, or supported import modules.
- Build a tailored resume by selecting content from source data into a separate target tree.
- Validate JSON against the configured jsonresume schema before saving or exporting.
- Preview the result in the built-in viewer.
- Use dedicated modules such as `AI-Customizer`, `AI Assisted CV Manipulator`, `JsonResumeConverter`, `Matcher`, `Cognitive`, and `Validation`.
- Control AI behavior through shared settings and module-specific prompts and presets.

Core concepts:
- Source data: the left-side input, either as tree data or raw text depending on module.
- Tailored resume: the edited or selected result you want to save, export, preview, or refine.
- Validation: schema-based feedback and correction flow for invalid JSON.
- AI modules: optional licensed modules that either restructure, rewrite, or transform source content.

Module overview:
- `Customizer`: build a tailored resume manually from structured source data.
- `AI-Customizer`: select relevant content against a job ad with AI support.
- `AI Assistert CV Manipulator`: send source text plus an instruction to the configured AI model and inspect the result side by side. The module requires its own paid license.
- `JsonResumeConverter`: convert raw text into jsonresume with AI-first flow and local fallback.
- `Matcher`: compare resume data with a job description.
- `Cognitive`: get language suggestions and rewrites.
- `Validation`: inspect and fix schema errors.

Diagram:

![UI overview](images/overview_ui.svg)
