About this project

## What it is LinkeGringo is an open-source web application that analyzes and rewrites LinkedIn profiles focusing on the screening criteria of technical recruiters in the United States. The starting point stated in the README is the professional presentation gap: passive descriptions centered on assignments, absence of measurable impact, and difficulty formulating idiomatic technical English. The application is published via GitHub Pages. ## User Journey The flow described in the README follows a structured pipeline: 1. **PDF Upload**: the user exports their own profile using LinkedIn's "Save as PDF" feature and drags it into the application. 2. **Inbound Diagnosis**: calculation of a weighted Inbound Readiness metric, retention funnel (Search → Card → Profile → InMail), and identification of the main bottleneck. 3. **Adaptive Technical Interview**: questions aimed at clarifying real metrics, scale limits, and architecture decisions. 4. **Fact Confirmation**: explicit review of technical facts before rewriting, with the stated goal of avoiding hallucinations. 5. **Action Hub**: three tabs — My Profile (comparative card in LinkedIn Recruiter format, before vs. after, with sections ready for transfer and character counters), Search (recruiter search simulator with MATCH, WEAK, and MISSING tags), and Launch (checklist of external LinkedIn settings, such as Open to Work, target roles, remote location, and secondary profile in English). ## Privacy and Architecture The README emphasizes an auditable privacy model: - **No backend**: the application is a Single Page Application executed only in the browser. - **BYOK (Bring Your Own Key)**: each person uses their own Google Gemini API key, obtained for free at Google AI Studio. - **Inspectable Requests**: network calls go from the browser directly to Google servers (`generativelanguage.googleapis.com`), verifiable in the DevTools Network tab. - **Local Storage**: the API key remains only in the device's `localStorage`. ## Stack and Code Organization The project is a monorepo: - `packages/core` (`@linkegringo/core`): domain, Zod schemas, types, and deterministic formulas. - `packages/ai` (`@linkegringo/ai`): Gemini provider (`@google/genai`), offline mock, and prompts. - `apps/web` (`@linkegringo/web`): SPA in React 19 with Vite and Tailwind CSS v4. Repository badges indicate TypeScript 5.7+ and integration with Gemini Flash. There are CI/CD workflows in GitHub Actions for deployment to GitHub Pages and pull request verification. ## How to Run Prerequisites: Node.js `>= 22` and pnpm `>= 11`. ```bash git clone https://github.com/Muriel-Gasparini/linkegringo.git cd linkegringo pnpm install pnpm dev ``` The development server serves at `http://localhost:5173`. Available scripts include `pnpm build` (compiles packages and web application), `pnpm typecheck` (static type checking), and `pnpm test`. ## Governance The repository includes `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md` (Contributor Covenant), and `SECURITY.md` files, as well as an MIT license. Maintenance is attributed to Muriel Gasparini.