I built Phtps (https://phtps-app.vercel.app/) because modern web apps frequently outgrow native fetch(), yet existing solutions often bring heavy dependency trees or rigid architectures.
Phtps is a TypeScript-first HTTP client with zero runtime dependencies that runs identically across Node.js 18+, Bun, Deno, and modern browsers. Instead of baking every edge case into core, Phtps uses an opt-in plugin model (16 plugins available):
Resilience: Exponential backoff retries with jitter and custom retry predicates.
Security: Payload encryption (AES-GCM Web Crypto) and AWS-style HMAC signing.
Performance: Simultaneous request deduplication, TTL caching, and AbortController cancellation.
Streaming & Data: First-class support for Server-Sent Events (SSE), NDJSON, and auto-pagination.
Hey HN,
I built Phtps (https://phtps-app.vercel.app/) because modern web apps frequently outgrow native fetch(), yet existing solutions often bring heavy dependency trees or rigid architectures.
Phtps is a TypeScript-first HTTP client with zero runtime dependencies that runs identically across Node.js 18+, Bun, Deno, and modern browsers. Instead of baking every edge case into core, Phtps uses an opt-in plugin model (16 plugins available):
Resilience: Exponential backoff retries with jitter and custom retry predicates.
Security: Payload encryption (AES-GCM Web Crypto) and AWS-style HMAC signing.
Performance: Simultaneous request deduplication, TTL caching, and AbortController cancellation.
Streaming & Data: First-class support for Server-Sent Events (SSE), NDJSON, and auto-pagination.
The documentation and live demo are up at https://phtps-app.vercel.app/.
I'd love your feedback on the plugin API design, edge-case handling, and what plugins you'd like to see next!