From 60766a21c4cc4634f25e0eeec8dd71f85b21b74c Mon Sep 17 00:00:00 2001 From: LXBStudioLLC Date: Sat, 18 Jul 2026 16:14:15 -0400 Subject: [PATCH 1/2] style(ui): plain human voice everywhere Every emoji and dingbat is gone from buttons, labels, and status messages, along with the em dashes and the mission-briefing jargon. Mission Briefing is Apply, Data Vault is Vault, Browser Nexus is Browser, LLM Nexus is AI Models, Codename is Full Name, and status lines read like a person wrote them: Application submitted. You said no. Nothing was sent. The one deliberate exception: the title bar's minimize and close glyphs stay, because they imitate standard Windows chrome. Two fixes that fell out of the sweep: the CAPTCHA message told people to click a Resume button that does not exist (it now says to finish the CAPTCHA and run the application again), and the Browser page no longer markets fingerprint evasion. It now just explains the DevTools connection, which is what the app actually does and has always done. --- CHANGELOG.md | 3 + .../Services/ApplicationOrchestrator.cs | 2 +- .../Services/LLMDetectionService.cs | 6 +- src/Envoy.UI/App.xaml.cs | 2 +- src/Envoy.UI/ApplyView.xaml | 26 +++--- src/Envoy.UI/ApplyView.xaml.cs | 48 +++++------ src/Envoy.UI/BrowserSelectionView.xaml | 20 ++--- src/Envoy.UI/BrowserSelectionView.xaml.cs | 4 +- src/Envoy.UI/DashboardView.xaml | 26 +++--- src/Envoy.UI/DashboardView.xaml.cs | 80 +++++++++---------- src/Envoy.UI/FindJobsView.xaml | 27 +++---- src/Envoy.UI/FindJobsView.xaml.cs | 35 ++++---- src/Envoy.UI/LLMSettingsView.xaml | 22 ++--- src/Envoy.UI/LLMSettingsView.xaml.cs | 12 +-- src/Envoy.UI/MainWindow.xaml | 26 +++--- src/Envoy.UI/MainWindow.xaml.cs | 20 ++--- src/Envoy.UI/ScoreboardView.xaml | 38 ++++----- src/Envoy.UI/ScoreboardView.xaml.cs | 18 ++--- src/Envoy.UI/VaultView.xaml | 32 ++++---- src/Envoy.UI/VaultView.xaml.cs | 14 ++-- 20 files changed, 232 insertions(+), 229 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index af5342b..e7072a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ All notable changes to Envoy are documented in this file. Format is based on [Ke ## [Unreleased] +### Changed +- The whole app now talks like a person. Every emoji and dingbat is gone from buttons and status messages, along with the em dashes and the mission-briefing jargon. Mission Briefing is now just Apply, the Data Vault is the Vault, Browser Nexus is Browser, LLM Nexus is AI Models, and Codename is Full Name. Status lines read like plain English ("Application submitted." instead of "MISSION ACCOMPLISHED"). The Browser page also drops the fingerprint-evasion sales pitch and now just explains how the DevTools connection works, which matches what the app actually does and has always done. + ### Added - The Scoreboard. A new view, and the first thing you see when Envoy opens: ghosts dodged, hours saved, day streak, and ghosts surfaced, with a receipts list showing every dodge alongside the evidence that was on screen when you passed. Hours saved shows its math (dodges times your own time-per-application estimate, adjustable right on the board) instead of pretending to measure something it can't. Screened and sent counts appear only as context; the board scores the system, it does not grade you. - Find Jobs feeds the ledger. Every scored result is recorded as a sighting (one per posting per day, so re-running a search inflates nothing), opening a posting records a view, and a new SKIP button on each result records the pass and clears the row. Skipping a flagged posting answers with GHOST DODGED in the status line. Day-by-day sightings are also the listing history the repost-frequency signal needs for its stronger path. diff --git a/src/Envoy.Core/Services/ApplicationOrchestrator.cs b/src/Envoy.Core/Services/ApplicationOrchestrator.cs index 474db2b..f1b8e6c 100644 --- a/src/Envoy.Core/Services/ApplicationOrchestrator.cs +++ b/src/Envoy.Core/Services/ApplicationOrchestrator.cs @@ -200,7 +200,7 @@ public async Task SubmitApplicationAsync( if (await _browser.DetectCaptchaAsync(ct)) { log.Status = ApplicationStatus.RequiresCaptcha; - await onConfirmationRequired("CAPTCHA detected. Please solve it manually in the browser window, then click Resume."); + await onConfirmationRequired("CAPTCHA detected. Envoy doesn't solve those. Finish it in the browser, then run the application again."); await _logRepo.UpdateAsync(log, ct); return log; } diff --git a/src/Envoy.Core/Services/LLMDetectionService.cs b/src/Envoy.Core/Services/LLMDetectionService.cs index 7c1c1ce..bf7115b 100644 --- a/src/Envoy.Core/Services/LLMDetectionService.cs +++ b/src/Envoy.Core/Services/LLMDetectionService.cs @@ -126,8 +126,8 @@ public string GetRecommendation(List models) { var sizeGB = bestLocal.SizeBytes.HasValue ? bestLocal.SizeBytes.Value / 1_073_741_824.0 : 0; return sizeGB >= 7 - ? $"Recommended: {bestLocal.DisplayName} — large enough for quality resume tailoring" - : $"Available: {bestLocal.DisplayName} — works but larger models produce better results"; + ? $"Recommended: {bestLocal.DisplayName}, large enough for quality resume tailoring" + : $"Available: {bestLocal.DisplayName}. It works, but larger models produce better results"; } return "No local models loaded. Pull a model in Ollama (e.g., `ollama pull qwen2.5-coder:14b`)"; @@ -184,6 +184,6 @@ private static string GetModelRecommendation(LLMModelInfo model) if (sizeGB >= 3) return "Adequate but may produce lower quality results"; - return "Small model — consider upgrading for better results"; + return "Small model. Consider a larger one for better results"; } } \ No newline at end of file diff --git a/src/Envoy.UI/App.xaml.cs b/src/Envoy.UI/App.xaml.cs index d89a842..664cea5 100644 --- a/src/Envoy.UI/App.xaml.cs +++ b/src/Envoy.UI/App.xaml.cs @@ -98,7 +98,7 @@ private static void ShowCrashError(string context, Exception ex, bool fatal) $"{head}\n\n{context}: {ex.Message}\n\n" + $"Details were saved to:\n{CrashLogPath}\n\n" + "Open the logs folder now?", - fatal ? "Envoy — fatal error" : "Envoy — error", + fatal ? "Envoy: fatal error" : "Envoy: error", MessageBoxButton.YesNo, fatal ? MessageBoxImage.Error : MessageBoxImage.Warning); diff --git a/src/Envoy.UI/ApplyView.xaml b/src/Envoy.UI/ApplyView.xaml index bd6333d..8c5fbe7 100644 --- a/src/Envoy.UI/ApplyView.xaml +++ b/src/Envoy.UI/ApplyView.xaml @@ -5,24 +5,24 @@ - - + + - + - + -