Real-Time Polling API — Technical Assessment
The Situation
This was the second half of a Tech Lead technical assessment for a hiring process.
The Task
- Deploy a simple REST API application using C# on Linux
- Deploy a simple WebSocket application using C# on Linux
The Action
I combined both requirements into one working example — a "Live Polling & Voting" app where:
- The REST API handles poll creation — submitting a question and a set of options
- Votes are cast and results update in real time via WebSocket, so anyone viewing the poll sees vote counts and percentages change live without refreshing
- Everything runs on a Linux host, deployed under my own domain so it's reachable for review
Screenshot

The Result
Rather than building two disconnected toy endpoints to satisfy the letter of the requirement, I picked one small feature — live polling — that genuinely needs both a REST API (create/fetch polls) and a WebSocket connection (live vote updates) to work, so the two requirements demonstrate one real-time system instead of two unrelated snippets.
Note: this was a take-home technical assessment for a hiring process, not a production product — details of the hiring company have intentionally been left out.