Skip to content
View EthanChenHyland's full-sized avatar

Highlights

  • Pro

Block or report EthanChenHyland

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
EthanChenHyland/README.md
An ASCII frog hopping in a loop: hindlegs crouch, extend at takeoff, and fold back as the front feet reach down to land. Ethan B. Chen · @EthanChenHyland · Code, experiments, systems

WORK · DAILY PUZZLE · MORE FUN STUFF · LANGUAGES · ACTIVITY

GitHub activity over the last 365 days: contributions, active days, best week, and a weekly timeline. Text data below. 01 / About

I’m Ethan. My public projects span machine learning, music analysis,
and tools for the web. This page follows the work as it changes.

THE FROG PICKED A PROJECT FOR YOU

kitcoscraper

Node.js/Puppeteer scraper developed for Carat Coin to automate recurring Kitco precious-metals price collection and CSV-based reporting.

A rotating daily spotlight · 2026-10-29 UTC

A frog hops through real contribution days. Open the playable pond and frog terminal.

ENTER THE POND ↗ · PLAY / TERMINAL / DEMOS

Black king on a8; White king on c7; White queen on f4. White to move, mate in one.
NEED A HINT?

The queen delivers mate on rank 4. Look for a square that checks the king and removes its escape squares.

REVEAL THE MOVE

Qa4# — move the queen from f4 to a4. The black king is in check with no legal escape.

One of 16 verified practice positions, rotating daily. # means checkmate.

MORE FUN STUFF
OPEN THE 7-DAY ACTIVITY DIARY · 1 CONTRIBUTIONS
Date (UTC)Contributions
2026-10-290
2026-10-280
2026-10-271
2026-10-260
2026-10-250
2026-10-240
2026-10-230

GitHub contribution-calendar counts, updated with the profile. The current UTC day may be incomplete.

THE FIELD GUIDE · OPEN SOMETHING THAT INTERESTS YOU

CHOOSE YOUR PATH

Pick an interest to find a starting point in my work.

I LIKE GAMES & SEARCH

FunChessEngine

Follow a position from legal moves to search to evaluation. The recorded self-play demo below shows the engine choosing for both sides.

JavaScript · Python · HTML · CSS · Makefile · Shell · latest push 2026-09-11

I LIKE MUSIC & SIGNALS

PianoMirRustPublic

Follow audio through pitch evidence and alignment with a known score. Open the lab results below to see what the captured example actually measured.

Rust · Python · latest push 2026-09-12

I LIKE DATA & AUTOMATION

kitcoscraper

Explore the path from a web source to extracted data. The project notes show its latest public change.

JavaScript · latest push 2026-09-11

I LIKE AI EXPERIMENTS

the-great-prompt-off

Explore a project organized around comparing prompts. The project browser below contains its current languages and latest public activity.

TypeScript · PLpgSQL · JavaScript · CSS · latest push 2026-08-30

OPEN THE MUSIC ANALYSIS LAB

One captured experiment: a 12-second synthesized Minuet excerpt compared with its source score.

MeasurementResultMeaning
Score-aligned verification94.78 / 100Overall evidence that this audio matches its known score.
Note score99.86Note matching component of this captured run.
Timing score96.01Timing alignment component.
Chroma score66.95Pitch-class evidence component.
Missing notes0Missing notes reported by this run.
WHAT DOES 94.78 ACTUALLY MEAN?

The system was given the score. It checks whether the audio agrees with that score. These component scores are separate measurements, not percentages to add together.

This result does not measure a pianist’s skill or prove that the system can transcribe unfamiliar music. The input is synthesized, with no human performance.

THIS WEEK IN NUMBERS

1 contributions across 1 active days.

-23 contributions compared with the preceding seven days (24).

Busiest day: 2026-10-27 (1 contributions).

2026-10-23 through 2026-10-29 UTC. The current day may be incomplete. Activity counts describe frequency, not code quality.

THE CHESS CORNER · 16 CHALLENGES

Fixed practice positions from the verified puzzle collection, grouped in sets of four. White to move, mate in one. Open a board, solve it, then check your answer. Each position has exactly one mating move.

PUZZLES 01–04
CHALLENGE 01 White king on a3; White queen on g2; Black king on b1. Find mate in one.
SHOW A HINT

Look for a queen move to the b-file.

CHECK YOUR ANSWER

Qb2# — queen from g2 to b2. The king is checked and has no legal reply.

