Hey 👋
I’m building an open-source project called dfsync.
It started from a pretty simple frustration:
in almost every project, I kept rewriting the same things over and over again — HTTP client, retries, auth, error handling, logging...
Each time slightly different. Each time taking more time than it should.
So I decided to extract it into something reusable.
dfsync is a toolkit for service-to-service communication.
Right now, the first package is live: @dfsync/client — a lightweight HTTP client for Node.js with predictable behavior out of the box.
No magic. Just something that works the way you expect.
---
Example
import { createClient } from "@dfsync/client";
const client = createClient({
baseURL: "https://api.example.com",
retry: { attempts: 3 }
});
const users = await client.get("/users");What I’m working on now
I’m actively moving forward with the roadmap:
• request lifecycle improvements
• better observability (logs, timing, retry metadata)
• safer integrations (validation, idempotency)
And eventually — moving a bit towards SaaS ideas around this space.
---
Why support?
I’m building this in my free time — evenings, weekends, between work and family.
If you find this useful, interesting, or just want to support the idea — buying me a coffee is a small way to help keep it going ☕️
It really makes a difference.
---
Links
GitHub: https://github.com/dfsyncjs/dfsync
npm: https://www.npmjs.com/package/@dfsync/client
Home page: https://dfsyncjs.github.io/
---
Thanks for reading
