Inspiration
Nowadays, everyone shops online. From groceries to clothing to hotel bookings, it is increasingly common for people to purchase all their needs and services online. However, not everyone is taught how to recognize dark patterns, design tricks that manipulate people into paying more or buying things they don’t want. They affect everyone, especially those with lower digital literacy. We built a tool that makes invisible dark patterns visible for everyone.
What it does
Sleuth is an agent that runs in the background of online shopping websites and highlights potential dark patterns such as pre-checked add-ons, fake urgency, and hidden fees on checkout pages. Hover over highlights to read explanations of dark patterns at play in plain language. Lastly, Sleuth remembers the sites you browse so you can return to potential purchases later.
How we built it
- Go agent: built in the Go builder, with a "While writing" trigger for live underlines.
- Chrome extension (MV3): reads the page, redacts emails, card numbers, and addresses, and makes the warning text focusable so Go can scan it.
- Backend: a small Node server that stores history and prices, with a dashboard where you can see or delete everything.
- Go connector: a Pack built with the Packs SDK, with 9 tools that let the agent read the history, costs, and renewals.
- ngrok: a fixed https address so Go can reach the backend running on our laptop.
- NVIDIA's free hosted model: analyzes pages for the saved history. Every flagged quote must appear word for word on the page, so it can't make findings up.
- GitHub: the project is open at github.com/hayobro7512/sleuth.
Challenges we ran into
We initially struggled with Superhuman Go’s limits, where proactive assistance was triggered only by users’ writing. Instead of abandoning the idea, we created an extension that connects to Superhuman Go, giving it access to text on any webpage.
Accomplishments that we're proud of
We are proud to have performed dark-pattern detection on checkout, signup, and cancellation pages. In addition, it highlights pre-checked add-ons, fake urgency (e.g., "3 people viewing"), hidden fees, confirm-shaming buttons, and cancellation flows that are harder than signup. Each gets a label and a cost. We are pleased to have run it live on real shopping and subscription sites. Most importantly, we are proud to have had this opportunity and made good use of it.
What we learned
We learned that Superhuman Go has limits on agent creation and accessing text, so we paired our agent with other extensions to read text more easily on other websites. This ensures transparency and helps users understand what they read, enabling them to make informed decisions.
What's next for Sleuth - Catching Dark Patterns
We aim to improve the UI, making it more user-friendly, while also expanding into terms and conditions, where it finds and highlights key points on the terms and conditions page before the user accepts. We plan to publish this and make it accessible to the general public.
VIDEO LINK HERE https://www.loom.com/share/e85cbd67fff9478faa9a2c2cae756cc8
Built With
- chrome
- claude-code
- github
- html
- javascript
- json
- ngrok
- nividia-api
- node.js
- rest-api
- superhuman-go
- typescript
Log in or sign up for Devpost to join the conversation.