<?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: Jacob Dement</title>
    <description>The latest articles on DEV Community by Jacob Dement (@oia20).</description>
    <link>https://dev.to/oia20</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%2F2078119%2F541336b3-f0e1-4b87-b4c8-bacc5d33d711.jpeg</url>
      <title>DEV Community: Jacob Dement</title>
      <link>https://dev.to/oia20</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/oia20"/>
    <language>en</language>
    <item>
      <title>How to easily add 3D Models to your React apps.</title>
      <dc:creator>Jacob Dement</dc:creator>
      <pubDate>Sun, 26 Jan 2025 20:57:24 +0000</pubDate>
      <link>https://dev.to/oia20/how-to-easily-add-3d-models-to-your-react-apps-474</link>
      <guid>https://dev.to/oia20/how-to-easily-add-3d-models-to-your-react-apps-474</guid>
      <description>&lt;h3&gt;
  
  
  &lt;strong&gt;Why I built a 3D React Component Library&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;I built &lt;a href="https://extrudeui.com" rel="noopener noreferrer"&gt;ExtrudeUI&lt;/a&gt; to abstract the tedious boilerplate of adding a custom 3D model to my web apps. Now, adding 3D elements is as simple as importing a component. It’s &lt;a href="https://github.com/Oia20/ExtrudeUI" rel="noopener noreferrer"&gt;open-source&lt;/a&gt;, and includes other features like:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Prebuilt animations (spin, hover, etc.)