CHALLENGE 02 Black king on a7; White king on c7; White queen on h5. Find mate in one.
SHOW A HINT

Look for a queen move to the a-file.

CHECK YOUR ANSWER

Qa5# — queen from h5 to a5. The king is checked and has no legal reply.

CHALLENGE 03 White queen on b4; White king on c3; Black king on a2. Find mate in one.
SHOW A HINT

Look for a queen move to the b-file.

CHECK YOUR ANSWER

Qb2# — queen from b4 to b2. The king is checked and has no legal reply.

CHALLENGE 04 White queen on b5; White king on e3; Black king on d1. Find mate in one.
SHOW A HINT

Look for a queen move to the b-file.

CHECK YOUR ANSWER

Qb1# — queen from b5 to b1. The king is checked and has no legal reply.

PUZZLES 05–08
CHALLENGE 05 White king on d3; White queen on b2; Black king on e1. Find mate in one.
SHOW A HINT

Look for a queen move to the e-file.

CHECK YOUR ANSWER

Qe2# — queen from b2 to e2. The king is checked and has no legal reply.

CHALLENGE 06 White queen on b3; White king on f2; Black king on h1. Find mate in one.
SHOW A HINT

Look for a queen move to the h-file.

CHECK YOUR ANSWER

Qh3# — queen from b3 to h3. The king is checked and has no legal reply.

CHALLENGE 07 Black king on a8; White king on b6; White queen on b3. Find mate in one.
SHOW A HINT

Look for a queen move to the g-file.

CHECK YOUR ANSWER

Qg8# — queen from b3 to g8. The king is checked and has no legal reply.

CHALLENGE 08 Black king on b8; White king on a6; White queen on h4. Find mate in one.
SHOW A HINT

Look for a queen move to the d-file.

CHECK YOUR ANSWER

Qd8# — queen from h4 to d8. The king is checked and has no legal reply.

PUZZLES 09–12
CHALLENGE 09 Black king on a5; White king on c5; White queen on e5. Find mate in one.
SHOW A HINT

Look for a queen move to the a-file.

CHECK YOUR ANSWER

Qa1# — queen from e5 to a1. The king is checked and has no legal reply.

CHALLENGE 10 Black king on a1; White king on c1; White queen on d1. Find mate in one.
SHOW A HINT

Look for a queen move to the a-file.

CHECK YOUR ANSWER

Qa4# — queen from d1 to a4. The king is checked and has no legal reply.

CHALLENGE 11 White king on c6; Black king on a5; White queen on b1. Find mate in one.
SHOW A HINT

Look for a queen move to the b-file.

CHECK YOUR ANSWER

Qb5# — queen from b1 to b5. The king is checked and has no legal reply.

CHALLENGE 12 White king on c6; Black king on a5; White queen on f3. Find mate in one.
SHOW A HINT

Look for a queen move to the a-file.

CHECK YOUR ANSWER

Qa3# — queen from f3 to a3. The king is checked and has no legal reply.

PUZZLES 13–16
CHALLENGE 13 White queen on a7; White king on d3; Black king on e1. Find mate in one.
SHOW A HINT

Look for a queen move to the g-file.

CHECK YOUR ANSWER

Qg1# — queen from a7 to g1. The king is checked and has no legal reply.

CHALLENGE 14 Black king on c8; White king on c6; White queen on g1. Find mate in one.
SHOW A HINT

Look for a queen move to the g-file.

CHECK YOUR ANSWER

Qg8# — queen from g1 to g8. The king is checked and has no legal reply.

CHALLENGE 15 Black king on a8; White king on c7; White queen on f4. Find mate in one.
SHOW A HINT

Look for a queen move to the a-file.

CHECK YOUR ANSWER

Qa4# — queen from f4 to a4. The king is checked and has no legal reply.

CHALLENGE 16 White queen on g4; White king on a3; Black king on b1. Find mate in one.
SHOW A HINT

Look for a queen move to the d-file.

CHECK YOUR ANSWER

Qd1# — queen from g4 to d1. The king is checked and has no legal reply.

THE BUILD LOG · LATEST CHANGE IN EACH PROJECT

An automatically refreshed snapshot of each project’s latest default-branch commit, newest dates first.

