<?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: SUJIT KOJI</title>
    <description>The latest articles on DEV Community by SUJIT KOJI (@sujitkoji).</description>
    <link>https://dev.to/sujitkoji</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%2F3759917%2F43a0eb63-2eca-482a-bdee-750c6e4a0126.jpg</url>
      <title>DEV Community: SUJIT KOJI</title>
      <link>https://dev.to/sujitkoji</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sujitkoji"/>
    <language>en</language>
    <item>
      <title>I Built GLBKit - A Free Online Toolkit for Working with GLB Files</title>
      <dc:creator>SUJIT KOJI</dc:creator>
      <pubDate>Wed, 01 Jul 2026 09:47:14 +0000</pubDate>
      <link>https://dev.to/sujitkoji/i-built-glbkit-a-free-online-toolkit-for-working-with-glb-files-5cgh</link>
      <guid>https://dev.to/sujitkoji/i-built-glbkit-a-free-online-toolkit-for-working-with-glb-files-5cgh</guid>
      <description>&lt;h2&gt;
  
  
  How a simple frustration with existing GLB tools turned into a browser-based toolkit for developers.
&lt;/h2&gt;

&lt;p&gt;If you've ever worked with Three.js, React Three Fiber, Babylon.js, or any other 3D web framework, you've probably spent a lot of time dealing with GLB files.&lt;/p&gt;

&lt;p&gt;Sometimes you only want to inspect a model.&lt;/p&gt;

&lt;p&gt;Sometimes you need to check triangle count.&lt;/p&gt;

&lt;p&gt;Sometimes you need a clean screenshot for documentation.&lt;/p&gt;

&lt;p&gt;And sometimes you just want to quickly open a model without installing another desktop application.&lt;/p&gt;

&lt;p&gt;I kept running into these small problems while building projects.&lt;/p&gt;

&lt;p&gt;So instead of switching between multiple tools every day, I decided to build one place for everything.&lt;/p&gt;

&lt;p&gt;That's how GLBKit started.&lt;/p&gt;

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

&lt;p&gt;Most available tools solve only one problem.&lt;/p&gt;

&lt;p&gt;One website lets you preview a model.&lt;/p&gt;

&lt;p&gt;Another application shows statistics.&lt;/p&gt;

&lt;p&gt;Another utility generates screenshots.&lt;/p&gt;

&lt;p&gt;Another tool optimizes the file.&lt;/p&gt;

&lt;p&gt;After using this workflow for months, it became clear that it wasn't efficient.&lt;/p&gt;

&lt;p&gt;I wanted something that worked directly in the browser with no installation and no account required.&lt;/p&gt;

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

&lt;p&gt;At the moment GLBKit includes two tools.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. GLB Viewer
&lt;/h2&gt;

&lt;p&gt;The viewer is designed for developers who need to inspect a model quickly.&lt;/p&gt;

&lt;p&gt;You can:&lt;/p&gt;

&lt;p&gt;Upload a GLB file&lt;br&gt;
Rotate and inspect the model&lt;br&gt;
Switch between wireframe and solid view&lt;br&gt;
Show bounding boxes&lt;br&gt;
Enable grid&lt;br&gt;
Change camera views&lt;br&gt;
Auto rotate the model&lt;br&gt;
View geometry statistics&lt;br&gt;
Inspect triangles, vertices and draw calls&lt;/p&gt;

&lt;p&gt;Everything runs inside the browser using WebGL.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. GLB Screenshot
&lt;/h2&gt;

&lt;p&gt;Sometimes documentation, portfolios or marketplaces require high quality images of a 3D model.&lt;/p&gt;

&lt;p&gt;Instead of opening Blender just to render a preview, the screenshot tool lets you generate clean images directly in your browser.&lt;/p&gt;

&lt;p&gt;Features include:&lt;/p&gt;

&lt;p&gt;PNG export&lt;br&gt;
JPEG export&lt;br&gt;
Transparent background&lt;br&gt;
Multiple camera angles&lt;br&gt;
High-resolution output&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Built With&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The project is built using technologies I work with daily.&lt;/p&gt;

&lt;p&gt;Next.js&lt;br&gt;
React&lt;br&gt;
React Three Fiber&lt;br&gt;
Three.js&lt;br&gt;
TypeScript&lt;br&gt;
Tailwind CSS&lt;/p&gt;

&lt;p&gt;Everything is focused on keeping the interface simple while maintaining good rendering performance.&lt;/p&gt;

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

&lt;p&gt;The viewer and screenshot tools are only the beginning.&lt;/p&gt;

&lt;p&gt;I'm currently working on additional utilities including:&lt;/p&gt;

&lt;p&gt;GLB Optimizer&lt;br&gt;
GLB Analyzer&lt;br&gt;
Texture Inspector&lt;br&gt;
Material Inspector&lt;br&gt;
Mesh Statistics&lt;br&gt;
Animation Inspector&lt;br&gt;
File Validation&lt;br&gt;
Performance Analysis&lt;br&gt;
Compression Utilities&lt;/p&gt;

