Contest transparency
A complete audit of the original specification.
Every material requirement from the brief is listed below. The table distinguishes what Annotated already meets, where the implementation improves on the proposed mechanism, what waits for release, and what deserves product discussion.
22
Met or improved
4
Postponed
4
To be discussed
Shipping in the MVP
Met / improved
Requirements implemented as specified, plus places where a source-native or more accountable approach better serves the same intent.
| # | Original requirement | Result | Implementation decision |
|---|---|---|---|
| 01 | Sidebar Chrome extension as the primary capture surface | Met | Annotated ships as a Manifest V3 Chrome side-panel extension for capturing the page a user is currently viewing. The web composer remains a useful secondary surface. |
| 02 | Use the current page or paste a source URL | Met | The extension reads the active tab and its selection; the web composer also accepts a pasted HTTPS source URL. |
| 03 | Account creation and Google login | Met | Google OAuth is the MVP authentication path. Publishing is tied to an attributable profile, while public annotations remain readable without an account. |
| 04 | News article and web-text annotation | Met | Users can highlight text on a page, bring it into the extension, add commentary and publish it with source metadata. |
| 05 | Maximum 100-word text excerpt | Met | The 100-word ceiling is enforced in the extension, web composer, shared API contract and database. |
| 06 | Select media start and end points | Met | Video and podcast annotations store explicit start and end timestamps and reject invalid or overlong ranges. |
| 07 | Maximum 90-second audio and video segment | Met | The 90-second limit is enforced at composition and validation time, and supported players stop at the chosen end mark. |
| 08 | YouTube clipping and reduced-copy fair-use approach | Improved | Instead of downloading and rehosting a 240p copy, Annotated uses YouTube’s official source-native embed with native controls and bounded playback. This preserves attribution and avoids creating a replacement media file. |
| 09 | YouTube transcript and playback context | Improved | The source-native player preserves YouTube captions and playback controls, and every annotation links to the original page. Annotated does not republish a copied full transcript as substitute content. |
| 10 | Podcast snippets | Improved | Spotify episode pages are detected by the extension and rendered through Spotify’s source-native player with playback bounded to the selected segment. |
| 11 | Required commentary in text or recorded audio | Improved | Publishing requires at least 10 words of written commentary or a recorded audio note of at least 10 seconds. Both formats are supported in the web app and extension. |
| 12 | Public annotation landing page with an intelligent URL | Met | Every public annotation receives a dedicated page and a readable slug derived from the source title, containing the excerpt or bounded media segment and the author’s commentary. |
| 13 | Always link and credit the original source | Met | Landing pages display source title, domain and available author or publisher metadata beside a prominent link to the original URL. |
| 14 | Article screenshot support | Improved | The extension supports region capture, WebP compression and guarded private storage rather than relying on an uncontrolled full-page copy. |
| 15 | Visible ‘File a claim’ action | Met | Every public annotation page contains a clearly visible rights or attribution claim action connected to the annotation and claimant details. |
| 16 | Fair-use claim adjudication | Improved | Claims enter an administrator queue for @timo. Accepted claims block the annotation; rejected claims record the review decision and leave the annotation available. |
| 17 | Annotations saved to each account | Met | Authors have a profile stream and an owner library for their public, unlisted, private and draft annotations. |
| 18 | Public homepage with the latest annotation feed | Met | The homepage combines the extension call-to-action with a public latest-first feed of published annotations. |
| 19 | Follow annotators and browse a following feed | Met | Users can follow profiles, discover annotators and switch between the latest public feed and annotations from people they follow. |
| 20 | Threaded discussion under an annotation | Met | Signed-in users can comment beneath annotations, with discussions available on both feed cards and dedicated landing pages. |
| 21 | Positive community voting | Met | The MVP includes persistent Likes as the positive voting signal, shown with counts on feed cards and annotation pages. |
| 22 | Sharing and access controls | Improved | Beyond the public contest flow, authors can keep work private, publish unlisted share links, bookmark annotations and manage their own library. |
Release dependencies
Postponed
Agreed requirements that depend on final production URLs, provider setup or public distribution.
| # | Original requirement | Result | Implementation decision |
|---|---|---|---|
| 01 | X login | Postponed | X OAuth will be configured after the final public URL, privacy page and production callback are available during live release. |
| 02 | Apple Podcasts bounded playback | Postponed | Apple Podcasts URLs are detected, but Spotify is the supported podcast provider for the MVP. Apple playback follows when an equally reliable bounded integration is validated. |
| 03 | Live service on the canonical domain | Postponed | Production hosting and the canonical public URL are part of the release phase after the remaining MVP behavior and configuration are verified. |
| 04 | Packaged extension distribution | Postponed | The Chrome extension builds successfully. Store packaging, review and public installation instructions will be completed alongside the live service release. |
Deliberate product choices
To be discussed
Ideas held back from the MVP until feedback demonstrates that their value outweighs added complexity or moderation cost.
| # | Original requirement | Result | Implementation decision |
|---|---|---|---|
| 01 | Anonymous annotation publishing | To be discussed | The MVP intentionally requires an account so publishing, claims and moderation remain attributable. Anonymous reading remains available; anonymous publishing can be reconsidered only if it adds clear value. |
| 02 | Chaining multiple excerpts from one article | To be discussed | A series relationship may help long-form fact-checking, but it is held for the next round to avoid adding publishing and navigation complexity before user feedback. |
| 03 | Up/down voting | To be discussed | The MVP uses Likes only. Downvotes introduce ranking and moderation questions that should be evaluated with real community behavior. |
| 04 | Most-annotated media leaderboard | To be discussed | A leaderboard is an optional discovery layer. It will be considered after feedback shows that annotation volume is a useful quality signal rather than an incentive for noise. |
30 decisions, published for accountability.
The 90-second and 100-word limits are product guardrails, not automatic legal safe harbors. Annotated also requires meaningful commentary, attribution, a direct source link and a visible rights-claim process.