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.

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.