Legal & Credits
Last updated April 3, 2026 · v3.62.0
Copyright
© 2026 Christopher Tien. All original site content, code, and design are personal work created for learning and experimentation. This is a personal portfolio and sandbox — not a commercial product.
Third-Party APIs & Services
This site uses the following external services:
| Service | Used by |
|---|---|
| Google Analytics 4 | Root, Bio, Projects, News Briefing, Monopoly, USA States Quiz, Coachisms, Browse Countries, Morning Briefing |
| Claude API by Anthropic | Morning Briefing (content generation via Google App Script) |
| Google Gemini API | Morning Briefing (Gemini Flash variant, content generation via Google App Script) |
| Firebase by Google (Firestore + Auth) | Tic-Tac-Toe, Monopoly, Coachisms, Snake, Number Guessing, Lead Form, The Wall, Survivor Pokémon, Pokémon Draft, Chess Lobby, Retro Games, Pokémon Store, FPS Arena, Tower Defense, Battle Fortress, Dungeon Crawler, Age of Conflict, Soulslike Dungeon, Kinetic Type |
| PokéAPI v2 | Pokémon Playground, Survivor Pokémon, Pokémon Draft Arena |
| REST Countries API v3.1 | Browse Countries |
| Open-Meteo | Super Dashboard (weather) |
| Yahoo Finance (via allorigins CORS proxy) | Super Dashboard (market indexes) |
| FRED — Federal Reserve Bank of St. Louis (via allorigins CORS proxy) | Super Dashboard (mortgage rates — Freddie Mac PMMS series) |
| Where the ISS at? | Super Dashboard (ISS location) |
| OpenSky Network | Super Dashboard (live US flight data) |
| ESPN Hidden API (unofficial, no key) | NBA Stats (standings, scoreboard, leaders) |
| Dattebayo Naruto API | Naruto Things (Bingo Book, Village Explorer, Ninja Stats Duel, Jutsu Encyclopedia) |
| allorigins.win (CORS proxy) | Super Dashboard (proxies Yahoo Finance and FRED requests), NBA Stats (ESPN API fallback), Naruto Things (CORS fallback for Dattebayo API) |
PokéAPI is a free, fan-created, unofficial Pokémon API. Pokémon sprite images are hosted by the PokéAPI project on GitHub.
Open-Source Libraries
| Library | License | Used by |
|---|---|---|
| D3.js v7 | ISC | USA States Quiz |
| TopoJSON v3 | BSD-3-Clause | USA States Quiz |
| US Atlas (us-atlas@3) | Public Domain | USA States Quiz |
| chess.js v0.10.3 | BSD-2-Clause | Chess Lobby |
| Three.js | MIT | 3D Maze |
| marked.js | MIT | Changelog |
| Tailwind CSS (CDN) | Apache 2.0 | Kinetic Type |
| JetBrains Mono (Google Fonts) | SIL Open Font License 1.1 | Kinetic Type |
| Space Grotesk (Google Fonts) | SIL Open Font License 1.1 | Kinetic Type |
Content & IP Acknowledgments
Several projects reference or adapt existing intellectual property. None of these are official products or affiliated with the rights holders.
- Pokémon — Pokémon names, sprites, and game data are the intellectual property of Nintendo, Game Freak, and Creatures Inc. Pokémon Playground, Survivor Pokémon, and Pokémon Draft Arena are fan-made projects using PokéAPI. Not affiliated with or endorsed by Nintendo.
- Monopoly — The Monopoly board game is owned by Hasbro. The Monopoly project is a fan-made digital recreation for personal use. Not affiliated with or endorsed by Hasbro.
- Survivor — The Survivor TV format is owned by CBS and Castaway Television Productions. The Survivor Pokémon project is fan-inspired and not affiliated with CBS.
- Coach (Benjamin Wade) — A public figure and reality TV personality. Photos of Coach are used in the Coachisms and Survivor Pokémon projects in a fan context.
- Jeff Probst — Public figure and host of Survivor. A photo is used in the Survivor Pokémon project in a fan context.
- Centipede & Missile Command — Classic arcade games originally published by Atari, Inc. The Centipede and Missile Command projects are fan-made browser recreations for personal/educational use. Not affiliated with or endorsed by Atari.
- Galaga — Classic arcade game originally published by Namco (now Bandai Namco Entertainment). The Galaga project is a fan-made browser recreation for personal/educational use. Not affiliated with or endorsed by Bandai Namco.
- Asteroids — Classic arcade game originally published by Atari, Inc. The Asteroids project is a fan-made browser recreation for personal/educational use. Not affiliated with or endorsed by Atari.
- NBA / Kobe Bryant — The NBA, NBA team names, logos, and related marks are trademarks of the National Basketball Association. Kobe Bryant's career statistics and records are publicly available historical data. The NBA Stats project is a fan-made dashboard for personal/educational use. Not affiliated with or endorsed by the NBA or any NBA team. Team logos are loaded from ESPN's CDN.
- Naruto — Naruto character names, jutsu, village lore, and related data are the intellectual property of Masashi Kishimoto / Shueisha and VIZ Media. The Naruto Things projects (Bingo Book, Village Explorer, Ninja Stats Duel, Jutsu Encyclopedia) are fan-made tools using the public Dattebayo API. Not affiliated with or endorsed by Kishimoto, Shueisha, or VIZ Media.
- WarGames — WarGames (1983) is a film produced by MGM/UA Entertainment Co. The WOPR, character names, and the quote "the only winning move is not to play" are associated with that film. The WarGames project is a fan-made browser tribute for personal/educational use. Not affiliated with or endorsed by MGM or any rights holder.
- Company Logos — All company logos and trademarks shown on the Brands I've Worked With page are the property of their respective owners and are used solely to identify past professional engagements. Not affiliated with or endorsed by any of these companies.
Privacy
- Google Analytics 4 is used on several pages to collect anonymized traffic data (page views, session info). No personally identifiable information is collected. See Google's Privacy Policy.
- Morning Briefing is generated daily via Google App Script using either Claude API or Google Gemini Flash API. No personal data is stored or processed — briefings are generated based on general news categories and are not tied to any user account. Both Claude and Gemini variants are available for comparison.
- Leaderboard scores (Snake, Number Guessing Game, Tic-Tac-Toe) are stored publicly in Firestore. No account or name is required — scores are anonymous.
- The Wall stores user-submitted notes (text and optional drawings) in Firestore. No account required. Notes are public and visible to all visitors.
- Lead Form stores form submissions (name, email, message) in Firestore for contact purposes.
- Game results from Survivor Pokémon and Pokémon Draft Arena are stored in Firestore. No personal data is collected.
- Chess Lobby stores game state and move history in Firestore. Games are public and visible to all visitors. No account or personal data is required.
- Retro Games leaderboards (Centipede, Missile Command, Asteroids, Galaga) store player-entered names (up to 10 characters) and scores in Firestore. Names are chosen by the player — no account required. Leaderboards are public and visible to all visitors.
- FPS Arena, Tower Defense, and Battle Fortress leaderboards store player-entered names (up to 10 characters), scores, and game stats in Firestore. No account required. Leaderboards are public and visible to all visitors.
- Dungeon Crawler, Age of Conflict, and Haunted House leaderboards store player-entered names, scores, and run stats in Firestore. No account required. Leaderboards are public and visible to all visitors.
- Soulslike Dungeon leaderboards store player-entered names, completion times, deaths, and soul level in Firestore (both overall and per-boss leaderboards). No account required. Leaderboards are public and visible to all visitors.
- The password gate is a lightweight, client-side session check — not a security mechanism. It exists to keep casual visitors out of work-in-progress pages.
Disclaimer
This is a personal portfolio and experimental sandbox. Projects are built for learning purposes and are not commercial products. No warranties or guarantees of any kind are provided. All third-party trademarks, logos, and brand names are the property of their respective owners and are used here for identification purposes only.