<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by RitchieP on Medium]]></title>
        <description><![CDATA[Stories by RitchieP on Medium]]></description>
        <link>https://medium.com/@ritchiepoh?source=rss-8297e0540d4e------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*Joa7cRK3KQbvNc8CLmHd8w.jpeg</url>
            <title>Stories by RitchieP on Medium</title>
            <link>https://medium.com/@ritchiepoh?source=rss-8297e0540d4e------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Fri, 13 Nov 2026 19:45:24 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@ritchiepoh/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Internship Takeaways]]></title>
            <link>https://medium.com/@ritchiepoh/internship-takeaways-4e15492cb58e?source=rss-8297e0540d4e------2</link>
            <guid isPermaLink="false">https://medium.com/p/4e15492cb58e</guid>
            <category><![CDATA[internship-experience]]></category>
            <dc:creator><![CDATA[RitchieP]]></dc:creator>
            <pubDate>Tue, 12 Sep 2023 13:53:28 GMT</pubDate>
            <atom:updated>2023-09-12T13:53:28.423Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*tEnkSz2C40gScU2a" /><figcaption>Photo by <a href="https://unsplash.com/@christinhumephoto?utm_source=medium&amp;utm_medium=referral">Christin Hume</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><h3>Introduction</h3><p>Throughout the months of March to August 2023, I had my first internship experience as a Software Engineer Intern at a Small and Midsize Enterprise (SME) in the machine vision industry, with customers internationally. And it was a roller coaster of a ride, to say the least.</p><p>The six-month internship was mandatory for my university’s Bachelor&#39;s Degree program in order to graduate.</p><h3>Application Process</h3><p>I did not go through the normal application process like resume submission, and interviewing rounds. I was lucky enough to know my supervisor personally through my connections, hence I was accepted as an intern directly. I guess this is fortunate and unfortunate at the same time. Fortunate because I was able to easily secure my internship spot. Unfortunate, because I wasn’t able to go through interviews to understand the company better, and to brush up on my interviewing skills.</p><h3>Expectation vs Reality</h3><p>Since I’m joining an SME, my expectations weren’t that high in terms of office space and network opportunities. I expected to learn a lot from my supervisor and be able to be part of a lot of projects. But the reality was much worse.</p><p>At the old office, (yes, the company moved to a new office in the midst of my internship) I did not have my own desk to work at. I had to work in a common area shared by another organization. The desk and chair were uncomfortable to work in for 8 hours a day. (Since those were not meant to sit for 8 hours) Fortunately, after moving to the new office, this was not an issue anymore.</p><p>Reality also hit hard after the second month. Because the company is small, I am the only intern, with projects handled only by me. I did not have anyone to talk to during work. Even when I encountered technical bottlenecks, my supervisor wasn’t able to provide much help as he was busy with meetings and so on. Other colleagues were close friends and had their own projects to worry about. I probably suffered a bit of depression in the third month and was very deflated.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*GX7J-AiBbzSeqzBV" /><figcaption>Photo by <a href="https://unsplash.com/@tinamosquito?utm_source=medium&amp;utm_medium=referral">Kristina Tripkovic</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>I was glad that I kept on going out to do sports after working hours to keep myself sane and healthy.</p><h3>Learning and Growth</h3><p>Learning and growth in an SME are definitely much more significant as you will be participating in most of the development processes. I was involved in three different projects throughout the 6-month internship. Throughout the three projects, my role was basically a full stack engineer, where I had to listen to user requirements, plan, design, prototype, and develop the front and back end of the application.</p><p>I was able to learn full-stack desktop and web applications, as well as custom PDF parsing algorithms.</p><h3>Takeaways and Lessons</h3><p>My takeaway from this internship experience is to always understand that, it is okay if some days we are unproductive and some days we are super productive. I guess the most important thing is to make sure that you’re consistent and always there. No matter how much you contribute.</p><p>Another takeaway is to understand the company culture beforehand if possible. Although I understand that, as an intern, I am not part of the company, it is still depressing when my desk is isolated in the corner and not a lot of communication between me and the other employees.</p><p>That’s all for the blog. I’m going to touch a lot of grass before the next semester starts!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=4e15492cb58e" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Building my website with Flutter Day #5]]></title>
            <link>https://medium.com/@ritchiepoh/building-my-website-with-flutter-day-5-3069e6705bae?source=rss-8297e0540d4e------2</link>
            <guid isPermaLink="false">https://medium.com/p/3069e6705bae</guid>
            <category><![CDATA[portfolio]]></category>
            <category><![CDATA[flutter-web]]></category>
            <category><![CDATA[flutter]]></category>
            <dc:creator><![CDATA[RitchieP]]></dc:creator>
            <pubDate>Tue, 11 Oct 2022 13:37:45 GMT</pubDate>
            <atom:updated>2022-10-11T13:37:45.355Z</atom:updated>
            <content:encoded><![CDATA[<p>On day #6 of building my Flutter website, I finished up most of the front-end sketching work by finishing up a template page where I can choose to showcase my hobbies or my work experience. As well as finished up my main profile.</p><h4>The template page</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ILpyvbTgxeHxXjY1U88IOg.png" /><figcaption>Hobbies Page sketch</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*cUj6f-nZcEb7yewreNmTiQ.png" /><figcaption>Work Experience Page sketch</figcaption></figure><blockquote>I know, the pictures are the same, and the description are like wtf, but chill, this is for testing purposes. Real info will be fetched from Firebase later on.</blockquote><p>I first built the page for the Hobbies screen. However, I quickly realized that I am going to use the same design for my Work Experience page. Both screens were built with the same codebase. Everything is built inside of a <a href="https://api.flutter.dev/flutter/widgets/ListView/ListView.builder.html"><em>ListView.builder</em></a><em> </em>class. And information is fetched based on the title of the page.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_7IkjVRyuR8Nq4GUTXhy7w.png" /><figcaption>Code snippet of my ListView.builder()</figcaption></figure><p>The CustomListItem class is a custom-defined class that I referenced <a href="https://api.flutter.dev/flutter/material/ListTile-class.html#:~:text=The%20ListTile%20layout%20isn%27t%20exactly%20what%20I%20want">here</a>.</p><h4>About Me Page</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*8UgyP1L3udguLwwftN2rGA.png" /><figcaption>Yep, that is not a 3D model</figcaption></figure><p>As for the About Me Page, I chose to use a normal png file over the 3D model, just because this picture looks so much better. As well as I’m having problems dealing with the 3D model from the Home Page. This part of the About Me page was rather easy to build. Just a Column nested within a Container. I then proceeded to include a Google Maps for a more detailed introduction about myself.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*u77E74lua8MO1tsuC_VFSA.png" /></figure><p>This was quite easy to build, I just had to follow the <a href="https://codelabs.developers.google.com/codelabs/google-maps-in-flutter#0">Codelabs</a> from the Google Dev website.</p><h4>How do I navigate to different screens?</h4><p>In order to navigate from screen to screen, I used the <a href="https://api.flutter.dev/flutter/widgets/Navigator-class.html"><em>Navigator</em></a> class from Flutter itself. And I wanted to implement this small little detail where every time when I press the back button, it will return to the Home Page no matter how many pages I have visited on my website. So, I made use of the <a href="https://api.flutter.dev/flutter/widgets/Navigator/pushAndRemoveUntil.html"><em>pushAndRemoveUntil()</em></a> method.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fround-lake.dustinice.workers.dev%3A443%2Fhttps%2Fcarbon.now.sh%2Fembed%3Fbg%3Drgba%2528171%252C%2B184%252C%2B195%252C%2B1%2529%26t%3Dseti%26wt%3Dnone%26l%3Ddart%26width%3D680%26ds%3Dtrue%26dsyoff%3D20px%26dsblur%3D68px%26wc%3Dtrue%26wa%3Dtrue%26pv%3D56px%26ph%3D56px%26ln%3Dfalse%26fl%3D1%26fm%3DHack%26fs%3D14px%26lh%3D133%2525%26si%3Dfalse%26es%3D2x%26wm%3Dfalse%26code%3DTextButton%2528%25250A%252520%252520child%25253A%252520const%252520Text%2528%252522Me%252522%2529%25252C%25250A%252520%252520onPressed%25253A%252520%2528%2529%252520%25257B%25250A%252520%252520%252520%252520Navigator.of%2528context%2529.pushAndRemoveUntil%2528%25250A%252520%252520%252520%252520%252520%252520%252520%252520MaterialPageRoute%2528%25250A%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520builder%25253A%252520%2528context%2529%252520%25253D%25253E%252520AboutMe%2528body%25253A%252520body%2529%2529%25252C%25250A%252520%252520%252520%252520%252520%252520%252520%252520ModalRoute.withName%2528%252522%25252F%252522%2529%2529%25253B%25250A%252520%252520%25257D%2529%25252C&amp;display_name=Carbon&amp;url=https%3A%2F%2Fround-lake.dustinice.workers.dev%3A443%2Fhttps%2Fcarbon.now.sh%2F%3Fbg%3Drgba%252528171%25252C%2B184%25252C%2B195%25252C%2B1%252529%26t%3Dseti%26wt%3Dnone%26l%3Ddart%26width%3D680%26ds%3Dtrue%26dsyoff%3D20px%26dsblur%3D68px%26wc%3Dtrue%26wa%3Dtrue%26pv%3D56px%26ph%3D56px%26ln%3Dfalse%26fl%3D1%26fm%3DHack%26fs%3D14px%26lh%3D133%252525%26si%3Dfalse%26es%3D2x%26wm%3Dfalse%26code%3DTextButton%252528%2525250A%25252520%25252520child%2525253A%25252520const%25252520Text%252528%25252522Me%25252522%252529%2525252C%2525250A%25252520%25252520onPressed%2525253A%25252520%252528%252529%25252520%2525257B%2525250A%25252520%25252520%25252520%25252520Navigator.of%252528context%252529.pushAndRemoveUntil%252528%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520MaterialPageRoute%252528%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520builder%2525253A%25252520%252528context%252529%25252520%2525253D%2525253E%25252520AboutMe%252528body%2525253A%25252520body%252529%252529%2525252C%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520ModalRoute.withName%252528%25252522%2525252F%25252522%252529%252529%2525253B%2525250A%25252520%25252520%2525257D%252529%2525252C&amp;image=https%3A%2F%2Fround-lake.dustinice.workers.dev%3A443%2Fhttps%2Fcarbon.now.sh%2Fstatic%2Fbrand%2Fbanner.png&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;scroll=auto&amp;schema=carbon" width="1024" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/cd7fefbf80db40d8efd25ca782805000/href">https://medium.com/media/cd7fefbf80db40d8efd25ca782805000/href</a></iframe><p>And that’s all for Day #6 as well as the front-end sketch work so far. I’ll start working on the backend to fetch data from Firebase. If you would like to support me, you can <a href="https://www.buymeacoffee.com/ritchiepoh">buy me a coffee</a>.</p><figure><a href="https://www.buymeacoffee.com/ritchiepoh"><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*QCQqlZr6doDP-cszzpaSpw.png" /></a></figure><p>As always, open to discussions and suggestions. Peace! ✌️</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=3069e6705bae" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Building my website with Flutter Day #5]]></title>
            <link>https://medium.com/@ritchiepoh/building-my-website-with-flutter-day-5-e32e99df6e6f?source=rss-8297e0540d4e------2</link>
            <guid isPermaLink="false">https://medium.com/p/e32e99df6e6f</guid>
            <category><![CDATA[flutter-web]]></category>
            <dc:creator><![CDATA[RitchieP]]></dc:creator>
            <pubDate>Wed, 21 Sep 2022 04:08:53 GMT</pubDate>
            <atom:updated>2022-09-21T04:08:53.851Z</atom:updated>
            <content:encoded><![CDATA[<p>It’s day #5 of building my own website with Flutter. Day #5 featured me finishing sketching up the home page of my portfolio website.</p><h4>Achievements section</h4><p>From the previous article, I built my achievements section with a <em>NestedScrollView</em> class. That was fun and implemented my initial design very well. However, I quickly ran into problems when I was trying to animate it to open up different achievements from different years. I went through <a href="https://api.flutter.dev/flutter/widgets/SlideTransition-class.html"><em>SlideTransition</em></a>, <a href="https://api.flutter.dev/flutter/widgets/AnimatedBuilder-class.html"><em>AnimatedBuilder</em></a>, <a href="https://api.flutter.dev/flutter/widgets/AnimatedPositioned-class.html"><em>AnimatedPosition</em></a>, and <a href="https://pub.dev/documentation/animations/latest/animations/OpenContainer-class.html"><em>OpenContainer</em></a> classes in Flutter, but I wasn’t able to make it work. Maybe I was missing some stuff that I just couldn’t figure out. I then changed my plans to download a package from Pub.dev called <a href="https://pub.dev/packages/timeline_tile"><em>timeline_tile</em></a><em>. </em>This package is highly customizable and very easy to use.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*cZ9Iou73EURiMS5iGUp2NQ.png" /><figcaption>Achievements section as of now</figcaption></figure><p>It isn’t that bad right? I’ll work on finishing up the design later on when I start fetching data from Firebase after I finish sketching up the whole front end of my website.</p><h4>Google Dev section</h4><p>The final section of my home page. It’s an honorable mention to my current Google Developers community who brought me into the wonders of Flutter.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ZDW1IL3pgLtu8-n7VJXPkA.png" /><figcaption>GDG section</figcaption></figure><p>This section was fairly easy to build with a Container and specifying a <a href="https://api.flutter.dev/flutter/painting/DecorationImage-class.html"><em>DecorationImage</em></a><em> </em>for the background image<em>. </em>The frustrating part was the introduction passage and the color of my 3D Dev logo. In the introduction passage, I had to build a large <em>RichText</em> widget with a lot of <em>TextSpan</em> inside of it just to specify different styles for different text as shown in the image.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*JAFnrrMsxgrZ3lI5gQOi_A.png" /><figcaption>Code snippet for the introduction passage</figcaption></figure><p>I’m eager to find out better and more efficient ways to implement this design. Please drop a comment if you know how.</p><p>I’m also seeking help to find out why the color of my 3D model is so faded.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/728/1*ycIlrC2xmE-AqDBlEb64XA.png" /><figcaption>The original color of the 3D model</figcaption></figure><p>I will update the next article as to why the 3D model looks so faded. Thanks for reading and have a nice day! Feel free to support me through</p><figure><a href="https://www.buymeacoffee.com/ritchiepoh"><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*rgehIusetZJhU29VNxs1Tg.png" /></a></figure><p>As always see you at the next one! Peace! ✌️</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e32e99df6e6f" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Building my website with Flutter Day #4]]></title>
            <link>https://medium.com/@ritchiepoh/building-my-website-with-flutter-day-4-d343de3fbf5d?source=rss-8297e0540d4e------2</link>
            <guid isPermaLink="false">https://medium.com/p/d343de3fbf5d</guid>
            <category><![CDATA[flutter-web]]></category>
            <category><![CDATA[blog]]></category>
            <category><![CDATA[web-development]]></category>
            <dc:creator><![CDATA[RitchieP]]></dc:creator>
            <pubDate>Sat, 10 Sep 2022 04:06:41 GMT</pubDate>
            <atom:updated>2022-09-10T04:06:41.219Z</atom:updated>
            <content:encoded><![CDATA[<p>So this was a long update from the previous one. I suffered a very badly sprained ankle from playing basketball and had to rest for a week or two. In the meantime, I made quite a number of changes to my codebase.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/750/0*CbwjtQF_TCp9g4aO.jpg" /></figure><h4>Responsive Design</h4><p>I improved my codebase to be responsive according to different screen sizes. <a href="https://youtu.be/MrPJBAOzKTQ">This tutorial</a> by Mitch Koko was really easy to understand and follow. I used it to mainly change the size of text, the amount of padding, and the camera angle of the initial 3D mode when loaded.</p><h4>Studies Achievement Section</h4><p>The other reason why this update took so long was also because of a specific design I was trying to achieve.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*mVLeZG8blMdMGSKvI1nxnA.png" /><figcaption>A nested scrollable grid inside the home page</figcaption></figure><p>I’ve been trying out a package called <a href="https://pub.dev/packages/nested_inner_scroll">nested_inner_scroll</a> on pub.dev, because of the simplicity of use. However, there was one big problem. Once you implemented the package, mouse wheel scrolling will be disabled. You’re left with dragging the scrollbar on the side to scroll. Hence, I took some time to study why the package behave in this way. But I couldn’t get it to work.</p><p>I also tried to use <a href="https://www.w3schools.com/tags/tag_iframe.asp">iFrame</a>, an inline frame within a webpage to display another website inside the frame. <a href="https://medium.com/flutter-community/flutter-web-and-iframe-f26399aa1e2a">This article</a> by Aseem Wangoo explains how to use it in Flutter pretty well, but it doesn’t work for my case since I’m not embedding a webpage within my website.</p><p>I moved on to use the built-in <a href="https://api.flutter.dev/flutter/widgets/NestedScrollView-class.html"><em>NestedScrollView</em></a><em> </em>class. The class seemed daunting at first sight with the parameters that needs to be initialized, but it wasn’t so when I started using it.</p><p>And regarding all those pink containers inside the grid, I am planning to fetch contents from Firebase later on.</p><p>And that’s all for Day 4! (Well, sort of day 4) As always, see you on the next one! Peace! ✌️</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d343de3fbf5d" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Building my website with Flutter Day #3]]></title>
            <link>https://medium.com/@ritchiepoh/building-my-website-with-flutter-day-3-68c2f9de0599?source=rss-8297e0540d4e------2</link>
            <guid isPermaLink="false">https://medium.com/p/68c2f9de0599</guid>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[blog]]></category>
            <category><![CDATA[flutter]]></category>
            <dc:creator><![CDATA[RitchieP]]></dc:creator>
            <pubDate>Mon, 22 Aug 2022 16:30:26 GMT</pubDate>
            <atom:updated>2022-08-22T16:30:26.147Z</atom:updated>
            <content:encoded><![CDATA[<p>Back at it again with day #3! There isn’t much for day #3, just spent a lot of time figuring out the error from the previous day. And on the 3D model itself.</p><h4>What was that error</h4><p>The error message <strong><em>“Trying to use the default webview implementation for TargetPlatform.windows but there isn’t a default one”</em></strong><em> </em>was actually telling me that my windows application does not have a way to load a Model_Viewer widget. This is because the model viewer is actually a web component developed by Google. Hence, to display a web component in a desktop or mobile application, you’ll need to wrap it in a <a href="https://pub.dev/packages/webview_flutter"><em>WebView dependency</em></a>.</p><blockquote>And ah, silly me testing my website on a Windows application without realizing it. Just found out I can run the command “flutter run -d chrome” in the terminal.</blockquote><h4>The 3D model</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/741/1*p2o7azLTlBrSBGmhCiPflA.png" /><figcaption>My 3D model on a webpage!</figcaption></figure><p>Finally, I can see my 3D model on a webpage. I had to do a lot of reading on the <a href="https://modelviewer.dev/"><em>model_viewer</em></a> documentation to adjust the camera angle, zoom, and whatnot. But still can’t get it to zoom in on my face. (I don’t like how my hands are just dangling on the default model)</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fround-lake.dustinice.workers.dev%3A443%2Fhttps%2Fcarbon.now.sh%2Fembed%3Fbg%3Drgba%2528171%252C%2B184%252C%2B195%252C%2B1%2529%26t%3Dseti%26wt%3Dnone%26l%3Ddart%26width%3D680%26ds%3Dtrue%26dsyoff%3D20px%26dsblur%3D68px%26wc%3Dtrue%26wa%3Dtrue%26pv%3D56px%26ph%3D56px%26ln%3Dfalse%26fl%3D1%26fm%3DHack%26fs%3D14px%26lh%3D133%2525%26si%3Dfalse%26es%3D2x%26wm%3Dfalse%26code%3DSizedBox%2528%25250A%252520%252520%252520%252520%252520%252520height%25253A%252520MediaQuery.of%2528context%2529.size.height%252520%25252F%2525202.5%25252C%25250A%252520%252520%252520%252520%252520%252520width%25253A%252520MediaQuery.of%2528context%2529.size.width%252520%25252F%2525202%25252C%25250A%252520%252520%252520%252520%252520%252520child%25253A%252520ModelViewer%2528%25250A%252520%252520%252520%252520%252520%252520%252520%252520src%25253A%252520%252522assets%25252F3D_model%25252Fmy_model.glb%252522%25252C%25250A%252520%252520%252520%252520%252520%252520%252520%252520alt%25253A%252520%252522A%2525203D%252520model%252520of%252520Ritchie%2527s%252520model%252522%25252C%25250A%252520%252520%252520%252520%252520%252520%252520%252520autoRotate%25253A%252520false%25252C%25250A%252520%252520%252520%252520%252520%252520%252520%252520cameraControls%25253A%252520true%25252C%25250A%252520%252520%252520%252520%252520%252520%252520%252520disableZoom%25253A%252520true%25252C%25250A%252520%252520%252520%252520%252520%252520%252520%252520cameraOrbit%25253A%252520%25252215deg%25252090deg%252520100%252525%252522%25252C%25250A%252520%252520%252520%252520%252520%252520%252520%252520cameraTarget%25253A%252520%2525220m%2525201.7m%2525200m%252522%25252C%25250A%252520%252520%252520%252520%252520%252520%252520%252520fieldOfView%25253A%252520%252522180deg%252522%25252C%25250A%252520%252520%252520%252520%252520%252520%2529%25252C%25250A%252520%252520%252520%252520%2529&amp;display_name=Carbon&amp;url=https%3A%2F%2Fround-lake.dustinice.workers.dev%3A443%2Fhttps%2Fcarbon.now.sh%2F%3Fbg%3Drgba%252528171%25252C%2B184%25252C%2B195%25252C%2B1%252529%26t%3Dseti%26wt%3Dnone%26l%3Ddart%26width%3D680%26ds%3Dtrue%26dsyoff%3D20px%26dsblur%3D68px%26wc%3Dtrue%26wa%3Dtrue%26pv%3D56px%26ph%3D56px%26ln%3Dfalse%26fl%3D1%26fm%3DHack%26fs%3D14px%26lh%3D133%252525%26si%3Dfalse%26es%3D2x%26wm%3Dfalse%26code%3DSizedBox%252528%2525250A%25252520%25252520%25252520%25252520%25252520%25252520height%2525253A%25252520MediaQuery.of%252528context%252529.size.height%25252520%2525252F%252525202.5%2525252C%2525250A%25252520%25252520%25252520%25252520%25252520%25252520width%2525253A%25252520MediaQuery.of%252528context%252529.size.width%25252520%2525252F%252525202%2525252C%2525250A%25252520%25252520%25252520%25252520%25252520%25252520child%2525253A%25252520ModelViewer%252528%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520src%2525253A%25252520%25252522assets%2525252F3D_model%2525252Fmy_model.glb%25252522%2525252C%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520alt%2525253A%25252520%25252522A%252525203D%25252520model%25252520of%25252520Ritchie%252527s%25252520model%25252522%2525252C%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520autoRotate%2525253A%25252520false%2525252C%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520cameraControls%2525253A%25252520true%2525252C%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520disableZoom%2525253A%25252520true%2525252C%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520cameraOrbit%2525253A%25252520%2525252215deg%2525252090deg%25252520100%25252525%25252522%2525252C%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520cameraTarget%2525253A%25252520%252525220m%252525201.7m%252525200m%25252522%2525252C%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520fieldOfView%2525253A%25252520%25252522180deg%25252522%2525252C%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%252529%2525252C%2525250A%25252520%25252520%25252520%25252520%252529&amp;image=https%3A%2F%2Fround-lake.dustinice.workers.dev%3A443%2Fhttps%2Fcarbon.now.sh%2Fstatic%2Fbrand%2Fbanner.png&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;scroll=auto&amp;schema=carbon" width="1024" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/7e6a3bd8a84bf9636273413e7b881b04/href">https://medium.com/media/7e6a3bd8a84bf9636273413e7b881b04/href</a></iframe><p>I’m still trying to iron out a few rough edges here and there regarding the model and size of the model. I also tried to animate my model in <a href="https://www.blender.org/"><em>Blender</em></a>, but that was not my cup of tea.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/600/0*xgI7NLCN-TFOzvNV.jpg" /></figure><h4>Responsive site?</h4><p>After making my model work just okay. I thought about making my site responsive when a user visits it on a mobile app. I’m still working on how to make my model go from side to side with my intro to above and bottom when the screen size is smaller.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/377/1*163WXWxS5cLPXtNLKRZ-ww.png" /><figcaption>Home page on an iPhone 12 Pro</figcaption></figure><p>As you can see, this can’t be it. This is bad. I tried using a <a href="https://api.flutter.dev/flutter/widgets/Wrap-class.html"><em>Wrap</em></a><em> </em>widget but I’m not sure why it’s not going to the bottom. So I’ll have to figure it out.</p><h4>Honorable mentions!</h4><p>I noticed that when running the website through the terminal gives you a link to a Flutter DevTools Debugger on your site. And that is so neat! It helped me solve quite a few layout problems easily. I’m not sure how to get to this page if you’re pressing F5 with VS Code though.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*FQwFmzYg97EHe7dZtAtWHA.png" /><figcaption>Flutter DevTools Debugger</figcaption></figure><p>That’s all for Day #3! As always, feel free to comment, discuss or suggest in the comments. See you the next day. Peace! ✌️</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=68c2f9de0599" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Building my website with Flutter Day #2]]></title>
            <link>https://medium.com/@ritchiepoh/building-my-website-with-flutter-day-2-6b7965d0b06f?source=rss-8297e0540d4e------2</link>
            <guid isPermaLink="false">https://medium.com/p/6b7965d0b06f</guid>
            <category><![CDATA[flutter]]></category>
            <category><![CDATA[web-development]]></category>
            <dc:creator><![CDATA[RitchieP]]></dc:creator>
            <pubDate>Wed, 17 Aug 2022 15:40:40 GMT</pubDate>
            <atom:updated>2022-08-17T15:40:40.987Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*gPF7IrcwSY3AtSWslfrcqw.png" /></figure><h4>Setting up the theme</h4><p>Day 2 of building my flutter website starts with me initializing the flutter project in Visual Studio Code. I then proceeded to set the color of the themes with the <a href="https://api.flutter.dev/flutter/material/ThemeData-class.html"><em>ThemeData</em></a> function. Defining the theme across the whole project was something I did not do for my first Flutter project. And I’m glad I did it this time, it saves time and makes the code much cleaner to read.</p><blockquote>I did encounter errors requiring me to pass a MaterialColor class to the ThemeData attributes initially, but somehow that error magically disappeared when I debug the project in a Chrome browser. (Again, those “I don’t know what I did” moments)</blockquote><h4>Building the AppBar</h4><p>Building the <a href="https://api.flutter.dev/flutter/material/AppBar-class.html"><em>AppBar</em></a> was easy for my situation, as I didn’t need much from my <em>AppBar</em>, just a few <a href="https://api.flutter.dev/flutter/widgets/Flexible-class.html"><em>Flexible</em></a> <a href="https://api.flutter.dev/flutter/material/TextButton-class.html"><em>TextButtons</em></a>,<em> </em>and <em>wallah!</em> My <em>AppBar</em> is done. I did have some hiccups along the way when I wanted the text buttons to resize themselves, mainly because I forgot about the <em>Flexible</em> and <a href="https://api.flutter.dev/flutter/widgets/Expanded-class.html"><em>Expanded</em></a> widgets.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fround-lake.dustinice.workers.dev%3A443%2Fhttps%2Fcarbon.now.sh%2Fembed%3Fbg%3Drgba%2528171%252C%2B184%252C%2B195%252C%2B1%2529%26t%3Dseti%26wt%3Dnone%26l%3Ddart%26width%3D680%26ds%3Dtrue%26dsyoff%3D20px%26dsblur%3D68px%26wc%3Dtrue%26wa%3Dtrue%26pv%3D56px%26ph%3D56px%26ln%3Dfalse%26fl%3D1%26fm%3DHack%26fs%3D14px%26lh%3D133%2525%26si%3Dfalse%26es%3D2x%26wm%3Dfalse%26code%3DFlexible%2528%25250A%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520flex%25253A%2525201%25252C%25250A%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520child%25253A%252520TextButton%2528%25250A%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520child%25253A%252520const%252520Text%2528%252522Hobbies%252522%2529%25252C%25250A%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520onPressed%25253A%252520%2528%2529%252520%25257B%25250A%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%25252F%25252F%252520TODO%25253A%252520Send%252520to%252520Hobbies%252520page%25250A%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%25257D%2529%25252C%25250A%252520%252520%252520%252520%252520%252520%252520%252520%2529&amp;display_name=Carbon&amp;url=https%3A%2F%2Fround-lake.dustinice.workers.dev%3A443%2Fhttps%2Fcarbon.now.sh%2F%3Fbg%3Drgba%252528171%25252C%2B184%25252C%2B195%25252C%2B1%252529%26t%3Dseti%26wt%3Dnone%26l%3Ddart%26width%3D680%26ds%3Dtrue%26dsyoff%3D20px%26dsblur%3D68px%26wc%3Dtrue%26wa%3Dtrue%26pv%3D56px%26ph%3D56px%26ln%3Dfalse%26fl%3D1%26fm%3DHack%26fs%3D14px%26lh%3D133%252525%26si%3Dfalse%26es%3D2x%26wm%3Dfalse%26code%3DFlexible%252528%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520flex%2525253A%252525201%2525252C%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520child%2525253A%25252520TextButton%252528%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520child%2525253A%25252520const%25252520Text%252528%25252522Hobbies%25252522%252529%2525252C%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520onPressed%2525253A%25252520%252528%252529%25252520%2525257B%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%2525252F%2525252F%25252520TODO%2525253A%25252520Send%25252520to%25252520Hobbies%25252520page%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%2525257D%252529%2525252C%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%252529&amp;image=https%3A%2F%2Fround-lake.dustinice.workers.dev%3A443%2Fhttps%2Fcarbon.now.sh%2Fstatic%2Fbrand%2Fbanner.png&amp;key=d04bfffea46d4aeda930ec88cc64b87c&amp;type=text%2Fhtml&amp;scroll=auto&amp;schema=carbon" width="1024" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/4c0a152e85fef3d732bd1b912e6fa12c/href">https://medium.com/media/4c0a152e85fef3d732bd1b912e6fa12c/href</a></iframe><h4>Building the body</h4><p>Building the introductory body was easy. Wrap it in <a href="https://api.flutter.dev/flutter/widgets/Row-class.html"><em>Row</em></a> and <a href="https://api.flutter.dev/flutter/widgets/Column-class.html"><em>Column</em></a> widgets and you have yourself a basic layout. I used the <a href="https://api.flutter.dev/flutter/widgets/RichText-class.html"><em>RichText</em></a><em> </em>class to have different styles of text in one line, as well as inline hyperlinks to my socials. To hyperlink to my socials, I used <a href="https://api.flutter.dev/flutter/widgets/WidgetSpan-class.html"><em>WidgetSpan</em></a> inside of the <em>RichText</em> class. Then, it is just a normal <a href="https://api.flutter.dev/flutter/material/IconButton-class.html"><em>IconButton</em></a><em> </em>that launches to my social links with a <a href="https://pub.dev/packages/url_launcher"><em>url_launcher</em></a> dependency.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*FxE4h7jCAxKuueZPjhOBMQ.png" /><figcaption>Somehow, the embed link didn’t work. Anyways, this is how I did it for my RichText widget</figcaption></figure><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fround-lake.dustinice.workers.dev%3A443%2Fhttps%2Fcarbon.now.sh%2Fembed%3Fbg%3Drgba%2528171%252C%2B184%252C%2B195%252C%2B1%2529%26t%3Dseti%26wt%3Dnone%26l%3Ddart%26width%3D680%26ds%3Dtrue%26dsyoff%3D20px%26dsblur%3D68px%26wc%3Dtrue%26wa%3Dtrue%26pv%3D56px%26ph%3D56px%26ln%3Dfalse%26fl%3D1%26fm%3DHack%26fs%3D14px%26lh%3D133%2525%26si%3Dfalse%26es%3D2x%26wm%3Dfalse%26code%3DWidgetSpan%252520createIconButton%2528IconData%252520socialIcon%25252C%252520String%252520link%2529%252520%25257B%25250A%252520%252520%252520%252520return%252520WidgetSpan%2528%25250A%252520%252520%252520%252520%252520%252520%252520%252520alignment%25253A%252520PlaceholderAlignment.middle%25252C%25250A%252520%252520%252520%252520%252520%252520%252520%252520child%25253A%252520IconButton%2528%25250A%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520icon%25253A%252520FaIcon%2528%25250A%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520socialIcon%25252C%25250A%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520color%25253A%252520const%252520Color.fromARGB%2528255%25252C%252520234%25252C%252520222%25252C%252520218%2529%25252C%25250A%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%2529%25252C%25250A%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520onPressed%25253A%252520%2528%2529%252520async%252520%25257B%25250A%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520if%252520%2528%2521await%252520launchUrl%2528Uri.parse%2528%25250A%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520link%2529%2529%2529%252520%25257B%25250A%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520throw%252520%252522Could%252520not%252520launch%252520the%252520link%252522%25253B%25250A%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%25257D%25250A%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%25257D%25252C%25250A%252520%252520%252520%252520%252520%252520%252520%252520%2529%2529%25253B%25250A%252520%252520%25257D&amp;display_name=Carbon&amp;url=https%3A%2F%2Fround-lake.dustinice.workers.dev%3A443%2Fhttps%2Fcarbon.now.sh%2F%3Fbg%3Drgba%252528171%25252C%2B184%25252C%2B195%25252C%2B1%252529%26t%3Dseti%26wt%3Dnone%26l%3Ddart%26width%3D680%26ds%3Dtrue%26dsyoff%3D20px%26dsblur%3D68px%26wc%3Dtrue%26wa%3Dtrue%26pv%3D56px%26ph%3D56px%26ln%3Dfalse%26fl%3D1%26fm%3DHack%26fs%3D14px%26lh%3D133%252525%26si%3Dfalse%26es%3D2x%26wm%3Dfalse%26code%3DWidgetSpan%25252520createIconButton%252528IconData%25252520socialIcon%2525252C%25252520String%25252520link%252529%25252520%2525257B%2525250A%25252520%25252520%25252520%25252520return%25252520WidgetSpan%252528%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520alignment%2525253A%25252520PlaceholderAlignment.middle%2525252C%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520child%2525253A%25252520IconButton%252528%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520icon%2525253A%25252520FaIcon%252528%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520socialIcon%2525252C%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520color%2525253A%25252520const%25252520Color.fromARGB%252528255%2525252C%25252520234%2525252C%25252520222%2525252C%25252520218%252529%2525252C%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%252529%2525252C%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520onPressed%2525253A%25252520%252528%252529%25252520async%25252520%2525257B%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520if%25252520%252528%252521await%25252520launchUrl%252528Uri.parse%252528%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520link%252529%252529%252529%25252520%2525257B%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520throw%25252520%25252522Could%25252520not%25252520launch%25252520the%25252520link%25252522%2525253B%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%2525257D%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%2525257D%2525252C%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%252529%252529%2525253B%2525250A%25252520%25252520%2525257D&amp;image=https%3A%2F%2Fround-lake.dustinice.workers.dev%3A443%2Fhttps%2Fcarbon.now.sh%2Fstatic%2Fbrand%2Fbanner.png&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;scroll=auto&amp;schema=carbon" width="1024" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/f42f772cc61ad9867739e0d3acb1d79e/href">https://medium.com/media/f42f772cc61ad9867739e0d3acb1d79e/href</a></iframe><p>Oh yeah, I also wrapped my entire introductory <em>Column </em>widget in an <em>Expanded</em> widget to make it responsive.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fround-lake.dustinice.workers.dev%3A443%2Fhttps%2Fcarbon.now.sh%2Fembed%3Fbg%3Drgba%2528171%252C%2B184%252C%2B195%252C%2B1%2529%26t%3Dseti%26wt%3Dnone%26l%3Ddart%26width%3D680%26ds%3Dtrue%26dsyoff%3D20px%26dsblur%3D68px%26wc%3Dtrue%26wa%3Dtrue%26pv%3D56px%26ph%3D56px%26ln%3Dfalse%26fl%3D1%26fm%3DHack%26fs%3D14px%26lh%3D133%2525%26si%3Dfalse%26es%3D2x%26wm%3Dfalse%26code%3DExpanded%2528%25250A%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520child%25253A%252520Column%2528%25250A%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520crossAxisAlignment%25253A%252520CrossAxisAlignment.start%25252C%25250A%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520children%25253A%252520%25253CWidget%25253E%25255B%25250A%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520Text%2528%25250A%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252522I%2527m%252520Ritchie%252520Poh%252522%25252C%25250A%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%252520%25252F%25252F....%25250A%252520%252520%252520%252520%252520%252520%252520%252520%252520%2529%252520%25252F%25252F%252520Expanded&amp;display_name=Carbon&amp;url=https%3A%2F%2Fround-lake.dustinice.workers.dev%3A443%2Fhttps%2Fcarbon.now.sh%2F%3Fbg%3Drgba%252528171%25252C%2B184%25252C%2B195%25252C%2B1%252529%26t%3Dseti%26wt%3Dnone%26l%3Ddart%26width%3D680%26ds%3Dtrue%26dsyoff%3D20px%26dsblur%3D68px%26wc%3Dtrue%26wa%3Dtrue%26pv%3D56px%26ph%3D56px%26ln%3Dfalse%26fl%3D1%26fm%3DHack%26fs%3D14px%26lh%3D133%252525%26si%3Dfalse%26es%3D2x%26wm%3Dfalse%26code%3DExpanded%252528%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520child%2525253A%25252520Column%252528%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520crossAxisAlignment%2525253A%25252520CrossAxisAlignment.start%2525252C%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520children%2525253A%25252520%2525253CWidget%2525253E%2525255B%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520Text%252528%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252522I%252527m%25252520Ritchie%25252520Poh%25252522%2525252C%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%2525252F%2525252F....%2525250A%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%25252520%252529%25252520%2525252F%2525252F%25252520Expanded&amp;image=https%3A%2F%2Fround-lake.dustinice.workers.dev%3A443%2Fhttps%2Fcarbon.now.sh%2Fstatic%2Fbrand%2Fbanner.png&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;scroll=auto&amp;schema=carbon" width="1024" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/fad8963a4bceee00f16212069cd3c201/href">https://medium.com/media/fad8963a4bceee00f16212069cd3c201/href</a></iframe><p>Finally, when trying to load a 3D model for the first time…<strong>Errors!</strong> As of writing, I still can’t figure out a solution. I’m using a package called <a href="https://pub.dev/packages/model_viewer_plus"><em>model_viewer_plus</em></a><em> </em>but I’m getting an error message as below:</p><blockquote>“Trying to use the default webview implementation for TargetPlatform.windows but there isn’t a default one”</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*S9-0QqfxlJQGijbA" /></figure><p>Signing off day two with an error message. As always, feel free to comment or give suggestions on my article, I’m new to blogging and Flutter. See you in the next article when I get to solve this error. Peace! ✌️</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=6b7965d0b06f" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Building my website with Flutter Day #1]]></title>
            <link>https://medium.com/@ritchiepoh/building-my-website-with-flutter-day-1-a3b72a6d5303?source=rss-8297e0540d4e------2</link>
            <guid isPermaLink="false">https://medium.com/p/a3b72a6d5303</guid>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[blog]]></category>
            <category><![CDATA[flutter]]></category>
            <dc:creator><![CDATA[RitchieP]]></dc:creator>
            <pubDate>Tue, 16 Aug 2022 13:32:50 GMT</pubDate>
            <atom:updated>2022-08-16T13:32:50.123Z</atom:updated>
            <content:encoded><![CDATA[<p><a href="https://flutter.dev/?gclid=Cj0KCQjwgO2XBhCaARIsANrW2X2eVUaJ1_SsypkdXuzMhSplACRqRBVJtzxqmuXWDPX4tINX_KlDz1EaAjrpEALw_wcB&amp;gclsrc=aw.ds"><em>Flutter</em></a> always owns a soft spot in me ever since I first gave it a try in 2021. Coming from an app development with Java course from my University, Flutter is so f-ing easy to use and build apps. Flutter absolutely showed Java whose boss when it comes to the slogan <em>“Write once, run everywhere”. </em>**Jokes**</p><p>So the motivation for building my own portfolio website came when I received a surprise email about attending Google IO 2022.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/502/1*VD1hFnmKwxT_XMcpTwu2rw.png" /><figcaption>A free domain for one year! yayyyyy</figcaption></figure><p>Since then, I had the idea of building my own portfolio website with my own domain! However, with my hands full of academic work, I did not start developing until my semester break.</p><p>And now with my two-month-long semester break, I started out by planning out the layout, color theme, and UI for my website using <a href="https://www.figma.com/files/recent?fuid=1035184512520844870"><em>Figma</em></a>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*P8cPFOvkofNFWV42U18ogA.png" /><figcaption>The so-so plan for the website</figcaption></figure><p>I like the dark theme a lot. And I mean A LOTTTTT. So I started out by understanding the colors of the dark theme through the <a href="https://material.io/design/color/dark-theme.html">Material Design</a> page about dark themes. After that, it’s all about hitting that space bar with <a href="https://coolors.co/fcfaf9-f3d3bd-5e5e5e-da627d-f865b0"><em>Coolors</em></a><em> </em>to find some awesome color combinations. Regarding the avatar, I created it through a website called <a href="https://readyplayer.me/hub"><em>Ready Player Me</em></a><em>. </em>And yes, I’m planning to have 3D models on my website to make it more interesting. Although it might not be possible, I have my fingers crossed 🤞.</p><p>I did not plan to have a lot of pages for my website yet, mainly because I don’t know how much time would it take for me to complete it, I’ll keep it simple for now. That’s all for the first day, I’m new to web development and Flutter, so feel free to comment or give suggestions. I’ll see you the next day! Peace ✌️</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a3b72a6d5303" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>