<?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: Bright Etornam Sunu</title>
    <description>The latest articles on DEV Community by Bright Etornam Sunu (@_iametornam).</description>
    <link>https://dev.to/_iametornam</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%2F153888%2F7705f736-a847-4045-8624-d166b354e4d0.jpg</url>
      <title>DEV Community: Bright Etornam Sunu</title>
      <link>https://dev.to/_iametornam</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/_iametornam"/>
    <language>en</language>
    <item>
      <title>Bridging the Silence: Building a Real-Time Sign Language Translator (Part 1)</title>
      <dc:creator>Bright Etornam Sunu</dc:creator>
      <pubDate>Fri, 10 Apr 2026 11:55:49 +0000</pubDate>
      <link>https://dev.to/_iametornam/bridging-the-silence-building-a-real-time-sign-language-translator-part-1-1b8l</link>
      <guid>https://dev.to/_iametornam/bridging-the-silence-building-a-real-time-sign-language-translator-part-1-1b8l</guid>
      <description>&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%2Fqs3b4hne62ykrpkt1mh9.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%2Fqs3b4hne62ykrpkt1mh9.png" alt=" " width="800" height="447"&gt;&lt;/a&gt;&lt;br&gt;
Communication is the cornerstone of human connection, yet for the deaf and hard-of-hearing communities, a significant barrier exists when interacting with those who don't understand sign language. While text-to-speech and speech-to-text technologies have advanced rapidly, translating visual, spatial languages like American Sign Language (ASL) into spoken word in real-time has remained a formidable challenge.&lt;/p&gt;

&lt;p&gt;Enter the &lt;strong&gt;asl-to-voice&lt;/strong&gt; project. &lt;/p&gt;

&lt;p&gt;In this four-part technical series, we will take a deep dive into how we built an end-to-end, continuous sign language recognition (CSLR) pipeline. This system doesn't just recognize isolated gestures; it watches a person signing via a standard webcam, understands the continuous flow of movements, translates those signs into fluent English, and speaks the translation aloud—all in real time.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Complexity of Sign Language
&lt;/h3&gt;

&lt;p&gt;Before diving into the architecture, it's crucial to understand why this is hard. Sign language isn't just about hand shapes. It involves complex grammar, facial expressions, body posture, and non-manual markers. Furthermore, in natural signing, there are no clear "spaces" between words like there are in written text. This is known as continuous signing.&lt;/p&gt;

&lt;p&gt;Traditional computer vision approaches often fail here because they treat signs as static images or isolated video clips. To truly translate sign language, a system must understand spatio-temporal data (space and time) simultaneously. Furthermore, sign language has its own syntax, often represented as "glosses" (capitalized literal representations of signs, like &lt;code&gt;YOU NAME WHAT&lt;/code&gt;), which don't map one-to-one to English grammar.&lt;/p&gt;

&lt;h3&gt;
  
  
  Our Solution: The 5-Stage Pipeline
&lt;/h3&gt;

&lt;p&gt;To tackle these challenges, the &lt;code&gt;asl-to-voice&lt;/code&gt; codebase is structured around a highly modular, five-stage pipeline. By breaking the problem down, we can optimize each component independently.&lt;/p&gt;

&lt;h4&gt;
  
  
  Stage 1: Keypoint Extraction
&lt;/h4&gt;

&lt;p&gt;Processing raw video frames through a heavy neural network is computationally expensive and slow. Instead, we use Google's &lt;strong&gt;MediaPipe Holistic&lt;/strong&gt; to extract 2D and 3D landmarks from the signer's hands, body (pose), and face. This dramatically reduces the dimensionality of our data from millions of pixels down to a dense feature vector (up to 1,662 dimensions) that describes exactly how the body is moving.&lt;/p&gt;

&lt;h4&gt;
  
  
  Stage 2: Temporal Sequence Modeling
&lt;/h4&gt;

&lt;p&gt;With our stream of keypoints, we need a model that understands time. We implemented a &lt;strong&gt;Transformer encoder&lt;/strong&gt; (with a BiLSTM available as a baseline). The Transformer looks at a sliding window of keypoint frames and learns the temporal relationships between them. Because we are dealing with continuous streams without explicit word boundaries, the model is trained using Connectionist Temporal Classification (CTC) loss.&lt;/p&gt;

