01

A critical edition of the week’s TV listing.

German broadcasters still publish their weekly program as plain text. GREPg reads that text with a small set of committed, hand-written extraction rules and turns it into a structured, searchable broadcast archive — keeping every rule’s own reasoning right beside the data it produced.

It currently covers WDR and MDR, updated weekly as new listings are published. The project is invite-only while it grows: see Contact to ask about access.

02

Product

Three columns, read left to right: Browse finds a broadcast or an entity, Inspect shows everything GREPg holds on it, and Trace sets the broadcaster’s own source text as an annotated edition — the exact span each rule matched, numbered in firing order, tied to the value it produced.

The GREPg browser: a list of broadcasts on the left, one broadcast's detail in the middle, and its traced source text on the right.
The working view, light mode — browse, inspect, trace.
The same broadcast view in dark mode.
The same view, broadcast rather than printed.

Every extracted value carries a superscript numeral back to the rule that wrote it. Hovering the value, the source span, or the rule lights all three — so a correction is a rule fix applied consistently across the whole archive, never a one-off edit to a single row.

03

FAQ

What does “GREP//g” mean?
grep is a decades-old command-line search tool — “grep for it” means “search for it.” //g is grep’s own pattern syntax: a search term between two slashes, with a trailing g meaning “find every match, not just the first.” GREPg does exactly that for TV listings — try the search icon above.
Is the data trustworthy? Is anything hand-edited?
No manual editing step. Every broadcast comes from a rule that extracts it from the original listing text, so a correction is a rule fix applied consistently across the whole archive, not a one-off edit to a single row.

More on status, data sources, and how listings are processed is coming here — ask in the meantime via Contact.

04

Contact

GREPg is invite-only for now. To ask about access, or anything else, write to:

contact@grepg.example

05

Impressum

This section is a required legal notice under German law (§5 TMG / §18 Abs. 2 MStV) and is not yet complete. It must carry the operator’s real name, address, and contact details before this page is shown publicly.

Angaben gemäß §5 TMG
[TODO: operator name]
[TODO: street address]
[TODO: postal code, city]
Kontakt
[TODO: phone or contact form]
[TODO: e-mail address]
Verantwortlich für den Inhalt nach §18 Abs. 2 MStV
[TODO: responsible person, name and address]