Open-source project
mkiser/WTFJHT avatar
mkiser/WTFJHT

WTFJHT publishes its daily political newsletter as a public repository

Logging the daily shock and awe in national politics. Read in moderation.

692 stars195 forksHTMLGPL-3.0

At a glance

What is it?
WTF Just Happened Today? is a daily newsletter about national politics whose entire archive, template and workflow live in a public GitHub repository, with a documented editorial policy, primary source citations and no ads. It is a rare case of a publication that ships its own change log, and it also makes the trade-off of one person's judgement explicit.
Who is it for?
Adopt the WTFJHT approach if you are building a publication that has to earn trust from a sceptical audience, because the transparent repository, the written editorial policy and the no-commentary rule are a coherent, copyable system.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly HTML, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A newsletter that started as a personal time problem

WTF Just Happened Today? is described as a newsletter logging the daily shock and awe in national politics, with the instruction to read it in moderation. The origin story in the project description is unusually honest. The author found the 2016 election cycle deeply confusing and frustrating, and even as a self-described news junkie struggled to keep up with articles, blogs, tweets, Facebook posts, newsletters, podcasts and broadcast segments and still make sense of everything. The insight that drives the project is a scarcity problem. There is a scarcity of time available to consume news, but the media environment is optimized for an abundance of news. The stated aim was to log the biggest stories of the day so the author could keep track of what was going on, originally as a personal challenge to chronicle the daily shock and awe of the Trump administration's first 100 days, which then became a full-time job. That is a useful reminder for anyone building a news product, since the constraint that produced this publication was a reader's attention rather than a shortage of available reporting.

The coverage lens is the president, then the branches

The scope is stated with unusual precision, and a reader who does not understand it will misread the publication. The job is to distill news that deserves attention into a clear, understandable and accurate first draft of history, even when it is uncomfortable, unpopular or upsetting. Practically, the coverage runs through the lens of the executive branch specifically, and the president in particular, followed by the legislative and judicial branches in general, and in that order. The author anticipates the objection and answers it directly, saying that people will naturally demand more than this scope and framing allows, and that this is fine, but that if your politics, religion or ideology dictate that you pick a side and expect the publication to cater to it, you might be disappointed. The framing is that we are talking about people rather than politics. For an engineer deciding whether to subscribe, this is the single most important paragraph in the repository, because it tells you the selection criteria before you read a single entry, and a reader who wants international or legislative coverage will not find it here.

No commentary, and the grammar of the writing reflects it

The editorial policy is written as news coverage decisions made the way a front page editor makes them for a newspaper, and it comes with an honest acknowledgement of bias. The reasoning is that humans deciding the relative importance of information are inherently biased, and that journalism is a set of ethics built on trust, truthfulness, fairness, integrity, independence and accountability, so the goal is to acknowledge personal bias while reflecting journalistic standards. Three practical rules follow. The first is a neutral-ish position, described as purposefully fact-based, focused on clearly saying what happened, concisely presenting the facts, citing the primary source and moving on, with bias treated as an unavoidable byproduct of a human making decisions. The second is that the publication offers no commentary, opinion or analysis, with adjectives and adverbs generally stripped out so facts are framed as fact, and the example given is that there is no need to add a just in front of a job approval figure because any reasonable person can see what a low approval rating means. The third is that the value of the project comes from its reputation and its promise to readers, since the voice, tone and non-partisan stance are the brand, and breaking that promise breaks the reader's trust.

The repository is the change log

The first core value is transparency, and it is implemented in a way that is unusual for a publication. The project is open sourced and hosted as a public GitHub repository, and anybody can view the change log at any time for any post, including pull requests to fix grammar, typos, facts and sources, as well as contributions of code. That is the whole transparency mechanism: the corrections to yesterday's entry are as visible as the entry itself. The second value is choice, meaning every reference is cited by the name of the original source and linked clearly, with additional sources to the same or similar news included where appropriate. The third is clear expectations, where the premise is reduced to answering what happened, what the facts are and where the source is. The fourth is consistency, framed economically: every day the expectations are met earns trust, every day they are not loses it. The fifth is a promise to create more value than it captures, with the explicit statement that the author is not there to get rich. The sixth is no strings attached, with no ads, no content gates and no selling of data, and a website and a newsletter as the only surfaces.

A Jekyll site where the posts are the product