&lt;h4&gt;
  
  
  Stage 3: Gloss Decoding
&lt;/h4&gt;

&lt;p&gt;The output of the Transformer is a probability distribution over our vocabulary of signs. The CTC decoder (using either a fast greedy search or a more accurate beam search) collapses these probabilities into a discrete sequence of glosses.&lt;/p&gt;

&lt;h4&gt;
  
  
  Stage 4: Gloss to Natural Language
&lt;/h4&gt;

&lt;p&gt;If the system outputs &lt;code&gt;["STORE", "I", "GO"]&lt;/code&gt;, the user experience is poor. Sign language glosses need to be translated into grammatically correct spoken language. To achieve this, we route the gloss sequence through a Large Language Model (LLM). Our system uses a resilient fallback chain: it tries Google Gemini first, falls back to OpenAI if it fails, and then to Anthropic. &lt;/p&gt;

&lt;h4&gt;
  
  
  Stage 5: Text-to-Speech (TTS)
&lt;/h4&gt;

&lt;p&gt;Finally, the natural English sentence (e.g., "I am going to the store.") is sent to a TTS engine. We rely primarily on Microsoft Edge TTS for high-quality, neural voice generation. Crucially, this runs in a background thread so the video feed and inference loop never freeze while the computer is speaking.&lt;/p&gt;

&lt;h3&gt;
  
  
  A Look at the Tech Stack
&lt;/h3&gt;

&lt;p&gt;The beauty of this project lies in how these diverse technologies are stitched together:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Computer Vision:&lt;/strong&gt; &lt;code&gt;mediapipe&lt;/code&gt;, &lt;code&gt;opencv-python&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Deep Learning:&lt;/strong&gt; &lt;code&gt;torch&lt;/code&gt;, &lt;code&gt;transformers&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Metrics:&lt;/strong&gt; &lt;code&gt;jiwer&lt;/code&gt; (for Word Error Rate), &lt;code&gt;sacrebleu&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;APIs:&lt;/strong&gt; &lt;code&gt;google-generativeai&lt;/code&gt;, &lt;code&gt;openai&lt;/code&gt;, &lt;code&gt;anthropic&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Audio:&lt;/strong&gt; &lt;code&gt;edge-tts&lt;/code&gt;, &lt;code&gt;pyttsx3&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything in the system is entirely configuration-driven. A single &lt;code&gt;config.yaml&lt;/code&gt; file controls model architectures, feature subsets, sliding window sizes, and API fallback chains, making it incredibly easy to experiment.&lt;/p&gt;

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

&lt;p&gt;In &lt;strong&gt;Part 2&lt;/strong&gt;, we will roll up our sleeves and look at the data. We will explore how we process datasets like WLASL, how we normalize keypoints so the model works regardless of where you stand in the camera frame, and how the Transformer model is actually trained to understand sign language. &lt;/p&gt;

&lt;p&gt;Stay tuned as we move from concept to code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;uploaded through &lt;a href="https://distroblog.etornam.dev" rel="noopener noreferrer"&gt;Distroblog&lt;/a&gt; - a platform i created specifically to post to multiple blog sites at once😅&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>a11y</category>
      <category>deeplearning</category>
      <category>machinelearning</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Deploy your Nodejs + Auth0 REST API to Cyclic.sh under 4 minutes</title>
      <dc:creator>Bright Etornam Sunu</dc:creator>
      <pubDate>Thu, 16 Dec 2021 06:15:45 +0000</pubDate>
      <link>https://dev.to/_iametornam/deploy-your-nodejs-auth0-rest-api-to-cyclicsh-under-4-minutes-j8h</link>
      <guid>https://dev.to/_iametornam/deploy-your-nodejs-auth0-rest-api-to-cyclicsh-under-4-minutes-j8h</guid>
      <description>&lt;p&gt;Deploying APIs can sometimes be a pain in the butt when your service provider overcomplicates the deployment and setup process. This short article will demo how to deploy your Restful Nodejs application to Cyclic.sh in less than 4 minutes.&lt;/p&gt;

