Skip to content

Enhance espresso profile creation with modern barista persona and detailed user guidance#16

Merged
hessius merged 3 commits intomainfrom
copilot/enhance-espresso-profiles
Jan 9, 2026
Merged

Enhance espresso profile creation with modern barista persona and detailed user guidance#16
hessius merged 3 commits intomainfrom
copilot/enhance-espresso-profiles

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Jan 9, 2026

Upgrades LLM prompting for espresso profiling to support complex extraction techniques, creative naming, and comprehensive user feedback.

Changes

Enhanced LLM Prompting

  • Barista persona: Modern, experimental barista with expertise in cutting-edge techniques (multi-stage extraction, pre-infusion, blooming, pressure profiling)
  • Profile naming: Witty, pun-heavy names with clarity (e.g., "Slow-Mo Blossom", "Pressure Point", "Espresso Yourself")
  • User summaries: Post-creation output includes preparation instructions, design rationale, and special equipment requirements

Code Structure

Extracted duplicated prompt sections into constants:

BARISTA_PERSONA = "You are a modern, experimental barista..."
PROFILE_GUIDELINES = "Support complex recipes: multi-stage extraction..."
NAMING_CONVENTION = "Create a witty, pun-heavy name..."
OUTPUT_FORMAT = "Profile Created: [Name]\nDescription: ..."
USER_SUMMARY_INSTRUCTIONS = "After successful creation, provide..."

# Prompts now compose these sections instead of repeating them
final_prompt = (
    BARISTA_PERSONA +
    f"Coffee Analysis: '{coffee_analysis}'\n" +
    PROFILE_GUIDELINES +
    NAMING_CONVENTION +
    USER_SUMMARY_INSTRUCTIONS +
    OUTPUT_FORMAT
)

Documentation

  • Added "Enhanced Barista Experience" section with sample dialogues showing different usage scenarios
  • Documented naming philosophy and profile customization options
  • 6 new tests validating prompt content (26 total, 100% coverage)
Original prompt

This section details on the original issue you should resolve

<issue_title>Enhance espresso profile creation and barista interaction</issue_title>
<issue_description>## Overview
Enhance the LLM prompting and barista experience for espresso profiling in the coffee-relay server.

Requirements

  1. Complex Profiles
    • Expand profile creation prompts to support more complex and detailed espresso recipes (e.g., multi-stage extraction, multiple pre-infusion & blooming steps etc).
  2. Barista Persona Improvements
    • Update the LLM barista persona to represent a modern, experimental barista in both style and recommendations.
  3. User Information
    • After profile creation, notify user with a brief summary:
      • What was created
      • How it should be prepared
      • Why the recipe/profile is designed as such
      • Inform user of any special gear/requirements (e.g., bottom filter, specific dosage like 20g, unique preparation steps).
  4. Profile Naming
    • Name all new profiles with witty or pun-heavy names, balancing creativity with clarity about the profile specifics.

Acceptance Criteria

  • Profile prompts accept and handle richer recipe inputs.
  • LLM persona reflects a modern experimental barista (with a touch of personality).
  • Profile creation flow includes post-creation summary and requirements for the user.
  • All generated profile names are witty, punny, and relevant to the recipe specifics, but not cryptic.
  • Documentation is updated with sample dialogues and naming conventions.

Context: Improves user engagement, recipe guidance, and the overall personality of the espresso profiling experience.</issue_description>

Comments on the Issue (you are @copilot in this section)


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 2 commits January 9, 2026 21:17
…ailed guidance

- Add modern experimental barista persona to LLM prompts
- Support complex recipes: multi-stage extraction, pre-infusion, blooming
- Implement witty/punny profile naming conventions with examples
- Add post-creation user summaries with preparation instructions and design rationale
- Update documentation with sample dialogues and naming philosophy
- Add 6 new tests for enhanced features (26 total, 100% coverage)

Co-authored-by: hessius <1499030+hessius@users.noreply.github.com>
- Extract common prompt sections into reusable constants
- Fix 'courser' -> 'coarser' spelling errors in README
- Improve code maintainability without changing functionality
- All 26 tests still pass with 100% coverage

Co-authored-by: hessius <1499030+hessius@users.noreply.github.com>
Copilot AI changed the title [WIP] Enhance espresso profile creation and barista interaction Enhance espresso profile creation with modern barista persona and detailed user guidance Jan 9, 2026
Copilot AI requested a review from hessius January 9, 2026 21:22
@hessius hessius marked this pull request as ready for review January 9, 2026 21:56
@hessius hessius merged commit c9b407c into main Jan 9, 2026
4 checks passed
@hessius hessius deleted the copilot/enhance-espresso-profiles branch January 9, 2026 21:59
hessius added a commit that referenced this pull request Jan 22, 2026
Enhance espresso profile creation with modern barista persona and detailed user guidance
hessius added a commit that referenced this pull request Mar 18, 2026
Comprehensive sweep of all user-facing error/failure messages across
15+ components and hooks. Added ~35 new error translation keys to all
6 locales (en/sv/de/es/fr/it).

Also addresses PR #285 review comments:
- #16: Added i18n exemption comment for SHOT_QUOTES (cultural refs)
- #19: Added per-item dict validation in apply-recommendations endpoint
- #20: Removed unreachable dead branch in VariableAdjustPanel
- #22: Replaced hardcoded ' failed' concat with dedicated i18n key
- #23: Replaced hardcoded 'Failed to apply recommendations' with i18n

Files changed: ExpertAnalysisView, RecommendationSelectionDialog,
FindSimilarOverlay, ProfileRecommendations, ProfileCatalogueView,
ProfileImportDialog, SyncReport, SettingsView, RunShotView,
ShotAnalysisView, PourOverView, VariableAdjustPanel, SearchingLoader,
useHistory, useShotHistory, useUpdateStatus, useUpdateTrigger,
profiles.py, + all 6 locale translation.json files.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
hessius added a commit that referenced this pull request Mar 25, 2026
Comprehensive sweep of all user-facing error/failure messages across
15+ components and hooks. Added ~35 new error translation keys to all
6 locales (en/sv/de/es/fr/it).

Also addresses PR #285 review comments:
- #16: Added i18n exemption comment for SHOT_QUOTES (cultural refs)
- #19: Added per-item dict validation in apply-recommendations endpoint
- #20: Removed unreachable dead branch in VariableAdjustPanel
- #22: Replaced hardcoded ' failed' concat with dedicated i18n key
- #23: Replaced hardcoded 'Failed to apply recommendations' with i18n

Files changed: ExpertAnalysisView, RecommendationSelectionDialog,
FindSimilarOverlay, ProfileRecommendations, ProfileCatalogueView,
ProfileImportDialog, SyncReport, SettingsView, RunShotView,
ShotAnalysisView, PourOverView, VariableAdjustPanel, SearchingLoader,
useHistory, useShotHistory, useUpdateStatus, useUpdateTrigger,
profiles.py, + all 6 locale translation.json files.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Enhance espresso profile creation and barista interaction

2 participants