Johnny Le
    01:03 AM Central Standard Time

    Portfolio

    My website is an extension of myself and has seen many forms. My original website started as a one-pager and has slowly formed into this version with multiple pages.

    The version you are viewing was part of an entire overhaul and rebuilt from the ground up.

    Design

    I had one main design philosophy while designing the site: "Simplicity." The goal was to show the information cleanly and pleasantly without creating unnecessary clutter.

    The design is lightly influenced by Apple's Human Interface Guidelines.

    Development

    My original portfolio was created at a time when my knowledge of front-end web development was limited. In the time since the original creation, I've worked extensively on my front-end web development skills. I felt like a revamp was long overdue.

    To start I was using NextJS's CSS modules system, but using Tailwind in other projects was much more pleasant and quickly I switched to Tailwind here as well. Using Tailwind I was able to quickly implement the design I had created. In 36 hours I was able to create my entire design.

    On my project pages, I used the NextJS dynamic "[id]" system to create project pages that were auto-generated from markdown. This was where I ran into my first issue. My original method used a "dangerouslysetinnerhtml" tag which I quickly scrapped and found an alternative called "React Markdown". Here I ran into an issue where the new component wouldn't center on the page. Trivial yes, but I later found out the component was designed differently under the hood and had to be treated like text.

    This was less of a learning experience compared to my portfolio of the past and instead the implementation of skills I have developed.

    Technologies

    UI

    React TailwindCSS Markdown

    Framework

    Next JS

    Hosting

    Vercel