Wrappers,
not weight.
A collection of thin HTTP wrappers for the APIs your code already uses. Multiple purposes. Multiple languages. One developer-first outline across all of them.
npm install @thinwrap/notificationscomposer require thinwrap/notificationsgo get github.com/thinwrap/notifications-goconst x = new Email('sendgrid', cfg)Sms('twilio', cfg)Push('fcm', cfg)Chat('slack', cfg)Routing('google', cfg);
await x.send(input); // same call shape
const y = new Email('postmark', cfg)Sms('vonage', cfg)Push('apns', cfg)Chat('discord', cfg)Routing('mapbox', cfg);
// → result.raw preserves vendor response
// → result shape identical across providersFour pillars
- 01
Zero deps
Native
fetchon TS. PSR-18 on PHP.net/httpon Go. No vendor SDK weight. No transitive bloat. - 02
One-line switch
Swap providers with a config flag. Same call shape, same result shape, every time.
- 03
Cross-language
Identical facade names, error model, and result shapes across TypeScript, PHP, and Go. One audit, three stacks.
- 04
Docs, human & agent
Detailed per-package docs and copy-paste snippets for humans — plus the same facts as structured data an LLM can cite verbatim instead of hallucinating.
Production proof
We replaced
Ryde Mobility · @novu/providers → @thinwrap/notifications@novu/providers(50 MB transitive) with@thinwrap/notifications(60 KB, zero runtime deps) in production. Same interfaces, one-line import change, identical provider IDs. Three minutes shaved off every CI/QA/prod build.
The post-axios
supply-chain era.
In March 2026, a backdoor in axios — used in ~100M weekly downloads — reached production via the standard npm install path. It wasn't the first; it won't be the last.
Every vendor SDK you install ships dozens of transitive dependencies you didn't audit. Most of them call out to update servers, run lifecycle scripts on install, and bundle code you'll never use.
Thinwrap is one direct HTTP call to the vendor's documented endpoint. No SDK weight. No lifecycle scripts. The dependency tree your security team can actually read.
Scopes
- livenotifications
Email, SMS, push, chat across 35 providers. One facade per channel.
- livelocation
Routing, matrix, geocoding, isochrone across 6 providers. Self-host OSRM supported.
- livellm
Chat + embeddings across 18 model providers. One OpenAI-compatible facade, native Anthropic / Bedrock / Gemini.
- visionpayments
Charges, refunds, subscriptions across major payment vendors.
- visionauth-identity
SSO, OAuth flows, JWT issuance, identity provider integrations.
- visionstorage
Object storage, key-value, blob abstractions across cloud vendors.