Show HN: Decoy – A native Mac app for mocking HTTP endpoints locally
decoy-app.comHey HN, I'm Achilleas. I built Decoy because I didn't feel like running Docker every time I needed to test some webhooks. All I really wanted was to return a custom response on localhost to test my application code interacting with external systems.
Decoy is a native Mac app (SwiftUI + Network.framework) that lets you create mock HTTP endpoints. You pick a method, define a response (JSON, HTML, XML, a file, a redirect), and it just works. Incoming requests show up in real time with full headers and body, which is handy for debugging webhooks. It supports parameterized paths like /users/:id and you can group endpoints into projects with subdomain support. Requests are persisted to SQLite immediately and CORS is handled automatically.
To be clear about what it isn't: it doesn't send requests (not a Postman replacement), it's not a proxy, and it's Mac only.
It's $24.99 on the Mac App Store, one-time purchase. I'm an indie developer — no team, just me building tools I want to use myself.
Happy to answer questions about Decoy!
Don’t want to dissuade you and happy that there are alternatives. But why would I pick it over mockoon
Mockoon is open source and is a lot more mature. What does decoy offer that is different
Fair question. The reason I built Decoy is that I wanted a good looking native macOS app. I hadn't really considered Mockoon to be honest, but looking at it now I can see a few differences that might be worthwhile in choosing between the two.
Decoy is 10 MB vs Mockoon's 329 MB and looks and feels differently because it is a native vs cross platform app.
Mockoon seems to have lots of great features such as online mocks and proxies for which you can pay their monthly fee or you could have a lighter weight app that does one thing well natively for a one time fee purchase.
I also notice that Mockoon calls home even when I don't have an account, probably for some sort of tracking. There is no tracking in Decoy.
So overal I think it is about lightness of the applications and UX.
Pretty useful, makes it a lot easier to work around tools that don't have a proper sandbox or ability to test webhooks.