Inspiration

While exploring Kiro and the AWS CodeWhisperer streaming client, I wanted to combine pieces that do not usually work together: an Electron desktop app, system hosts management, and AI rule generation. This fits the Frankenstein track perfectly — merging separate technologies into a practical developer tool. My own pain points testing local request hijacking inspired GhostLink.

What it does

GhostLink is a cross-platform local AI request interceptor. It intercepts application network requests, blocks or rewrites traffic, manages system hosts entries, and uses AI to automatically generate routing and blocking rules. Developers can quickly create domain hijack rules without manually editing /etc/hosts or writing complex proxy configurations. It provides two working modes: isolated in-app capture and assisted hosts modification.

How we built it

The whole project was built entirely inside Kiro IDE with Kiro Agent. Kiro helped outline the Electron main/renderer architecture, draft privileged shell helpers, iterate the interception logic, and explore the internal @aws/codewhisperer-streaming-client. Every core module, UI and helper script was drafted, debugged and polished with Kiro.

Challenges

The main difficulty is macOS permission limits for modifying the system hosts file. Raw Electron cannot capture full global OS traffic without a TUN adapter, so I built two fallback modes. It also took time to understand the authentication and payload structure of the streaming client.

What we learned

I learned how to safely wrap privileged system calls inside an Electron app, the boundaries of Chromium’s webRequest API, and how to use Kiro’s agent to rapidly prototype low-level networking utilities. This project proves an AI-native IDE can drive the full lifecycle of a desktop developer tool.

What's next

The next milestones are TUN mode for full global traffic capture, import and export for rule bundles, deeper Kiro CLI integration, preset rule templates, and a live traffic visualization panel.

Built With

Share this project:

Updates

Submission history