UTC dateProjectLatest change
2026-10-21clarityrelease: publish macOS archives without Developer ID signing
2026-09-24ethanbchen.comAdd interactive score details and scroll-traced timeline
2026-09-19Fall2026-CodingChallengeComplete reviewer documentation and final audit
2026-09-17WinCodexInitial WinCodex V1.1 release
2026-09-12outlook-electronPublish modernized Outlook Electron client with macOS build setup
2026-09-12nitro-notesPublish Nitro Notes desktop notes and tasks app
2026-09-12grok-electronDocument downloadable macOS releases
2026-09-12chatgpt-webInitial release of ChatGPT Web for macOS
2026-09-12avoid.love-v3correct project identity to avoid.love v3
2026-09-12avoid.love-v2docs: introduce avoid.love v2 and document local development
2026-09-12avoid.love-v1docs: clarify v1 archive context
2026-09-12avoid.loveGive the first Us photograph more scroll time
2026-09-12TowerLogicUse Pillow-compatible ttkbootstrap version for release builds
2026-09-11FunChessEnginePublish cross-platform tagged releases
2026-08-30wifi-concierge-siteRemove image section from README
2026-08-30the-great-prompt-offComprehensive passthrough of README and MIT license
2026-08-30kitcoscraperRevise README for clarity and detail
2026-08-30PianoMirRustPublicCorrect typo in README.md
THREE THINGS THE DEMOS DO NOT TELL YOU

Make a prediction before opening each answer.

01 · DOES A HIGH MUSIC MATCH SCORE MEAN GREAT PLAYING?

No. This example measures agreement with a known score on synthesized audio. It does not grade a human performance.

02 · DOES MORE CODE IN A LANGUAGE MEAN MORE EXPERTISE?

No. The language charts measure bytes in public repositories. They describe the codebase, not proficiency.

03 · DOES SEARCHING MORE CHESS POSITIONS GUARANTEE A BETTER MOVE?

No. Search depth, evaluation quality, move ordering, and the position itself all matter. A node count alone does not measure move quality.

A TINY FROG ADVENTURE

You arrive at the pond at dusk. A path forks between glowing reeds and a checkered stone. Open a choice, then choose again.

FOLLOW THE FIREFLIES

The lights blink in pairs. Beneath the reeds, a tiny frog is trying to debug the moon’s reflection.

OFFER A RUBBER DUCK

“It only breaks when I look at it,” says the frog. The duck says nothing. The frog solves it anyway.

Ending: honorary pond debugger. 🦆

WAIT QUIETLY

The water settles. The moon becomes round again. Some bugs are ripples.

Ending: a moment of peace. 🌙

INVESTIGATE THE CHECKERED STONE

A beetle guards a tiny chessboard. “One move,” it says. “Then you may pass.”

CHALLENGE THE BEETLE

The beetle pushes a pawn sideways. You politely explain the rules. It insists this is a variant.

Ending: undefeated by technicality. ♟

ASK FOR DIRECTIONS

The beetle points toward the Chess Corner above. “Those positions have actually been checked.”

Ending: a sensible detour. 🐸

A little fictional detour. Close the choices to start again; nothing is saved.

FIND PROJECTS BY LANGUAGE

Choose a language to see every matching public project. Percentages describe that language’s share of each repository’s detected language bytes.

