shay2000Alternative / Mission Desk
Alternative designs

Shay / @shay2000 / Open source since 2014

Mission Desk.

Small tools that fix specific annoyances. macOS menu-bar utilities, self-hosted services and research tooling. Public, deliberately small, and built because the thing didn't quite exist yet.

01Original work

Swift / AppKit / IOKit / Menu bar

Watt is it?

The honest wattage number, in your menu bar.

Most chargers report what they are rated for. macOS repeats that number. Nobody tells you what is actually crossing the cable.

Platform
macOS 14.6+ · Apple silicon
Refresh
1 s while on external power
02Original work

Python / Swift / yt-dlp / ffmpeg / SQLite

PodcastSync

YouTube channels as a podcast feed on your own Wi-Fi.

Podcast clients only understand one thing: an RSS feed with enclosure links. PodcastSync makes a YouTube channel look like exactly that, served from your own machine.

Platform
macOS 13+ menu bar app
Polling
Every 30 min, configurable
03Original work

Swift / AppKit / DDC/CI / Sparkle / CI

LumaControl

Display control for current macOS, including the brightness macOS hides.

LumaControl started as a fork of MonitorControl and became its own project, with a focus on current macOS releases, a native-feeling interface, and display-control ideas upstream had not taken on.

Controls
Brightness · volume · contrast
Extras
Extended XDR range
04Original work

JavaScript / Zotero 9+ / Python (build) / Keychain

Zotero AI

AI summaries for Zotero that show you the payload before they send it.

The default shape of an AI feature is a button that quietly ships your document to a server. The default shape of a research workflow is a folder of unpublished drafts and embargoed data.

Actions
Summaries · text explain · cross-checks
Formats
PDF · EPUB · HTML · text
05Fork / maintained

JavaScript / CSS 3D / Web Audio / No build step

FlipOff

A $3,500 split-flap board, emulated in a browser tab.

Real split-flap boards cost thousands. FlipOff turns any television or monitor into one, and it is a single index.html with no build step and no dependencies.

Stack
Vanilla HTML/CSS/JS
Dependencies
None
06Original work

Swift / SwiftUI / CryptoKit / SwiftPM

TreeSpace

What's eating your disk, without the ceremony.

A minimal native SwiftUI app that answers one question: what is taking up the space? Expandable size-sorted tree, totals grouped by file extension, and a duplicate finder — all readable end to end and yours to hack on.

Views
Size tree · by extension · duplicates
Dedup
3-stage filter, SHA-256
07Original work

C# / JavaScript / Python

METAR Translator

METAR Viewer is a Windows application that translates raw METAR Data into a more "human-friendly" format. FOR FLIGHT SIM ONLY

METAR Viewer fetches and decodes aviation weather reports (METARs) into plain English. Search by ICAO code, IATA code, airport name, or even a common misspelling, and get wind, visibility, cloud layers, temperature, altimeter, present weather, and flight category back in a readable form. Simulation and hobby use only; not for real-world aviation or weather decisions.

Repository
Original work
Primary language
C#
Public repository record

Work, day by day.

14 Sept 2025 – 12 Sept 2026 · 569 sampled commits

