The application does not rely on a third-party component library. Instead, it uses an internal component library built with SASS and TailwindCSS, along with tooling libraries such as Floating UI and Framer Motion.
This choice was primarily an experiment, meant to gauge the difficulty, limitations and benefits of forgoing a third-party component library like Mantine or Chakra UI.
Disclosure: Mantine is used in a couple of places where building the component internally made no sense.
Skill-Centric Design
The application is designed around the concept of a Skill: a particular ability or expertise developed over an academic or professional career, such as NextJS.
A Skill can be associated with any other model in the application, such as an Experience or a Project, via the admin-only CMS. The dates during which those associated models were relevant are then used to dynamically reconstruct experience metrics, usually in years, for every Skill in the application.
All of the application's content can be modified directly in the admin-only CMS, including the experience history shown on the Dashboard and Resume pages.
Integrations
The application integrates directly with APIs from sources such as LinkedIn and GitHub, so relevant data can be imported from those sources and reconciled with internal data.
Resume Management
Resumes can be managed directly in the admin-only CMS. They can be uploaded, deleted and toggled between, with a single, most up-to-date resume exposed for public viewing and download in the application.