BATCHFILE · 1 PROJECT
ProjectShare of language bytesLatest push · UTC
WinCodex1.3%2026-09-17
C# · 1 PROJECT
ProjectShare of language bytesLatest push · UTC
WinCodex47.9%2026-09-17
CSS · 7 PROJECTS
ProjectShare of language bytesLatest push · UTC
avoid.love4.5%2026-09-12
avoid.love-v273.1%2026-09-12
avoid.love-v356.5%2026-09-12
clarity7.8%2026-10-21
Fall2026-CodingChallenge18.5%2026-09-20
FunChessEngine7.1%2026-09-11
the-great-prompt-off0.1%2026-08-30
DOCKERFILE · 2 PROJECTS
ProjectShare of language bytesLatest push · UTC
Fall2026-CodingChallenge0.1%2026-09-20
WinCodex0.3%2026-09-17
HTML · 7 PROJECTS
ProjectShare of language bytesLatest push · UTC
avoid.love7.3%2026-09-12
clarity5.4%2026-10-21
ethanbchen.com17.0%2026-09-24
Fall2026-CodingChallenge0.1%2026-09-20
FunChessEngine7.5%2026-09-11
nitro-notes20.5%2026-09-12
wifi-concierge-site100.0%2026-08-30
JAVASCRIPT · 14 PROJECTS
ProjectShare of language bytesLatest push · UTC
avoid.love83.0%2026-09-12
avoid.love-v11.4%2026-09-12
avoid.love-v20.2%2026-09-12
avoid.love-v30.2%2026-09-12
chatgpt-web79.5%2026-09-12
clarity86.8%2026-10-21
ethanbchen.com0.2%2026-09-24
Fall2026-CodingChallenge0.1%2026-09-20
FunChessEngine43.3%2026-09-11
grok-electron83.2%2026-09-12
kitcoscraper100.0%2026-09-11
nitro-notes76.9%2026-09-12
outlook-electron100.0%2026-09-12
the-great-prompt-off0.1%2026-08-30
MAKEFILE · 1 PROJECT
ProjectShare of language bytesLatest push · UTC
FunChessEngine0.2%2026-09-11
PLPGSQL · 1 PROJECT
ProjectShare of language bytesLatest push · UTC
the-great-prompt-off4.6%2026-08-30
PYTHON · 8 PROJECTS
ProjectShare of language bytesLatest push · UTC
avoid.love5.2%2026-09-12
avoid.love-v34.2%2026-09-12
ethanbchen.com3.5%2026-09-24
FunChessEngine41.8%2026-09-11
nitro-notes2.6%2026-09-12
PianoMirRustPublic2.6%2026-09-12
TowerLogic100.0%2026-09-12
WinCodex35.5%2026-09-17
RUST · 1 PROJECT
ProjectShare of language bytesLatest push · UTC
PianoMirRustPublic97.4%2026-09-12
SHELL · 3 PROJECTS
ProjectShare of language bytesLatest push · UTC
FunChessEngine0.1%2026-09-11
TowerLogic0.0%2026-09-12
WinCodex15.0%2026-09-17
SWIFT · 2 PROJECTS
ProjectShare of language bytesLatest push · UTC
chatgpt-web20.5%2026-09-12
grok-electron16.8%2026-09-12
TYPESCRIPT · 6 PROJECTS
ProjectShare of language bytesLatest push · UTC
avoid.love-v198.6%2026-09-12
avoid.love-v226.7%2026-09-12
avoid.love-v339.1%2026-09-12
ethanbchen.com79.2%2026-09-24
Fall2026-CodingChallenge81.1%2026-09-20
the-great-prompt-off95.3%2026-08-30
THE YEAR, MONTH BY MONTH

Open a month to see its activity and three busiest dates. Boundary months cover only the dates included in the rolling 365-day snapshot; today may be incomplete.

OCTOBER 2026 · 60 CONTRIBUTIONS

10 active days across 29 days in the snapshot.

Most active datesContributions
2026-10-1317
2026-10-1615
2026-10-219

Coverage: 2026-10-01 through 2026-10-29 UTC.

SEPTEMBER 2026 · 686 CONTRIBUTIONS

23 active days across 30 days in the snapshot.

Most active datesContributions
2026-09-18211
2026-09-17125
2026-09-1163

Coverage: 2026-09-01 through 2026-09-30 UTC.

AUGUST 2026 · 75 CONTRIBUTIONS

8 active days across 31 days in the snapshot.

Most active datesContributions
2026-08-2021
2026-08-3018
2026-08-3117

Coverage: 2026-08-01 through 2026-08-31 UTC.

JULY 2026 · 21 CONTRIBUTIONS

5 active days across 31 days in the snapshot.

Most active datesContributions
2026-07-199
2026-07-056
2026-07-064

Coverage: 2026-07-01 through 2026-07-31 UTC.

JUNE 2026 · 79 CONTRIBUTIONS

5 active days across 30 days in the snapshot.

Most active datesContributions
2026-06-1733
2026-06-1630
2026-06-1811

Coverage: 2026-06-01 through 2026-06-30 UTC.

MAY 2026 · 0 CONTRIBUTIONS

0 active days across 31 days in the snapshot.

No contributions recorded in this part of the calendar.

Coverage: 2026-05-01 through 2026-05-31 UTC.

APRIL 2026 · 0 CONTRIBUTIONS

0 active days across 30 days in the snapshot.

No contributions recorded in this part of the calendar.

Coverage: 2026-04-01 through 2026-04-30 UTC.

MARCH 2026 · 0 CONTRIBUTIONS

