03 · External API client · 2025

My SSL Labs client

SSL/TLS Security Checker

This project pairs a React and TypeScript frontend with a Go backend I built for the SSL Labs API. My interface turns the API’s asynchronous progress and returned states into a flow that is easier to follow.

Abstract SSL and TLS assessment flow connecting a frontend, backend service, polling states, and external certificate analysis

01

Problem

SSL Labs returns a verbose, asynchronous assessment flow, and I wanted to make it understandable without implying that my interface performs the security analysis itself.

02

Constraints

  • I kept SSL Labs as the source of every assessment result
  • I shared one explicit status model between my React frontend and Go backend
  • I made the local setup reproducible with Docker Compose
  • I kept real and private target data out of this case study

03

Technical decisions

  • I used Go for the backend client that communicates with the SSL Labs API
  • I built the frontend with React and TypeScript
  • I used polling to surface assessment progress and each returned state
  • I packaged the development environment with Docker Compose

04

Evidence

  • I verified the React frontend with lint and a production build
  • I implemented the backend in Go and documented the Docker Compose workflow
  • I still need to finish the end-to-end checks for polling and error states

05

What I learned

The biggest takeaway for me is that a client for a long-running service should explain every state clearly without taking credit for guarantees made by the external service.