&lt;/li&gt;
&lt;li&gt;Configurable camera controls
&lt;/li&gt;
&lt;li&gt;3D buttons, images, and more (bonus components!)
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;The Guide: Add a 3D Model in 4 Steps&lt;/strong&gt;
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;1. Install the Package&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install extrude-ui
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  2. Import the Component
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { ExtrudeModel } from 'extrude-ui';
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  3. Use It in Your App
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function MyComponent() {
  return (
    &amp;lt;ExtrudeModel
      src="model.glb"  // Path to your GLB/GLTF model
      animation="spinHorizontal"
      animationSpeed={0.5}
      enableOrbitControls={true}
      orbitControlsOptions={{
        enableZoom: false,
        enableRotate: true,
        enablePan: false,
        minPolarAngle: -3,  // Control vertical rotation limits
        maxPolarAngle: 1,
      }}
    /&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  4. Where to find and host 3D models?
&lt;/h4&gt;

&lt;p&gt;My go to place for finding 3D models is &lt;a href="https://sketchfab.com/feed" rel="noopener noreferrer"&gt;SketchFab&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I like to host my 3D models on &lt;a href="//uploadthing.com"&gt;uploadthing&lt;/a&gt; since they're generous enough to not charge egress fees (Really important for working with 3D!)&lt;/p&gt;

&lt;p&gt;It can be helpful to have some basic blender knowledge to know how to tweak models to your liking, but definitely not required!&lt;/p&gt;

&lt;p&gt;Community-Driven: Found a bug or have a component idea? Contribute! &lt;a href="https://github.com/Oia20/ExtrudeUI" rel="noopener noreferrer"&gt;Here's our repo!&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Thanks for reading, and I hope you find ExtrudeUI useful, or at the very least, interesting!
&lt;/h4&gt;

</description>
      <category>webdev</category>
      <category>react</category>
      <category>typescript</category>
      <category>programming</category>
    </item>
    <item>
      <title>How Project Ideas Can Come From Anywhere - My Open Source Daily Puzzle Game</title>
      <dc:creator>Jacob Dement</dc:creator>
      <pubDate>Tue, 01 Oct 2024 00:06:10 +0000</pubDate>
      <link>https://dev.to/oia20/how-project-ideas-can-come-from-anywhere-my-open-source-daily-puzzle-game-56a0</link>
      <guid>https://dev.to/oia20/how-project-ideas-can-come-from-anywhere-my-open-source-daily-puzzle-game-56a0</guid>
      <description>&lt;h2&gt;
  
  
  My Recent Open Source Project
&lt;/h2&gt;

&lt;p&gt;Recently I created an &lt;a href="https://github.com/Oia20/PopALockDaily" rel="noopener noreferrer"&gt;open source&lt;/a&gt; puzzle game called &lt;a href="https://popalock.dement.dev" rel="noopener noreferrer"&gt;Pop A Lock&lt;/a&gt; it's like Wordle, but with numbers and hints instead. I got the inspiration for this project months ago, but didn't have the time to make the idea become a reality, but I finally got around to it. The inspiration came from &lt;a href="https://www.reddit.com/r/puzzles/comments/192todc/how_do_you_solve_this_lock_combination_puzzle/" rel="noopener noreferrer"&gt;this random reddit post&lt;/a&gt; I saw talking about a pen and paper lock puzzle. I thought "I could totally make that into a fun little puzzle game" thus the project idea was born.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use the random things you see around you as project ideas.
&lt;/h2&gt;

&lt;p&gt;I see people often say (especially newer devs) "I need project ideas". However the truth of the matter is original ideas are hard to come by, but if you use the random things around you in your life as inspiration the most trivial things can become your next web app.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Generate Ideas from Daily Life
&lt;/h2&gt;

&lt;p&gt;Here are a few tips I have for always having project ideas:&lt;/p&gt;

&lt;h3&gt;
  
  
  Solve Problems You Encounter
&lt;/h3&gt;

&lt;p&gt;If you run into a challenge or inefficiency in your day-to-day life, think about how you could solve it through an app or website. Even small inconveniences can inspire a useful project.&lt;/p&gt;

&lt;h3&gt;
  
  
  Keep a Notebook of Ideas
&lt;/h3&gt;

&lt;p&gt;Take Pop A Lock for example, I had the idea for this project months before I had the time to create it, take notes in your phone of your project ideas!&lt;/p&gt;

&lt;h3&gt;
  
  
  Most Importantly, Don't Overthink It
&lt;/h3&gt;

&lt;p&gt;It’s important to remember that your project doesn’t have to be groundbreaking to be valuable. Not every idea needs to be the next Facebook or Google – even a small, fun project can teach you new skills, give you something to share with the community, and build your portfolio.&lt;/p&gt;

&lt;p&gt;Share some of your random projects you've made in the comments!&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>webdev</category>
      <category>react</category>
      <category>typescript</category>
    </item>
    <item>
      <title>How to Send HTML Form Data to Your Email Without Backend Code</title>
      <dc:creator>Jacob Dement</dc:creator>
      <pubDate>Mon, 16 Sep 2024 03:13:33 +0000</pubDate>
      <link>https://dev.to/oia20/how-to-send-html-form-data-to-your-email-without-backend-code-fg2</link>
      <guid>https://dev.to/oia20/how-to-send-html-form-data-to-your-email-without-backend-code-fg2</guid>
      <description>&lt;h2&gt;
  
  
  Sending HTML form data to your email is very simple.
&lt;/h2&gt;




&lt;p&gt;First create an account on &lt;a href="https://formbee.dev/home" rel="noopener noreferrer"&gt;FormBee&lt;/a&gt;, this is an open source form backend service, that will handle the form data transmission for us.&lt;/p&gt;

&lt;h3&gt;
  
  
  Make a form with an action attribute to &lt;code&gt;https://api.formbee.dev/formbee/[api-key]&lt;/code&gt; with your API key from the FormBee dashboard.
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;form action="https://api.formbee.dev/formbee/[api-key]" method="POST"&amp;gt;
  &amp;lt;input type="text" name="name" placeholder="Name"&amp;gt;
  &amp;lt;input type="email" name="email" placeholder="Email"&amp;gt;
  &amp;lt;input type="submit" value="Submit"&amp;gt;
&amp;lt;/form&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Add the email you would like to receive your form submissions at here on the FormBee dashboard.
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbwf0usdm2984ktli471u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbwf0usdm2984ktli471u.png" alt="Image description" width="800" height="276"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Now whenever your HTML form is submitted you will receive the submission in your email!
&lt;/h3&gt;

&lt;p&gt;For info on how to integrate FormBee in various frameworks visit the &lt;a href="https://docs.formbee.dev/docs/" rel="noopener noreferrer"&gt;FormBee Docs.&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>html</category>
      <category>learning</category>
      <category>frontend</category>
    </item>
  </channel>
</rss>