0 active days across 31 days in the snapshot.

No contributions recorded in this part of the calendar.

Coverage: 2026-03-01 through 2026-03-31 UTC.

FEBRUARY 2026 · 0 CONTRIBUTIONS

0 active days across 28 days in the snapshot.

No contributions recorded in this part of the calendar.

Coverage: 2026-02-01 through 2026-02-28 UTC.

JANUARY 2026 · 0 CONTRIBUTIONS

0 active days across 31 days in the snapshot.

No contributions recorded in this part of the calendar.

Coverage: 2026-01-01 through 2026-01-31 UTC.

DECEMBER 2025 · 0 CONTRIBUTIONS

0 active days across 31 days in the snapshot.

No contributions recorded in this part of the calendar.

Coverage: 2025-12-01 through 2025-12-31 UTC.

NOVEMBER 2025 · 0 CONTRIBUTIONS

0 active days across 30 days in the snapshot.

No contributions recorded in this part of the calendar.

Coverage: 2025-11-01 through 2025-11-30 UTC.

OCTOBER 2025 · 0 CONTRIBUTIONS

0 active days across 2 days in the snapshot.

No contributions recorded in this part of the calendar.

Coverage: 2025-10-30 through 2025-10-31 UTC.

THE REPLAY BOOK · A CHESS GAME IN SIX CHAPTERS

Read the captured FunChessEngine self-play at your own pace. Open chapters in order, or compare boards by leaving multiple chapters expanded. This is a 24-half-move excerpt, not a completed game.

HOW TO READ THE REPLAY

Each chapter covers two full turns. The diagram shows the position at the end of that chapter; the highlighted square is the last move’s destination.

N = knight, B = bishop, R = rook, Q = queen, K = king. A move without a piece letter is a pawn move; x means capture, + means check, and # means checkmate.

A half-move is one player’s turn. Nodes count positions searched; depth is the reported search depth. Zero nodes means no search was recorded for that move.

CHAPTER 1 · MOVES 1–2 Recorded board after 4 half-moves. Last move Nf6, from g8 to f6.
TurnPlayedRecorded search
1. Whitec4No search recorded
1… Blacke5No search recorded
2. WhiteNc3No search recorded
2… BlackNf6No search recorded
CHAPTER 2 · MOVES 3–4 Recorded board after 8 half-moves. Last move Nxd5, from f6 to d5.
TurnPlayedRecorded search
3. Whiteg3No search recorded
3… Blackd5No search recorded
4. Whitecxd5No search recorded
4… BlackNxd5No search recorded
CHAPTER 3 · MOVES 5–6 Recorded board after 12 half-moves. Last move Nc6, from b8 to c6.
TurnPlayedRecorded search
5. WhiteBg2No search recorded
5… BlackNb6No search recorded
6. WhiteQb34,087 nodes · depth 3
6… BlackNc6138 nodes · depth 2
CHAPTER 4 · MOVES 7–8 Recorded board after 16 half-moves. Last move Bc5, from f8 to c5.
TurnPlayedRecorded search
7. WhiteBxc6+3,787 nodes · depth 3
7… Blackbxc62,403 nodes · depth 4
8. WhiteQc21,358 nodes · depth 3
8… BlackBc5577 nodes · depth 3
CHAPTER 5 · MOVES 9–10 Recorded board after 20 half-moves. Last move Nd7, from b6 to d7.
TurnPlayedRecorded search
9. WhiteQe4142 nodes · depth 3
9… BlackQd6734 nodes · depth 2
10. WhiteNf3130 nodes · depth 2
10… BlackNd7188 nodes · depth 2
CHAPTER 6 · MOVES 11–12 Recorded board after 24 half-moves. Last move Qg6, from d6 to g6.
TurnPlayedRecorded search
11. Whited4738 nodes · depth 2
11… BlackBb6152 nodes · depth 2
12. Whitedxe5156 nodes · depth 2
12… BlackQg6333 nodes · depth 2

Recorded source revision: daa903d73659.

THE LOGIC LILY PAD · THREE SMALL BRAINTEASERS

Think through a puzzle, then open its explanation.

01 · HOW MANY WAYS ACROSS THE POND?

A frog starts on pad 0 and wants to reach pad 4. It can hop forward by one or two pads. How many distinct sequences of hops reach pad 4 exactly?

REVEAL THE REASONING

Five: 1+1+1+1, 1+1+2, 1+2+1, 2+1+1, and 2+2.

