JSFiddle - React, Tailwind, and code Playground

HTML

<div class="container">
  <ul class="list">
    <li class="list__item">
      <span class="list__inner">
        <span class="list__year">1934</span>
        <span class="list__text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquam, error.</span>
      </span>
    </li>
    <li class="list__item">
      <span class="list__inner">
        <span class="list__year">1935</span>
        <span class="list__text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquam, error.</span>
      </span>
    </li>
    <li class="list__item">
      <span class="list__inner">
        <span class="list__year">1936</span>
        <span class="list__text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquam, error.</span>
      </span>
    </li>
    <li class="list__item">
      <span class="list__inner">
        <span class="list__year">1937</span>
        <span class="list__text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquam, error.</span>
      </span>
    </li>
  </ul>
</div>

SCSS

body{
  background-color: #2A6994;
}
.container{
  position: relative;
  max-width: 768px;
  margin: 0 auto;
  padding: 0 10px;
  &:before{
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 100%;
    width: 5px;
    background-color: #fff;
  }
}

.list{
  padding: 20px 0;
  &__item{
    &:nth-of-type(odd){
      text-align: right;
      .list__inner{
        text-align: left;
        &:before{
          left: -15px;
          width: 0;
          height: 0;
          border-top: 10px solid transparent;
          border-right: 15px solid #FF5B6B;
          border-bottom: 10px solid transparent;
        }
        &:after{
          left: -45px;
        }
      }
    }
    &:nth-of-type(even){
      .list__inner{
        &:before{
          right: -15px;
          width: 0;
          height: 0;
          border-top: 10px solid transparent;
          border-left: 15px solid #FF5B6B;
          border-bottom: 10px solid transparent;
        }
        &:after{
          right: -45px;
        }
      }
    }
  }
  &__inner{
    background-color: #FF5B6B;
    display: inline-block;
    font-size: 18px;
    color: #fff;
    padding: 10px;
    position: relative;
    width: 43%;
    &:before{
      content: '';
      position: absolute;
      bottom: 10px;
    }
    &:after{
      content: '';
      position: absolute;
      bottom: 12px;
      width: 20px;
      height: 20px;
      border-radius: 50%;
      background-color: #FF5B6B;
    }
  }
  &__year{
    display: block;
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 5px;
  }
}