AI Portfolio Builder
Turns a LinkedIn profile or résumé into a live, hosted personal website in about thirty seconds.
Most people never build a portfolio site because the gap between "I have a LinkedIn profile" and "I have a website" is too much work. Close it to under a minute — and make the result good enough that someone would actually send it to a recruiter.
I built the full stack on this one: the React frontend, the Node backend, the template engine that renders a profile into any of the available designs, the NLP content generation that writes the copy, and the hosting layer that serves every generated site.
It now runs at 5,000+ active users with 99.9% uptime — which is the number I'm proudest of, because a free AI product is exactly the kind of thing that falls over under real traffic. Getting there meant treating generation cost, caching and failure handling as first-class concerns rather than afterthoughts.
+Full technical breakdown
What I built
- React frontend — the builder, editor and template preview experience
- Node backend — generation orchestration, profiles, job data and APIs
- Template engine rendering one profile into many distinct designs
- NLP content generation producing portfolio copy from raw profile data
- Hosting layer serving thousands of generated sites on clean URLs
- Job matching and recruiter-facing modules
Problems solved
- Uptime under a free tier. Free products attract volume and abuse; caching, rate limiting and graceful degradation are what keep 99.9% achievable without a large infrastructure bill.
- Messy input, structured output. Profiles and résumés follow no consistent format, so extraction had to be reliable and correctable rather than assumed perfect.
- The 30-second promise. Parsing, generation and rendering all had to fit inside a window where the user is still watching — deciding what runs synchronously was the core architectural call.