Every route ends with a one-pad or two-pad hop, so ways(n) = ways(n−1) + ways(n−2). Start with ways(0) = 1 and ways(1) = 1.

02 · THE FIREFLY MESSAGE

Three fireflies can each be on or off. How many distinct patterns can they display, including all off?

REVEAL THE REASONING

Eight. Each light doubles the possibilities: 2 × 2 × 2. In binary: 000, 001, 010, 011, 100, 101, 110, 111.

Add one more firefly and there are 16 patterns.

03 · FIND THE HEAVIER PEBBLE

Eight pebbles look identical. Exactly one is heavier. With a balance scale, can you always find it in two weighings?

REVEAL THE REASONING

Yes. Weigh three against three. If they balance, weigh the two remaining pebbles against each other. Otherwise, take the heavier group of three and weigh one against another: the heavier one wins, or a balance identifies the third.

The three possible outcomes of a balance comparison let you narrow the candidates faster than a yes/no question.

THE SOUND MICROSCOPE · SCORE VS AUDIO

Zoom into four moments of the captured Minuet analysis. Compare patterns, make a prediction, then reveal the answer or inspect all twelve values.

WHAT AM I LOOKING AT?

Chroma groups pitches into the twelve pitch classes, ignoring octave. The left column comes from the known score; the right comes from analysis of the synthesized audio.

Longer bars mean stronger normalized evidence within that representation. They are not probabilities, loudness readings, or performance grades. The score and audio columns use their respective recorded normalizations.

These four frames are sampled near 0, 3, 6, and 9 seconds. They are individual snapshots, not averages across each three-second interval.

SNAPSHOT 1 · 0.00 SECONDS

Which pitch class has the longest bar on the audio side? How closely does its pattern resemble the known score?

Known-score and detected-audio pitch-class evidence at 0.00 seconds, from the captured synthesized Minuet analysis.
REVEAL THE STRONGEST PITCH CLASS

D has the strongest recorded evidence.

This is a pitch class, not a single note or octave. Several notes can share a pitch class, and harmonics can also contribute evidence.

INSPECT THE NUMBERS
Pitch classScore evidenceAudio evidence
C0.0000.000
C#0.0000.000
D1.0001.000
D#0.0000.000
E0.0000.000
F0.0000.000
F#0.0000.000
G1.0000.388
G#0.0000.000
A0.0000.000
A#0.0000.000
B1.0000.014
SNAPSHOT 2 · 3.00 SECONDS

Which pitch class has the longest bar on the audio side? How closely does its pattern resemble the known score?

Known-score and detected-audio pitch-class evidence at 3.00 seconds, from the captured synthesized Minuet analysis.
REVEAL THE STRONGEST PITCH CLASS

D has the strongest recorded evidence.

This is a pitch class, not a single note or octave. Several notes can share a pitch class, and harmonics can also contribute evidence.

INSPECT THE NUMBERS
Pitch classScore evidenceAudio evidence
C1.0000.646
C#0.0000.000
D1.0001.000
D#0.0000.000
E0.0000.000
F0.0000.000
F#0.0000.000
G0.0000.000
G#0.0000.000
A0.0000.000
A#0.0000.000
B0.0000.000
SNAPSHOT 3 · 5.99 SECONDS

Which pitch class has the longest bar on the audio side? How closely does its pattern resemble the known score?

Known-score and detected-audio pitch-class evidence at 5.99 seconds, from the captured synthesized Minuet analysis.
REVEAL THE STRONGEST PITCH CLASS

G has the strongest recorded evidence.

This is a pitch class, not a single note or octave. Several notes can share a pitch class, and harmonics can also contribute evidence.

INSPECT THE NUMBERS
Pitch classScore evidenceAudio evidence
C0.0000.000
C#0.0000.000
D0.0000.000
D#0.0000.000
E0.0000.000
F0.0000.000
F#0.0000.000
G1.0001.000
G#0.0000.000
A0.0000.033
A#0.0000.000
B1.0000.018
SNAPSHOT 4 · 9.01 SECONDS

Which pitch class has the longest bar on the audio side? How closely does its pattern resemble the known score?

Known-score and detected-audio pitch-class evidence at 9.01 seconds, from the captured synthesized Minuet analysis.
REVEAL THE STRONGEST PITCH CLASS

C has the strongest recorded evidence.

