A prank with a delayed payoff
PlotTwist started with a friend who had been spoiled and wanted revenge. I turned that idea into a published Chrome extension for people who enjoy absurd humor: it interrupts Netflix or Prime Video with a quiz about something that has not happened yet.
I designed and built the concept, interface, extension, API, tests, and deployment alone. The original target was ambitious: make the prank work whatever film or series was playing on either supported platform.
Spoiling at exactly the wrong moment
PlotTwist waits long enough for the viewer to settle into the episode. It preloads a quiz after one minute, then pauses active playback after two minutes and presents three choices. Once the viewer answers, the missing part of the spoiler is revealed and playback can resume.

An extension backed by a protected API
Platform adapters read only the active viewing context and detect changes in Netflix and Prime Video. The quiz appears inside an isolated Shadow DOM overlay styled for the current service. English and French copy, keyboard focus, loading feedback, and reduced-motion preferences are handled by the extension.
Generation happens on a separate Node.js API so provider credentials never enter the browser package. The production configuration used DeepSeek V4 through an OpenAI-compatible interface. Quizzes are validated and cached locally; one spoiler is allowed per episode and three per day, primarily to keep AI costs under control.

Result
People who tried PlotTwist loved the prank, and the finished system taught me how Chrome extensions coordinate content scripts, a background worker, local storage, and a remote API. The website, privacy page, API, and installable package are published; Chrome Web Store distribution is still being prepared.
The current version supports Chrome, Netflix, and Prime Video. Platform markup can change, and the server limiter will need shared storage if the API scales horizontally. A future version could let each person configure a key, budget, and daily spoiler allowance without editing code. The source is public and an open-source license still needs to be added.
