HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
ampproject
amphtml
JavaScript2015–2023
ampproject / amphtml

amphtml

The AMP web component framework.

96Distinct people
146Mentions
0Explicit recommenders
14.9KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

The AMP web component framework.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 6:01:08 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year146 dated mentions

Observed mentions: 2015-10-07 14:41:30 UTC to 2023-02-21 19:56:36 UTC.

01020302015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 14 mentions; 4 submissions, 10 comments20152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 28 mentions; 2 submissions, 26 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 27 mentions; 1 submissions, 26 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 30 mentions; 5 submissions, 25 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 17 mentions; 0 submissions, 17 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 17 mentions; 0 submissions, 17 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 9 mentions; 0 submissions, 9 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2023

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC14410
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC28226
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC27126
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC30525
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC17017
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC17017
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC909
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC312

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
AMP ⚡ ⚡⚡⚡ Tooling AMP is a web component framework for easily creating user-first websites, stories, ads, emails and more. AMP is an open source project, and we'd love your help making it better! Want to know more about AMP? amp.dev is the best place to learn more about AMP--and of course the site is made using AMP! For developers using AMP, amp.dev includes guides and tutorials examples reference docs example templates tools to make using AMP easier Having a problem using AMP? The amp.dev Support page has resources for getting help. Use Stack Overflow to ask questions about using AMP and find answers to questions others have asked. Let us know about bugs, and file feature requests to suggest improvements. AMP accepts responsible security disclosures through the Google Application Security program. Want to help make AMP better? docs/contributing.md has information on how you can help improve AMP, including ongoing participation through Slack, weekly design reviews, etc. We strongly encourage code contributions! We enthusiastically welcome new contributors to AMP even if you have no experience being part of an open source project. We've made it easy to get started contributing. Consider joining one of AMP's Working Groups, where most of the day-to-day work in AMP gets done. Other useful information AMP's release documentation provides details on how and when AMP releases new versions, including how to know when a change is live in a release. AMP's roadmap provides details on some of the significant projects we are working on. The AMP meta repository has information about the AMP open source project, including AMP's governance. AMP's code of conduct documents how all members, committers and volunteers in the community are required to act. AMP strives for a positive and growing project community that provides a safe environment for everyone.
Read the full README on GitHub

What Hacker News says

28 sources
I don't think it forces you to include resources from Google. I think the 2 primary reason Google asks you to include a specific javascript script [1] are : 1 - Lazy & Prioritized asset loading logic 2 - Loading assets from cache Regarding the lazy & prioritized asset loading, the script [2] shouldn't be relying on some Google specific stuff. Since the project is open source, anyone can take a look and get an answer. Regarding the loading from Google's cache: I haven't dug that much into it, but it's supposedly possible to write your own cache service (instead of relying on the currently free google CDN). Google provided the API and the URL format to so that it should be doable [3]. My assumption is that you can then create your own script, with the cache server URL changed to your own instead of Google's in a simple config file[4]. The
Read the rest
question is then: by doing so (and effectively cutting any ties with Google's servers) will your page still be recognized as AMP by Google search engine? It will still reap the actual perf benefits (assuming your CDN does not suck), but if Google's crawler really wants that [1] to be present (and it should not), you wouldn't get the SEO benefits. [1] <script async src="https://cdn.ampproject.org/v0.js"></script> [2] https://github.com/ampproject/amphtml [3] https://developers.google.com/amp/cache/ [4] https://github.com/ampproject/amphtml/blob/c44a48fbb1dbd0de0...
In CPP: A Standardized Alternative to AMP
> Microsoft is not in the meetings when Google PMs decide the roadmap AFAICT [0], the AMP project is an open source project directed by its Tech Lead and Core Committers, which are a self-sustaining group (with Google, Inc. appointing a new Tech Lead in the event there are no Core Committers), even if the initial set was set by Google, and there is no barrier to Microsoft participating as fully as anyone else in that project. [0] largely, from the project's own governance document on github, https://github.com/ampproject/amphtml/blob/master/GOVERNANCE...
In Search Results are officially AMP’d
So AMP does two major things: (1) It prescribes a stripped-down version of HTML and uses a JS loader to render fast and load as much resources as possible asynchronously (2) It caches the website in the Google CDN and delivers it via HTTP/2 By applying best practices of structuring web applications and optimizing for the critical rendering path (1) can be achieved, too. The AMP loader is just an opinionated way to do this for simple pages. Everyone can get similar results without AMP by following web performance best practices like [1]: - Reducing the critical resources needed - Reducing the critical bytes which must be transferred - Loading JS, CSS and HTML templates asynchronously - Rendering the page progressively - Minifying & Concatenating CSS, JS and images And there is lots of good tooling for this (e.g. postcss, processhtml, cssmi
Read the rest
n, UglifyJS, imagemin, critical, gulp-rev-all, ...) (2) is not only harder. It is what limits the broad applicability of AMP. Cached data in the Google CDN cannot be invalidated, neither in the CDN itself nor in ISP interception caches, corporate proxies or the browser cache [2]. The effective consequence of this is that you can only use AMP when the content is mostly static. This is the case for news websites or other publications that are only changed by human editors. It completely breaks down when you try to create a dynamic site, for example a social network or a shop. That is why our startup Baqend [3] takes a different route. We say that developers are clever enough to use existing tooling to achieve (1): an efficient rendering and loading experience. And for (2) we add a caching scheme that also employs CDNs for delivery but keeps data consistent. This is made possible by a simple process: 1. When a browser connects to a Baqend-based website, it loads a Bloom filter containing all potentially stale cached URLs. 2. Every stale URL is requested using HTTP revalidation to refresh stale copies and update caches. 3. When an update operation changes a resource (e.g. an image, JSON object or even a complex query result) its URL is instantly invalidated in the CDN [4] and marked as stale in the Bloom filter. 4. When loading resource, a statistical estimation of the expected TTL (cache liftime) is made. Whenever that prediction fails, the Bloom filter and the automatic CDN invalidation compensate the difference between estimation and real lifetime. Using this scheme (developed at the University of Hamburg in cooperation with Baqend), every kind of dynamic data can be treated as cachable data and the applicability of is not limited to data that seldomly changes and even works for write-heavy resources with rich consistency guarantees (Δ-Atomicity, Read-Your-Writes, Monotonic Reads, Monotonic Writes, Causal Consistency) [5]. Of course I'm biased but you'd like to see AMP-like acceleration coupled with fresh cached data plus tooling, layout and frameworks of your choice, have a look at our Backend-as-a-Service. [1] https://developers.google.com/web/fundamentals/performance/c.... [2] https://github.com/ampproject/amphtml/issues/1901 [3] http://www.baqend.com/ [4] https://www.fastly.com/blog/building-fast-and-reliable-purgi... [5] http://www.slideshare.net/felixgessert/talk-cache-sketches-u...
In Search Results are officially AMP’d
As far as the scrolling goes, I'm fairly certain they're just using native scrolling (as in, not using a JS implementation that doesn't get the weighting right). The AMP Runtime needs to know scroll position, and they seem to just be capturing scroll information on the scroll event See https://github.com/ampproject/amphtml/blob/master/src/servic... I may be wrong on this, as I don't know enough about the codebase. However, I'm pretty sure it's just native scrolling.
In Search Results are officially AMP’d

Showing the 15 most recent of 28 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.