Skip to content

FR: Add New Settings Category — Personalization Based on User Writing History #11

@salmanuc

Description

@salmanuc

Overview

Please add a dedicated Personalization section that allows Keytype to adapt to each user’s writing style entirely on-device.

The goal is to improve completion quality by learning frequently used words, phrases, terminology, and writing patterns while maintaining user privacy through local-only data storage.

Collect Inputs for Personalization

Allow Keytype to store text from monitored input fields for personalization purposes.

Suggested Behavior

  • All collected data remains stored locally on the user’s device.
  • No cloud synchronization or external transmission.
  • Clear explanation of privacy implications before enabling.
  • Ability to exclude specific applications from data collection.

Benefits

  • More accurate predictions over time.
  • Better adaptation to personal vocabulary and writing habits.
  • Improved suggestions for technical, professional, or domain-specific language.

Store Inputs Without Accepted Completions

When enabled, Keytype stores all typed text from monitored fields, even when no completion suggestion is accepted.

When disabled, only inputs associated with accepted completions are stored.

Benefits

  • Gives users a privacy-versus-learning tradeoff.
  • Allows creation of a more complete writing profile for improved personalization.
  • Lets privacy-conscious users limit data collection while still benefiting from adaptation.

Personalize Word Choice

Add a slider that controls how strongly personalization influences generated suggestions.

Example Levels

  • Off
  • Low
  • Medium
  • High
  • Maximum

Lower settings would subtly bias suggestions toward a user’s vocabulary.

Higher settings would more aggressively prioritize words, phrases, and writing patterns that appear frequently in the user’s history.

Benefits

  • Users can decide how much influence personalization should have.
  • Prevents overfitting while still enabling meaningful adaptation.

Existing Data Management

Display information such as:

  • Number of collected records
  • Estimated storage usage
  • Last training/update time

Provide management controls:

  • Delete Personalization Data
  • Reset Personalization Model
  • Export Personalization Data (optional)
  • Import Personalization Data (optional)

Benefits

  • Transparency regarding stored information.
  • Easy management and cleanup.
  • Improved user trust.

Custom AI Instructions

Add a text field that allows users to provide instructions that influence how Keytype generates completions.

This feature would function similarly to custom instructions found in modern AI assistants.

Example Use Cases

  • “Prefer concise writing.”
  • “Use a professional tone.”
  • “Avoid em dashes.”
  • “Write in British English.”
  • “Prefer technical terminology.”
  • “Use Markdown formatting when appropriate.”
  • “Keep emails polite but direct.”

Suggested Interface

Custom AI Instructions

Customize how Keytype writes by providing instructions below. Focus on information relevant to your writing style, preferences, profession, or common writing tasks.

[ Multi-line Text Box ]

Benefits

  • Allows users to shape completion behavior without model retraining.
  • Complements writing-history personalization.
  • Provides immediate customization for tone, style, formatting, and language preferences.
  • Particularly useful for professionals, developers, students, researchers, and technical writers.

Possible Implementation

A lightweight personalization layer could combine:

  1. User-provided custom instructions.
  2. Local writing-history statistics.
  3. Frequency-based vocabulary ranking.
  4. Phrase and terminology boosting.

This approach could significantly improve personalization without requiring full model fine-tuning, while preserving privacy and responsiveness.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions