<?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: Benny Schuetz</title>
    <description>The latest articles on DEV Community by Benny Schuetz (@benny00100).</description>
    <link>https://dev.to/benny00100</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%2F808887%2Ffe8bf82d-e6d5-4d53-a27e-7b3e27136218.jpg</url>
      <title>DEV Community: Benny Schuetz</title>
      <link>https://dev.to/benny00100</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/benny00100"/>
    <language>en</language>
    <item>
      <title>Stop rebuilding Word documents with PDF libraries or HTML generators</title>
      <dc:creator>Benny Schuetz</dc:creator>
      <pubDate>Sat, 14 Mar 2026 07:31:26 +0000</pubDate>
      <link>https://dev.to/benny00100/stop-rebuilding-word-documents-with-pdf-libraries-or-html-generators-5cfo</link>
      <guid>https://dev.to/benny00100/stop-rebuilding-word-documents-with-pdf-libraries-or-html-generators-5cfo</guid>
      <description>&lt;p&gt;Hi fellow coders,&lt;/p&gt;

&lt;p&gt;Being a software dev since ages now - I always hated the following task:&lt;/p&gt;

&lt;p&gt;Often legal, finance, or sales teams provide document templates as Word files. To automate document generation, I as the developer usually had to rebuild the entire layout using PDF libraries or translate the DOC into HTML and then convert it to PDF.&lt;/p&gt;

&lt;p&gt;This is boring, tedious and fragile.&lt;/p&gt;

&lt;p&gt;That's why I built TMPLVISION after repeatedly running into the same issue in projects.&lt;/p&gt;

&lt;p&gt;TMPLVISION takes a different approach:&lt;/p&gt;

&lt;p&gt;• Create document templates directly in Microsoft Word (.docx)&lt;br&gt;
• Insert placeholders like {{my_test}}&lt;br&gt;
• Send JSON via a REST API &lt;br&gt;
• Receive a generated PDF or HTML document&lt;/p&gt;

&lt;p&gt;In Short&lt;br&gt;
DOCX + JSON → PDF / HTML&lt;/p&gt;

&lt;p&gt;Curious how others here are currently solving document generation.&lt;/p&gt;

&lt;p&gt;Btw. if you want to check it out (free plan available) you can find it here: &lt;a href="https://www.tmplvision.io" rel="noopener noreferrer"&gt;tmplvision.io&lt;/a&gt;&lt;/p&gt;

</description>
      <category>api</category>
      <category>automation</category>
      <category>showdev</category>
      <category>tooling</category>
    </item>
    <item>
      <title>InfrontJS 1.0 - finally shipped after a 48h lockdown</title>
      <dc:creator>Benny Schuetz</dc:creator>
      <pubDate>Sun, 11 Jan 2026 19:05:55 +0000</pubDate>
      <link>https://dev.to/benny00100/infrontjs-10-finally-shipped-after-a-48h-lockdown-498</link>
      <guid>https://dev.to/benny00100/infrontjs-10-finally-shipped-after-a-48h-lockdown-498</guid>
      <description>&lt;p&gt;Releasing a framework isn’t about writing the framework.&lt;/p&gt;

&lt;p&gt;That part is easy.&lt;/p&gt;

&lt;p&gt;Boyyee...the real work is everything around it:&lt;br&gt;
docs, guides, examples, a website, launch prep, Product Hunt, tweets, answering questions before they’re asked - and I even created a dedicated InfrontJS GPT.&lt;/p&gt;

&lt;p&gt;So this weekend I locked myself in for ~48 hours and finished all the non-code work. No new features. Just making the framework real.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wait? Why just another frontend framework??
&lt;/h2&gt;

&lt;p&gt;Frontend frameworks have become moving targets.&lt;br&gt;
Breaking changes, endless abstractions, constant churn.&lt;/p&gt;

&lt;p&gt;InfrontJS goes the other way:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;minimal core&lt;/li&gt;
&lt;li&gt;explicit APIs&lt;/li&gt;
&lt;li&gt;no compiler tricks&lt;/li&gt;
&lt;li&gt;browser-first&lt;/li&gt;
&lt;li&gt;boring by design&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If it works today, it should work next year.&lt;/p&gt;

