<?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: Devesh Bhushan</title>
    <description>The latest articles on DEV Community by Devesh Bhushan (@devesh0099).</description>
    <link>https://dev.to/devesh0099</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%2F2466036%2F9016eebe-720f-4932-8ddc-d68b432d3436.png</url>
      <title>DEV Community: Devesh Bhushan</title>
      <link>https://dev.to/devesh0099</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/devesh0099"/>
    <language>en</language>
    <item>
      <title>Building a 3D Exoplanet Simulator with Real-Time Habitability Analysis</title>
      <dc:creator>Devesh Bhushan</dc:creator>
      <pubDate>Wed, 25 Jun 2025 05:15:56 +0000</pubDate>
      <link>https://dev.to/devesh0099/building-a-3d-exoplanet-simulator-with-real-time-habitability-analysis-29b8</link>
      <guid>https://dev.to/devesh0099/building-a-3d-exoplanet-simulator-with-real-time-habitability-analysis-29b8</guid>
      <description>&lt;p&gt;Have you ever wondered what it would be like to engineer alien worlds? That's exactly what ExoCosmos lets you do. Inspired by NASA's Eyes on Exoplanets project, we wanted to go beyond just visualizing distant planets - we wanted to let users actively modify their properties and explore how small changes could make them more Earth-like and potentially habitable.&lt;/p&gt;

&lt;p&gt;Our project is currently live on: &lt;a href="https://exocosmos.onrender.com/" rel="noopener noreferrer"&gt;Internet&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You should check it out!&lt;/p&gt;

&lt;h2&gt;
  
  
  What ExoCosmos Does
&lt;/h2&gt;

&lt;p&gt;ExoCosmos is an interactive web-based simulator that combines real exoplanet data with 3D visualization and scientific modeling. Users can select from a collection of real exoplanets discovered by astronomers, view them in detailed 3D models, and then become "planet engineers" by adjusting four key properties through sliders: planetary mass, planetary radius, star mass, and distance from the star.&lt;/p&gt;

&lt;p&gt;As users modify these parameters, the system calculates the Earth Similarity Index (ESI) in real-time, providing immediate feedback on how Earth-like their modified planet becomes. Each planet also comes with educational content including fascinating facts and explanations of why certain conditions make life more or less likely&lt;/p&gt;

&lt;h2&gt;
  
  
  The Technical Challenge
&lt;/h2&gt;

&lt;p&gt;We faced some technical challenges along the way like implementing volumetric clouds,level of detail system and many others like:&lt;/p&gt;

&lt;h3&gt;
  
  
  Advanced Visual Effects
&lt;/h3&gt;

&lt;p&gt;We implemented several sophisticated rendering techniques:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Fresnel effects&lt;/strong&gt; for realistic light reflection at glancing angles&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ray marching&lt;/strong&gt; to simulate light passing through volumes like clouds&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Procedural cloud generation&lt;/strong&gt; using seed-based algorithms instead of pre-made images&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Volumetric clouds&lt;/strong&gt; with layered depth and natural movement&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Noise techniques&lt;/strong&gt; like Worley Noise and Fractal Brownian Motion for surface and atmospheric detail&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Level of Detail System
&lt;/h3&gt;

&lt;p&gt;One of our biggest technical achievements was creating a dynamic Level of Detail (LoD) system. As users zoom in on a planet, the clouds gradually fade away to reveal the detailed surface below, just like you'd see from a real spacecraft.&lt;br&gt;
This required careful optimization of shader computations and managing rendering layers to balance visual quality with performance&lt;/p&gt;

&lt;h3&gt;
  
  
  Texture Mapping
&lt;/h3&gt;

&lt;p&gt;We applied various maps to give planets a rich, lifelike feel:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Displacement maps for surface elevation&lt;/li&gt;
&lt;li&gt;Normal maps for detailed surface texture&lt;/li&gt;
&lt;li&gt;Ambient occlusion maps for realistic shadowing&lt;/li&gt;
&lt;li&gt;Diffuse maps for color and material properties&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The Science Behind the Interface
&lt;/h3&gt;

&lt;p&gt;Making ExoCosmos scientifically accurate required extensive research into how scientists measure planetary habitability. We studied multiple metrics including ESI, RSI, BSI, PHI, and SEPHI.&lt;/p&gt;

&lt;p&gt;After comparing various approaches, we chose an enhanced version of the Earth Similarity Index because it strikes the right balance between scientific accuracy and user-friendliness. The ESI is calculated from four key values: radius, density, escape velocity, and surface temperature, producing a score between 0 and 1 where Earth itself scores. &lt;/p&gt;

&lt;h4&gt;
  
  
  Real-Time Calculations
&lt;/h4&gt;

&lt;p&gt;The challenge was condensing complex habitability models into something interactive. We created a system where four user-friendly sliders control six core factors behind the scenes. When users adjust the sliders, our system instantly calculates the ESI score and reflects changes in the 3D model in real-time.&lt;/p&gt;