&lt;p&gt;Yes!, you heard right, less than 4 minutes🔥😱😱.&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%2Fju588ozkufwtgfmrkkwc.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%2Fju588ozkufwtgfmrkkwc.png" alt="from cyclic.sh homepage" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cyclic is a provider that helps you Launch your API in seconds. Push your code to Github and let the CI/CD (continuous integration/continuous delivery) integration trigger and deploy your service onto a global infrastructure in seconds. No cryptic CloudFormation errors. No mysterious API Gateway errors. No YAML parse errors. No hunting for CloudWatch log groups. No wasted time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Important!&lt;/strong&gt;&lt;br&gt;
I already have my Nodejs Auth0 backend done.&lt;/p&gt;

&lt;p&gt;To follow along with this project, clone the repo from &lt;a href="https://github.com/RegNex/nodejs-auth0" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deployment Demo&lt;/strong&gt;&lt;br&gt;
To deploy your codebase, follow the following steps:&lt;br&gt;
The first thing you must do is create a repository on github.com for your project and push your code.&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%2F7l6gxq0nzuffpztuh6vn.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%2F7l6gxq0nzuffpztuh6vn.png" alt="Github repo create page" width="800" height="746"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, signup to &lt;a href="https://cyclic.sh" rel="noopener noreferrer"&gt;Cyclic.sh&lt;/a&gt;. The signup process is seamless, and all you need is to signup using your Github account.&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%2Fg9no1gx3n3rxpblrvvjr.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%2Fg9no1gx3n3rxpblrvvjr.png" alt="cyclic.sh signup page" width="800" height="945"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After successful signup, you will see a dashboard; where all the magic happens. You can locate the docs at the top right corner, just right before the profile.&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%2Fxfnh1tni5f6l2q58lcm9.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%2Fxfnh1tni5f6l2q58lcm9.png" alt="locate docs at the top right corner" width="800" height="621"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Now you need to deploy your code. Click the "deploy" button (green button) and select the "Link your own" tab.&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%2Fshygfa923tsbuioxb0gk.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%2Fshygfa923tsbuioxb0gk.png" alt="deploy button" width="800" height="621"&gt;&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.amazonaws.com%2Fuploads%2Farticles%2Fc8kbcfz87vlctfur7cow.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%2Fc8kbcfz87vlctfur7cow.png" alt="link your code from Github" width="800" height="453"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Search for the repo you want to deploy, in your case "nodejs-auth0," and select it and connect it to your Github account.&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%2Fznur4kmxjgybngrlyi19.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%2Fznur4kmxjgybngrlyi19.png" alt=" " width="800" height="369"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;At the prompt, you need to confirm your Github access, and after confirming, all you have to do is to approve and install, and that's it 🎉&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%2Fpu5c2blnvkg5hbaznjlg.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%2Fpu5c2blnvkg5hbaznjlg.png" alt=" " width="800" height="400"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Once you approve and install, the deployment process will start. 2–3mins should do it 🎊🎉🎊🎉🎊🎉&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%2F6mlj6q01uhd7u24g6o6r.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%2F6mlj6q01uhd7u24g6o6r.png" alt=" " width="800" height="491"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;The final step is to set your environment variables on the dashboard. The dashboard for your project looks like this.&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%2F0a23mtm2nt5unyp1gohk.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%2F0a23mtm2nt5unyp1gohk.png" alt=" " width="800" height="336"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;This is a ".env" file; you can also include those configurations on the dashboard by clicking on "Variables." After this configuration, everything should be up and running 🔥&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%2Ffpk47xpnf1rd6oflgsuc.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%2Ffpk47xpnf1rd6oflgsuc.png" alt=" " width="800" height="499"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deploying new changes&lt;/strong&gt;&lt;br&gt;
After all the setups and configurations, to deploy new changes, push your code to Github, and Github actions will do the rest 😀😉&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
Deploying a RESTful API shouldn't be hectic and cyclic.sh has made sure deploying your backend code to the cloud is a simple as possible.&lt;/p&gt;