&lt;h2&gt;
  
  
  Stability over novelty
&lt;/h2&gt;

&lt;p&gt;InfrontJS is intentionally boring.&lt;br&gt;
That’s a feature.&lt;/p&gt;

&lt;p&gt;The core is small enough to understand in one sitting.&lt;br&gt;
Once something lands, it stays.&lt;br&gt;
Frameworks should behave like infrastructure, not fashion.&lt;/p&gt;

&lt;h2&gt;
  
  
  Funny side effect: AI loves it
&lt;/h2&gt;

&lt;p&gt;While building the InfrontJS GPT, it became obvious:&lt;br&gt;
AI tools are really good with this framework.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Small surface area.&lt;/li&gt;
&lt;li&gt;Predictable structure.&lt;/li&gt;
&lt;li&gt;No hidden lifecycle magic.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Turns out models love boring code too.&lt;/p&gt;

&lt;h2&gt;
  
  
  What happens now
&lt;/h2&gt;

&lt;p&gt;Nothing exciting.&lt;br&gt;
No feature requests.&lt;br&gt;
No roadmap theater.&lt;/p&gt;

&lt;p&gt;Just bug fixes, real-world usage, and time doing its job.&lt;/p&gt;

&lt;p&gt;To be honest with you - this release was actually planned last year.&lt;/p&gt;

&lt;p&gt;But like many side projects, it sat in the backlog while “more urgent” things happened. Since I’m starting the year with a hard backlog cleanup, I decided to stop postponing it, lock myself in for a weekend, get the shit done — and ship.&lt;/p&gt;

&lt;p&gt;Ahh ... and if you are still reading this - you might be interested in a link to the project:&lt;/p&gt;

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

&lt;p&gt;Thanks for reading.&lt;/p&gt;

&lt;p&gt;The backlog is clean. New projects can begin.&lt;/p&gt;

</description>
      <category>frontend</category>
      <category>webdev</category>
      <category>programming</category>
      <category>ai</category>
    </item>
    <item>
      <title>My JS1024.fun entries</title>
      <dc:creator>Benny Schuetz</dc:creator>
      <pubDate>Tue, 08 Jul 2025 15:59:50 +0000</pubDate>
      <link>https://dev.to/benny00100/my-js1024fun-entries-5go2</link>
      <guid>https://dev.to/benny00100/my-js1024fun-entries-5go2</guid>
      <description>&lt;p&gt;The JS1024.fun project is a javascript golfing competition where participants have 15 days to create a cool JavaScript or GLSL program in 1024 bytes or less.&lt;/p&gt;

&lt;p&gt;This year's theme is "Creepy". &lt;/p&gt;

&lt;p&gt;I entered similiar golfing challenges in the past - however this time I mostly used #AI to create my entries. Only some final manual steps (mostly minification) needs to be done on my side.&lt;/p&gt;

&lt;p&gt;Within 24 hours I created two entries.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ghost Vibes&lt;/strong&gt; (1021 bytes of full HTML code)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1942568857316581635-611" src="https://platform.twitter.com/embed/Tweet.html?id=1942568857316581635"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1942568857316581635-611');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1942568857316581635&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Blood Sea&lt;/strong&gt; (961bytes of shader code)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1942602641349173359-963" src="https://platform.twitter.com/embed/Tweet.html?id=1942602641349173359"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1942602641349173359-963');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1942602641349173359&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I couldn't resists to enter two more entries. So after 48 hours there are 4 demos in total.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;BOO!Vibes&lt;/strong&gt; - Distorted ghost vibed in a shader of only 802 bytes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1943066519841181916-63" src="https://platform.twitter.com/embed/Tweet.html?id=1943066519841181916"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1943066519841181916-63');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1943066519841181916&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Creepy Organ&lt;/strong&gt; - Mandelbulb fractals squeezed into a shader of 1017 bytes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1943066690104762630-312" src="https://platform.twitter.com/embed/Tweet.html?id=1943066690104762630"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1943066690104762630-312');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1943066690104762630&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;Header over to &lt;a href="https://js1024.fun/demos/2025" rel="noopener noreferrer"&gt;JS1024.fun&lt;/a&gt; and check out all entries and let me know what you think of them.&lt;/p&gt;