The repository layout is that of a static site built with Jekyll, and the tree is the best documentation of what the project actually contains. The _posts/ directory holds the entries, with _data/, _includes/, _layouts/, _sass/, _plugins/ and _notes/ around them, and a .ruby-version file pinning the Ruby used for the build. There are far more editorial features than a simple blog would need, and they are named for what they are: podcasts/ and _podcasts/, the bookshelf/, the pulse/, the quiz/, the membership/ and membership.html, meta/ pages, corrections/, guide/, almost.html, big-board.html, big-grid.html and big-dumb-dashboard.html, do-something/, just-asking-questions/, and the static pages such as about.md and faq.md. A separate api/ directory backs the JSON endpoint, and the site exposes several feeds: an Atom feed at /atom.xml, an RSS feed at /rss.xml, a sitemap at /sitemap.xml, and a JSON API for posts at /api/v1/posts.json. There is also a .tweet-cache/ directory, a static service worker file, and a special long-form page for the impeachment timeline running from the whistleblower to the acquittal.

Three licences for three different kinds of content

The licensing section is the part that requires the most care, because the project does not use one licence. Eligible original editorial content is licensed under CC BY-NC-SA 4.0, software is licensed under the GNU General Public License v3.0 where indicated, and the name, the logos and other source-identifying branding are explicitly not included in either of those licences, with a dedicated license and trademark policy page linked for the details. That third clause matters more than it might appear. A site whose entire value is its name and its reputation cannot let anyone else ship a clone under the same branding, and the GPL on the software does not extend to the trademark, so a fork of the code cannot call itself WTF Just Happened Today. The practical guidance for anyone who wants to reuse the work is straightforward. The prose can be reused under a Creative Commons attribution, non-commercial, share-alike licence, the code under the GPL where the repository marks it, and the name itself is off limits. The README also gives the contact details of the author, a Seattle address and an email address, and the site itself is a personal project of one person, Matt Kiser, which is worth keeping in mind when weighing how much weight to put on any single correction.

Where this approach does not work

Three limits are inherent in the design rather than bugs. The first is that a written no-commentary rule produces a record of events rather than an explanation of them, and readers who want to know why something matters or which way to think about it will find the format frustrating. That is a deliberate trade, and it is a defensible one for a publication that wants to be trusted by readers across a political divide, but it means the newsletter cannot do the job a commentary newsletter does. The second is that the selection of what counts as a big story is made by one person. The policy is explicit that a news-value judgement is made for every entry, and transparent about the bias that implies, but there is no second reader and no editorial board, so a reader who disagrees with the framing has no recourse other than the issue tracker. The third is the scope again, since a publication whose lens is the executive branch of one country is not a general news source, and the repository carries a large amount of extra content, podcasts, a bookshelf, a quiz, a membership section, a live page and a pulse, that is adjacent to the daily briefing rather than part of it. The publication also warns readers to read it in moderation, which is a small piece of self-awareness about the effect a daily political firehose can have.

Editorial conclusion

Adopt the WTFJHT approach if you are building a publication that has to earn trust from a sceptical audience, because the transparent repository, the written editorial policy and the no-commentary rule are a coherent, copyable system. Skip it if you want analysis rather than a factual record, because the project explicitly refuses commentary, and skip it if your coverage is not United States executive politics, since the lens is the president first and the other branches second. Before you model anything on it, read the license page, because the editorial content, the software and the name itself are covered by three different terms, and remember that the whole thing is one person's judgement rather than a process with independent review.

Frequently asked questions

What is WTF Just Happened Today and who publishes it?

It is a daily newsletter about national politics, published as a personal project by Matt Kiser. It began as a way to track the biggest stories of the day while the 2016 election cycle made the news impossible to follow, and grew into a full-time job.

What is the editorial policy of the WTFJHT newsletter?

The stated rules are a neutral-ish, purposefully fact-based position, no commentary, opinion or analysis with adjectives and adverbs generally stripped out, and a commitment to citing the primary source for every item. The scope is the executive branch and the president in particular, then the legislative and judicial branches in general.

Can I reuse the content or code from WTFJHT?

Eligible original editorial content is under CC BY-NC-SA 4.0, and software is under the GNU General Public License v3.0 where indicated. The name, the logos and other source-identifying branding are excluded from both licences, and the project links a separate license and trademark policy page.

Does the WTFJHT site have ads, a paywall or feeds?

The stated position is no ads, no content gates and no selling of data. The site publishes Atom, RSS, sitemap and a JSON posts API, and the whole site is a public GitHub repository where the change log for any post can be reviewed and pull requests can fix grammar, typos, facts and sources.

Official sources

  1. Issues
  2. License: GPL-3.0
  3. mkiser/WTFJHT on GitHub
  4. Project website
  5. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/mkiser-wtfjht.svg)](https://hysenlabs.com/projects/mkiser-wtfjht)

Was this useful?