<?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: Pranav Shah</title>
    <description>The latest articles on DEV Community by Pranav Shah (@pusparaj99op).</description>
    <link>https://dev.to/pusparaj99op</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3702733%2F9529a3eb-76ed-4604-aef4-73b504c23e0b.jpeg</url>
      <title>DEV Community: Pranav Shah</title>
      <link>https://dev.to/pusparaj99op</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/pusparaj99op"/>
    <language>en</language>
    <item>
      <title>New Year, New You Portfolio Challenge - Pranay Gajbhiye</title>
      <dc:creator>Pranav Shah</dc:creator>
      <pubDate>Sun, 01 Feb 2026 08:36:08 +0000</pubDate>
      <link>https://dev.to/pusparaj99op/new-year-new-you-portfolio-challenge-pranay-gajbhiye-2idl</link>
      <guid>https://dev.to/pusparaj99op/new-year-new-you-portfolio-challenge-pranay-gajbhiye-2idl</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/new-year-new-you-google-ai-2025-12-31"&gt;New Year, New You Portfolio Challenge Presented by Google AI&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  About Me
&lt;/h2&gt;

&lt;p&gt;Hey everyone! My name is Pranay Gajbhiye. I'm 20 years old from Nagpur, India, and I'm currently pursuing a B.Tech in CSE 2nd Year. I like finance and quant trading, and since I'm from a CSE background, I choose to make a mix-and-match of "Design x Trade" and make my portfolio in the theme of my startup (BlackObsidian). We Are Looking For Investors and VCs. If Any Reading This, Please Do Consider BlackObdiain&lt;/p&gt;

&lt;h3&gt;
  
  
  About Black Obsidian
&lt;/h3&gt;

&lt;p&gt;Yes, I'm also promoting my startup, BlackObsidian, which is an AMC. Earlier it was a quant firm; The BlackObsidian is currently having a CAGR of ~11% and $42K AUM. We are going to move to the UAE for global investors and markets soon this year. &lt;/p&gt;

&lt;h3&gt;
  
  
  Honestly
&lt;/h3&gt;

&lt;p&gt;I know the Site is bit fancy; since This should be a Portfolio, I somehow used AI 100% to make this site. Also, If any One Of you knows of any startup events, do let me know. In comments &lt;/p&gt;

&lt;h2&gt;
  
  
  Portfolio
&lt;/h2&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag__cloud-run"&gt;
  &lt;iframe height="600px" src="https://portfolio-209535685481.us-central1.run.app"&gt;
  &lt;/iframe&gt;
&lt;/div&gt;




