Product Introduction
- Definition: Decoy is a native macOS mock server application enabling developers to create local mock services for API testing, webhook simulation, and webpage mocking without external dependencies.
- Core Value Proposition: It eliminates the complexity of Docker, cloud tunnels, and Electron apps, providing a lightweight (10MB), instant-start solution for testing API failures, redirects, timeouts, and web scraping in isolated local environments.
Main Features
- Endpoint Configuration: Define HTTP methods (GET, POST, etc.) and path pairs (e.g.,
/users/:id), grouped into projects with custom subdomains (e.g.,api.decoy.my). Uses parameterized paths for dynamic routing. - Real-Time Request Monitoring: View incoming requests with headers, body (auto-formatted JSON), source IP, and timestamps. All requests are persisted to SQLite immediately, ensuring zero data loss.
- Dynamic Response Mocking: Craft responses with 7 body types (JSON, HTML, XML, File, etc.), custom status codes (including redirects: 301, 302), headers, and simulated latency. Changes apply on the next request.
- CORS & Browser Support: Automatic CORS handling allows seamless browser-based testing. Serve full HTML webpages for scraping/AI agent testing without rate limits.
- Native Performance: Built with SwiftUI and Network.framework, launching instantly with minimal memory usage. No background processes or config files required.
Problems Solved
- Pain Point: Overreliance on Docker containers, cloud tunnels (ngrok), and heavy Electron apps for mock testing, leading to slow iteration and bloated systems.
- Target Audience: macOS developers testing webhooks/APIs, QA engineers simulating failures, data engineers validating scrapers/AI agents, and indie hackers prototyping integrations.
- Use Cases:
- Test webhook payloads from production apps locally.
- Validate API wrapper error handling (e.g., 5xx responses).
- Mock third-party services (Stripe, Slack) during development.
- Serve dummy HTML pages to train web scrapers without IP blocks.
Unique Advantages
- Differentiation: Unlike Docker-based tools (Postman, WireMock) or Electron apps, Decoy offers a truly native macOS experience with zero setup, instant startup, and 10MB footprint. Outperforms cloud solutions by keeping data local.
- Key Innovation: SQLite persistence ensures request history survives app restarts. Parameterized paths and response snapshots enable complex testing workflows without code.
Frequently Asked Questions (FAQ)
- Does Decoy require Docker or cloud dependencies?
No. Decoy is a standalone native macOS app requiring no Docker, cloud tunnels, or external services. - Can I test webhooks locally with Decoy?
Yes. Point external services todecoy.my:8998(or custom domains likelvh.me) to capture and mock webhook requests locally. - How does Decoy handle security and privacy?
All data stays on-device via local SQLite storage. No tracking, telemetry, or cloud sync. - What macOS versions are supported?
Decoy requires macOS 14 Sonoma or later, leveraging modern SwiftUI and Network.framework APIs. - Can I mock binary file responses (e.g., images/PDFs)?
Yes. Use the File body type to serve any file from disk. Binary request bodies display as hex dumps.