&lt;p&gt;The goal is to make GLBKit a complete toolbox for developers working with 3D assets on the web.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;em&gt;A Small Design Philosophy&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;One thing I wanted to avoid was creating another dashboard full of buttons.&lt;/p&gt;

&lt;p&gt;The idea behind GLBKit is simple.&lt;/p&gt;

&lt;p&gt;Upload a file.&lt;/p&gt;

&lt;p&gt;Get the information you need.&lt;/p&gt;

&lt;p&gt;Export what you need.&lt;/p&gt;

&lt;p&gt;Move on with your project.&lt;/p&gt;

&lt;p&gt;No unnecessary complexity.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;em&gt;I'd Love Your Feedback&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;The project is still growing, and I'm improving it step by step.&lt;/p&gt;

&lt;p&gt;If you're a Three.js or React Three Fiber developer, I'd love to know:&lt;/p&gt;

&lt;p&gt;Which GLB tool do you use most often?&lt;br&gt;
What feature would save you the most time?&lt;br&gt;
Is there something missing from your current workflow?&lt;/p&gt;

&lt;p&gt;Your feedback will help shape the next version of GLBKit.&lt;/p&gt;

&lt;p&gt;Try GLBKit 🌐 Website: &lt;a href="https://glbkit.com" rel="noopener noreferrer"&gt;https://glbkit.com&lt;/a&gt;&lt;/p&gt;

&lt;p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fuv8yengf4v2tayhj2f8k.png" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fuv8yengf4v2tayhj2f8k.png" alt=" " width="800" height="728"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>3dprinting</category>
      <category>glb</category>
      <category>opensource</category>
    </item>
    <item>
      <title>THREE.JS VISION MOUSE DISTORTION // VOL. 04</title>
      <dc:creator>SUJIT KOJI</dc:creator>
      <pubDate>Sun, 29 Mar 2026 08:25:37 +0000</pubDate>
      <link>https://dev.to/sujitkoji/threejs-vision-mouse-distortion-vol-04-284d</link>
      <guid>https://dev.to/sujitkoji/threejs-vision-mouse-distortion-vol-04-284d</guid>
      <description>&lt;p&gt;A real-time WebGL experiment exploring fluid distortion and chromatic refraction through mouse interaction. &lt;br&gt;
Built with Three.js and GLSL, the experience blends dynamic motion, procedural effects, and cinematic visuals on the modern web.&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/sujitkoji/embed/bNwLxez?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>codepen</category>
      <category>webdev</category>
      <category>threejs</category>
      <category>shader</category>
    </item>
    <item>
      <title>THREE.JS ELEGANCE: INTERACTIVE FLOWER SHADER VOL. 03</title>
      <dc:creator>SUJIT KOJI</dc:creator>
      <pubDate>Sat, 28 Mar 2026 08:21:16 +0000</pubDate>
      <link>https://dev.to/sujitkoji/threejs-elegance-interactive-flower-shader-vol-03-4h47</link>
      <guid>https://dev.to/sujitkoji/threejs-elegance-interactive-flower-shader-vol-03-4h47</guid>
      <description>&lt;p&gt;Elegance: Interactive Flower Shader&lt;/p&gt;

&lt;p&gt;A sophisticated, interactive visual experience blending high-end editorial design with advanced WebGL techniques. This project features a 3D-distorted floral gallery element powered by Three.js and custom GLSL Shaders.&lt;/p&gt;

&lt;h1&gt;
  
  
  Three.js  #GLSL #Shaders
&lt;/h1&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/sujitkoji/embed/OPRQWxz?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>codepen</category>
      <category>threejs</category>
      <category>shader</category>
      <category>javascript</category>
    </item>
    <item>
      <title>THREE.JS MIND SCAPE // VOL. 02</title>
      <dc:creator>SUJIT KOJI</dc:creator>
      <pubDate>Fri, 27 Mar 2026 09:34:37 +0000</pubDate>
      <link>https://dev.to/sujitkoji/threejs-mind-scape-vol-02-5gh3</link>
      <guid>https://dev.to/sujitkoji/threejs-mind-scape-vol-02-5gh3</guid>
      <description>&lt;p&gt;THREE.JS MIND SCAPE // VOL. 02&lt;/p&gt;

&lt;p&gt;An exploration of digital tactile experiences through Refraction Shaders and Interactive Distortion. This experiment pushes the boundaries of WebGL by blending organic motion with high-end typography.&lt;/p&gt;