This is a pitch class, not a single note or octave. Several notes can share a pitch class, and harmonics can also contribute evidence.

INSPECT THE NUMBERS
Pitch classScore evidenceAudio evidence
C1.0001.000
C#0.0000.000
D0.0000.021
D#0.0000.000
E0.0000.000
F0.0000.000
F#0.0000.000
G0.0000.000
G#0.0000.000
A1.0000.342
A#0.0000.000
B0.0000.000

02 / Featured work FunChessEngine: Original Python chess engine and fully local ChessBase-style desktop workstation for play, analysis, PGN libraries, studies, training, tournaments, and engine development. — open repository
EXPLORE FunChessEngine

Original Python chess engine and fully local ChessBase-style desktop workstation for play, analysis, PGN libraries, studies, training, tournaments, and engine development.

Languages: JavaScript · Python · HTML · CSS · Makefile · Shell

Latest default-branch commit:
Publish cross-platform tagged releases
2026-09-11 UTC

Latest release: v1.1.0 · 2026-09-11

Code · Commits · Releases · Issues

TowerLogic: Computer vision and machine learning system for Clash Royale using PyTorch, YOLOv8, OpenCV, emulator control, and policy-based automated decision logic. — open repository
EXPLORE TowerLogic

Computer vision and machine learning system for Clash Royale using PyTorch, YOLOv8, OpenCV, emulator control, and policy-based automated decision logic.

Languages: Python · Shell

Latest default-branch commit:
Use Pillow-compatible ttkbootstrap version for release builds
2026-09-12 UTC

Latest release: v0.1.0 · 2026-09-12

Code · Commits · Releases · Issues

the-great-prompt-off: Full-stack AI prompt-evaluation platform built with Next.js, TypeScript, Supabase/Postgres, and OpenRouter for live structured-extraction challenges. — open repository
EXPLORE the-great-prompt-off

Full-stack AI prompt-evaluation platform built with Next.js, TypeScript, Supabase/Postgres, and OpenRouter for live structured-extraction challenges.

Languages: TypeScript · PLpgSQL · JavaScript · CSS

Latest default-branch commit:
Comprehensive passthrough of README and MIT license
2026-08-30 UTC

Code · Commits · Releases · Issues

PianoMirRustPublic: Rust/Python music information retrieval system for aligning recorded performances with PDMX scores and evaluating note accuracy, chroma, timing, and tempo. — open repository
EXPLORE PianoMirRustPublic

Rust/Python music information retrieval system for aligning recorded performances with PDMX scores and evaluating note accuracy, chroma, timing, and tempo.

Languages: Rust · Python

Latest default-branch commit:
Correct typo in README.md
2026-08-30 UTC

Latest release: v0.1.0 · 2026-09-12

Code · Commits · Releases · Issues

BROWSE ALL 18 PROJECTS

Public, non-fork projects, grouped by primary language.

WATCH THE PROJECTS IN MOTION Actual FunChessEngine self-play with search depth and node counts. Actual Piano MIR pitch evidence from a controlled synthetic Minuet analysis.

Play, pause, listen, and explore the demos ↗

03 / Stack Languages by approximate code size and number of public non-fork repositories. Text data below. Project atlas: connections between repositories and their languages. Expand the comparison below for all languages.
COMPARE THE PROJECTS
ProjectLanguages by code sizeLast push · UTCStatus
avoid.loveJavaScript · HTML · Python · CSS2026-09-12Open
avoid.love-v1TypeScript · JavaScript2026-09-12Open
avoid.love-v2CSS · TypeScript · JavaScript2026-09-12Open
avoid.love-v3CSS · TypeScript · Python · JavaScript2026-09-12Open
chatgpt-webJavaScript · Swift2026-09-12Open
clarityJavaScript · CSS · HTML2026-10-21Open
ethanbchen.comTypeScript · HTML · Python · JavaScript2026-09-24Open
Fall2026-CodingChallengeTypeScript · CSS · JavaScript · HTML · Dockerfile2026-09-20Open
FunChessEngineJavaScript · Python · HTML · CSS · Makefile · Shell2026-09-11Open
grok-electronJavaScript · Swift2026-09-12Open
kitcoscraperJavaScript2026-09-11Open
nitro-notesJavaScript · HTML · Python2026-09-12Open
outlook-electronJavaScript2026-09-12Open
PianoMirRustPublicRust · Python2026-09-12Open
the-great-prompt-offTypeScript · PLpgSQL · JavaScript · CSS2026-08-30Open
TowerLogicPython · Shell2026-09-12Open
wifi-concierge-siteHTML2026-08-30Open
WinCodexC# · Python · Shell · Batchfile · Dockerfile2026-09-17Open