</description>
      <category>vibecoding</category>
      <category>javascript</category>
      <category>ai</category>
      <category>shader</category>
    </item>
    <item>
      <title>Improved image generation with ChatGPT</title>
      <dc:creator>Benny Schuetz</dc:creator>
      <pubDate>Thu, 03 Apr 2025 16:27:33 +0000</pubDate>
      <link>https://dev.to/benny00100/improved-image-generation-with-chatgpt-1he1</link>
      <guid>https://dev.to/benny00100/improved-image-generation-with-chatgpt-1he1</guid>
      <description>&lt;h2&gt;
  
  
  Intro
&lt;/h2&gt;

&lt;p&gt;Recently, ChatGPT's image generation capabilities have seen significant technical upgrades, especially with the integration of DALL·E 3 and the introduction of inpainting/editing features. Here's a breakdown of what's changed:&lt;/p&gt;

&lt;h2&gt;
  
  
  Overview of technical improvements
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. DALL·E 3 Integration&lt;/strong&gt;&lt;br&gt;
Higher fidelity and realism: DALL·E 3 produces more accurate, coherent, and photorealistic images compared to earlier versions.&lt;/p&gt;

&lt;p&gt;Better understanding of prompts: It now handles complex, nuanced instructions with improved consistency, generating visuals that closely match detailed descriptions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Image Editing (Inpainting)&lt;/strong&gt;&lt;br&gt;
On-canvas editing: You can now modify parts of an existing image by providing new instructions (e.g., “make the sky darker” or “replace the cat with a dog”).&lt;/p&gt;

&lt;p&gt;Consistency: Edited images maintain the original style, lighting, and layout much better than before.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Prompt-to-Image Transparency&lt;/strong&gt;&lt;br&gt;
Unlike older models, the prompt used to generate the image is now hidden in the UI but still processed with higher semantic understanding under the hood.&lt;/p&gt;

&lt;h2&gt;
  
  
  Some experiments
&lt;/h2&gt;

&lt;p&gt;I ran some tests on certain topics I had problems with in the past. Find some results below.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Better realism&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To test the improvements of higher quality and more realism, I tried the following prompt&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Create a photorealistic image of an international astronaut on Mars wearing a giant inflatable duck as a belt.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Result&lt;/u&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.amazonaws.com%2Fuploads%2Farticles%2Fnf4myw1xo1f57h4hyk0b.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.amazonaws.com%2Fuploads%2Farticles%2Fnf4myw1xo1f57h4hyk0b.png" alt="Image description" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Iteration&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With the old model, iterating an image often led to different images. With the new update it works way better.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;First image prompt&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Create an cartoon image of a cat sitting of a bench in the park reading newspaper.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Result&lt;/u&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.amazonaws.com%2Fuploads%2Farticles%2Fe0wgv9bhgl3i4j60cp9r.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.amazonaws.com%2Fuploads%2Farticles%2Fe0wgv9bhgl3i4j60cp9r.png" alt="Image description" width="489" height="487"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Second prompt to modify previous generated image&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Replace the cat with a dog&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Result&lt;/u&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.amazonaws.com%2Fuploads%2Farticles%2F8tnst2agenth9sqxnbvc.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.amazonaws.com%2Fuploads%2Farticles%2F8tnst2agenth9sqxnbvc.png" alt="Image description" width="484" height="487"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Texts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the past, images which contain text, often failed for me. This has been improved, too. &lt;/p&gt;

&lt;p&gt;&lt;u&gt;Prompt&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Create the word "aheadware" in a cloudscape with illuminated light.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Result&lt;/u&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.amazonaws.com%2Fuploads%2Farticles%2Fhue6qixvop53pbf9sxmk.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.amazonaws.com%2Fuploads%2Farticles%2Fhue6qixvop53pbf9sxmk.png" alt="Image description" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Transparency&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When creating logos, icons etc. it is useful, when the created PNG has a transparent background. This was not possible so far. This is now possible which opens lots of new possibilities IMHO.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Prompt&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Create an image with transparent background with a stickman scratiching its head.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Result&lt;/u&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.amazonaws.com%2Fuploads%2Farticles%2Ffx4ug6pxh4whrf0fo2qv.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.amazonaws.com%2Fuploads%2Farticles%2Ffx4ug6pxh4whrf0fo2qv.PNG" alt="Image description" width="498" height="499"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;These improvements enable more precise and realistic visual outputs, making it easier to bring complex concepts to life.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Key strengths include&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Support for transparent backgrounds, ideal for professional use in design and web development.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Significantly improved text rendering within images, allowing for clearer and more consistent typography.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The ability to iterate on images, modifying elements while preserving the overall style and composition.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;The new capabilities are outstanding and unlock a wide range of professional applications — from design mockups and marketing assets to UI components — all created seamlessly through natural language prompts.&lt;/p&gt;

&lt;p&gt;What are your thoughts and experiments with the latest version of image generation. Drop in the comments.&lt;/p&gt;

</description>
      <category>chatgpt</category>
      <category>ai</category>
    </item>
    <item>
      <title>AI-Generated Shader Experiments: A Journey</title>
      <dc:creator>Benny Schuetz</dc:creator>
      <pubDate>Thu, 27 Feb 2025 21:37:51 +0000</pubDate>
      <link>https://dev.to/benny00100/ai-generated-shader-experiments-a-journey-1pog</link>
      <guid>https://dev.to/benny00100/ai-generated-shader-experiments-a-journey-1pog</guid>
      <description>&lt;p&gt;I've always been fascinated by shaders, especially the incredible work seen on platforms like &lt;a href="https://www.shadertoy.com" rel="noopener noreferrer"&gt;Shadertoy&lt;/a&gt;. However, as anyone who has tried writing them knows, creating shaders can be quite challenging. Debugging them is often a nightmare, and small mistakes can lead to completely unexpected results.&lt;/p&gt;

&lt;p&gt;At their core, fragment shaders are relatively simple—small pieces of code that define how each pixel is rendered. Given their compact nature, I thought they would be the perfect test case for AI-assisted code generation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Testing AI for Shader Generation
&lt;/h3&gt;

&lt;p&gt;Over the past weeks, I've tested various AI models to generate shaders. Unfortunately, most results have been underwhelming. While the AI could generate something that looked like a shader, most of the time, they required manual debugging to make them work properly. Often, the generated code had logical errors, incorrect syntax, or simply didn’t compile at all.&lt;/p&gt;

&lt;h3&gt;
  
  
  Grok 3 Delivers Promising Results
&lt;/h3&gt;

&lt;p&gt;Recently, I tested Grok 3 for shader generation, and the results have been surprisingly good. The shaders generated by Grok 3 work flawlessly on Shadertoy—just copy, paste, and compile. No need for extensive debugging or rewriting.&lt;/p&gt;

&lt;p&gt;Here are a few examples of working shaders I generated with theh help of Grok 3:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.shadertoy.com/view/WcsSzr" rel="noopener noreferrer"&gt;Shader 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.shadertoy.com/view/tcXXRn" rel="noopener noreferrer"&gt;Shader 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.shadertoy.com/view/wcBGWt" rel="noopener noreferrer"&gt;Shader 3&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1894747883825430641-660" src="https://platform.twitter.com/embed/Tweet.html?id=1894747883825430641"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1894747883825430641-660');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1894747883825430641&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;I’m excited to explore further how AI can assist in shader development and will share my insights along the way! &lt;/p&gt;

