<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Harshit Bhuju</title>
    <description>The latest articles on DEV Community by Harshit Bhuju (@harshit_bhuju_943aa3b1b7f).</description>
    <link>https://dev.to/harshit_bhuju_943aa3b1b7f</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4099286%2Fb3e7bcc5-a5f5-453a-8883-042925a6e81c.png</url>
      <title>DEV Community: Harshit Bhuju</title>
      <link>https://dev.to/harshit_bhuju_943aa3b1b7f</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/harshit_bhuju_943aa3b1b7f"/>
    <language>en</language>
    <item>
      <title>How I Built My Developer Portfolio with Next.js, Prisma &amp; GSAP</title>
      <dc:creator>Harshit Bhuju</dc:creator>
      <pubDate>Fri, 28 Aug 2026 16:48:42 +0000</pubDate>
      <link>https://dev.to/harshit_bhuju_943aa3b1b7f/how-i-built-my-developer-portfolio-with-nextjs-prisma-gsap-3bog</link>
      <guid>https://dev.to/harshit_bhuju_943aa3b1b7f/how-i-built-my-developer-portfolio-with-nextjs-prisma-gsap-3bog</guid>
      <description>&lt;p&gt;Hey everyone! I'm &lt;strong&gt;Harshit Bhuju&lt;/strong&gt;, a developer from Banepa, Nepal, currently studying BTech in Artificial Intelligence at Kathmandu University.&lt;/p&gt;

&lt;p&gt;I recently built my personal developer portfolio using &lt;strong&gt;Next.js, TypeScript, Prisma, Supabase, GSAP, and Tailwind CSS&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;You can check it out here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.harshitbhuju.com.np" rel="noopener noreferrer"&gt;https://www.harshitbhuju.com.np&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Tech Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Next.js&lt;/strong&gt; — application framework&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;React + TypeScript&lt;/strong&gt; — frontend development&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tailwind CSS&lt;/strong&gt; — styling&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PostgreSQL + Supabase&lt;/strong&gt; — database&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prisma&lt;/strong&gt; — ORM&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GSAP + ScrollTrigger&lt;/strong&gt; — animations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lenis&lt;/strong&gt; — smooth scrolling&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resend&lt;/strong&gt; — contact form emails&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why I Chose This Stack
&lt;/h2&gt;

&lt;p&gt;I wanted the portfolio to be more than a static page.&lt;/p&gt;

&lt;p&gt;I needed dynamic project and profile data, an admin interface, database integration, contact form handling, and smooth animations while keeping the site fast and SEO-friendly.&lt;/p&gt;

&lt;p&gt;Next.js worked well for this because I could combine server-side functionality with interactive React components in the same application.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keeping Animations Fast
&lt;/h2&gt;

&lt;p&gt;One of the biggest challenges was adding animations without hurting performance.&lt;/p&gt;

&lt;p&gt;My initial hero animation delayed the appearance of the profile image, which affected my LCP.&lt;/p&gt;

&lt;p&gt;Instead of making the animation responsible for rendering the content, I changed the implementation so that the important content is available immediately and the animation acts as an enhancement.&lt;/p&gt;

&lt;p&gt;I also synchronized &lt;strong&gt;Lenis&lt;/strong&gt; with GSAP's ticker so that scroll-triggered animations remain smooth.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight tsx"&gt;&lt;code&gt;&lt;span class="nx"&gt;lenis&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;on&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;scroll&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;ScrollTrigger&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;update&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nx"&gt;gsap&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;ticker&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;add&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;time&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;lenis&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;raf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;time&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This combination gives me smooth scrolling while keeping ScrollTrigger synchronized with Lenis.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;p&gt;The biggest lesson from building the site was that animations and performance need to be considered together.&lt;/p&gt;

&lt;p&gt;A portfolio can look impressive while still being fast, accessible, and easy for search engines to understand.&lt;/p&gt;

&lt;p&gt;I'm continuing to learn &lt;strong&gt;frontend development, full-stack development, and AI/ML&lt;/strong&gt;, and I'll be sharing more of what I learn here.&lt;/p&gt;

&lt;h3&gt;
  
  
  Links
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Portfolio:&lt;/strong&gt; &lt;a href="https://www.harshitbhuju.com.np" rel="noopener noreferrer"&gt;https://www.harshitbhuju.com.np&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/Harshit-Bhuju" rel="noopener noreferrer"&gt;https://github.com/Harshit-Bhuju&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;LinkedIn:&lt;/strong&gt; &lt;a href="https://www.linkedin.com/in/harshit-bhuju/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/harshit-bhuju/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>portfolio</category>
      <category>nextjs</category>
      <category>typescript</category>
      <category>prisma</category>
    </item>
  </channel>
</rss>