04 / Stats Recent activity: contributions in the last 7 and 30 UTC days, change from the previous week, and active days in the last month. Current contribution streak and longest streak within the last 365 days, including date ranges. Text data below. A year of contributions as ASCII: each column is a week, Sunday through Saturday. Denser characters mean more contributions. Next contribution, active-day and language checkpoints. Activity uses the last 365 days; text values below.
EXPLORE THE NUMBERS

921 contributions across 51 active days. Best Sunday–Saturday week: 399 contributions. 2025-10-30 through 2026-10-29, UTC.

Current: 0 days (No active run). Longest within the last 365 days: 14 days (2026-09-11 / 2026-09-24).

Last 7 UTC days: 1 contributions; previous 7 days: 24; last 30 days: 65 contributions over 11 active days. Includes today, which is unfinished.

contributions: 921, next checkpoint 1000; active days: 51, next checkpoint 75; languages: 13, next checkpoint 15. Activity uses the rolling 365-day window; language count uses current public code. These are automatic numeric checkpoints, not GitHub awards.

Languages

  • HTML: 3,922,164 bytes (38.4%), 7 repositories
  • TypeScript: 1,637,430 bytes (16.0%), 6 repositories
  • Python: 1,462,564 bytes (14.3%), 8 repositories
  • JavaScript: 1,430,564 bytes (14.0%), 14 repositories
  • Rust: 1,124,399 bytes (11.0%), 1 repositories
  • CSS: 526,078 bytes (5.1%), 7 repositories
  • C#: 54,357 bytes (0.5%), 1 repositories
  • PLpgSQL: 33,322 bytes (0.3%), 1 repositories
  • Shell: 18,338 bytes (0.2%), 3 repositories
  • Swift: 3,742 bytes (0.0%), 2 repositories
  • Makefile: 2,330 bytes (0.0%), 1 repositories
  • Batchfile: 1,468 bytes (0.0%), 1 repositories
  • Dockerfile: 1,256 bytes (0.0%), 2 repositories

Featured work

FunChessEngine (JavaScript), pushed 2026-09-11. Original Python chess engine and fully local ChessBase-style desktop workstation for play, analysis, PGN libraries, studies, training, tournaments, and engine development.

TowerLogic (Python), pushed 2026-09-12. Computer vision and machine learning system for Clash Royale using PyTorch, YOLOv8, OpenCV, emulator control, and policy-based automated decision logic.

the-great-prompt-off (TypeScript), pushed 2026-08-30. Full-stack AI prompt-evaluation platform built with Next.js, TypeScript, Supabase/Postgres, and OpenRouter for live structured-extraction challenges.

PianoMirRustPublic (Rust), pushed 2026-09-12. Rust/Python music information retrieval system for aligning recorded performances with PDMX scores and evaluating note accuracy, chroma, timing, and tempo.

Daily contribution data

Pinned Loading

  1. FunChessEngine FunChessEngine Public

    Original Python chess engine and fully local ChessBase-style desktop workstation for play, analysis, PGN libraries, studies, training, tournaments, and engine development.

    JavaScript

  2. kitcoscraper kitcoscraper Public

    Node.js/Puppeteer scraper developed for Carat Coin to automate recurring Kitco precious-metals price collection and CSV-based reporting.

    JavaScript

  3. PianoMirRustPublic PianoMirRustPublic Public

    Rust/Python music information retrieval system for aligning recorded performances with PDMX scores and evaluating note accuracy, chroma, timing, and tempo.

    Rust

  4. the-great-prompt-off the-great-prompt-off Public

    Full-stack AI prompt-evaluation platform built with Next.js, TypeScript, Supabase/Postgres, and OpenRouter for live structured-extraction challenges.

    TypeScript 1

  5. TowerLogic TowerLogic Public

    Computer vision and machine learning system for Clash Royale using PyTorch, YOLOv8, OpenCV, emulator control, and policy-based automated decision logic.

    Python 1

  6. avoid.love avoid.love Public

    A cinematic, interactive love story in 28 chapters — scroll-driven films, tactile details, and a living finale.

    JavaScript