DEV Community

Cover image for Yay! I created my first Portfolio! 🎉
Anmol Baranwal
Anmol Baranwal Subscriber

Posted on

Yay! I created my first Portfolio! 🎉

After months of hard work, I'm finally launching my portfolio to show the world.

I've always believed that social profiles are more than enough and you don't really need a portfolio (in most cases). But then it's hard to show your story and personality without a separate portfolio.

I've done UX designing, technical writing, open source development, community management so it was getting hard for me to show everything using just one platform like GitHub, LinkedIn, X. That is the main reason I decided to work on my portfolio.

Today, I deployed it on anmolbaranwal.com! There are still a lot of things and features I wish to add (like PWA, UI improvements...), but I think it's good enough to show the world.

Please provide your feedback, it would mean a lot! 🙏

Be careful out there, there is also the light mode (yeah, I know)!!

In this blog, you will find my approach to building, which part was the hardest for me, the tech stack I used and the major takeaways from the project.

landing page


Which part was hardest for me?

Coding was tough for sure, at least for a few sections, but UI designing was tougher for me.

I wanted to create a wow factor and display all the necessary information in a way that's easy to understand. I struggled for a few months until I decided to ditch designing in AdobeXD and just start building.

In the end, I kept building stuff (with a basic structure in mind) and the design process became a lot easier.

For some sections, I've taken inspiration from a few websites (mainly in terms of UX) but I've coded everything myself.

In terms of performance, it's good on desktop screens but there is a problem of Largest Contentful Paint (LCP) on mobile screens. I improved as much as I could and thought of releasing it. I will improve it after a couple of weeks.

page insights


Everything is optimized and automated.

I wanted a portfolio that required minimum effort to update and that was my approach to building this.

Let's take the example of the projects section.

projects section

I've created a system that fetches projects from GitHub and shows only the allowed ones, with an easy way to arrange their order.

Then, if I want to update a specific field (and leave the rest), I can do that as well.

For instance, if I want to change only the description of the project and leave the rest of the information that is fetched. I could just add that in a data and it will be automatically used, keeping the other fields as same.

Coding this section with the timeline, recommended icon and so many other things was really tough.

Almost all the other sections as well rely on just data so it's easy to update everything.


Tech Stack

Let's briefly talk about the tech stack I used:

I've also used different packages for different components:

I created my own Icons component which made the work a lot easier with SVG files.

Fonts

I've used Open_Sans, Manrope from Google Fonts & a custom font for the heading of the links section.

Color

I'm a fan of dark modes, so I wanted to go with some dark tones as dominant ones.

I went along with Purple as a primary color. It represents loyalty so it suits me as a personality.


Sections in my portfolio

All the sections that I've added:

  • Home page
    • Hero
    • Companies
    • My Story
    • Work Process
    • Testimonials
    • Contact
    • Footer
  • About
  • Work experience
  • Projects
  • Blog
  • Links

The most complex sections are Projects and Blogs.

I've used some open source components as well but it needed a lot of changes to get the final result I wanted. Most of the sections, I've done from scratch to keep the codebase clean.

In a few months, I'm also planning to add more sections like achievements and tech stack.


Major Takeaways

Instead of trying to design a perfect page or obsessing over every small detail, just get started.

Focus on creating a basic structure or wireframe and then refine it as you go. The process becomes much easier once you take that first step.

I learned about a lot of things including:

  • open graph image and metadata at a complex level
  • optimization techniques especially about Largest Contentful Paint

and so much more while building this. You will too!

Here is the demo video that I've used on the socials.


For now, I will be taking a break and will focus more on technical writing.

I understand it's not perfect, but I've spent a lot of effort coding it.

I've always enjoyed building projects to show the world and this was really special for me. Thank you! 💜

You can connect me on GitHub, Twitter and LinkedIn.

Top comments (34)

Collapse
 
perisicnikola37 profile image
Nikola Perišić • Edited

Great job! This website is very unique, and I love the choice of colors. The customized scrollbar is a fantastic touch - really well done! 🚀

Here are a few suggestions for improvement:

  • The social media icons in the header (GitHub, X, LinkedIn) could be made easier to click; they feel a bit small or not very accessible. The same applies to the theme toggle icon.
  • I would remove "Portfolio of" and leaving it as just "Anmol Baranwal" in the website title
  • The trailing dot that follows the cursor feels a little slow. When hovering quickly, it can appear laggy
  • The "Trusted by" section animation feels a bit too fast

I also have a few questions:

  • What tool or technique did you use to create the beautiful horizontal divider?
  • How did you implement the three statistic boxes (98+, 900k, 50+)?
  • Is this project open-source?

You can check my new tool for analyzing dev.to posts here if you are interested. It is still in the draft phase.

Collapse
 
anmolbaranwal profile image
Anmol Baranwal

Thank you for the detailed feedback, Nikola.

The social media icons in the header (GitHub, X, LinkedIn) could be made easier to click; they feel a bit small or not very accessible. The same applies to the theme toggle icon.

Yes, this was also flagged as an issue in PageSpeed Insights. I didn’t want them to be too big and distracting but I will adjust them as much as possible to make them more accessible.

I will work on other points as well.

What tool or technique did you use to create the beautiful horizontal divider?

It's not using a tool, simple css code. You can inspect it as well.

How did you implement the three statistic boxes (98+, 900k, 50+)?

Again, pretty much a component, each box has a different design. The icon on the back is SVG as background (with the position adjusted).

Is this project open-source?

I’ve decided not to make it open source for now since most people don't really follow the rules of license and moderating it as an individual is difficult. I might open source it later, but that won't happen for at least the next 2 or 3 months.

Thank you for checking it out. 💜

Collapse
 
perisicnikola37 profile image
Nikola Perišić

You're welcome!

Collapse
 
shricodev profile image
Shrijal Acharya

Great job building this portfolio, Anmol. I really loved it. 👏

There's one small issue I noticed, the cursor is not working on Firefox-based browsers. I’m using Zen right now, and the custom cursor isn’t showing up. Everything else is flawless. 🔥

Collapse
 
anmolbaranwal profile image
Anmol Baranwal

Thanks for checking it out, Shrijal! 🔥 Means a lot.

I only tested it on Chrome and Edge 😅, so I will look into the issue and fix it asap. Appreciate your feedback :)

Collapse
 
jeffrey_martin_44f7bcf2a3 profile image
Jeffrey Martin

Well done. The performance remains stable while still engaging and well suited for the audience you are delivering to. I agree with your statement "Just get started" - So true. Get the minimum requirements there so potential clients, customers and employers will see something - usually a good idea to have minimum of resume and an about section. Then focus on the big release while time permits. Great work Anmol!

Collapse
 
anmolbaranwal profile image
Anmol Baranwal

Means a lot, Jeffrey! 💜

I wasted several months just trying to design perfect things, only to realize that later. There is an about section and will also add a skills/tech stack section later on. As for the resume, I haven’t updated it in a few months so I kinda avoided it, but I will think about it.

Thank you for the advice. Appreciate it.

Collapse
 
princev89 profile image
Prince Vishwakarma

Looks nice 👏.

Can you some insights on Largest Contentful Paint optimization,
It check your site on pagespeed.web.dev/ and got below result i am not sure if pagespeed give different result each time.
PageSpeed Insights Result

Image description

Collapse
 
anmolbaranwal profile image
Anmol Baranwal

Thanks for the feedback, Prince.

I’ve been optimizing it for the last two days, but the LCP issue on mobile screens is caused by the paragraph. I tried fixing it, but nothing really worked. And yeah, it was giving different results each time.. I checked it multiple times.

I even said this in the post as well, there are performance issues and I will work on it in a couple of weeks.

issues

Still, thank you for taking the time to check it out.

Collapse
 
dfordp profile image
Dilpreet Grover

Beautiful stuff!

Collapse
 
anmolbaranwal profile image
Anmol Baranwal

Thanks Dilpreet! 💜

Collapse
 
jose_correia_05ef7ade5fdd profile image
Jose Correia

Great job mate, it requires lot of work to get a design like yours.
You and almost all programmers love the black theme.
Maybe in the future you consider adding different themes, for that i suggest using scss.
Keep with the good work.

Collapse
 
anmolbaranwal profile image
Anmol Baranwal

Thanks Jose! 🔥 Almost every programmer loves dark mode haha. That’s why I put more effort into that theme (compared to light mode). I don’t think we need to add more themes, but I will definitely use scss if I ever consider it.

Collapse
 
komsenapati profile image
K Om Senapati

Awesome 😎

Collapse
 
anmolbaranwal profile image
Anmol Baranwal

Thanks man. 🔥 Rohan pointed out a lot of bugs, it's your turn now haha.

Collapse
 
linuxmobile profile image
linuxmobile ( リナックス )

Hi, if you 're fine with the feedback:

  • Don't touch scroll.
  • Don't touch the cursor.
Collapse
 
adii9 profile image
Aditya Mathur

One of the best portfolios I have seen in a long time.

Collapse
 
anmolbaranwal profile image
Anmol Baranwal

Thanks Aditya! Means a lot. 💜

Collapse
 
prankurpandeyy profile image
PRANKUR PANDEY

Looking elegant and clean congratulations , I also have a portfolio site : prankurpandeyy.netlify.app please share your feedback

Collapse
 
anmolbaranwal profile image
Anmol Baranwal

Thanks man. It looks good! You can also use tools like Framer if you want to explore the no-code side of things.