Johnny Le
    01:03 AM Central Standard Time


    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.


    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.


    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.



    React TailwindCSS Markdown


    Next JS