Skip to content

Jester Docs

Jester is the codename for odds park's automatic article generation project.

This site is the official documentation for the Jester project, covering everything from the product's business specification to the development and infrastructure details.


The big picture

flowchart LR
    Race([Race data<br/>results, video, predictions]) --> ArticlePipe
    Race --> BlogPipe
    OldBlog([Past blogs]) --> BlogPipe

    subgraph ArticlePipe[Article pipeline]
        AG[article_generation<br/>writes the 10-second summary] --> AB[article_builder<br/>builds the HTML]
    end

    subgraph BlogPipe[Blog pipeline]
        BG[blog_generation<br/>writes recaps and predictions] --> BB[blog_builder<br/>builds the HTML]
        BR[blog_rewriter<br/>rewrites past blogs] --> BB
    end

    AB --> Draft([Draft])
    BB --> Draft
    Race --> TG[thumbnail_generation<br/>extracts a thumbnail]
    TG --> Draft
    Draft --> Publish([Operator publishes])

Documentation map

Business domain

The product's purpose, the people involved, and the business logic of each feature. Start here if you are not an engineer.

Page Contents
Products What Jester is, the problems it solves and its key features
Actors The people and systems involved and what each does
Article Generation Automatic 10-second race result summaries
Blog Generation Rewriting past blogs and writing race recaps / predictions
Thumbnail Generation Extracting a thumbnail from the race video
Odds PoC Features of the content management application

Application

Technical specifications for each Lambda, API and the admin UI.

Shared

Page Contents
Tech Stack Technologies used and why
Coding Rule Implementation conventions
Directory Architecture Repository layout and layering
Shared Packages Shared packages (agents, fact checking, โ€ฆ)

Lambdas

Page Contents
article-generation Writing the 10-second race result summary
article-builder Building and storing article HTML
blog-generation Writing race recap / prediction blogs
blog-rewriter Rewriting past blogs
blog-builder Building and storing blog HTML
thumbnail-generation Extracting thumbnails from race videos

odds-poc API

Page Contents
Races Race information and AI prediction management
Articles Article management
Blogs Blog management and generation
Old Blogs Past blog import and rewriting
Categories Category management
Medias Media management
NG Word NG word management
Ping Health checks

Frontend

Page Contents
user-web Screens and APIs of the admin UI (React SPA)

Database

The database in use and the table definitions.

Page Contents
Overview Table list and common rules
article Article table
blog Blog table
old_blog Past blog table
category Category table
media Media table
ng_word NG word table
auto_racing Auto racing table
bicycle_racing Keirin table
horse_racing Horse racing table

Infrastructure

The AWS architecture, the services in use and how things are deployed.

Page Contents
Infrastructure Architecture diagram, AWS services, Lambda / SQS / S3 layout, deployment