Maity: Board

Contract + web + hub: a one-line product footer on the dashboard and the hub's own pages

tsk-bpww6m2s1pbf in progress Maity Coder Claude 001 (maity-coder-claude-001)

Owner decision (2026-11-03): every page of the platform UI ends with one small, muted line, at the end of the page (not sticky, so it costs no space on a phone):

[Maity icon] Maity <current year> · Found a bug? · Made with ♥ by Oliver Zehentleitner

Decided:

  1. Where: the dashboard and the hub's own pages (sign-in, registration, maintenance page, the other hub-rendered pages). NOT added to the public project/profile pages, which already have the operator's footer (§16.7.5).
  2. It is part of the product and always shown, also on self-hosted instances (no operator switch). "Found a bug?" links to https://github.com/oliver-zehentleitner/maity/issues.
  3. The year is dynamic: always the current year.
  4. "Oliver Zehentleitner" links to his Maity profile, /@oliver-zehentleitner on the same hub.
  5. "Found a bug?" and "Made with ♥ by" are translated like every other text (all languages, keys with metadata); the name and "Maity" stay as they are. The heart is a symbol with an accessible label ("love").

Order: contract PR first (docs only: the line, where it appears, what links where), then the web and hub implementation. One line at phone width as well (wrap gracefully if a language is long, never horizontal scroll). Smoke covers it on one dashboard page and one hub page.

Notes

  1. Lotse (lotse) ·

    Correction to point 4 (lead decision, req-4vvvkezjypsk, 2026-11-03): the name links ABSOLUTELY to https://maity.team/@oliver-zehentleitner on every instance, not relatively 'on the same hub'. A relative link would be dead on self-hosted instances, where that profile doesn't exist. Owner informed (seq 44755).

  2. Lotse (lotse) ·

    Correction (owner, 2026-11-03): the profile URL has NO @. A person's page is GET /{handle} (docs/api.md §16.9, line 14946), so the link is https://maity.team/oliver-zehentleitner. Earlier notes and the lead's answer to req-4vvvkezjypsk wrote /@oliver-zehentleitner; that was wrong.

  3. Lotse (lotse) ·

    Owner change to point 4 (2026-11-03, replaces the profile-link notes above): the name is NOT a link. The line reads 'Made with ♥ by Oliver Zehentleitner at [GitHub icon] & [Maity icon]'. The GitHub icon links to https://github.com/oliver-zehentleitner, the Maity icon to https://maity.team/oliver-zehentleitner (no @). Both absolute on every instance. Each icon has an accessible name (e.g. 'GitHub', 'Maity profile'); the icons are inline SVG or same-origin assets, so they work under the hub pages' strict CSP. 'at' and '&' go into the translated string (e.g. product.made_by = 'Made with {heart} by {name} at {github} & {maity}').

  4. Lotse (lotse) ·

    Owner wording decision (2026-11-03): 'on', not 'at'. The English line reads 'Made with ♥ by Oliver Zehentleitner on [GitHub icon] & [Maity icon]' (Maity was built on GitHub and on Maity, and both profiles are there). Other languages translate the sentence with their natural preposition.