Show HN: Nudge: A desktop productivity pet app

eddie-b1 pts0 comments

GitHub - itsmy-bday/nudge · GitHub

/" data-turbo-transient="true" />

Skip to content

Search or jump to...

Search code, repositories, users, issues, pull requests...

-->

Search

Clear

Search syntax tips

Provide feedback

--><br>We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

-->

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

itsmy-bday

nudge

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star

main

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>1 Commit<br>1 Commit

public

public

src-tauri

src-tauri

src

src

.gitignore

.gitignore

README.md

README.md

app-icon.png

app-icon.png

index.html

index.html

package-lock.json

package-lock.json

package.json

package.json

tsconfig.json

tsconfig.json

tsconfig.node.json

tsconfig.node.json

vite.config.ts

vite.config.ts

View all files

Repository files navigation

Nudge

Productivity desktop companion that reminds user to take breaks

The problem

It's easy to lock in at your computer for hours without noticing how quickly time passes. Timers and notifications are easy to ignore since they're repetative and easy to dismiss.

Nudge makes the time spent on your computer tangible. A desktop companion gets visibly more tired the longer you work and nudges you to rest. When you actually take a break, it the companion recovers.

Features

Visual progression: character animation depends on time spent on computer without a break

Taking a break will restore the character: resting long enough to compensate for time spent without break will recover the companion

App awareness: detects focused window and maps animation to a category (Developer tools -> companion is typing)

Context-aware phrases: says phrases based on what you're doing (coding, gaming, social, etc.) and how tired the companion is

Configurable reminders, screen position, monitor, per-app categories

Activity summary: time per category, breaks taken/interrupted, longest stretch, ~31 days of history

Customizable global pause shortcut: hides overlay

Challenges

Overlay window that stays out of the way: ignoring mouse events until you hover or click on character

Mac-specific apis (focused app detection, idle-input monitoring, cursor tracking) not implemented on windows (cuz i only got a mac)

Break awareness: watching for keyboard/mouse activity to end break early

Character progression: needed to draw frames for different app categories + different faces based on how long user was working

The future

Smoother character transitions (idle -> moving to an app with enter/exit animations)

More art - different characters, polish, more categories/different appearance for time spent on computer , accesories

Launch at login

Windows support

Better actvity insights and more powerful break reminders

Installation

Requirements: macOS, Node.js, Rust, and Tauri prerequisites.

Note: Not tested on Windows.

# dependencies<br>git clone [repo url]<br>cd nudge<br>npm install

# run in dev<br>npm run tauri dev

# or build a release bundle<br>npm run tauri build

About<br>No description, website, or topics provided.<br>Resources<br>Readme<br>Activity<br>Stars<br>0 stars<br>Watchers<br>0 watching<br>Forks<br>0 forks<br>Report repository

Releases

Packages

Contributors

Languages

You can’t perform that action at this time.

json time break nudge companion search

Related Articles