- GitHub actions
- Streak count (longest and current)
- extract more entities (link to src, demo, etc.)
- list view
- timestamp
- extra entities (demo, src, etc.)
- Link to original tweet
- thread view
- YouTube reply clone
- Keyboard shortcuts dialog + ? binding to display it
- improve color contrast (thanks to VisBug)
- pytest
- at least have some tests
- 80% coverage
- coverage
- GitHub Actions
- jest unit tests
- at least have some tests
- 80% coverage
- GitHub Actions
- cypress
- routing
- refactor UI code
- refactor backend code
- responsive
- mobile friendly
- Search functionality
- dark mode
- [-] adaptive SVG favicon
- SVG className instead of other state prop
- performance measurement
- get_tweets time taken (incremental fetch already?)
- Lighthouse Mobile score
- Lighthouse Desktop score
- performance improvements
- about page with Mermaid https://www.youtube.com/watch?v=6TiIrJf63Xs
- support for new rounds (backend)
- folder-based? nope
- Filter by round
- need an API for new rounds (or for the sake of learning 😏)
- support for new rounds (UI)
- round selector (that ListBox)
- ListBox could use some CSS and custom div
- routing
- data fetching
- merge tweets
- merge tweets unit test
- create a single commit for multiple JSON files update
- put more context in automatic commits
- time taken
- pretty stats table (probably better add a comment in each automatic tweet)
- new data storage design
- where to keep the backend state (everything in upstash?)
- data backup (S3 or some storage service)
- more entity support
- npm
- pypi
- rust package
- go package
- round 2 (migrated to Mastodon)
- Make sure content are always in HTML?? https://docs.joinmastodon.org/entities/Status/#content
- prepare new component for round 2 content
- time zone bug in
formatTwitterDate
function - no streaks, but display the most recent streak instead
- compare_tweets bug (counting number of tweets has some issues, e.g., what about replies tweets)
- plus4months bug, activity graph should continue as long as it has new data or reach day 100
- mocking Date in jest
- crop PNG
- PyGithub update multiple files
- grid layout with side navigation rails
field | data |
---|---|
since_id | 1234567 (loaded from metadata file) |
total tweets count | 300 |
tweets count (round 1) | 120 |
tweets count (round 2) | 180 |
elapsed time (seconds) | 3.33 |
graph TD
S0[Daily run] --> A1
S1[manual or weekly run] -->|pass start_time parameter| A
A1(Determine where should the script start fetching tweets) --> D1{stats file exists}
D1 -->|does not exist| F1(run script without since_id)
D1 -->|exists| F2(run script with since_id)
F1 --> A
F2 --> A
subgraph get_tweets.py
A(Fetch tweets from Twitter API) --> B(Extract metadata)
B --> B2(group tweets by conversation_id)
B2 --> B3(group tweets by round)
B3 --> B4(write the results to files)
end
B4 --> U1(push changes to GitHub)
U1 --> U2(upload data to Upstash)