The transcription pipeline orchestrates the creation, management, and publication of AI-generated technical transcripts related to Bitcoin.
- Curator: Selects source material and submits the AI-generated transcripts to the central repository.
- tstbtc: A command-line tool that processes source material to produce AI-generated transcripts using different transcription services.
- bitcointranscripts: The central repository where all transcripts are stored.
- transcription-review-backend: Coordinates the review workflow, managing transcript queues, notifications, and reviewer payouts.
- Discord Server: Community engagement including alerts for users about new transcripts available for review.
- GitHub: Central platform for authentication, storage, and tracking submissions as part of the review and evaluation workflow.
- transcription-review-front-end: A user interface for reviewers to manage their review tasks, including transcript editing and submission.
- Reviewer: Community contributors who refine the AI-generated transcripts, ensuring their quality and accuracy.
- Evaluator: Responsible for the final review stage, assessing and approving submissions for merging into the central repository.
- btctranscripts.com: The public-facing website for Bitcoin Transcripts, updated automatically with newly merged content.
- Creation & Queueing: Initiated by the Curator, transcripts are generated using tstbtc and committed to the central repository. This triggers a webhook in the transcription-review-backend, queuing the transcript for review and notifying via the Discord Server for its availability.
- Review: Reviewers use the transcription-review-front-end as an enhanced interface to access and edit transcripts. This front-end is linked to GitHub, where each edit is reflected as changes in a unique branch in the reviewer's fork of the repository. The platform facilitates easy viewing, claiming, and modification of transcripts, with the backend coordinating the review workflow.
- Evaluation: After editing, reviewers submit their work, creating pull requests to the bitcointranscripts repository. These PRs are then evaluated by an Evaluator who can request further changes or approve and merge the submissions into the main repository.
- Finalization: Following the approval, the transcription-review-backend processes the payouts for reviewers.
CLICK for Sequence Diagram of the Transcription Pipeline
sequenceDiagram
actor Curator
participant tstbtc
actor Evaluator
participant bitcointranscripts
participant Site as btctranscripts.com
participant backend as transcription-review-backend
participant discord as Discord Server
participant GitHub
participant frontend as transcription-review-front-end
actor Reviewer
Note over Curator,tstbtc: Transcript Creation Process
opt transcription using tstbtc
Curator->>+tstbtc: Submits source for transcription
tstbtc-->>-Curator: Returns AI-generated transcript
end
Note over Curator,discord: Queueing Process
Curator->>bitcointranscripts: Commits AI-generated transcript
bitcointranscripts->>+backend: Triggers webhook for new content push
backend->>backend: Adds new transcript to the Queue
alt success
backend-->>discord: Alerts users of new reviewable transcript
else error
backend-->>-discord: Alerts developers for error
end
Note right of bitcointranscripts: Repository Update
bitcointranscripts->>Site: Triggers website rebuildte with new content
Site->>Site: Rebuild with updated content
Note over bitcointranscripts,Reviewer: Review Process
Reviewer->>+frontend: Accesses review platform
frontend->>+GitHub: Requests GitHub login
GitHub-->>-frontend: Confirms authentication
frontend-->>-Reviewer: Grants access to platform
Reviewer->>+frontend: Requests transcripts list
frontend->>+backend: Queries for available transcripts
backend-->>-frontend: Returns available transcripts
frontend->>-Reviewer: Displays transcripts
Reviewer->>+frontend: Claims a transcript
alt First-Time Claim
frontend->>+GitHub: Fork bitcointranscripts repo
GitHub-->>-frontend: Confirms repository fork
end
frontend->>+GitHub: Creates working branch
GitHub-->>-frontend: Confirms branch creation
frontend->>+backend: Registers transcript claim
backend-->>-frontend: Return assigned review ID
frontend->>-Reviewer: Shows claimed transcript for editing
loop Edit Transcript
Reviewer->>+frontend: Save edits
frontend->>+GitHub: Commit edits to branch
GitHub-->>-frontend: Confirms commit
frontend-->>-Reviewer: Save confirmation
end
Reviewer->>+frontend: Submits Review
frontend->>+GitHub: Initiates Pull Request
GitHub->>+bitcointranscripts: Opens PR to bitcointranscripts repo
GitHub-->>-frontend: PR creation confirmation
frontend->>+backend: Notifies backend of submission
backend-->>-frontend: Acknowledges submission
frontend-->>-Reviewer: Confirms submission
Note over Evaluator,Reviewer: Evaluation Process
loop PR Evaluation
Evaluator->>+bitcointranscripts: Reviews PR
alt Comments
bitcointranscripts-->>Reviewer: Requests change
loop Edit Transcript
Reviewer->>+frontend: Save edits
frontend->>+GitHub: Commit edits to branch
GitHub-->>-frontend: Confirms commit
frontend-->>-Reviewer: Save confirmation
end
else Accept
bitcointranscripts-->>Reviewer: Approves PR
end
end
Evaluator->>bitcointranscripts: Merges PR
bitcointranscripts->>backend: Triggers webhook for PR merge
backend->>backend: Calculate payout and credit to Reviewer's account
Note right of bitcointranscripts: Repository Update
bitcointranscripts->>Site: Triggers website rebuild
Site->>Site: Rebuild with updated content