2025-09-14: 7 sampled commits2025-09-15: 0 sampled commits2025-09-16: 0 sampled commits2025-09-17: 2 sampled commits2025-09-18: 0 sampled commits2025-09-19: 0 sampled commits2025-09-20: 0 sampled commits2025-09-21: 0 sampled commits2025-09-22: 0 sampled commits2025-09-23: 0 sampled commits2025-09-24: 0 sampled commits2025-09-25: 0 sampled commits2025-09-26: 0 sampled commits2025-09-27: 0 sampled commits2025-09-28: 0 sampled commits2025-09-29: 0 sampled commits2025-09-30: 0 sampled commits2025-10-01: 0 sampled commits2025-10-02: 0 sampled commits2025-10-03: 0 sampled commits2025-10-04: 0 sampled commits2025-10-05: 0 sampled commits2025-10-06: 0 sampled commits2025-10-07: 0 sampled commits2025-10-08: 0 sampled commits2025-10-09: 0 sampled commits2025-10-10: 0 sampled commits2025-10-11: 0 sampled commits2025-10-12: 0 sampled commits2025-10-13: 0 sampled commits2025-10-14: 0 sampled commits2025-10-15: 0 sampled commits2025-10-16: 0 sampled commits2025-10-17: 0 sampled commits2025-10-18: 1 sampled commits2025-10-19: 0 sampled commits2025-10-20: 7 sampled commits2025-10-21: 0 sampled commits2025-10-22: 0 sampled commits2025-10-23: 0 sampled commits2025-10-24: 0 sampled commits2025-10-25: 0 sampled commits2025-10-26: 0 sampled commits2025-10-27: 0 sampled commits2025-10-28: 0 sampled commits2025-10-29: 0 sampled commits2025-10-30: 0 sampled commits2025-10-31: 0 sampled commits2025-11-01: 0 sampled commits2025-11-02: 0 sampled commits2025-11-03: 0 sampled commits2025-11-04: 0 sampled commits2025-11-05: 0 sampled commits2025-11-06: 0 sampled commits2025-11-07: 0 sampled commits2025-11-08: 0 sampled commits2025-11-09: 0 sampled commits2025-11-10: 0 sampled commits2025-11-11: 0 sampled commits2025-11-12: 0 sampled commits2025-11-13: 0 sampled commits2025-11-14: 0 sampled commits2025-11-15: 0 sampled commits2025-11-16: 3 sampled commits2025-11-17: 0 sampled commits2025-11-18: 0 sampled commits2025-11-19: 0 sampled commits2025-11-20: 0 sampled commits2025-11-21: 0 sampled commits2025-11-22: 0 sampled commits2025-11-23: 0 sampled commits2025-11-24: 0 sampled commits2025-11-25: 0 sampled commits2025-11-26: 0 sampled commits2025-11-27: 0 sampled commits2025-11-28: 0 sampled commits2025-11-29: 0 sampled commits2025-11-30: 0 sampled commits2025-12-01: 0 sampled commits2025-12-02: 0 sampled commits2025-12-03: 0 sampled commits2025-12-04: 1 sampled commits2025-12-05: 0 sampled commits2025-12-06: 0 sampled commits2025-12-07: 0 sampled commits2025-12-08: 0 sampled commits2025-12-09: 0 sampled commits2025-12-10: 0 sampled commits2025-12-11: 0 sampled commits2025-12-12: 0 sampled commits2025-12-13: 0 sampled commits2025-12-14: 0 sampled commits2025-12-15: 0 sampled commits2025-12-16: 0 sampled commits2025-12-17: 0 sampled commits2025-12-18: 1 sampled commits2025-12-19: 0 sampled commits2025-12-20: 0 sampled commits2025-12-21: 0 sampled commits2025-12-22: 0 sampled commits2025-12-23: 1 sampled commits2025-12-24: 1 sampled commits2025-12-25: 0 sampled commits2025-12-26: 0 sampled commits2025-12-27: 0 sampled commits2025-12-28: 0 sampled commits2025-12-29: 1 sampled commits2025-12-30: 0 sampled commits2025-12-31: 0 sampled commits2026-01-01: 0 sampled commits2026-01-02: 0 sampled commits2026-01-03: 0 sampled commits2026-01-04: 1 sampled commits2026-01-05: 0 sampled commits2026-01-06: 0 sampled commits2026-01-07: 0 sampled commits2026-01-08: 0 sampled commits2026-01-09: 3 sampled commits2026-01-10: 2 sampled commits2026-01-11: 0 sampled commits2026-01-12: 1 sampled commits2026-01-13: 0 sampled commits2026-01-14: 0 sampled commits2026-01-15: 1 sampled commits2026-01-16: 0 sampled commits2026-01-17: 0 sampled commits2026-01-18: 0 sampled commits2026-01-19: 0 sampled commits2026-01-20: 5 sampled commits2026-01-21: 3 sampled commits2026-01-22: 4 sampled commits2026-01-23: 8 sampled commits2026-01-24: 6 sampled commits2026-01-25: 0 sampled commits2026-01-26: 4 sampled commits2026-01-27: 10 sampled commits2026-01-28: 0 sampled commits2026-01-29: 1 sampled commits2026-01-30: 3 sampled commits2026-01-31: 0 sampled commits2026-02-01: 6 sampled commits2026-02-02: 0 sampled commits2026-02-03: 2 sampled commits2026-02-04: 14 sampled commits2026-02-05: 0 sampled commits2026-02-06: 0 sampled commits2026-02-07: 0 sampled commits2026-02-08: 0 sampled commits2026-02-09: 1 sampled commits2026-02-10: 0 sampled commits2026-02-11: 1 sampled commits2026-02-12: 7 sampled commits2026-02-13: 3 sampled commits2026-02-14: 4 sampled commits2026-02-15: 8 sampled commits2026-02-16: 0 sampled commits2026-02-17: 1 sampled commits2026-02-18: 11 sampled commits2026-02-19: 5 sampled commits2026-02-20: 0 sampled commits2026-02-21: 1 sampled commits2026-02-22: 0 sampled commits2026-02-23: 0 sampled commits2026-02-24: 0 sampled commits2026-02-25: 0 sampled commits2026-02-26: 4 sampled commits2026-02-27: 2 sampled commits2026-02-28: 10 sampled commits2026-03-01: 0 sampled commits2026-03-02: 0 sampled commits2026-03-03: 0 sampled commits2026-03-04: 0 sampled commits2026-03-05: 0 sampled commits2026-03-06: 0 sampled commits2026-03-07: 0 sampled commits2026-03-08: 1 sampled commits2026-03-09: 1 sampled commits2026-03-10: 0 sampled commits2026-03-11: 0 sampled commits2026-03-12: 0 sampled commits2026-03-13: 0 sampled commits2026-03-14: 0 sampled commits2026-03-15: 0 sampled commits2026-03-16: 0 sampled commits2026-03-17: 0 sampled commits2026-03-18: 0 sampled commits2026-03-19: 0 sampled commits2026-03-20: 0 sampled commits2026-03-21: 0 sampled commits2026-03-22: 0 sampled commits2026-03-23: 1 sampled commits2026-03-24: 0 sampled commits2026-03-25: 0 sampled commits2026-03-26: 1 sampled commits2026-03-27: 0 sampled commits2026-03-28: 20 sampled commits2026-03-29: 1 sampled commits2026-03-30: 0 sampled commits2026-03-31: 2 sampled commits2026-04-01: 0 sampled commits2026-04-02: 0 sampled commits2026-04-03: 0 sampled commits2026-04-04: 2 sampled commits2026-04-05: 1 sampled commits2026-04-06: 10 sampled commits2026-04-07: 0 sampled commits2026-04-08: 3 sampled commits2026-04-09: 0 sampled commits2026-04-10: 0 sampled commits2026-04-11: 0 sampled commits2026-04-12: 0 sampled commits2026-04-13: 2 sampled commits2026-04-14: 0 sampled commits2026-04-15: 0 sampled commits2026-04-16: 0 sampled commits2026-04-17: 0 sampled commits2026-04-18: 0 sampled commits2026-04-19: 1 sampled commits2026-04-20: 0 sampled commits2026-04-21: 0 sampled commits2026-04-22: 0 sampled commits2026-04-23: 0 sampled commits2026-04-24: 0 sampled commits2026-04-25: 0 sampled commits2026-04-26: 0 sampled commits2026-04-27: 1 sampled commits2026-04-28: 5 sampled commits2026-04-29: 0 sampled commits2026-04-30: 0 sampled commits2026-05-01: 0 sampled commits2026-05-02: 0 sampled commits2026-05-03: 0 sampled commits2026-05-04: 0 sampled commits2026-05-05: 0 sampled commits2026-05-06: 0 sampled commits2026-05-07: 0 sampled commits2026-05-08: 0 sampled commits2026-05-09: 0 sampled commits2026-05-10: 0 sampled commits2026-05-11: 0 sampled commits2026-05-12: 0 sampled commits2026-05-13: 0 sampled commits2026-05-14: 5 sampled commits2026-05-15: 0 sampled commits2026-05-16: 0 sampled commits2026-05-17: 0 sampled commits2026-05-18: 0 sampled commits2026-05-19: 0 sampled commits2026-05-20: 0 sampled commits2026-05-21: 0 sampled commits2026-05-22: 0 sampled commits2026-05-23: 0 sampled commits2026-05-24: 0 sampled commits2026-05-25: 0 sampled commits2026-05-26: 0 sampled commits2026-05-27: 0 sampled commits2026-05-28: 0 sampled commits2026-05-29: 0 sampled commits2026-05-30: 0 sampled commits2026-05-31: 0 sampled commits2026-06-01: 0 sampled commits2026-06-02: 0 sampled commits2026-06-03: 0 sampled commits2026-06-04: 0 sampled commits2026-06-05: 0 sampled commits2026-06-06: 0 sampled commits2026-06-07: 0 sampled commits2026-06-08: 0 sampled commits2026-06-09: 0 sampled commits2026-06-10: 0 sampled commits2026-06-11: 0 sampled commits2026-06-12: 0 sampled commits2026-06-13: 0 sampled commits2026-06-14: 0 sampled commits2026-06-15: 0 sampled commits2026-06-16: 0 sampled commits2026-06-17: 0 sampled commits2026-06-18: 0 sampled commits2026-06-19: 0 sampled commits2026-06-20: 0 sampled commits2026-06-21: 0 sampled commits2026-06-22: 0 sampled commits2026-06-23: 0 sampled commits2026-06-24: 0 sampled commits2026-06-25: 0 sampled commits2026-06-26: 0 sampled commits2026-06-27: 0 sampled commits2026-06-28: 0 sampled commits2026-06-29: 0 sampled commits2026-06-30: 0 sampled commits2026-07-01: 0 sampled commits2026-07-02: 0 sampled commits2026-07-03: 0 sampled commits2026-07-04: 0 sampled commits2026-07-05: 0 sampled commits2026-07-06: 0 sampled commits2026-07-07: 0 sampled commits2026-07-08: 0 sampled commits2026-07-09: 0 sampled commits2026-07-10: 0 sampled commits2026-07-11: 0 sampled commits2026-07-12: 0 sampled commits2026-07-13: 0 sampled commits2026-07-14: 0 sampled commits2026-07-15: 0 sampled commits2026-07-16: 0 sampled commits2026-07-17: 0 sampled commits2026-07-18: 0 sampled commits2026-07-19: 0 sampled commits2026-07-20: 0 sampled commits2026-07-21: 2 sampled commits2026-07-22: 8 sampled commits2026-07-23: 2 sampled commits2026-07-24: 8 sampled commits2026-07-25: 2 sampled commits2026-07-26: 0 sampled commits2026-07-27: 3 sampled commits2026-07-28: 30 sampled commits2026-07-29: 20 sampled commits2026-07-30: 17 sampled commits2026-07-31: 2 sampled commits2026-08-01: 1 sampled commits2026-08-02: 0 sampled commits2026-08-03: 13 sampled commits2026-08-04: 8 sampled commits2026-08-05: 11 sampled commits2026-08-06: 2 sampled commits2026-08-07: 10 sampled commits2026-08-08: 1 sampled commits2026-08-09: 12 sampled commits2026-08-10: 2 sampled commits2026-08-11: 13 sampled commits2026-08-12: 2 sampled commits2026-08-13: 0 sampled commits2026-08-14: 10 sampled commits2026-08-15: 2 sampled commits2026-08-16: 0 sampled commits2026-08-17: 0 sampled commits2026-08-18: 13 sampled commits2026-08-19: 5 sampled commits2026-08-20: 17 sampled commits2026-08-21: 15 sampled commits2026-08-22: 11 sampled commits2026-08-23: 3 sampled commits2026-08-24: 0 sampled commits2026-08-25: 0 sampled commits2026-08-26: 0 sampled commits2026-08-27: 0 sampled commits2026-08-28: 0 sampled commits2026-08-29: 0 sampled commits2026-08-30: 0 sampled commits2026-08-31: 9 sampled commits2026-09-01: 1 sampled commits2026-09-02: 13 sampled commits2026-09-03: 3 sampled commits2026-09-04: 8 sampled commits2026-09-05: 4 sampled commits2026-09-06: 0 sampled commits2026-09-07: 0 sampled commits2026-09-08: 0 sampled commits2026-09-09: 0 sampled commits2026-09-10: 20 sampled commits2026-09-11: 18 sampled commits2026-09-12: 34 sampled commits
14 Sept 2025Less More12 Sept 2026

