Easy-to-manage touch screens
Free, open-source touch screens. Guided USB setup, a drag-and-drop editor and local control. Made for Home Assistant.
Witty excuses, one tap away. Download Pocket-No for iPhone on the App Store.
LifestyleTypeScript · JavaScriptGitHub @ChinteyleyOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
One-tap “no” generator. Copy. Done.
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Pocket-No is a small Expo app for one job: generate a sharp, funny, low-friction way to say no and copy it immediately.
The app ships the core screen, a quick-copy route, an API-backed reason feed, and native shortcuts so the same "give me a no now" action can work from more than one surface.Read the full README ↗Pocket-No is a small Expo app for one job: generate a sharp, funny, low-friction way to say no and copy it immediately.
The app ships the core screen, a quick-copy route, an API-backed reason feed, and native shortcuts so the same "give me a no now" action can work from more than one surface.
/copy./api/no.expo-quick-actions@bacons/apple-targets.
├── app.json
├── app.config.ts
├── reason.json
├── plugins/
│ └── with-screenless-quick-copy.js
├── targets/
│ └── pocket-no-shortcuts/
└── src/
├── app/
│ ├── _layout.tsx
│ ├── api/no+api.ts
│ └── (app)/
│ ├── _layout.tsx
│ ├── copy.tsx
│ └── index.tsx
├── components/no/
├── features/no/
└── hooks/
reason.json is the source catalog for the larger pool of lines. The API route in src/app/api/no+api.ts returns a normalized random entry from that file via src/features/no/json-catalog.ts.
UI flows call fetchFreshNoReason() from src/features/no/no-reason-service.ts. If the API fails, the client falls back to a smaller in-app catalog from src/features/no/catalog.ts.
Deep links and native entry points route into the quick-copy screen with an entry param so the app can explain whether the copy came from the main app or the action button shortcut.
bun install
bun run start
Common targets:
bun run ios
bun run android
bun run web
Lint:
bun run lint
Test:
bun run test
app.config.ts reads EXPO_PUBLIC_SITE_ORIGIN and passes it into the Expo Router plugin when present. Set it for web/server output and for native builds that need to call the Expo API route from the client.
Example:
EXPO_PUBLIC_SITE_ORIGIN=https://pocketno.example.com bun run web
This repo includes iOS-specific shortcut work:
expo-quick-actionstargets/pocket-no-shortcutsplugins/with-screenless-quick-copy.jsNotes:
Most content changes start in reason.json.
Guidelines:
src/app/(app)/index.tsx: main Pocket-No screensrc/app/(app)/copy.tsx: quick-copy routesrc/app/api/no+api.ts: random reason APIsrc/features/no/no-reason-service.ts: clipboard orchestrationsrc/features/no/json-catalog.ts: normalized reason.json loadersrc/features/no/deep-links.ts: route/scheme helpersplugins/with-screenless-quick-copy.js: iOS target/resource wiringtargets/pocket-no-shortcuts/copy-no-action.swift: App Intent copy implementation