&lt;p&gt;Follow me here and on &lt;a href="https://x.com/bennyschuetz" rel="noopener noreferrer"&gt;X&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>shader</category>
      <category>creativecoding</category>
      <category>webgl</category>
    </item>
    <item>
      <title>Creating a Star Wars Scroller with SuperMarquee's Visual Designer</title>
      <dc:creator>Benny Schuetz</dc:creator>
      <pubDate>Wed, 12 Feb 2025 08:34:08 +0000</pubDate>
      <link>https://dev.to/benny00100/creating-a-star-wars-scroller-with-supermarquees-visual-designer-4i6</link>
      <guid>https://dev.to/benny00100/creating-a-star-wars-scroller-with-supermarquees-visual-designer-4i6</guid>
      <description>&lt;p&gt;Ever wanted to create that epic Star Wars scrolling text with plan javascript for your website?&lt;/p&gt;

&lt;p&gt;Today I gave it a try with the frontend javascript library called &lt;a href="https://superplug.in/supermarquee" rel="noopener noreferrer"&gt;SuperMarquee&lt;/a&gt;. This library is completey free to use for personal projects and even comes with a Visual Designer.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Step 1&lt;/strong&gt;&lt;br&gt;
Setup your demopage in which you want to integrate the effect.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
  &amp;lt;meta charset="UTF-8"&amp;gt;
  &amp;lt;title&amp;gt;Star Wars Scroller&amp;lt;/title&amp;gt;
  &amp;lt;style&amp;gt;
    body {
      background-color: black;
      color: #ffff00;
      font-family: Verdana;
    }

    #scrollContainer {
      text-align: center;
      font-size:  48px;
      height: 40vh;      
    }
  &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;

  &amp;lt;h1&amp;gt;Example Page&amp;lt;/h1&amp;gt;

  &amp;lt;div id="scrollContainer"&amp;gt;&amp;lt;/div&amp;gt;

  &amp;lt;p&amp;gt;
    Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
  &amp;lt;/p&amp;gt;   

  &amp;lt;p&amp;gt;
    Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
  &amp;lt;/p&amp;gt;   

  &amp;lt;script src="https://cdn.jsdelivr.net/npm/sp-supermarquee@latest/dist/SuperMarquee.min.js"&amp;gt;&amp;lt;/script&amp;gt;
  &amp;lt;script type="application/javascript"&amp;gt;
     // Code logic will be inserted here.
  &amp;lt;/script&amp;gt;

&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 2&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Launch the &lt;a href="https://superplug.in/supermarquee/visual-designer" rel="noopener noreferrer"&gt;Visual Designer of SuperMarquee&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Click on "&lt;strong&gt;Starwars&lt;/strong&gt;" preset&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bonus&lt;/strong&gt;. Add some fading edges using the &lt;em&gt;Fading edges&lt;/em&gt; settings 
&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%2Fhxhgdgb6stkdfsptunrq.PNG" alt="Image description" width="435" height="382"&gt;
&lt;/li&gt;
&lt;li&gt;Generate the code with the footer-buttons&lt;/li&gt;
&lt;li&gt;Copy &amp;amp; paste it into your project&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;That's it&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In just a few steps we have created a Star Wars-styled scrolling effect.&lt;/p&gt;

&lt;p&gt;If you have any questions - just drop me a line!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>frontend</category>
      <category>supermarquee</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Hello InfrontJS</title>
      <dc:creator>Benny Schuetz</dc:creator>
      <pubDate>Sat, 11 Mar 2023 16:37:24 +0000</pubDate>
      <link>https://dev.to/benny00100/hello-infrontjs-4adi</link>
      <guid>https://dev.to/benny00100/hello-infrontjs-4adi</guid>
      <description>&lt;p&gt;&lt;a href="https://www.infrontjs.com" rel="noopener noreferrer"&gt;InfrontJS&lt;/a&gt; is a new frontend framework. The main idea is to provide a robust and framework with minimum overload. Features like data-bindung, VirtualDOM, reactiveness etc. are not part of the framework on purpose. &lt;/p&gt;

