PERSONAL PROJECT · IN DEVELOPMENT

Meet Josephine.

A quiet, local-first companion for Windows. She stays out of the way until you need a hand—then helps you think, find, and get things done.

LOCAL-FIRST
Private by design
TRAY-BASED
Quiet until summoned
WINDOWS
Built for your workflow

The idea

An assistant with a sense of presence.

Josephine is envisioned as a collaborative advisor—not another tab demanding attention. A lightweight local model keeps everyday help close, while optional cloud handoffs can take on tasks that need more compute.

01

Private by default

Keep everyday conversations and inference on-device. Cloud services are an optional handoff for work that genuinely needs them.

02

There when needed

A quiet tray presence, quick activation, and automatic sleep help keep the assistant responsive without wasting laptop resources.

03

Useful, not just conversational

Josephine is designed to connect natural-language requests to real Windows actions, apps, research, and focused-work routines.

What Jo is designed to do

One companion. Many useful skills.

01 / Presence

A calm, always-ready HUD

Summon the dashboard with a global shortcut. A compact glass-style overlay gives clear listening, processing, and network feedback without taking over the screen.

System trayGlobal hotkeyPyQt6 overlay
02 / Input

Talk or type, on your terms

Push-to-talk voice input keeps the microphone under your control. Local speech recognition can turn requests into text, with screen and clipboard context available when you choose.

Push-to-talkLocal STTOpt-in context
03 / Intelligence

Local-first, cloud when useful

A small quantized model handles routing and everyday conversation. Larger, network-dependent tasks can be handed off to a cloud provider with visible status and cancellation.

Quantized GGUFIntent routingOptional cloud
04 / Actions

From request to real workflow

Launch verified apps, organize a deep-work setup, adjust supported system controls, set reminders, or gather information from the web and research sources.

App launcherWindows controlsResearch

Under the hood

A simple path from ask to action.

Each request moves through a small, understandable pipeline. The router chooses a local tool or model first, and makes network-dependent work visible.

  1. 01

    Tray & hotkey

    Quiet entry point

  2. 02

    Voice / text

    User-controlled input

  3. 03

    Command router

    Choose the right path

  4. 04

    Tools & models

    Local actions or inference

  5. 05

    Response

    HUD + offline voice

Online: local requests stay local; eligible heavy tasks can be handed off with clear status.

Offline: local features remain available; queued cloud work shows that it is waiting and can be cancelled.

The building blocks

Designed as focused modules.

Interface & lifecycle

Tray menu, overlay states, hotkey activation, idle sleep, and safe shutdown.

PyQt6 · pynput

Input & context

Push-to-talk transcription, optional clipboard context, and foreground-window awareness.

Vosk / Whisper · pywin32

Local intelligence

Quantized model inference, recent-turn context, intent classification, and controlled unload/reload.

llama-cpp-python · GGUF

Actions & safeguards

Verified app launching, supported system operations, reminders, and explicit failure feedback.

Python · Windows APIs

Voice response

Non-blocking local speech playback synchronized with the assistant's response.

Piper · sounddevice

Network handoff

Check connectivity before cloud work; show waiting state and let the user cancel.

HTTP client · network check

Made for modest hardware

Lightweight by intention.

The target is a 16 GB dual-channel laptop: use a quantized 3B model, avoid unnecessary background work, and release model memory after a short idle period.

Quantized inferenceIdle sleepOn-demand loading

Planned technology

Python 3.10+PyQt6llama-cpp-pythonGemma 3B (4-bit)Vosk / WhisperPiper TTSpynputpsutilsounddeviceWindows APIs

Model acceleration and Windows hardware integrations depend on the target machine and will be validated during implementation.

Roadmap

A deliberate path to Jo.

Start with a dependable local core, then add the interface and senses around it.

  1. 01

    Foundation

    Set up the Python application, run local GGUF inference, and establish a small command router.

    Build the core

  2. 02

    Windows actions

    Add reliable app discovery and launching, then introduce carefully scoped system controls and reminders.

    Connect useful tools

  3. 03

    Voice pipeline

    Wire in local speech recognition and offline text-to-speech without blocking the interface.

    Make it hands-free

  4. 04

    HUD & lifecycle

    Build the tray-first overlay, connect its states to the backend, and add hotkey activation.

    Bring Jo to life

  5. 05

    Polish & optimize

    Measure resource use, unload the model when idle, harden fallbacks, and package for Windows startup.

    Ready for daily use

Build log

Every update, as it happens.

Follow the latest progress and notes from building Josephine.

Less assistant theater. More getting things done.

Josephine is a work in progress—an experiment in making on-device AI feel personal, practical, and respectful of your attention.

More projects