&lt;p&gt;I didn't want to build just another static portfolio; I wanted to create a journey. Black Obsidian invites you to explore interactive 3D scenes, play with real-time data visualizations, and have intelligent conversations with an AI assistant powered by Google's Gemini AI. It's a reflection of my passion for pushing the boundaries of what web experiences can be.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Try these features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🎮 &lt;strong&gt;Innovation&lt;/strong&gt;: Explore the interactive 3D crystal scene (drag to rotate!)&lt;/li&gt;
&lt;li&gt;💬 &lt;strong&gt;AI Integration&lt;/strong&gt;: Chat with the AI assistant about my projects (powered by &lt;strong&gt;Gemini Pro&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;📊 &lt;strong&gt;Real-time Data&lt;/strong&gt;: View live Bitcoin market data and quantitative order books&lt;/li&gt;
&lt;li&gt;🎨 &lt;strong&gt;UX&lt;/strong&gt;: Experience smooth GSAP animations and responsive design&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  &lt;a href="https://portfolio-209535685481.us-central1.run.app" rel="noopener noreferrer"&gt;🚀 Live Demo&lt;/a&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;The core of my submission is the fusion of &lt;strong&gt;3D WebGL graphics&lt;/strong&gt; with &lt;strong&gt;Generative AI&lt;/strong&gt;. I built this project with a focus on performance, scalability, and modern best practices.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tech Stack:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend&lt;/strong&gt;: Next.js 15, React 19, TypeScript&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;3D Graphics&lt;/strong&gt;: Three.js, React Three Fiber, @react-three/drei&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI&lt;/strong&gt;: Google Gemini API (&lt;code&gt;gemini-pro&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data &amp;amp; Backend&lt;/strong&gt;: PostgreSQL (Neon), Binance API, D3.js, Recharts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Styling &amp;amp; Animation&lt;/strong&gt;: Tailwind CSS, GSAP, Framer Motion&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deployment&lt;/strong&gt;: Google Cloud Run, Docker&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Gemini AI Integration
&lt;/h3&gt;

&lt;p&gt;The &lt;strong&gt;AI Chat Assistant&lt;/strong&gt; isn't just a chatbot; it's an integrated guide. By using &lt;strong&gt;Google's Gemini API&lt;/strong&gt; with custom system instructions, I created a persona that understands my specific skills, project history, and professional background.&lt;/p&gt;

&lt;p&gt;I used the &lt;code&gt;gemini-pro&lt;/code&gt; model for its superior context handling. Here’s the core API route that manages multi-turn conversations:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// app/api/gemini/chat/route.ts&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;GoogleGenerativeAI&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@google/generative-ai&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;genAI&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;GoogleGenerativeAI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;GEMINI_API_KEY&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="dl"&gt;''&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;POST&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;Request&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;message&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;conversationHistory&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

  &lt;span class="c1"&gt;// Initialize the model with specific system instructions&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;genAI&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getGenerativeModel&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
    &lt;span class="na"&gt;model&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;gemini-pro&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;systemInstruction&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;`You are an AI assistant for Pusparaj's portfolio. You are helpful, professional, and knowledgeable about his projects...`&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;

  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;chat&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;model&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;startChat&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
    &lt;span class="na"&gt;history&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;conversationHistory&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;generationConfig&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;maxOutputTokens&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;temperature&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;

  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sendMessage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;message&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;NextResponse&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
    &lt;span class="na"&gt;reply&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;text&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;
    &lt;span class="na"&gt;timestamp&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;toISOString&lt;/span&gt;&lt;span class="p"&gt;()&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;h3&gt;
  
  
  3D &amp;amp; Data Visualization
&lt;/h3&gt;

&lt;p&gt;The &lt;strong&gt;Quantitative Trading Dashboard&lt;/strong&gt; demonstrates real-time data handling. I connect to the Binance WebSocket API to fetch live price updates and visualize the order book using &lt;strong&gt;D3.js&lt;/strong&gt;. This required careful state management to ensure the UI remains responsive (60fps) while processing high-frequency data updates.&lt;/p&gt;

&lt;h3&gt;
  
  
  Challenges &amp;amp; Learnings
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;3D Performance&lt;/strong&gt;: Loading complex 3D models can kill TTI (Time to Interactive). I solved this by using &lt;code&gt;GLTFLoader&lt;/code&gt; with Draco compression and lazy-loading the canvas.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Serverless Cold Starts&lt;/strong&gt;: Connecting to PostgreSQL from Cloud Run can be slow initially. Connection pooling was essential to fix this.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Gemini Rate Limits&lt;/strong&gt;: To ensure reliability, I implemented robust error handling on the frontend to gracefully manage API limits.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What I'm Most Proud Of
&lt;/h2&gt;

&lt;p&gt;I'm incredibly proud of the &lt;strong&gt;integration between the 3D environment and the AI&lt;/strong&gt;. Having a floating, interactive obsidian crystal that you can explore while chatting with a smart assistant feels really unique.&lt;/p&gt;

&lt;p&gt;I also prioritized a premium ("Black Obsidian") aesthetic with &lt;strong&gt;Smooth Scrollytelling&lt;/strong&gt; using GSAP and keeping &lt;strong&gt;Accessibility&lt;/strong&gt; in mind.&lt;/p&gt;

&lt;p&gt;This challenge pushed me to combine three distinct disciplines: 3D Graphics, Full-stack Engineering, and AI. I'm proud of the result—a portfolio that feels alive.&lt;/p&gt;

&lt;p&gt;If you enjoyed this demo or found the code helpful, please &lt;strong&gt;leave a reaction ❤️ and a comment!&lt;/strong&gt; I'd love to hear your feedback or answer any questions about the implementation.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Open source under the MIT License. &lt;a href="https://github.com/Pusparaj99op/NewYouPortfolioChallenge-DEVChallenges" rel="noopener noreferrer"&gt;Check out the code on GitHub!&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Tags : #devchallenge #googleaichallenge #portfolio #gemini&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>googleaichallenge</category>
      <category>portfolio</category>
      <category>gemini</category>
    </item>
    <item>
      <title>A Neural Network for Algorithmic Stock Trading.</title>
      <dc:creator>Pranav Shah</dc:creator>
      <pubDate>Fri, 09 Jan 2026 15:16:32 +0000</pubDate>
      <link>https://dev.to/pusparaj99op/a-neural-network-for-algorithmic-stock-trading-2m8m</link>
      <guid>https://dev.to/pusparaj99op/a-neural-network-for-algorithmic-stock-trading-2m8m</guid>
      <description>&lt;p&gt;Greetings everyone, this marks my inaugural day and post on this platform.&lt;/p&gt;

&lt;p&gt;I am still familiarizing myself with the platform's functionalities, but I am delighted to share one of my ongoing personal projects.&lt;/p&gt;

&lt;p&gt;This project is known as the AngleOne Option Trading System (AOOTS). I am open to suggestions for a more suitable name, but for now, it is AOOTS.&lt;/p&gt;

&lt;p&gt;This system is a neural network designed for trading in the Indian Stock Market, specifically within SENSEX OPTIONS. I am currently utilizing AngleOne as my Indian stockbroker.&lt;/p&gt;

&lt;p&gt;I am posting this from my mobile device and am unsure how to link my GitHub profile. Any guidance on this matter would be greatly appreciated.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcjzo0q14bgf3ynsf85a2.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcjzo0q14bgf3ynsf85a2.jpg" alt=" " width="800" height="1733"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhmz6vedmjkesqrykgbmq.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhmz6vedmjkesqrykgbmq.jpg" alt=" " width="800" height="641"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>machinelearning</category>
      <category>cloud</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