&lt;p&gt;InfrontJS embraces the native platform, including the native DOM and vanilla javascript. I think that the modern browser platform already offers you a powerful system to create great applications. That said, you can easily extend InfrontJS with libraries like &lt;a href="https://github.com/snabbdom/snabbdom" rel="noopener noreferrer"&gt;snabbdom&lt;/a&gt; (VirtualDOM) or &lt;a href="https://rxjs.dev/" rel="noopener noreferrer"&gt;RxJS&lt;/a&gt; (Reactive Extension).&lt;/p&gt;

&lt;p&gt;The benefits for this minimalism is that you avoid unneccessary abstraction layers right from the beginning, have more control over your code and the platform. In addition, having a small codebase has the positive effect that you avoid frequent version updates with breaking changes. This assures that developers are less distracted by the framework and can focus on their actual project/product.&lt;/p&gt;

&lt;p&gt;Currently, I am working very hard on the release of version 1.0. Beside the framework, I will offer a development server (based on esbuild) and a cli tool to boost the application development.&lt;/p&gt;

&lt;h2&gt;
  
  
  Help and Feedback needed
&lt;/h2&gt;

&lt;p&gt;Since I am currently working on it on my own - I really would love to get some feedback. If you are interested in frontend development - maybe you can have a look at it and share your thoughts with me. In addition, feel free to play around with the code and share the word.&lt;/p&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;p&gt;Currently, I managed to put the following resources online:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.infrontjs.com" rel="noopener noreferrer"&gt;Website&lt;/a&gt; - Small landing page for now&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://apidocs.infrontjs.com" rel="noopener noreferrer"&gt;API docs&lt;/a&gt; - Not 100% done yet&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/infrontjs/infrontjs" rel="noopener noreferrer"&gt;Github&lt;/a&gt; - The code of the framework&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://examples.infrontjs.com/" rel="noopener noreferrer"&gt;Examples&lt;/a&gt; - Only four small examples yet&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://guides.infrontjs.com/#/" rel="noopener noreferrer"&gt;Guides&lt;/a&gt; - Just some blank pages for now. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The internal dev server called &lt;em&gt;Frontfire&lt;/em&gt; and a CLI tool will be released soon.&lt;/p&gt;

&lt;h2&gt;
  
  
  Social
&lt;/h2&gt;

&lt;p&gt;If you like, you can follow me here on Dev.to or on my &lt;a href="https://twitter.com/bennyschuetz" rel="noopener noreferrer"&gt;twitter account&lt;/a&gt; or the &lt;a href="https://twitter.com/infrontjs" rel="noopener noreferrer"&gt;InfrontJS twitter account&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>java</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>InfrontJS Diary - Intro</title>
      <dc:creator>Benny Schuetz</dc:creator>
      <pubDate>Mon, 16 Jan 2023 08:25:56 +0000</pubDate>
      <link>https://dev.to/benny00100/infrontjs-diary-intro-34h</link>
      <guid>https://dev.to/benny00100/infrontjs-diary-intro-34h</guid>
      <description>&lt;p&gt;Hey all,&lt;/p&gt;

&lt;p&gt;this is the introductional post of hopefully a bunch of posts I will release in the coming weeks.&lt;/p&gt;

&lt;p&gt;The posts will be about my current personal project called &lt;strong&gt;InfrontJS&lt;/strong&gt;. InfrontJS is a new javascript frontend framework.&lt;/p&gt;

&lt;h2&gt;
  
  
  Oh no! Not another frontend framework!
&lt;/h2&gt;

&lt;p&gt;Is there really a need for yet another frontend framework? Well, I think ... yes, it is - but maybe I am wrong. Let's see and find out 😉 &lt;/p&gt;

&lt;p&gt;I will post more details about the framework itself and my motivation to create it in the next posts of this series.&lt;/p&gt;

&lt;h2&gt;
  
  
  So what are you going to read in this diary?
&lt;/h2&gt;

&lt;p&gt;Instead of solely writing about the technical part of the framework - I decided to share with you all of my experiences and learnings concerning the whole creation process of an open source project, of releasing and promoting it and what it will take to keep it up and running.&lt;/p&gt;

