• Blog
  • Docs
  • Pricing
  • We’re hiring!
Log inSign up
nbbaier

nbbaier

brrr

Send push notifications to the brrr app (brrr.now)
Public
Like
brrr
Home
Code
4
README.md
client.ts
main.ts
types.ts
Connections
Environment variables
Branches
1
Pull requests
Remixes
History
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Sign up now
Code
/
Code
/
Search
README.md

brrr πŸ“³

A Val Town library for sending push notifications via brrr.now.

Setup

  1. Install the brrr app on your iPhone/iPad
  2. Copy your webhook secret from the app (looks like br_usr_a1b2c3...)
  3. Add it as an environment variable called BRRR_SECRET in your val

Usage

import { Brrr, send } from "https://esm.town/v/nbbaier/brrr/main.ts"; // One-liner β€” reads BRRR_SECRET from env await send("Hello world! πŸš€"); // With options await send({ title: "Deploy Complete", message: "v1.2.0 shipped to production", sound: "cha_ching", open_url: "https://example.com/releases", }); // Class-based β€” reuse for multiple notifications const brrr = new Brrr(); await brrr.send("First notification"); await brrr.send({ title: "Second", message: "With a title" });

Passing the secret explicitly

// Bare secret const brrr = new Brrr("br_usr_a1b2c3d4e5f6g7h8i9j0"); // Full webhook URL const brrr = new Brrr("https://api.brrr.now/v1/br_usr_a1b2c3d4e5f6g7h8i9j0"); // Config object const brrr = new Brrr({ secret: Deno.env.get("MY_CUSTOM_SECRET")! }); // One-liner with explicit secret await send("Hello!", "br_usr_a1b2c3d4e5f6g7h8i9j0");

API Reference

Brrr class

new Brrr(config?)

Create a client. config can be:

  • omitted β€” reads BRRR_SECRET from environment
  • a string β€” treated as the secret (bare br_usr_... or full URL)
  • an object β€” { secret: "br_usr_..." }

brrr.send(notification)

Send a push notification. notification can be:

  • a string β€” sent as plain text message body
  • a BrrrOptions object β€” full control over title, sound, etc.

Returns the raw Response from the brrr API.

send(notification, config?)

Standalone function β€” creates a client and sends in one call.

BrrrOptions

FieldTypeDescription
titlestringFirst line of the notification
subtitlestringLine under the title
messagestringPrimary content
thread_idstringGroup related notifications together
soundBrrrSoundNotification sound (see below)
open_urlstringLink to open on tap
image_urlstringImage displayed in the notification
expiration_datestringISO 8601 date for APNS retry deadline
filter_criteriastringMatch a Focus filter on the device
interruption_level"passive" | "active" | "time-sensitive"How the notification interrupts

Available Sounds

default, system, brrr, bell_ringing, bubble_ding, bubbly_success_ding, cat_meow, calm1, calm2, cha_ching, dog_barking, door_bell, duck_quack, short_triple_blink, upbeat_bells, warm_soft_error

Links

  • brrr app
  • brrr docs
Code
README.mdclient.tsmain.tstypes.ts
FeaturesVersion controlCode intelligenceCLIMCP
Use cases
TeamsAI agentsSlackGTM
DocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
AboutAlternativesPricingBlogNewsletterCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Open Source Pledge
Terms of usePrivacy policyAbuse contact
Β© 2026 Val Town, Inc.