&lt;p&gt;This required careful state management to keep slider values, ESI calculations, and 3D model transformations perfectly synchronized while maintaining smooth performance without unnecessary re-renders.&lt;/p&gt;

&lt;h4&gt;
  
  
  Frontend Architecture
&lt;/h4&gt;

&lt;p&gt;The web interface was built using Next.js with TailwindCSS for styling, emphasizing both performance and modern design, We created:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A dynamic landing page explaining ExoCosmos' purpose&lt;/li&gt;
&lt;li&gt;An interactive planet catalog for browsing and selecting exoplanets&lt;/li&gt;
&lt;li&gt;Dedicated exploration pages where 3D planets are rendered alongside detailed information&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We used component libraries like Aceternity UI and shadcn/ui to give the website a polished, modern feel while writing modular, reusable code for future scalability.&lt;/p&gt;

&lt;h3&gt;
  
  
  Major Challenges We Overcame
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Performance Optimization
&lt;/h4&gt;

&lt;p&gt;Rendering complex 3D planetary scenes with volumetric clouds, dynamic lighting, and real-time updates pushed our limits. We had to carefully optimize shader computations, manage rendering layers, and implement our LoD system to maintain smooth performance across different devices and browsers&lt;/p&gt;

&lt;h4&gt;
  
  
  State Management Complexity
&lt;/h4&gt;

&lt;p&gt;Ensuring real-time updates between UI interactions and the 3D scene required sophisticated state management. We needed to keep all slider values, ESI calculations, and 3D model transformations in perfect sync while maintaining smoothness and avoiding unnecessary re-renders&lt;/p&gt;

&lt;h4&gt;
  
  
  Scientific Accuracy vs Usability
&lt;/h4&gt;

&lt;p&gt;The most intellectually challenging aspect was translating complex habitability models into something user-friendly. Many scientific models involved multi-variable mathematics that were either too abstract or computationally heavy for real-time interaction. We had to find the sweet spot between scientific rigor and user experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  What We Learned
&lt;/h3&gt;

&lt;p&gt;This project was an incredible learning experience across multiple domains:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;3D Web Development&lt;/strong&gt;- We gained hands-on experience with Three.js, learning to build, animate, and texture realistic 3D environments. We dove deep into shader programming, lighting models, and optimization techniques for web-based 3D graphics&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Space Science&lt;/strong&gt;- We expanded our understanding of exoplanets and the factors that impact habitability. Learning about the Earth Similarity Index and other habitability metrics gave us new appreciation for the complexity of determining whether distant worlds could support life&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;User Experience Design&lt;/strong&gt;- We learned how to make complex scientific concepts accessible through intuitive interfaces. The challenge of translating multi-dimensional scientific data into simple, interactive controls taught us valuable lessons about user-centered design.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Performance Engineering&lt;/strong&gt;- Managing real-time 3D rendering while maintaining smooth interactions across different devices taught us about optimization strategies, from shader efficiency to state management patterns.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Future Directions
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Expanded Dataset&lt;/strong&gt;: We plan to integrate more real exoplanets using NASA's extensive databases, giving users access to a much wider universe of worlds to explore.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Advanced Metrics&lt;/strong&gt;: Beyond ESI, we want to incorporate other habitability indices like SEPHI for more comprehensive analysis.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Educational Features&lt;/strong&gt;: We're developing classroom-oriented features including guided tutorials, challenges, and assessment tools to make ExoCosmos a powerful educational resource.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Data Visualization&lt;/strong&gt;: Interactive charts and graphs that change in real-time as users adjust parameters would provide deeper insights into how modifications affect habitability&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;ExoCosmos was a great learning experience for me I would like ot thanks my friends &lt;a href="https://github.com/ayush-r-nair" rel="noopener noreferrer"&gt;Ayush R. Nair&lt;/a&gt;, &lt;a href="https://github.com/DebNayak05" rel="noopener noreferrer"&gt;Debashish Nayak&lt;/a&gt;, Arjit Saxena without there help this project might not be completed.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>typescript</category>
      <category>nextjs</category>
      <category>tailwindcss</category>
    </item>
    <item>
      <title>Building an AI Sales Agent: From Voice to Pitch.</title>
      <dc:creator>Devesh Bhushan</dc:creator>
      <pubDate>Sat, 18 Jan 2025 08:58:36 +0000</pubDate>
      <link>https://dev.to/devesh0099/building-an-ai-sales-agent-from-voice-to-pitch-3p6c</link>
      <guid>https://dev.to/devesh0099/building-an-ai-sales-agent-from-voice-to-pitch-3p6c</guid>
      <description>&lt;h2&gt;
  
  
  The Story Behind It
&lt;/h2&gt;

&lt;p&gt;When I signed up for EnCode 2025, The problem presented to me is to make an agent which is capable of delivering high-quality, natural-sounding voice interactions and should feel like talking to a real person with super low latency.&lt;br&gt;
So,&lt;br&gt;
I built a system that can handle complete sales conversations for online coaching centers - from greeting potential customers to understanding their needs and pitching relevant courses. All of that in a very postive tone human like speech. Think of it as your tireless sales agent that never has a bad day!&lt;/p&gt;