&lt;p&gt;Since InfrontJS is an open source project, I hope there are some interesting parts in the posts even if you are not interested in the product itself.&lt;/p&gt;

&lt;p&gt;Maybe it will turn out to be a big fail - maybe it will be the next hit? Who knows? In the end - I do it primarily for fun and for learning something new. If someone likes the framework or my posts - it's even better 😏&lt;/p&gt;

&lt;h2&gt;
  
  
  Stats anyone?
&lt;/h2&gt;

&lt;p&gt;I never really measured the success of any of my previous open source projects. To keep up my motivation - I think it might be cool to collect and share some stats of how much attention this project gets.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: I do not plan to spend any money for advertising InfrontJS. I will primarily use twitter and the dev.to community to share the word about InfrontJS.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Dealing with an open source product which targets primarily the developer audience I decided to keep track of the stats of DEV.TO, GITHUB and TWITTER. In detail, I focus on the following data.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DEV.TO

&lt;ul&gt;
&lt;li&gt;Total Post Reactions&lt;/li&gt;
&lt;li&gt;Total Post Views&lt;/li&gt;
&lt;li&gt;Following Users&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;GITHUB

&lt;ul&gt;
&lt;li&gt;Stars&lt;/li&gt;
&lt;li&gt;Forks&lt;/li&gt;
&lt;li&gt;Watchers&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;TWITTER 

&lt;ul&gt;
&lt;li&gt;Followers&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;My DEV.TO account is pretty fresh. By now I just published two small posts about two codepens I created. So, all upcoming traffic will be related to InfrontJS I guess.&lt;/p&gt;

&lt;p&gt;Since I created separate accounts/repositories on Twitter and Github for this project, those data is directly connected to the project. On github, the InfrontJS project is splitted into multiple repositories (more on this later). I will be just focussing on the core InfrontJS framework repository to avoid duplicate counts.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: Currently, the github repository is not publically accessible.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Stats - January 15th, 2023
&lt;/h2&gt;

&lt;p&gt;The stats by today (15th January, 2023) are as follows:&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.amazonaws.com%2Fuploads%2Farticles%2Fbyainmnogy5va71ice29.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.amazonaws.com%2Fuploads%2Farticles%2Fbyainmnogy5va71ice29.png" alt="Image description" width="248" height="277"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Feedback is highly appreciated
&lt;/h2&gt;

&lt;p&gt;What do you think about this project (technically or in general)? Do you have any experience in launching an open source product? Can you give me some useful hints? I am thankful for any feedback.&lt;/p&gt;

&lt;p&gt;And of course, please spread the word about InfrontJS, follow me and share the link!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>MarqueeWiggle</title>
      <dc:creator>Benny Schuetz</dc:creator>
      <pubDate>Sun, 06 Feb 2022 18:43:55 +0000</pubDate>
      <link>https://dev.to/benny00100/marqueewiggle-6jn</link>
      <guid>https://dev.to/benny00100/marqueewiggle-6jn</guid>
      <description>&lt;p&gt;Some more jamming around with the &lt;a href="https://superplug.in/supermarquee" rel="noopener noreferrer"&gt;SuperMarquee&lt;/a&gt; library. Watch this little codepen: &lt;/p&gt;

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

</description>
      <category>marquee</category>
      <category>javascript</category>
      <category>demoscene</category>
      <category>supermarquee</category>
    </item>
    <item>
      <title>MarqueeWall</title>
      <dc:creator>Benny Schuetz</dc:creator>
      <pubDate>Thu, 03 Feb 2022 18:33:30 +0000</pubDate>
      <link>https://dev.to/benny00100/marqueewall-2e1l</link>
      <guid>https://dev.to/benny00100/marqueewall-2e1l</guid>
      <description>&lt;p&gt;Small experiment using the [SuperMarquee](https://superplug.in/supermarquee) library for some oldschool scrollers ;-)&lt;/p&gt;

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

</description>
      <category>javascript</category>
      <category>jquery</category>
      <category>marquee</category>
      <category>demoscene</category>
    </item>
  </channel>
</rss>