&lt;p&gt;If you find any difficulty in the deployment process, you can reach out to the &lt;a href="https://cyclic.sh" rel="noopener noreferrer"&gt;cyclic.sh&lt;/a&gt; team on &lt;a href="https://discord.com/invite/huhcqxXCbE" rel="noopener noreferrer"&gt;discord&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Do well to follow me on &lt;a href="https://twitter.com/_iamEtornam" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; and &lt;a href="https://www.linkedin.com/in/etornam-sunu/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; to connect.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;originally publish on &lt;a href="https://etornam-sunu.medium.com" rel="noopener noreferrer"&gt;medium.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>node</category>
      <category>cyclic</category>
      <category>auth0</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>How to limit window resize in Flutter Desktop</title>
      <dc:creator>Bright Etornam Sunu</dc:creator>
      <pubDate>Mon, 26 Oct 2020 09:27:34 +0000</pubDate>
      <link>https://dev.to/_iametornam/how-to-limit-window-resize-in-flutter-desktop-40d8</link>
      <guid>https://dev.to/_iametornam/how-to-limit-window-resize-in-flutter-desktop-40d8</guid>
      <description>&lt;p&gt;Hi there!&lt;br&gt;
It has been such a looooong time since I wrote an article or even created a youtube ☹️ tutorial but hey, there’s good news 🎤, I’M BACK 🔥🔥🔥.&lt;/p&gt;

&lt;p&gt;In the past few weeks, I have been working on a Desktop app using Flutter (you know one of those side projects you start then drop it then pick it up again…? yeaaaah!) and I had problems with the window screen resizing.&lt;br&gt;
At some point, you can resize it such that nothing else displays which is an undesirable feature. Hence I started doing some research on how to limit the resize of the window.&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%2Fi%2Fos2bkx200u96ju9pktsb.gif" 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%2Fi%2Fos2bkx200u96ju9pktsb.gif" alt="Alt Text" width="600" height="400"&gt;&lt;/a&gt;&lt;br&gt;
After talking to a number of developers and also reading some articles, this effect can “only” be done natively. This requires editing some files for the MacOS, Windows and Linux file folder. This will be a bit stressful especially if the developer is not accustomed to these platforms, I did a deeper research by looking at the source code of existing Flutter desktop applications (FVM GUI) and discovered a google package that does it all for you 🔥🔥🔥 (flutter desktop embedding). Here is a simple example on how to use limit the window size of a desktop app:&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;After applying the above code example, it was all fixed!!! Whew!!!!..&lt;br&gt;
And now, I have a functional and beautiful page.&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%2Fi%2F6pgaa6vijtzl2saf7l5v.gif" 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%2Fi%2F6pgaa6vijtzl2saf7l5v.gif" alt="Alt Text" width="600" height="400"&gt;&lt;/a&gt;&lt;br&gt;
And that’s all for now. I will share the progress of the desktop application I’m developing in due time ⏰. And if you need any clarifications on this topic, do well to reach out to me on twitter &lt;a href="https://twitter.com/_iamEtornam" rel="noopener noreferrer"&gt;@_iamEtornam&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Akpẽ Kaka (Thank you in EʋE)&lt;/p&gt;

&lt;p&gt;&lt;em&gt;originally posted on &lt;a href="https://etornam-sunu.medium.com/how-to-limit-window-resize-in-flutter-desktop-47d6a495822e" rel="noopener noreferrer"&gt;medium.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>desktop</category>
      <category>flutterdesktop</category>
    </item>
    <item>
      <title>UI Challenge 2020 (part 1)</title>
      <dc:creator>Bright Etornam Sunu</dc:creator>
      <pubDate>Thu, 02 Jan 2020 06:50:49 +0000</pubDate>
      <link>https://dev.to/_iametornam/ui-challenge-2020-part-1-371a</link>
      <guid>https://dev.to/_iametornam/ui-challenge-2020-part-1-371a</guid>
      <description>&lt;p&gt;As 2020 starts, i'm trying to sharpen my UI skills in flutter and also digging deep into Animation and Native Dart features. I started the year by implementing an Awesome mockup i saw on dribble.com by Mickael Guillaume. The first Page implemented and second page to go!&lt;br&gt;
source code here: &lt;a href="https://github.com/RegNex/InstaPic" rel="noopener noreferrer"&gt;https://github.com/RegNex/InstaPic&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Don't forget to give it a 🌟&lt;br&gt;
🎊Happy New Year 🎉&lt;/p&gt;

</description>
      <category>ui</category>
      <category>flutter</category>
      <category>design</category>
      <category>dart</category>
    </item>
  </channel>
</rss>