&lt;h2&gt;
  
  
  Technical Stack
&lt;/h2&gt;

&lt;p&gt;Speech Processing: Whisper Large V3 Turbo for crystal-clear understanding.&lt;br&gt;
Brain Power: LLaMA 3.3 70B for intelligent conversations.&lt;br&gt;
Voice Output: F5 TTS for natural-sounding responses.&lt;br&gt;
Memory: Pinecone vector database for context and information retrieval.&lt;br&gt;
Demo Platform: Google Colab&lt;/p&gt;

&lt;h2&gt;
  
  
  How It All Works
&lt;/h2&gt;

&lt;p&gt;In a simple flow it goes through 3 main system&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Speech to Text (STT)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Large Language Model (LLM)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Text to Speech (TTS)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;User-&amp;gt;STT-&amp;gt;LLM-&amp;gt;TTS-&amp;gt;User&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  &lt;u&gt;In detail:&lt;/u&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Customer speaks → Whisper transcribes.&lt;/li&gt;
&lt;li&gt;Stage Manager (using regex) tracks conversation phase.&lt;/li&gt;
&lt;li&gt;Pinecone fetches multiple data from databases.&lt;/li&gt;
&lt;li&gt;LLaMA 3.3 70B crafts the perfect response.&lt;/li&gt;
&lt;li&gt;F5 TTS brings it to life with natural speech.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Smart Voice Selection: 6 different AI voices (2 male, 4 female) &lt;/li&gt;
&lt;li&gt;Context-Aware Responses: Thanks to vector similarity search&lt;/li&gt;
&lt;li&gt;Structured Conversation Flow: Managed by a dedicated Stage Manager&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Current Limitations
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Demo runs on Colab.&lt;/li&gt;
&lt;li&gt;Memory constraints with 8k token limit.&lt;/li&gt;
&lt;li&gt;Heavy on computational resources.&lt;/li&gt;
&lt;li&gt;API dependency for core functions.&lt;/li&gt;
&lt;li&gt;Latency is quite high.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;h3&gt;
  
  
  Technical Insights
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;u&gt;Use of Vector Databases&lt;/u&gt;: Working with Pinecone showed me how vector DBs can be game-changers when having limited context window. The ability to perform similarity searches on conversation history and training materials in milliseconds is very powerful.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;u&gt;Stage Management Matters&lt;/u&gt;: When given the stage in which the conversation is currently in, it becomes so easy to incorporate examples related to the stage like examples on how to give a pitch what kind of questinos to ask etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;u&gt;Web Integration&lt;/u&gt;: The most critical part of all of this is to be able to pass data between frontend and backend effectively using fastapi. By using Webhooks, we were able to pass data back and forth while initialising the AI for call at a single time only and keeping the connection open for the whole conversation.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  System Design Lessons
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;u&gt;Chunking is Crucial&lt;/u&gt;: Processing audio in 5-second chunks rather than waiting for complete utterances significantly improved the user experience by allowing to reduce the time in processing.It's all about finding that sweet spot between accuracy and speed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;u&gt;Modular Architecture Wins&lt;/u&gt;: Breaking the system into distinct services (STT, LLM, TTS) made development and debugging so much easier. When something went wrong, I could quickly pinpoint which part needed fixing.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Real-World Constraints
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;u&gt;API Economics&lt;/u&gt;: Managing multiple API calls (Whisper, LLaMA) taught me the importance of optimizing API usage. Trying to use minimum number of API calls and still being fast is very challenging. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;u&gt;Reducing Latency&lt;/u&gt;: Reducing Latency is very hard when you are constently fetching and processing data from internet. In Future I will try to minimize the number of times one has to upload or download the data from internet.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Unexpected Challenges
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;u&gt;Prompt Engineering&lt;/u&gt;: Prompt Engineering is very crucial and can decide whether your model is going to be as coherent as a human or is going to repeat the same sentence over and over again. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;u&gt;Context Window Limitations&lt;/u&gt;: The 8k token limit forced me to be creative with context management. Not storing the whole information but to get only the relevant chunks of it from vector database allowed me to design a data structure for LLM which have all the necessary info the LLM needs, to respond.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Using Multithreading to reduce latency. &lt;/li&gt;
&lt;li&gt;Adding Multi-lingual Support.&lt;/li&gt;
&lt;li&gt;Adding more bots type like 'Lead Bot' which call the customer to close the deal after intial lead.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;u&gt;Try It Yourself &lt;/u&gt;
&lt;/h2&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;a href="https://colab.research.google.com/drive/1yhoTiVHSY-uA2BHmW82De164-zYfk025?usp=sharing" rel="noopener noreferrer"&gt;
      colab.research.google.com
    &lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;a href="https://github.com/devesh0099/AISalesman" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;




&lt;p&gt;If you have some Suggestions regarding the system please ask them in comments.&lt;/p&gt;

</description>
      <category>python</category>
      <category>machinelearning</category>
      <category>hackathon</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