&lt;p&gt;Tech Stack: Three.js, GLSL (Shaders), Custom Pipeline.&lt;br&gt;
Key Feature: Dynamic RGB Shift &amp;amp; Mouse-Inertia Displacement.&lt;br&gt;
Vibe: Minimalist, Cinematic, High-Fashion.&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/sujitkoji/embed/emdyXMO?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>codepen</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>threejs</category>
    </item>
    <item>
      <title>THREE.JS MORPHING VOID // VOL. 01</title>
      <dc:creator>SUJIT KOJI</dc:creator>
      <pubDate>Thu, 26 Mar 2026 06:46:22 +0000</pubDate>
      <link>https://dev.to/sujitkoji/threejs-morphing-void-vol-01-4a4n</link>
      <guid>https://dev.to/sujitkoji/threejs-morphing-void-vol-01-4a4n</guid>
      <description>&lt;p&gt;Pushing the limits of Three.js with custom GLSL noise displacement. 128-segment density for that ultra-smooth liquid transition. No videos, no heavy assets-just pure, optimized math.&lt;/p&gt;

&lt;p&gt;Engine: Three.js&lt;/p&gt;

&lt;p&gt;Shader: Simplex 3D Noise&lt;/p&gt;

&lt;p&gt;Vibe: Industrial Minimalist&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/sujitkoji/embed/EagbJNw?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>codepen</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>threejs</category>
    </item>
    <item>
      <title>THREE.JS LIQUID ART // VOL. 02</title>
      <dc:creator>SUJIT KOJI</dc:creator>
      <pubDate>Sat, 21 Mar 2026 18:51:27 +0000</pubDate>
      <link>https://dev.to/sujitkoji/liquid-art-wave-2e6h</link>
      <guid>https://dev.to/sujitkoji/liquid-art-wave-2e6h</guid>
      <description>&lt;p&gt;An exploration into high-end GPU-accelerated visuals and fluid motion.&lt;/p&gt;

&lt;p&gt;This experiment focuses on the intersection of mathematics and art, utilizing custom GLSL Shaders to create a responsive, liquid-like surface. The interaction is driven by a smooth Lerp-based mouse tracking system that distorts a 3D mesh in real-time.&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/sujitkoji/embed/KwgZgVp?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>threejs</category>
      <category>javascript</category>
      <category>webgl</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Engineering "Interfaces That Feel Alive" - My Design Philosophy</title>
      <dc:creator>SUJIT KOJI</dc:creator>
      <pubDate>Tue, 17 Mar 2026 17:42:07 +0000</pubDate>
      <link>https://dev.to/sujitkoji/engineering-interfaces-that-feel-alive-my-design-philosophy-3hbh</link>
      <guid>https://dev.to/sujitkoji/engineering-interfaces-that-feel-alive-my-design-philosophy-3hbh</guid>
      <description>&lt;p&gt;&lt;a href="https://sujitkoji.com" rel="noopener noreferrer"&gt;Portfolio:&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The Core Concept&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Websites shouldn't just be viewed; they should be felt. When we talk about &lt;strong&gt;"Awwwards-level"&lt;/strong&gt; digital experiences, it isn't just about a flashy color palette or a trendy typeface. It’s about that &lt;strong&gt;organic flow&lt;/strong&gt;-the thin line between a static UI and an immersive environment.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The Vision: Motion-First Identity&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;My portfolio (screenshot above) is built on a single principle: &lt;strong&gt;Interfaces that feel alive - not just animated.&lt;/strong&gt; In this hero section, I focused on three pillars to define my digital identity:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Living Core:&lt;/strong&gt; The central organic blob isn't a pre-rendered video or a simple loop. It’s a performance-driven shader designed to give the interface a "pulse" that responds to the environment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Typography &amp;amp; Hierarchy:&lt;/strong&gt; By using high-contrast, minimalist Sans-Serif, I let the message breathe while the motion does the heavy lifting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Technical Sophistication:&lt;/strong&gt; Every interaction is locked at a cinematic &lt;strong&gt;60FPS&lt;/strong&gt; to ensure the premium feel remains buttery smooth.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The Creative Tech Stack&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;To bridge the gap between functional UI and high-end aesthetics, I utilized a stack that balances performance with creative freedom:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Next.js:&lt;/strong&gt; For a robust, SEO-friendly architecture.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;React Three Fiber (R3F):&lt;/strong&gt; Bringing 3D into the DOM with seamless state management.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom GLSL Shaders:&lt;/strong&gt; Crafting unique visual textures that go beyond standard CSS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GSAP &amp;amp; Framer Motion:&lt;/strong&gt; For orchestrating complex layout transitions and micro-interactions.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Beyond the Code
&lt;/h2&gt;

&lt;p&gt;For me, code is more than just logic-it's a medium for &lt;strong&gt;Digital Architecture&lt;/strong&gt;. As a &lt;strong&gt;Creative Frontend Developer and WebGL Specialist,&lt;/strong&gt; I am constantly pushing the boundaries of how we interact with the web.&lt;/p&gt;

&lt;p&gt;The goal is always the same: Move away from "templates" and toward "experiences."&lt;/p&gt;

&lt;p&gt;I'd love to hear from other creative engineers:&lt;br&gt;
How do you balance heavy WebGL graphics with web performance? Let's discuss in the comments! &lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>threejs</category>
      <category>webgl</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
