Background
constants/instagram-posts.ts stores all Instagram posts as a static, hand-maintained record. Every time a new post goes live on @techtankto, someone has to manually add the entry and commit the file.
Goal
Build a scraper that fetches new posts from the techtankto Instagram account and writes them into (or alongside) instagram-posts.ts, so the feed stays current without manual intervention.
Acceptance criteria
Notes
- Review the existing
InstagramPost / InstagramPostMedia interfaces in constants/instagram-posts.ts before writing the schema mapping.
- Prefer an official or well-maintained library (e.g.
instagrapi, apify, or the Instagram Basic Display API) over brittle HTML scraping.
- If using an API that requires credentials, document the required env vars in
.env.example.
Background
constants/instagram-posts.tsstores all Instagram posts as a static, hand-maintained record. Every time a new post goes live on @techtankto, someone has to manually add the entry and commit the file.Goal
Build a scraper that fetches new posts from the techtankto Instagram account and writes them into (or alongside)
instagram-posts.ts, so the feed stays current without manual intervention.Acceptance criteria
techtanktoInstagram accountInstagramPostschema (caption,date,shortcode,pk,createdAtRaw,media)/public/media/instagram/<slug>/constants/instagram-posts.tswithout overwriting existing entriespnpm scrape:instagram) and as a scheduled CI jobNotes
InstagramPost/InstagramPostMediainterfaces inconstants/instagram-posts.tsbefore writing the schema mapping.instagrapi,apify, or the Instagram Basic Display API) over brittle HTML scraping..env.example.