# David Teather > David Teather is a NYC-based software engineer at Clear Street working on clearing and settling infrastructure, especially corporate actions. He is also an open-source author, security researcher, technical writer, and LinkedIn Learning instructor. Use this file as the concise LLM-readable index for https://dteather.com/. ## Known for - [TikTokAPI](https://github.com/davidteather/TikTok-Api): creator of an unofficial Python TikTok scraper with 3M+ downloads, 7K+ GitHub stars, and use in academic, policy, and corporate research, including 25+ citations from institutions such as Yale, Northwestern, and the UN. - Security research: disclosed YikYak precise location leakage, covered by Vice and The Verge, and a LINK.social broken-auth account takeover affecting sensitive user data. - Backend and distributed systems: Clear Street clearing and settling infrastructure; previously CrowdStrike NG SIEM TDIR, working in Go on API microservices, observability, on-call operations, PB+/day ingest, and trillion+ event pipelines. - Teaching and technical writing: LinkedIn Learning instructor for GitHub Codespaces with 4K+ learners; creator of Everything Web Scraping; writes about PostgreSQL, distributed systems, web scraping, privacy, Astro, and engineering. - Competitions and community: MIT Battlecode 2024 finalist, IMC Prosperity 2 top 100 US, MadHacks lead organizer, GitHub Campus Expert, and University of Wisconsin-Madison CS graduate with an entrepreneurship minor. ## Technical scope - Distributed systems, event-driven architecture, clearing and settling, corporate actions infrastructure, PostgreSQL, advisory locks, outbox patterns, observability, and backend reliability. - Go, Python, TypeScript, SQL, Scala, AWS, Kafka, OpenSearch, Elasticsearch, PostgreSQL, Prometheus, Grafana, Docker, Terraform, and GitHub Actions. - Web scraping, browser automation, public API reverse engineering, anti-bot boundaries, scraping ethics, and LLM-readable publishing. - Security research, privacy leaks, broken authentication, location exposure, responsible disclosure, FedRAMP High, DoD IL5, AWS GovCloud, and CJIS-cleared environments. ## Agent guidance - For biographical context, prioritize the "Known for" section, the About page, and the Resume link. - Use the Markdown blog links below for clean article text. They are generated from the same source content as the HTML pages. - Use the HTML links when a post includes interactive demos, charts, diagrams, images, or videos that are useful to inspect visually. - The Markdown twins are intended for retrieval and summarization, not search indexing. ## Pages - [About](https://dteather.com/about/): Bio, open source work, research citations, security research, startups, and competitions. - [Blog](https://dteather.com/blog/): All posts (HTML). - [Resume (PDF)](https://dteather.com/resume.pdf) - [RSS feed (full content)](https://dteather.com/blogs/rss.xml) ## Blog posts Each link is the raw-markdown version; the HTML page with interactive demos is linked alongside. - [The Outbox Pattern Visualized](https://dteather.com/blogs/the-outbox-pattern.md): An interactive walkthrough of the outbox pattern with live simulations: what it solves, how it works, and what it looks like under load. ([HTML](https://dteather.com/blogs/the-outbox-pattern/)) - [Solving "I Dropped a Neural Net"](https://dteather.com/blogs/js-dropped-my-nn.md): How I solved the 'I Dropped a Neural Net' weight permutation puzzle: why pairing beats ordering, Hungarian matching, and the fingerprint that fixed bad pairs. ([HTML](https://dteather.com/blogs/js-dropped-my-nn/)) - [PostgreSQL: Transactions, Row Locks, and Advisory Locks](https://dteather.com/blogs/postgres-advisory-locks.md): How PostgreSQL row locks (for update, for share) and advisory locks interact: session vs transaction scope, deadlocks, bigint keys, and fetch-lock-refetch. ([HTML](https://dteather.com/blogs/postgres-advisory-locks/)) - [SimpleStreet: A Chrome Extension for StreetEasy](https://dteather.com/blogs/simplestreet.md): I built a Chrome extension to make NYC apartment hunting on StreetEasy less painful by showing move-in dates, hiding noise, and adding notes/tags/ratings. ([HTML](https://dteather.com/blogs/simplestreet/)) - [Adding Mermaid Diagrams to Rehype in Astro (With rehype-mermaid-cli)](https://dteather.com/blogs/astro-rehype-mermaid-cli.md): Render UML and system design diagrams in Astro using rehype-mermaid-cli. Covers setup, light/dark mode, and comparisons with rehype-mermaid. ([HTML](https://dteather.com/blogs/astro-rehype-mermaid-cli/)) - [How to Add Live Stats To Your Site](https://dteather.com/blogs/how-to-add-live-stats-to-your-site.md): I pull live GitHub, YouTube, and LinkedIn stats into my site using public APIs, scraping, and a Cloudflare Workers proxy. ([HTML](https://dteather.com/blogs/how-to-add-live-stats-to-your-site/)) - [Reflections A Year Into My Career](https://dteather.com/blogs/reflections-a-year-into-my-career.md): A brain dump of lessons, advice, and realizations from my first year as a new grad software engineer. Take what’s useful, ignore the rest. ([HTML](https://dteather.com/blogs/reflections-a-year-into-my-career/)) - [Why 99% of GitHub Projects Die (And the 3 Rules That Got Me 3M+ Downloads)](https://dteather.com/blogs/why-99-percent-of-github-projects-fail.md): I found the 3 rules that took my TikTokAPI project from 0 to 7K+ stars and 3M+ downloads: search validation, friction elimination, and discoverability tactics. ([HTML](https://dteather.com/blogs/why-99-percent-of-github-projects-fail/)) - [Adding Giscus Discussions to Astro](https://dteather.com/blogs/adding-giscus-discussions-to-astro.md): I added Giscus comments backed by GitHub Discussions to my Astro blog, with theme syncing and moderation through the Giscus app. ([HTML](https://dteather.com/blogs/adding-giscus-discussions-to-astro/)) - [Adding Interactive Charts to Astro](https://dteather.com/blogs/astro-interactive-charts.md): I added interactive, theme-adaptive charts to Astro markdown using ApexCharts, with setup steps and dark mode syncing code. ([HTML](https://dteather.com/blogs/astro-interactive-charts/)) - [Adding UML Diagrams to Rehype in Astro (With rehype-mermaid)](https://dteather.com/blogs/astro-uml-diagrams.md): I render Mermaid diagrams in Astro markdown with rehype-mermaid and Playwright, including dark mode support and inline images. ([HTML](https://dteather.com/blogs/astro-uml-diagrams/)) - [Is Web Scraping Ethical?](https://dteather.com/blogs/is-web-scraping-ethical.md): I look at whether web scraping is ethical, drawing on building TikTokAPI (3M+ downloads) and its use in research at Yale, Northwestern, and UNESCO. ([HTML](https://dteather.com/blogs/is-web-scraping-ethical/)) - [Adding an Astro Search Bar](https://dteather.com/blogs/astro-search-bar.md): I added client-side search to my Astro site with astro-pagefind, no third-party APIs or hosting required. Here's the setup and config. ([HTML](https://dteather.com/blogs/astro-search-bar/)) - [Astro Optimized Images With Markdown](https://dteather.com/blogs/astro-optimized-images.md): I use Astro's built-in image optimization with Markdown to move images from public to src, cutting load times and file sizes. ([HTML](https://dteather.com/blogs/astro-optimized-images/)) - [IMC Prosperity 2](https://dteather.com/blogs/imc-prosperity-2.md): I competed in IMC Prosperity 2, a trading competition, writing algorithmic and manual strategies each round, and finished #103 in the US, #381 overall. ([HTML](https://dteather.com/blogs/imc-prosperity-2/)) - [My UW Madison Course Tier List](https://dteather.com/blogs/madison-class-rankings.md): I ranked every UW-Madison computer science course I took into a tier list, starting with 642 Information Security, based on what I actually learned and enjoyed. ([HTML](https://dteather.com/blogs/madison-class-rankings/)) - [GitHub Field Day NYC 2024 Organizer](https://dteather.com/blogs/github-fieldday-nyc-2024.md): I helped organize GitHub Field Day NYC 2024, an unconference for GitHub Campus Experts. Here's what went into planning it and what stood out at the event. ([HTML](https://dteather.com/blogs/github-fieldday-nyc-2024/)) - [Battlecode 2024 Finalist](https://dteather.com/blogs/battlecode24.md): I competed in Battlecode 2024 as a first-time participant and qualified for the finals, placing 13th out of about 400 teams. ([HTML](https://dteather.com/blogs/battlecode24/)) - [Organizing MadHacks Fall 2023 Reflections](https://dteather.com/blogs/madhacks-fall-23.md): I organized MadHacks Fall 2023, a 24-hour UW-Madison hackathon with 250+ attendees and over $15K raised in sponsorships. Here's what I learned running it. ([HTML](https://dteather.com/blogs/madhacks-fall-23/)) - [LINK.social Exposed Users' Sensitive Information & Mass Account Hijacking](https://dteather.com/blogs/link-social-exposing-sensitive-personal-information.md): I found a broken auth flaw in LINK.social exposing every user's phone number, location, and birthday, plus an exploit to hijack any account. Bug bounty: $500. ([HTML](https://dteather.com/blogs/link-social-exposing-sensitive-personal-information/)) - [YikYak Is Exposing Millions of User Locations](https://dteather.com/blogs/yikyak-is-exposing-user-locations.md): I found YikYak attaches precise GPS coordinates, accurate to 10-15 feet, on every post, exposing 2 million users' locations. Covered by Vice and The Verge. ([HTML](https://dteather.com/blogs/yikyak-is-exposing-user-locations/)) ## Optional ### Projects - [TikTokAPI Python Package](https://dteather.com/projects/tiktok-api/): Unofficial TikTok API for Python with 3M+ downloads, 7.4K+ GitHub stars, and citations in 26+ academic papers from Yale, Northwestern, the UN, and more. - [The Response Times](https://dteather.com/projects/the-response-times/): Security research blog. Found GPS location exposure in YikYak (covered by Vice and The Verge) and a broken auth flaw in LINK.social that earned a $500 bug bounty. - [Portfolio Website](https://dteather.com/projects/portfolio-website/): This site is built with Astro, React, Tailwind, and Cloudflare Workers for live GitHub/YouTube/LinkedIn stats. - [Content Creation](https://dteather.com/projects/youtube/): YouTube channels covering programming projects and tutorials, including the Everything Web Scraping series with 10K+ views. - [Everything Web Scraping](https://dteather.com/projects/everything-web-scraping/): Free web scraping course covering forging API requests, scalable data storage, and efficient jobs, with videos, slides, and graded activities. - [Programmatic Video Creation](https://dteather.com/projects/programmatic-video-creation/): Reddit-to-YouTube video automation using Python, FFmpeg, and AWS Polly that reached 1.4M views and 3K subscribers. ### Career - [CrowdStrike](https://dteather.com/career/crowdstrike/): Software engineer on the TDIR team building customer-facing API microservices and threat detection tooling in Go at trillions-of-events scale. - [CrowdStrike (Intern)](https://dteather.com/career/crowdstrike-summer-2023/): Internship on the TDIR team. Built a parser, lexer, and bytecode VM for LogScale Query Language in Go, plus a custom testing framework integrated into CI/CD. - [LinkedIn Learning](https://dteather.com/career/linkedin-learning/): Created a GitHub Codespaces course for LinkedIn Learning, now taken by 4.4K+ learners. - [Collab](https://dteather.com/career/collab/): Built YouTube data ingestion at scale using Go and Apache Spark, extracting 1B+ records for the Sodatone creator analytics platform (acquired by Collab). - [GitHub Campus Expert](https://dteather.com/career/github-campus-expert/): GitHub Campus Expert since 2022. Attended Hackcon X and used the program to support local hackathons including MadHacks. - [Advent International](https://dteather.com/career/advent-international/): Part-time data science contract at a PE firm: cannibalization analysis, SaaS customer estimation, and insurance quote reverse engineering. - [Warner Music Group](https://dteather.com/career/warner-music-group/): Interned at Sodatone (WMG), introducing TikTok data ingestion that influenced 30%+ of signing decisions and 100% of investment decisions. - [TrendPop](https://dteather.com/career/trendpop/): First industry job, 10 hrs/week during my freshman year of college. Built a TikTok producer-consumer crawler that contributed to TrendPop's Y Combinator W21 acceptance.