Skip to content
Prajwal Bhatia
← Work

Virtual Internships · 2024–26

fe-intern-profile

Was 513KBnow 240KB

Bundle

This started as intern-profile UI and became a package the main application installs. That shift changes the work: once something has consumers, you can't reshape an API because it would be tidier.

Library maintenance, done properly

Most of it is unglamorous. Breaking a monolithic profile view into discrete section components across 31 files. Building the resume builder as a component that holds both edit and view modes rather than duplicating markup for each.

Getting the whole surface keyboard-navigable — 782 additions across 25 files, driven by an accessibility issue filed against the consuming app, which is the useful part: the bug arrived from downstream and had to be fixed at the source.

Code-splitting with an opinion

The performance work was code-splitting with an opinion about which sections matter. Above-the-fold — profile, about, skills — stays synchronous. Portfolio, experience, education and certifications move behind React.lazy with skeleton fallbacks. fetchPriority="high" on the profile picture, low on four decorative header SVGs. Terser at two passes.