Frozen at the GitHub snapshot of 12 Sept 2026. Sampled repository commits, including fork history; not a complete contribution graph or a measure of personal output.

Read the monthly totals
Sept 2025
9
Oct 2025
8
Nov 2025
3
Dec 2025
5
Jan 2026
52
Feb 2026
80
Mar 2026
27
Apr 2026
25
May 2026
5
Jun 2026
0
Jul 2026
94
Aug 2026
160
Sept 2026
101

Full saved sample: 660 commits · 127 active dates · 5 Oct 2022 to 12 Sept 2026. Calendar above shows only the labelled period.

Material composition

Written in.

Share of code bytes across tracked repositories, including forks. Snapshot: 12 Sept 2026. Not time spent or proficiency.

  1. JavaScript48.5%
  2. Fluent20.1%
  3. C++16.4%
  4. Swift2.8%
  5. Python2.8%
  6. HTML1.9%
  7. SCSS1.8%
Remaining 19 languages
NSIS
1.2%
C#
1.1%
TypeScript
1.1%
Shell
1.1%
CSS
0.7%
Perl
0.2%
C
0.1%
XSLT
0.1%
Java
0.1%
PHP
<0.1%
Lua
<0.1%
Objective-C
<0.1%
Makefile
<0.1%
Batchfile
<0.1%
Rich Text Format
<0.1%
Dockerfile
<0.1%
PowerShell
<0.1%
VBScript
<0.1%
Nix
<0.1%

Note 03 / 23 Aug 2026

Modelling a split-flap display in the browser

A real split-flap display has no pixels. It has a stack of physical cards on a spindle, and a cell can only ever show the card currently at the front. To get from A to B, the mechanism does not fade or slide — it flips forward through every card in between.

Read the note →

Note 04 / 19 Aug 2026

The brightness range macOS won't show you

The brightness slider in macOS stops at 100%. On an XDR panel, 100% is not the ceiling — it is a convention. There is more light available, and macOS will let you reach it if you ask through the right private interface.

Read the note →

Note 05 / 14 Aug 2026

AI summaries that ask permission first

The default shape of an AI feature is a button that silently ships your document to a server. The default shape of a research workflow is a folder full of unpublished drafts, embargoed data, and things covered by an ethics approval.

Read the note →

Note 06 / 4 Aug 2026

Turning YouTube channels into a private podcast feed

Podcast apps are the best audio player on your phone, and they will only talk to one thing: an RSS feed with enclosure links. That is the whole interface. If you can produce a valid feed and serve MP3s, you have a podcast — regardless of where the audio actually came from.

Read the note →

Built because the thing
didn't quite exist yet.

Independent software / public sourceIf a tool saved you an afternoon, buy me a coffee ↗