A collection of observatories — each subdomain is a small automated system that keeps collecting, organizing and publishing something worth keeping a record of.
Harmonica events, players and sheet music from around the world
A directory of the harmonica world that started in Taiwan and grew global: events, student clubs, ensembles, players, teaching studios, contest pieces and sheet-music sources. Public posts scattered across platforms and languages are gathered in one place, with the original text and links kept intact. The interface speaks 繁體中文, English, 日本語 and 한국어.
One feed for campus events at NTHU and NYCU
Collects public posts from clubs and offices at National Tsing Hua University and National Yang Ming Chiao Tung University — Instagram, Facebook, Threads, X and campus notices. An LLM pulls out each event’s name, time and place, and the result is a feed you can filter by campus, platform, event type and organizer.
A timeline of what the mayoral candidates post
Collects the official public posts of mayoral candidates in Taiwan’s six special municipalities — Taipei, New Taipei, Taoyuan, Taichung, Tainan and Kaohsiung. It follows 13 candidates and more than 5,700 posts, merges every platform into one timeline, and classifies each post by issue.
One story, every outlet’s headline
Crawls about 100 Taiwanese news outlets every 9 to 60 minutes and turns their tags, events and issues into data you can compare: the last 24 hours of coverage split by pan-blue and pan-green outlets, the issues heating up, and how each outlet headlines the same story.
Every kind of life, each written its own way
A sister site to tag.observe.tw that turns the same methods on Taiwan’s independent blogs: it collects more than 430 blogs and over 120,000 posts from their public RSS, Atom and sitemaps, then finds where blogs quote one another in their posts and which topics many of them are writing about right now.
An AI reporter for the civic-tech community
Every hour it reads the public workspaces of civic-tech communities such as g0v, Code for Korea and Code for Japan — Slack, GitHub, Mastodon, RSS and public Notion — picks out the progress worth knowing about, and writes it up as short news stories.
One story, every channel’s take
A live dashboard of more than 3,400 public YouTube channels and nearly 700,000 videos: what news, TV and political channels are streaming right now, which issues are heating up, and — by matching video titles against tag.observe.tw’s news tags — how each channel covers the same story.
Your YouTube life, remembered
A private archive of your YouTube attention: it syncs cross-device watch history from Google My Activity every day, measures real watch time with a Chrome extension, and adds progress, channels and AI topic labels — so you can see where your attention goes over time.
Meeting facilitation that surfaces hidden agreement
A research platform from the HAIX lab at NYCU. Participants leave Idea Blocks through a private voice back channel; the system finds similar ideas nobody has said out loud yet across participants and nudges them anonymously, so latent agreement can surface in the open discussion.
Turn a first reaction into a stance worth discussing
Write down a rough opinion and how sure you are, then take it apart with AI: an interviewer clarifies, a mentor organizes, a devil’s advocate pushes back. A notebook on the side collects useful fragments until it all comes together as a draft you can post.
My personal portal · browsing in review
A remake of MyZilla, the 2000s personal portal — bookmarks, clippings, multi-site search, movies and moods — plus a full review of your browsing history. The raw history stays on my own server and is never published.
A self-hosted pipeline for Plaud recordings
Keep using the Plaud recorder and its official upload, but run transcription, speaker diarization, summaries, search and Q&A on my own machines — the raw audio comes back through Plaud’s Open API, and everything derived from it stays with me.
Not under observe.tw, but also things I’ve been building lately.
Keep the thread. Weave everyone in.
Browser meetings that push back on groupthink: up to eight people share video, screens, live captions and a whiteboard, no account needed. Finalist at the 2026 Sea × OpenAI Codex Hackathon Taiwan (top 5 of 30).
Personal blog
Reflections, projects and whatever I’m obsessed with lately. Self-hosted Ghost with a theme maintained on top of the official Source theme; my changes live in separate partials and styles, so upstream updates merge cleanly.
The rings of a life
Everything I play, watch, read, listen to and attend — from Backloggd, Kitsu, stats.fm, Simkl, Goodreads, YouTube and more — normalized into one dataset in SQLite, so an upstream outage never leaves the page blank.
A public operations dashboard for my self-hosted services
Watches the public endpoints, Docker state and remote hosts behind everything I self-host, and keeps 90 days of availability history. Keys stay on the server and never reach the browser.
A song-request system for the harmonica club’s booth
Built for the club fair booth: visitors scan a QR code to vote for songs, the big screen plays the music video, the speaker plays the backing track and an earpiece carries the original vocal as a guide — three streams in sync. It all runs on a phone hotspot’s local network, no internet needed.
This page is open source too: skyhong2002/observe.tw