<?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: Microsoft Student Ambassadors - Kenya  </title>
    <description>The latest articles on DEV Community by Microsoft Student Ambassadors - Kenya   (@msambassadorske).</description>
    <link>https://dev.to/msambassadorske</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%2Forganization%2Fprofile_image%2F2164%2F953a5354-885f-4323-ae75-a73255c400ad.jpeg</url>
      <title>DEV Community: Microsoft Student Ambassadors - Kenya  </title>
      <link>https://dev.to/msambassadorske</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/msambassadorske"/>
    <language>en</language>
    <item>
      <title>Imagine Cup World Champions 2021</title>
      <dc:creator>Sonia Lomo</dc:creator>
      <pubDate>Mon, 02 Aug 2021 06:26:19 +0000</pubDate>
      <link>https://dev.to/msambassadorske/meet-imagine-cup-world-finalists-2021-9d1</link>
      <guid>https://dev.to/msambassadorske/meet-imagine-cup-world-finalists-2021-9d1</guid>
      <description>&lt;p&gt;The &lt;a href="https://techcommunity.microsoft.com/t5/student-developer-blog/meet-the-2021-imagine-cup-world-champion-team-reweba-from-kenya/ba-p/2383629" rel="noopener noreferrer"&gt;Imagine Cup World Champions&lt;/a&gt; are a team of 4 members from United States International University - Africa. All Computer Science Finalists: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Khushi Gupta - &lt;a href="https://www.linkedin.com/in/khushi-gupta-44b351160/" rel="noopener noreferrer"&gt;@khushi-gupta&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Jeet Gohil - &lt;a href="https://www.linkedin.com/in/jeet-g-3a23b5127/" rel="noopener noreferrer"&gt;@jeet-g&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Abdihamid Ali - &lt;a href="https://www.linkedin.com/in/abdihamid-ali-609299160/" rel="noopener noreferrer"&gt;@abdihamid-ali&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Dharmik Karania - &lt;a href="https://www.linkedin.com/in/dharmik-karania-160239b5/" rel="noopener noreferrer"&gt;@dharmik-karania&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;They created REWEBA - remote well-baby. A remote infant monitoring system, which incorporates use of Internet of Things and Machine Learning.&lt;/p&gt;

&lt;h2&gt;
  
  
  Consolata: What is REWEBA about?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Khushi:&lt;/strong&gt; REWEBA in full is Remote Well-Baby. It's an IOT device that helps mothers monitor their babies. It acts as an alarm system.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Consolata: How did you get into tech?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Khushi:&lt;/strong&gt; My interest in tech sparked when I was young and it grew throughout my high school life. I always knew that computers were my thing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Jeet:&lt;/strong&gt; I grew up with tech around me. In my early days in high school, I started developing websites and apps. I knew what I wanted to do after high school. I've been growing since then.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Abdi:&lt;/strong&gt; My story is the same as Jeet's. My interest in tech began in high school and persisted through to my university education.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Consolata: How did you get into Imagine Cup?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Abdi:&lt;/strong&gt; We stumbled into Imagine Cup because of a friend. We had already began building the project before that. We got a chance to showcase our project through Imagine Cup.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Consolata: How did you settle on REWEBA as your Imagine Cup project?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Khushi:&lt;/strong&gt; When applying to Imagine Cup, we had a couple of projects in mind. Imagine Cup is all about the potential impact of the project and how it can be inclusive for everyone and REWEBA made that judging criteria.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Feeet3a0u2r60ea23prxd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Feeet3a0u2r60ea23prxd.png" alt="Reweba Baby"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Consolata: Why did you venture into babies' Health Care?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Khushi:&lt;/strong&gt; We happened to take a community service class together. We went to a local hospital to do the same.&lt;/p&gt;

&lt;p&gt;When doing community service in that hospital, we realized how mothers, especially who live in the rural areas, have to walk long distances every month to get their newborns screened. This is the normal testing that is done every month to monitor the baby's development.&lt;/p&gt;

&lt;p&gt;It was really difficult for the mothers to walk the long distances to get access to medical facilities and good doctors. When we did more research, we found out that this is one of the main causes of the high infant mortality rates in Kenya and throughout Africa. We got drawn to that pressing problem and thought that we could remedy it.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Consolata: How was the Imagine Cup application process like?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Khushi:&lt;/strong&gt; Just so you know, Imagine Cup 2022 application submissions are open. &lt;/p&gt;

&lt;p&gt;Our application process started around September - at that time, the deadline was in December. That was the initial process where you have to submit a report, the actual working software and a three minute pitch video.&lt;/p&gt;

&lt;p&gt;We had a great mentor from USIU, Dr. Leah Mutanu, who helped us a lot. Her expertise helped us with problems like drafting the reports. Nonetheless, if you know your project well, I don't think you will face that many challenges.&lt;/p&gt;

&lt;p&gt;I think the biggest challenge for us was the three minute pitch in the start because you are passionate about your project. You want to say everything you know and that could appeal, but you only have three minutes.  We had to squeeze everything in three minutes.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Consolata:&lt;/strong&gt; How did Microsoft assist you to get to the World Championships?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Khushi:&lt;/strong&gt; Essentially there were four rounds in the judging process.&lt;/p&gt;

&lt;p&gt;The first round was the online semifinals that we submitted in December. We were required to report our software documentation and the pitch. There were hundreds of teams from all around but they only chose 42. We were informed about our qualification around January.&lt;/p&gt;

&lt;p&gt;The next round was to choose the top 12 out of the 42 in March. There were 4 categories and they chose three teams for each category.&lt;/p&gt;

&lt;p&gt;Then from every category, they only chose one team on April. Lastly, the remaining 4 teams competed for the world championship in May. &lt;/p&gt;

&lt;p&gt;For the second and third round, we got mentorship from Microsoft employees, which really helped us get our pitch together.&lt;br&gt;
&lt;a href="https://media.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%2F3fy5gqy0ddkds15oaw10.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F3fy5gqy0ddkds15oaw10.jpg" alt="Team Reweba"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Consolata: Did Microsoft supply any equipment you needed to build REWEBA?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Khushi:&lt;/strong&gt; Microsoft was very considerate, they didn't necessarily provide us with hardware parts for REWEBA. However, if you qualified through round 2 or round 3, you got Azure Credits.&lt;/p&gt;

&lt;p&gt;We were allocated a boardroom from USIU but it had poor lighting. Microsoft sent us lighting equipment since the events were online. Proper lighting was vital. And it was online. It's all about turning on your video and you should have proper lighting and all that.&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Consolata: How did you guys manage time between school and the competition?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Khushi:&lt;/strong&gt; For me, it was all about planning. Having your schedule and tasks you want to accomplish in mind, in the morning and feeling satisfied after accomplishing everything by night -  was my motto.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Jeet:&lt;/strong&gt; I used to have classes almost every day. I created a proper timetable of what I needed to do and what's supposed to be done every week. I also made sure that I had regular meetings with my team members to discuss our progress.&lt;/p&gt;

&lt;p&gt;We really came together. We met physically to build the IOT device and divided the software workload among ourselves to try work on it from home.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Abdi:&lt;/strong&gt; It all circles back to wise time management. If you manage your time properly, you'll be able to complete all the tasks for a specific day. If not, you can just get extra time off of your free time to cover the rest.&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Consolata: Have you ever participated in another hackathon before?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Khushi:&lt;/strong&gt; We have participated in a three day hackathon organized by USIU. That's where we started building our project.&lt;/p&gt;

&lt;p&gt;We participated in the &lt;a href="https://www.usiu.ac.ke/1944/applied-computer-technology-students-win-first-prize-in-dell-s-envision-future-competition/" rel="noopener noreferrer"&gt;Dell Technologies Envision the Future competition&lt;/a&gt; and won first place. It had about 4 or 5 rounds which took almost an year. As we went through these competitions, we tried to make REWEBA even better. We've had several iterations and our project has improved drastically.&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Consolata: What would you advise someone who wants to participate in their first hackathon?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Abdi:&lt;/strong&gt; The first step is to find a team or a person with the same passion as you if possible. &lt;/p&gt;

&lt;p&gt;Many competitions require at least a minimum of two to three people. Find a competition or a small hackathon to participate in and see how your idea will be received. &lt;/p&gt;

&lt;p&gt;Another critical step is to find a mentor. Preferably a suitable lecturer since you are university students. They'll help you in terms of planning and correcting you before you even pitch your idea to others.&lt;/p&gt;

&lt;p&gt;Also believe in yourself. You never know how things will go. Who knows, it might be the next million dollar idea. Keep pushing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Jeet:&lt;/strong&gt; Try to also have a general knowledge on the technology you'll use.&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Consolata: What challenges did you faced during the Imagine Cup Competition?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Khushi:&lt;/strong&gt; The first challenge we faced was the whole COVID pandemic. Our device was actually kept in the hardware lab in our university. That was because we used some equipment from the university, so we weren't really allowed to take it home. We had to find ways of getting into the university - despite the restrictions - and work on it.&lt;/p&gt;

&lt;p&gt;The second challenge was getting sensors. All of the sensors that were used in our device were not from Kenya, we had to import them. This presented more difficulties with time and finances. We also had to look for sensors that could be integrated together. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Jeet:&lt;/strong&gt; We only had 3 minutes present our pitch. Trying to cramp everything under that time period was a bit challenging.&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Consolata: What opportunities did your participation in Imagine Cup give you?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Khushi:&lt;/strong&gt; We got a lot of recognition. at a global level. We even have mentorship sessions with the CEO of Microsoft - Satya Nadella. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Jeet:&lt;/strong&gt; More companies that are trying to work with us. Hopefully in the future, we only get to make this project something better than it is right now.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Abdi:&lt;/strong&gt; We've gotten a lot of networking opportunities as well. We just need to take advantage of that.&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Consolata: Are you planning to turn your product into a start-up?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Khushi:&lt;/strong&gt; Of course. We do have plans to turn this into a startup and we're working towards that. We're already looking for appropriate stakeholders or partners. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Abdi:&lt;/strong&gt; We're still working on stuff like patenting. For an IOT device these are a lot of stuff to consider such as the security and privacy. We're just sorting out these few kinks.&lt;br&gt;
&lt;a href="https://media.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%2Fjyxq4nz19g0vivzc9y9r.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fjyxq4nz19g0vivzc9y9r.jpg" alt="Team Reweba on a virtual call"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Consolata: Did any of you have a medical background?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Khushi:&lt;/strong&gt; All of us have an IT background, . No one has a medicine background. But we got to know about this problem because of the community service we did. This was just a technical solution. So we did not have to research much about the medical part of it. Furthermore, doctors will still come in to check for how healthy the baby is.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Abdi:&lt;/strong&gt; We consulted our school doctor and took her through the solution. We used her knowledge and expertise to go through the entire process of the product. We still had her expertise as a guide when making the product for the babies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Jeet:&lt;/strong&gt; We got feedback from doctors at the USIU medical center. We also had some professors who teach medicine there. We met with some of them and we told them about our idea. They really give us invaluable feedback.&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Consolata: How did you settle on the tech that you used for your project?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Jeet:&lt;/strong&gt; When we started out this project, we didn't really use Azure. But once we started progressing we had to use Azure as a requirement for the competition. That was a bit difficult because we were not really used to it. It had a bit of a learning curve. But they have really extensive courses on their website.&lt;/p&gt;

&lt;p&gt;When watching those videos, we got to know what we need to use, what we can use and how it was better than what we had. Some of the technologies from Azure IOT hub that we used were Azure app service, Azure customers, DB Asia and DevOps.&lt;/p&gt;

&lt;p&gt;We used Twilio to communicate to mothers using SMS. For the AME we used Azure custom vision, which came in handy. It doesn't need code. It just requires images to be trained with.&lt;/p&gt;

&lt;p&gt;For the backend, we used Express and our IDE was VS Code. For the IOT side, we basically went with the raspberry PI. Those were some of the technologies that we used during Imagine Cup. &lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Consolata: Khushi, how does it feel to be the only lady in the team?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Khushi:&lt;/strong&gt; I must say the experience is amazing especially with teammates I have. They are always by my side. They never make me feel like I am the "only girl". Everyone is considerate of each other and the team. &lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Consolata: What's your advice to ladies getting into tech?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Khushi:&lt;/strong&gt; Nowadays, female techies are increasing. Companies like Google, IBM, Microsoft, are all trying to encourage women in the field of technology. This field is no longer only for men. I think women can also make a great impact in it. And there are also many events like the Grace Hopper conference, held annually only for women.&lt;/p&gt;

&lt;p&gt;So, you know, there are many opportunities out there that are trying to encourage and empower women in this field. Women should take advantage of these opportunities. I encourage all the women out there to get out of their comfort zone. &lt;/p&gt;
&lt;h2&gt;
  
  
  In Conclusion
&lt;/h2&gt;

&lt;p&gt;It was an honor to have Team Reweba share their experience on our Imagine Cup Building Series. Follow them on twitter &lt;a href="https://twitter.com/reweba" rel="noopener noreferrer"&gt;@reweba&lt;/a&gt; You can get the full interview video on our YouTube channel:&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/hn98pNWcgrQ"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Please share your feedback on this interview. Reach out to us if you'd like us to interview a team of your liking next!&lt;/p&gt;

</description>
      <category>imaginecup</category>
      <category>motivation</category>
    </item>
    <item>
      <title>The brains behind the most efficient tracker in the market, Zed Engineering Limited.</title>
      <dc:creator>Victor Maina</dc:creator>
      <pubDate>Mon, 12 Jul 2021 22:06:58 +0000</pubDate>
      <link>https://dev.to/msambassadorske/meet-the-team-that-built-the-most-efficient-tracker-in-the-market-zed-engineering-limited-5apo</link>
      <guid>https://dev.to/msambassadorske/meet-the-team-that-built-the-most-efficient-tracker-in-the-market-zed-engineering-limited-5apo</guid>
      <description>&lt;p&gt;Meet Zed Engineering, a trio that created a tracking device (Astra), that monitors potential malicious activity from your vehicle or motorbike.  We got to interview the team of creatives and innovators from Dedan Kimathi University of Technology, in our 3rd building series with this amazing product that will blow your mind.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Joy &lt;a href="https://twitter.com/wht_snow"&gt;@wht_snow&lt;/a&gt; - Marketing and Public Relations Microsoft Learn Student Ambassador&lt;/li&gt;
&lt;li&gt;Stephen &lt;a href="https://twitter.com/stinekaguri"&gt;@stinekaguri&lt;/a&gt;- Software Development, Server Management&lt;/li&gt;
&lt;li&gt;Brian &lt;a href="https://twitter.com/blasius_brian"&gt;@blasius_brian&lt;/a&gt; - Deals with Firmware for microcontrollers, Designs electronics, and runs simulations&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Sonia: What led you to start Zed Engineering?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Brian&lt;/strong&gt;: Vehicle and motorcycle theft has been a problem for decades everywhere and there have been trackers made to combat this. Normal trackers did not have real-time notifications, and we got ahead of that by creating an android app that links our tracker to your phone. When your vehicle is in motion you'll get notified.&lt;/p&gt;

&lt;p&gt;We also have a battery protection feature. People's batteries get stolen from cars in garages and get exchanged for old ones. The battery protection system was tested by one of our technicians from campus and he was able to detect battery theft from his car. We are glad we were able to solve a major problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sonia: Do you customize your trackers for every customer you get?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Brian&lt;/strong&gt;: No. They are more or less the same for all types of vehicles. &lt;/p&gt;

&lt;h2&gt;
  
  
  Sonia: What's the inspiration behind the name "Zed Engineering"?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Joy&lt;/strong&gt;: There is a very funny story behind it because last year we had chosen a name for our company but we didn’t have the funds to register it. Luckily this year we got the money but unfortunately, the name had already been taken by another company. So we chose from a list of names and went with ZED.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sonia: How has the MLSA program impacted your success?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Joy&lt;/strong&gt;: I have been exposed to many resources and skills, one being the ability to connect and interact with people. It's made it very easy for us to sell our product. Microsoft Learn's vast resources and benefits like Azure for storage, have come in handy too.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sonia: What challenges did you face working as a team during the pandemic?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Stephen&lt;/strong&gt;: Due to geographical differences and the technicalities of the product, progress was slower. Also, shipping components from China got slackened due to the lockdowns and the pandemic.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sonia: Is there a reason why you shipped your hardware from China?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Stephen&lt;/strong&gt;: Shipping costs from China are relatively cheaper. There is also more variety in the Chinese market because that's where most of the hardware is fabricated.&lt;/p&gt;

&lt;h2&gt;
  
  
  Julia: Have you encountered any new or threatening competitors in the industry and how do you plan on attaining a competitive advantage?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Brian&lt;/strong&gt;: Yes. In fact, there are so many competitors in the market. One of the challenges we’ve encountered is having small-scale production. A large-scale company could produce a thousand pieces at a go. If we produced twenty pieces at a time and we both sold our pieces at a thousand shillings, we won't make as much profit. We ought to work twice as hard as the bigger companies and perfect our art. We have to make sure there are no technical mistakes from the get-go to compel our customers to stay for the quality work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sonia: If you could go back in time, is there anything you would want to change?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Joy&lt;/strong&gt;: Nothing really. We just move forward and learn from our mistakes, what’s done is done!&lt;/p&gt;

&lt;h2&gt;
  
  
  Sonia: Joy, have you faced any challenge being the only female in the team and what advice would you give to other women who might be in your position?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Joy&lt;/strong&gt;: These guys have been awesome and I'm comfortable working with them. My advice would be when interacting with people or rather when making friends, make sure you choose people who have the same drive and or motivation as yourself. This will help in the future. In case you get stuck, those people will push you to levels you never imagined.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sonia: How did you guys get together and decide to be a team?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Joy&lt;/strong&gt;: Steve was the first person I met and talked to in my class. Steve eventually met Brian and later on, Steve introduced me to Brian. Before we knew it, we were a trio.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sonia: How do you guys raise funds to run the business?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Steve&lt;/strong&gt;: We have been having a few issues with funds. Yes, investors have come who want to buy shares (apparently we don’t know how many shares we have). So the money mostly comes from our pockets, we enjoy funding the project.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sonia: where do you guys see yourselves in the future?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Brian&lt;/strong&gt;: We have a prototype already, both software and hardware revision is being done. We are doing designs for manufacture. We want to do a mass production making our product cheaper with high quality. Our target is to have one hundred units by August.&lt;/p&gt;

&lt;p&gt;We intend to deal with more products other than trackers. Every product will have a specific name just like how our tracker is called Astra.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sonia: How can we send potential customers in case they want to contact you?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Joy&lt;/strong&gt;:  For now, we do not have a company contact, we are using our contacts. So if you want to reach us you could contact us personally.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sonia: What advice would you give someone who has an idea but they do not know where to start?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Steve&lt;/strong&gt;: Just start small, and you'll grow eventually. Taking the first step is key.&lt;/p&gt;

&lt;h2&gt;
  
  
  Julia: What is the most important piece of advice you’ve received in your journey?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Brian&lt;/strong&gt;: I have been sharing this with my teammates. One of the most motivational tweets for me is thanks to Elon Musks' Twitter page. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The best thing about engineering is feedback, never expect positive feedback. This will come a long way in your journey.&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;p&gt;Imagine Cup Kenya would like to thank Zed Engineering for sharing their journey with us. Please leave a comment on what you'd want to see next or any feedback you might have for us. Catch the full interview on our YouTube Channel:&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/99aUVIUGxhk"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>startup</category>
    </item>
    <item>
      <title>Meet Imagine Cup World Finalists, Team CafriLearn</title>
      <dc:creator>Sonia Lomo</dc:creator>
      <pubDate>Mon, 31 May 2021 12:28:05 +0000</pubDate>
      <link>https://dev.to/msambassadorske/meet-imagine-cup-world-finalists-team-cafrilearn-4p50</link>
      <guid>https://dev.to/msambassadorske/meet-imagine-cup-world-finalists-team-cafrilearn-4p50</guid>
      <description>&lt;p&gt;On this next showcase on Microsoft Imagine Cup Community Kenya, we'll be highlighting two members from a team among the &lt;a href="https://imaginecup.microsoft.com/en-US"&gt;2021 Imagine Cup&lt;/a&gt; World Finalists - &lt;a href="https://imaginecup.microsoft.com/en-us/Team/db0bb992-246f-4a54-a117-3f276856c601"&gt;Team Cafrilearn&lt;/a&gt;. They are a team of four from the Dedan Kimathi University of Technology namely: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Humphry Shikunzi - Fullstack Developer, co-founder, in charge of managing the general app infrastructure and also a Microsoft Learn Student Ambassador.&lt;/li&gt;
&lt;li&gt;Clinton Oduor - IoT enthusiast.&lt;/li&gt;
&lt;li&gt;Lillian Patience - Team Manager, specialized in the hardware and a Microsoft Learn Student Ambassador.&lt;/li&gt;
&lt;li&gt;Collins Emasi - majors in Machine learning and App development&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Bethany: What's Team Cafrilearn all about?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Lillian:&lt;/strong&gt; Cafrilearn is a team that built a project to help children, especially from marginalized communities with no access to the internet and live in areas with low electricity penetration. We created Makini - an offline learning device that allows for an interactive session at a low cost. Through the device, students can have access to learning materials through speech without relying on the internet.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qXkE7zAa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1ho0k5jlwrhsg5wdrytn.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qXkE7zAa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1ho0k5jlwrhsg5wdrytn.jpg" alt="Team Cafrilearn"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Bethany: What technologies do you use to ensure that students get access to learning materials offline?
&lt;/h2&gt;

&lt;p&gt;**Lillian: The majority of our platform is majorly on Microsoft Azure. Since storage is actually our main focus, we're using Azure Blob Storage because we have to store most of our material there. We're also making use of data analytics to be able to get feedback from the device when it's in use and adjust our product accordingly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bethany: How does Makini work?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Humphry:&lt;/strong&gt; Well, we've also used Microsoft Azure to host the website itself, the APIs, the databases and blob storage that Lillian mentioned. What motivated us initially was that we wanted to avail materials to students living in remote areas. All that is required is a teacher with a smartphone to log into the mobile app and download the learning materials then share via Bluetooth to the device. The students can then interact with Makini or someone can read out the content out loud.&lt;/p&gt;

&lt;p&gt;We then get feedback from the students through the device and this information gets stored in our databases and from there on, know how to improve our device.&lt;br&gt;
&lt;/p&gt;
&lt;blockquote class="ltag__twitter-tweet"&gt;
      &lt;div class="ltag__twitter-tweet__media ltag__twitter-tweet__media__video-wrapper"&gt;
        &lt;div class="ltag__twitter-tweet__media--video-preview"&gt;
          &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--C1wcNqCc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/ext_tw_video_thumb/1371695344845787137/pu/img/nf0Zo-z2TtadWVdV.jpg" alt="unknown tweet media content"&gt;
          &lt;img src="/assets/play-butt.svg" class="ltag__twitter-tweet__play-butt" alt="Play butt"&gt;
        &lt;/div&gt;
        &lt;div class="ltag__twitter-tweet__video"&gt;
          
            
          
        &lt;/div&gt;
      &lt;/div&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--D-3Yav6z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1367388217729818624/52fQiwYq_normal.jpg" alt="Cafrilearn profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        Cafrilearn
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        @cafrilearn
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ir1kO05j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      Here's a small snippet of what Cafrilearn is all about😃&lt;br&gt;&lt;a href="https://twitter.com/hashtag/education4all"&gt;#education4all&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/elearning"&gt;#elearning&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/imaginecup"&gt;#imaginecup&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/technology"&gt;#technology&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/MicrosoftEDU"&gt;#MicrosoftEDU&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/Kenyatotheworld"&gt;#Kenyatotheworld&lt;/a&gt;&lt;br&gt;&lt;a href="https://twitter.com/DeKUTkenya"&gt;@DeKUTkenya&lt;/a&gt; &lt;a href="https://twitter.com/MSFTImagine"&gt;@MSFTImagine&lt;/a&gt; &lt;a href="https://twitter.com/ImagineCupKE"&gt;@ImagineCupKE&lt;/a&gt; 
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      05:30 AM - 16 Mar 2021
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1371695382082764803" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fFnoeFxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-reply-action-238fe0a37991706a6880ed13941c3efd6b371e4aefe288fe8e0db85250708bc4.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1371695382082764803" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k6dcrOn8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-retweet-action-632c83532a4e7de573c5c08dbb090ee18b348b13e2793175fea914827bc42046.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/like?tweet_id=1371695382082764803" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SRQc9lOp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-like-action-1ea89f4b87c7d37465b0eb78d51fcb7fe6c03a089805d7ea014ba71365be5171.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;


&lt;h2&gt;
  
  
  Bethany: How did you conduct market research for the product?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Lillian:&lt;/strong&gt; As the Team Manager, I was playing multiple roles within, one of them being market research. I went ahead to form a partnership with a local school around our area called Moringa II Primary School. Not only did we get incite from teachers on the product, but we also tested the device with the children themselves to properly get feedback on the same. That allowed us to create a better product and help in terms of the business aspect and marketability. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--M48Y36kG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/txkjwftcdsne7hestl5r.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--M48Y36kG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/txkjwftcdsne7hestl5r.jpg" alt="Field Testing in Primary School"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Bethany: What's the current or future impact of your product?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Lillian:&lt;/strong&gt; From the market research, we could clearly see that our product was an avenue that was yet to be explored. Yes, there have been tablets and other bridges to create a link between children and access to education, but most of them tend to rely on internet connectivity. In reality, a lot of people in Kenya, Africa and beyond, don't have access to the internet and even in some places, electricity penetration. As such, we believe our project is very viable. We're looking forward to creating a better prototype and launching it through our start-up.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bethany: What are the skills required to launch your product?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Humphry:&lt;/strong&gt; We needed a mobile app developer for the teachers to gain access to the learning materials. We also needed skills to develop APIs used to manage our users and also access information. For the main device used by the students, we required some skills in electronics and firmware. We got lucky because most of us are electrical engineers, and we could build the whole pipeline from end to end.&lt;/p&gt;

&lt;p&gt;We also got help with marketing from one of our managers - Mr. Ken. He was the one who helped us with the marketing design and how to work as a team towards building a product that'd be viable for the end-user.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bethany: How has MLSA and Imagine Cup program contributed to your product?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Humphry:&lt;/strong&gt; After passing the first round of the competition and joining the World Championship, we were given access to resources like Azure Cloud credits for building our start-up.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lillian:&lt;/strong&gt; Participation in the Imagine Cup has helped our project get more attention and traction. We've also gained more insight into our process's strengths and understand the potential of our project. In addition to attending the Imagine Cup challenge, we've become more motivated and gained exposure as a team, and gain insight on how to make our product better. Making it past the first round was also a huge achievement for us.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bethany: What challenges did you face while working during the COVID pandemic and how did you respond to them?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Lillian:&lt;/strong&gt; When you're dealing with hardware during the pandemic, it's a bit hectic to work with people in different locations performing different roles. Linking them simultaneously to form a pipeline that actually works is difficult because there are deadlines to be met and sacrifices to be made to make up for the time that we have. Especially when we were participating in the Imagine Cup, there were times when we could sleep very late because we'd be working on all the things that were required.&lt;/p&gt;

&lt;p&gt;I'd say one of the greatest tasks that came with COVID would be working as a team - teamwork is very important and each member being able to deliver on their tasks. In this pandemic, you can't work properly and complete a project on time unless everyone plays their part as they should be and are willing to work towards the main team objective. The best part of our team is that we're diverse in what we can do and that helped us work together and create a pipeline to work properly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bethany: What's one thing you regret doing in your project and how did you overcome it?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Humphry:&lt;/strong&gt; I don't regret anything because it was the first time we were doing this. However, I'd advise anyone who'd want to build a similar product from scratch, not to repeat the same mistakes we did. The materials we used are supposed to be stored in blob storage for teachers to download them and share via Bluetooth with the device for the students to interact with it. Everyone was searching for learning materials from different websites we could find. After going through all that, we realized that you must be certified by bodies like the &lt;a href="https://www.education.go.ke/"&gt;Ministry of Education&lt;/a&gt; or the &lt;a href="https://kicd.ac.ke/"&gt;Kenya Institute of Curriculum Development(KICD)&lt;/a&gt; to relay such materials to students or any learning institutions. Therefore, this meant that although we'd gotten valid learning material, we weren't permitted to use it.&lt;/p&gt;

&lt;p&gt;So, if you're doing such a thing, try to look for 2 or 3 materials just to test if your product works, and then start partnering with relevant education bodies. That was one of the things we spent a lot of time working on at the beginning of the project although it was unnecessary.&lt;/p&gt;

&lt;p&gt;Another thing was preparation for making presentations at the Imagine Cup. If it's possible, try doing the presentations when everyone is in the same location. PRACTICE! PRACTICE! PRACTICE! Do this as much as possible to be prepared for any questions you might be asked.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_IgGHGUH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xphf4b4revou45y30vex.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_IgGHGUH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xphf4b4revou45y30vex.jpg" alt="Team Cafrilearn together"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Bethany: What were the most exciting moments while creating the project and also during the Imagine Cup Competition?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Humphry:&lt;/strong&gt; I enjoy the thrill of programming and building things - seeing all those lines of code on your screen and at the end of it, compiling code that runs. Also, I enjoyed working with a dedicated team that's very skilled in what they're doing. I got to see their potential, something I had never seen before despite some of us being classmates.&lt;/p&gt;

&lt;p&gt;When we were selected for the Imagine Cup World Finals, we saw that we were competing with teams from Japan, Canada, Turkey and such. That brought our team and our whole university to a global level and I'd like to continue experiencing this - doing things at a global level. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lillian:&lt;/strong&gt; For me, the first one would be when our participation in AU Africa was confirmed, that was the first platform we ever presented our project to. It was a nice opportunity and I was excited because it showed the potential for what we were doing.&lt;/p&gt;

&lt;p&gt;The second one would be when our program first ran. It's such an intense feeling to see your idea finally come to life and in action. It's a feeling that can't be compared to anything else.&lt;/p&gt;

&lt;p&gt;The other part was seeing how the children responded to our product; it was so amazing. They were so excited, asking Makini questions to give them information. It felt like we were really doing something huge for them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bethany: How soon can we expect to see Makini on the market?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Lillian:&lt;/strong&gt; Currently, the devices we have aren't that many and we're still working on them and doing test runs with students. We're also trying to finish up on some tweaks needed in order to be sure of when the final product will be launched.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bethany: Do you have funding for your project?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Humphry:&lt;/strong&gt; We haven't started looking for funding for the project yet because we're still doing Beta tests on the hardware and software to get it to the next level. However, we still have plans in place to look for funding when the time comes. &lt;/p&gt;

&lt;h2&gt;
  
  
  Bethany: How has your process been?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Humphry:&lt;/strong&gt; During the COVID lockdown in September 2020, the whole team was working remotely from different locations. Fortunately, the restrictions were lifted, we went back to school and started working on the mobile and web apps. Then, we ordered some hardware on Amazon before returning home for Christmas. We then assembled everything in January after the delivery, wrote the firmware, and integrated the whole pipeline for the device.&lt;/p&gt;

&lt;p&gt;Right now, we're in the process of improving the systems in charge of interactivity in terms of cognitive services and getting feedback from the students and teachers. We've been trying to improve the UI of our applications and adding some features. We plan to continue testing our product with students once they get back in session. We also want to partner with authorized local content providers to help us get good learning material that' up to standard and within the legal bounds.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bethany: What's your parting shot for students wanting to get into hackathons?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Lillian:&lt;/strong&gt; Once you've created your product or your idea, that's a manifestation of your intellect, your skill, your everything. Don't be afraid to give it a go at many competitions. There are situations where we apply but don't get in or you don't win; it's all part of the process. But at the same time, you gain more experience. &lt;/p&gt;

&lt;p&gt;I'd like to encourage more people to participate in the Microsoft Imagine Cup, you'll get access to so much like field experts to give you advice. It opens up a world of opportunities that you would otherwise not have been able to get. You also get perks like Azure credits to further develop your product. Believe in your product, trust in it and give it a go!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Humphry:&lt;/strong&gt;  If you want to build something successful from scratch, you should look at the main objective. For us, we are solving a problem. Look at your surroundings and choose a problem that you can focus on and solve.&lt;/p&gt;

&lt;p&gt;Then, build a team of about 2 to 3 people to help you with development; it's hard to do everything alone. Look for dedicated teammates, people who won't stop attending your meetings after the third day or won't get preoccupied with other things.&lt;/p&gt;

&lt;p&gt;Also, find potential customers for your solution to test it out. Nurture a relationship with them to get their feedback. After you've built the first version, it doesn't need to be working perfectly because you won't have all the requirements and resources. When the first version of Windows was brought into the market, it wasn't a complete product. It had bugs and could occasionally crash but they improved on it over time. Just start with what you have and keep on improving on it.&lt;/p&gt;

&lt;h1&gt;
  
  
  Show us some love:
&lt;/h1&gt;

&lt;p&gt;You can watch the full interview on the &lt;a href="https://youtu.be/4EO3kutOb3k"&gt;MLSA Kenya YouTube channel&lt;/a&gt;. We'd like to thank Team Cafrilearn for accepting our interview. Be sure to follow them on Twitter &lt;a href="https://twitter.com/cafrilearn"&gt;@cafrilearn&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Building Data Science East Africa with Harun Mwenda.</title>
      <dc:creator>Sonia Lomo</dc:creator>
      <pubDate>Mon, 19 Apr 2021 07:28:39 +0000</pubDate>
      <link>https://dev.to/msambassadorske/building-data-science-east-africa-with-harun-mwenda-4ai7</link>
      <guid>https://dev.to/msambassadorske/building-data-science-east-africa-with-harun-mwenda-4ai7</guid>
      <description>&lt;p&gt;Harun Mbaabu is a &lt;a href="https://studentambassadors.microsoft.com/en-US/profile/17607" rel="noopener noreferrer"&gt;Microsoft Student Learn Ambassador&lt;/a&gt; from the Murang'a University of Technology. He is a Data Scientist and Software Engineer with more than 3 years of experience in full-stack web development. He's been involved in many design thinking panels and conferences like the recently concluded &lt;a href="https://cityjsconf.org/" rel="noopener noreferrer"&gt;CityJS Conference 2021&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;He's founded two communities: Data Science East Africa and Lux Tech Academy, based in Nairobi, Kenya. He also doubles as a Machine Learning Instructor at Ubunifu College.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Ffsz1tftxvq4jo70icgdi.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Ffsz1tftxvq4jo70icgdi.jpg" alt="Harun at Ubunifu College"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Julia: How did you get into tech?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Harun:&lt;/strong&gt; I got into tech back in 2017 when I was still a first-year student in university. I started with web development: HTML, CSS and JavaScript. Later on, in 2018, my interest in data science spiked after watching a friend do it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Julia: What's DSEA all about?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Harun:&lt;/strong&gt; It's a community comprised majorly of people from East and West Africa who have an interest and enthusiasm for all things Data Science and Machine Learning. We bring them up, match them with mentors with industrial experience for training. We hold free boot camps for the learners. For instance, we're currently enrolling in the first 2021 boot camp.&lt;/p&gt;

&lt;p&gt;We also help people to get started on projects related to Data Science. We're currently building a project called &lt;a href="https://twitter.com/NeXt_Limited" rel="noopener noreferrer"&gt;Next Africa&lt;/a&gt;. It's more of a start-up that uses AI and modern web development tools to create solutions for Agricultural and Health centers in Africa. &lt;/p&gt;

&lt;h2&gt;
  
  
  Julia: Who's eligible to join DSEA and how do they get started?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Harun:&lt;/strong&gt; Our program and community is open to anyone with passion in data science and Machine Learning or Artificial Intelligence as a whole. Be it a software engineer, campus student or a high school graduate.&lt;br&gt;
&lt;a href="https://media.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%2Fo57k104kh8bv4o2pd2dh.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fo57k104kh8bv4o2pd2dh.jpg" alt="Data Science display on laptop"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Julia: What impact do you think you've made in the society?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Harun:&lt;/strong&gt; Currently, we have students from East and West Africa. The ongoing boot camp has learners enrolled from about 10 different countries i.e. Kenya, Uganda, Tanzania, Rwanda, Burundi and Nigeria. We also have some from Cameroon, Ghana and India.&lt;/p&gt;

&lt;p&gt;I'm proud of having few people placed for jobs. From the last boot camp we held in 2020, we had more than five people getting job placements as data scientists.&lt;/p&gt;

&lt;p&gt;We're also trying to develop solutions for two problems in the largest sector in Kenya: Agriculture. One of them is a PWA app developed with JavaScript and Tensor flow JS. We're trying to make it light (about 100-200kb). It can take photos of maize and cassava and classify the disease and the necessary treatment required.&lt;/p&gt;
&lt;h2&gt;
  
  
  Julia: How did you come up with your mission statement and tie it up to DSEA community?
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;DSEA Mission: Bringing together the East African Data Science community to help foster the exchange of innovative ideas and encourage the growth of open source software.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Harun:&lt;/strong&gt; Our main target was to train the people who can't afford the expenses associated with joining a paid boot camp. We wanted to train them using projects; therefore, we got mentors from all over the world including, the US and UK. One of our most active mentors is a Ph.D. holder in data science from the US. The mentors help them learn and use their skills to innovate real-world solutions.&lt;/p&gt;

&lt;p&gt;Our mission statement speaks for itself - we're bringing together the East Africa data community that'll foster the exchange of innovative ideas and encourage the growth of open-source software in the Data Science field.&lt;/p&gt;
&lt;h2&gt;
  
  
  Julia: How has the Microsoft Learn Student Ambassador program contributed to the success of your community?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Harun:&lt;/strong&gt; I've been able to get in touch with other mentors and built a network with other MLSAs who've helped me spread the word. I've also had access to personal mentors who've pushed me to to the next level. I've gotten access to learning resources available in Microsoft - like LinkedIn learning courses. I've met a lot of people who've impacted me and the growth of DSEA at large.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F9we233r87ut86pozksim.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F9we233r87ut86pozksim.jpg" alt="Programming session"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Julia: Is DSEA apart of Lux Tech Academy?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Harun:&lt;/strong&gt; Well, DSEA branched out from Lux Tech Academy. I founded Lux Academy back in 2019 December but, we held our first boot camp in mid-2020. When we first had our boot camp, many people showed interest in python, data science and machine learning. At the time, we were only focusing on basic programming skills in Python and JavaScript. We also did modern web development like building Progressive Web Apps, modern JavaScript and single-page applications.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We're trying to build something as big as MIT but as affordable as a gym subscription fee.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We're a free coding school based in Kenya. We have &lt;a href="https://bit.ly/2MekXcO" rel="noopener noreferrer"&gt;campus ambassadors&lt;/a&gt; and hope to enroll about 30 of them.&lt;/p&gt;

&lt;p&gt;We also have Ladies of Lux as an effort to bridge the gender disparity gap in our learners. We aim to have a 50-50 enrollment of both genders. &lt;/p&gt;
&lt;h2&gt;
  
  
  Consolata: When did you know that it was the right time to start DSEA and Lux Tech Academy?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Harun:&lt;/strong&gt; I followed one of the best pieces of advice that my dad has ever given me:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The only secret is starting, it doesn't matter if you'll fail or succeed.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Any plans that you might have, make sure that you start implementing them as soon as possible. The "right time" is an illusion. It's either now or never.&lt;/p&gt;
&lt;h2&gt;
  
  
  Bethany: What do you do outside coding?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Harun:&lt;/strong&gt; I spend a lot of my free time going out for nature walks or sometimes hikes. I also relax with my friends and family when I can.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Ft6qwvbq59ps9pt24yspw.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Ft6qwvbq59ps9pt24yspw.jpg" alt="Harun Mbaabu"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Bethany: Where do you see DSEA community in the next two to five years?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Harun:&lt;/strong&gt; Our first target in the next five years is to train more than 20,000 data scientists from Africa. We're also actively recruiting partners who can help out with training and reaching out to more learners who're passionate about data science.&lt;/p&gt;

&lt;p&gt;We also have learners without stable internet access. We're trying to accommodate them by looking into a cheaper internet connection for them.&lt;/p&gt;

&lt;p&gt;We're actively developing projects with the help of our learners. We hope to have built at least implemented three projects in the next two years.&lt;/p&gt;
&lt;h2&gt;
  
  
  Bethany: What's your parting shot?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Harun:&lt;/strong&gt; My greatest joy was joining tech. Your field doesn't matter. If you're in tech and you work smart, you'll always be proud of your achievements. The greatest secret is working smart in tech and trying as much as possible to help others along the way.&lt;/p&gt;
&lt;h1&gt;
  
  
  Stay in Touch:
&lt;/h1&gt;

&lt;p&gt;Check out this full interview with Harun Mbaabu on our &lt;a href="https://youtu.be/1E318uT1QgE" rel="noopener noreferrer"&gt;You Tube channel&lt;/a&gt;.&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/1E318uT1QgE"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;You can join the DSEA Slack channel or Discord server. Follow them on &lt;a href="https://twitter.com/DataScience_Ea?s=20" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; and &lt;a href="https://www.linkedin.com/company/data-science-east-africa/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; to stay updated on upcoming events and boot camps. If you also want to be part of their community, you can email at &lt;a href="//mailto:datascienceeastafrica@gmail.com"&gt;datascienceeastafrica@gmail.com&lt;/a&gt; or join their &lt;a href="https://chat.whatsapp.com/GdDdDGgjSUBITo36CxAPkl" rel="noopener noreferrer"&gt;WhatsApp group&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You can also catch up with their journey on &lt;a href="https://medium.com/data-science-east-africa" rel="noopener noreferrer"&gt;Medium&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Riveting Success of The Plant Signal Team</title>
      <dc:creator>Sonia Lomo</dc:creator>
      <pubDate>Mon, 08 Feb 2021 04:12:38 +0000</pubDate>
      <link>https://dev.to/msambassadorske/riveting-success-of-the-plant-signal-team-3ni5</link>
      <guid>https://dev.to/msambassadorske/riveting-success-of-the-plant-signal-team-3ni5</guid>
      <description>&lt;p&gt;Want to know why your team hasn't taken off yet? It would help if you learned from the success of The Plant Signal Team. They've made huge milestones in the Agricultural industry in Kenya to the point of getting recognition from the UK High Commissioner to Kenya, Her Excellency Jane Marriot.&lt;/p&gt;


&lt;blockquote class="ltag__twitter-tweet"&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--LLKqqYQI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1356941346347618305/vcvhNNOA_normal.png" alt="Plant_Signal profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        Plant_Signal
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        &lt;a class="mentioned-user" href="https://dev.to/plant_signal"&gt;@plant_signal&lt;/a&gt;
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ir1kO05j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      It was an honour getting to interact with Her Excellency British HC &lt;a href="https://twitter.com/JaneMarriottUK"&gt;@JaneMarriottUK&lt;/a&gt; at &lt;a href="https://twitter.com/dehub_dekut"&gt;@dehub_dekut&lt;/a&gt;, we thank &lt;a href="https://twitter.com/UKinKenya"&gt;@UKinKenya&lt;/a&gt; for the support they have shown to us.&lt;br&gt;&lt;a href="https://twitter.com/myles_shadrack"&gt;@myles_shadrack&lt;/a&gt; &lt;a href="https://twitter.com/AarKip"&gt;@AarKip&lt;/a&gt; &lt;a href="https://twitter.com/njorogemaria_"&gt;@njorogemaria_&lt;/a&gt; &lt;a href="https://twitter.com/delivce"&gt;@delivce&lt;/a&gt; &lt;a href="https://twitter.com/k_njihia"&gt;@k_njihia&lt;/a&gt; &lt;a href="https://twitter.com/MHUBKENYA"&gt;@MHUBKENYA&lt;/a&gt; &lt;a href="https://t.co/JUU3x8KBVw"&gt;twitter.com/JaneMarriottUK…&lt;/a&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      18:01 PM - 04 Feb 2021
    &lt;/div&gt;

      &lt;div class="ltag__twitter-tweet__quote"&gt;
        &lt;div class="ltag__twitter-tweet__quote__header"&gt;
          &lt;span class="ltag__twitter-tweet__quote__header__name"&gt;
            Jane Marriott
          &lt;/span&gt;
          @JaneMarriottUK
        &lt;/div&gt;
        Plant 🌱 Signal is helping local farmers asses the health of their crops 💚 - one of the amazing entrepreneurs supported by our 🇬🇧🇰🇪 COVID hackathon last year at DeHub in Nyeri! https://t.co/hrlxiLsL1M
      &lt;/div&gt;

    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1357388832312860675" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fFnoeFxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-reply-action-238fe0a37991706a6880ed13941c3efd6b371e4aefe288fe8e0db85250708bc4.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1357388832312860675" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k6dcrOn8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-retweet-action-632c83532a4e7de573c5c08dbb090ee18b348b13e2793175fea914827bc42046.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/like?tweet_id=1357388832312860675" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SRQc9lOp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-like-action-1ea89f4b87c7d37465b0eb78d51fcb7fe6c03a089805d7ea014ba71365be5171.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;a href="https://imaginecup.microsoft.com/en-us"&gt;Imagine Cup&lt;/a&gt; Kenya had the privilege of interviewing this amazing team from Dedan Kimathi University of Technology, taking a peek into their journey.

&lt;p&gt;They've created an app to improve agricultural production through its services while contributing to  &lt;a href="https://www.undp.org/content/undp/en/home/sustainable-development-goals/goal-2-zero-hunger.html"&gt;zero hunger SDG goal&lt;/a&gt;. The &lt;a href="https://apkpure.com/plant-signal/com.plant.signal"&gt;Plant Signal mobile app&lt;/a&gt; detects plant diseases and pests and offers remedy recommendations to salvage the plant. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;A Signal is a medium conveying information. The app revolves around plants and their products' information hence the name, Plant Signal.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Getting the remedies has never been easier. The app provides a market section where you can buy and order the products from verified agrovet stores; in partnership with Plant Signal. Rest assured that the items will be delivered in due time.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fhhhwwFR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/er50i826v9maq172w45m.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fhhhwwFR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/er50i826v9maq172w45m.jpg" alt="Demonstration of Plant Signal app" width="880" height="587"&gt;&lt;/a&gt;&lt;br&gt;
The team is made up of: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.linkedin.com/in/maria-njoroge/"&gt;Maria Njoroge&lt;/a&gt; -&lt;/strong&gt; the Chief Executive Officer, currently in her final year undertaking Geospatial Engineering and web developer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.linkedin.com/in/aaronkip/"&gt;Aaron Kipkoech&lt;/a&gt;&lt;/strong&gt; - the Chief Technical Officer, a Microsoft Learn Student Ambassador, and an android developer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.linkedin.com/in/shadrack-kiprotich-093150188/"&gt;Shadrack Kiprotich&lt;/a&gt;&lt;/strong&gt; - the Chief Operating Officer, an Android enthusiast, C# developer, and also a Microsoft Learn Student Ambassador.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Delvice Ndegwa&lt;/strong&gt; - Chief Public Relations Officer, a web developer and data science enthusiast.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Sony: How did the team come up with the idea?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;The Team&lt;/strong&gt;: &lt;em&gt;Plant Signal came to life during the 2019 Engineer's Hack. We were running out of time and we just had to attend the Engineer's Hack because of all the hype; we also didn't want to let down the main organizer.&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Majority of the residents around Dedan Kimathi University are farmers. Over the years, a lot of them have had a hard time with pests and diseases. For instance, the effects of fall armyworms destroying maize plantations for about 86% of farmers across the country by 2018; I bet you didn't know all the &lt;a href="https://www.sciencedirect.com/science/article/pii/S0167880919304219#:~:text=Fall%20armyworm%20(FAW)%2C%20one,in%202016%20and%20spread%20rapidly.&amp;amp;text=In%20this%20study%2C%20therefore%2C%20crop,maize%20production%20areas%20of%20Kenya."&gt;nerdy stats&lt;/a&gt;. Many farmers still don't know what to do about it.&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Besides that, we noted that farmers are often victims of purchasing counterfeit chemicals, which is frustrating. That's why we came up with the whole idea of building the solution to curb all the difficulties.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Sony: Does the team have any plans on monetization?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;The Team&lt;/strong&gt;: &lt;em&gt;Yes. Plant Signal plans to generate money through the e-commerce platform where professional agrovet stores have to pay a fee for their products to be displayed in the application.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PtC5V_YL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/hj1ulu4pxgl18yh0jhj8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PtC5V_YL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/hj1ulu4pxgl18yh0jhj8.png" alt="H.E Jane Marriot and the Plant Signal Team" width="880" height="662"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Sony: What challenges have you faced while trying to advance the project?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Maria&lt;/strong&gt;: &lt;em&gt;Our marketing strategy. Most farmers are still "analog" tech-wise.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Aaron&lt;/strong&gt;: &lt;em&gt;One major challenge is insufficient development and maintenance funds. This staggers the growth of the product.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Shadrack&lt;/strong&gt;: &lt;em&gt;Team management could be better. We sometimes find ourselves not achieving what we set out to do before a deadline and we end up lagging.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Delvice&lt;/strong&gt;: &lt;em&gt;Shortage of funds. Plant Signal app relies on a well-trained model to be able to detect diseases in crops. However, training a model for more accurate results is expensive. The Plant Signal app would be more accurate and support more plants if there were enough funds to sustain model training.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Sony: What's the biggest take away from the team?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Maria&lt;/strong&gt;: &lt;em&gt;Aha... getting recognition from the President, we didn't expect that.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Aaron&lt;/strong&gt;: &lt;em&gt;All ideas are good. When it doesn't seem possible, look for a better angle.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Shadrack&lt;/strong&gt;: &lt;em&gt;Every stage of the startup counts and we should embrace every stage. They will come with their lessons, challenges, best moments and we need to learn how to tackle them and overcome the challenges.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Delvice&lt;/strong&gt;: &lt;em&gt;Growth comes with exposure. Attending various tech events and interacting with different mentors is what challenged us to make Plant Signal better.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OES3ADUu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/gz832blwf4teih9ebidv.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OES3ADUu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/gz832blwf4teih9ebidv.jpg" alt="Farm" width="880" height="587"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Sony: Do you have any regrets?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Maria&lt;/strong&gt;: &lt;em&gt;Yes. Not having a marketing team. Had we known, we would have come this far. We would have had marketing personnel. Too bad we're all nerds.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Aaron:&lt;/strong&gt; &lt;em&gt;No regrets at the moment, LOL.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Shadrack:&lt;/strong&gt;  &lt;em&gt;I don't think so.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Delvice:&lt;/strong&gt; &lt;em&gt;There are no regrets about how things have turned out so far. We are growing consistently.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Sony: What has been your lowest moment as a member of Plant Signal?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Maria&lt;/strong&gt;: &lt;em&gt;Well, having to deal with an external member who demanded to be included in the group. I felt it was so urgent that I had to ask a lawyer what to do. I felt as if it was a burden I was now carrying for the company. And when we registered, I realized it's now real. We had a company to build.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Shadrack&lt;/strong&gt;: &lt;em&gt;As a team, we tend to have disagreements. One of the lowlight moment as a member was a disagreement between myself and one of the members on something that I felt was right.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Delvice&lt;/strong&gt;: &lt;em&gt;Public speaking. It gives me the heeby-jeebies.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Sony: What about your highlights?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Maria&lt;/strong&gt;: &lt;em&gt;Meeting different people through Plant Signal and learning a lot about machine learning. I'd never thought of it.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Aaron&lt;/strong&gt;: &lt;em&gt;Not sure how to answer this...&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Shadrack&lt;/strong&gt;: &lt;em&gt;Being recognized by the President during the &lt;a href="https://techmoran.com/2020/08/19/plant-signal-wins-fursa-vs-virus-competition-for-its-covid-19-solution-for-farmers/"&gt;Fursa Vs Virus Challenge&lt;/a&gt; organized by the &lt;a href="https://nationalyouthcouncil.go.ke/"&gt;National Youth Council&lt;/a&gt;. It came unexpectedly.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Delvice&lt;/strong&gt;: &lt;em&gt;I've been running Plant Signal social media accounts.&lt;/em&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--v90Z9WDD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/wwff5z0blu92pq6p1gr4.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--v90Z9WDD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/wwff5z0blu92pq6p1gr4.jpg" alt="Maria Njoroge" width="880" height="586"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Sony: What other projects are you working on?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Maria&lt;/strong&gt;: &lt;em&gt;We, as Kenova - led by the CEO Aaron Rono - have developed more products like &lt;a href="https://play.google.com/store/apps/details?id=com.kenova.dechat&amp;amp;hl=en_US&amp;amp;gl=US"&gt;DeChat&lt;/a&gt;, a music player, a spinning game, and a gaming hub.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Aaron&lt;/strong&gt;: &lt;em&gt;Apart from Plant Signal, I've been involved in some startups as well, including AjiraAdi and ConVas.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Shadrack&lt;/strong&gt;: &lt;em&gt;Yep, we have closely worked with the team on &lt;a href="https://play.google.com/store/apps/details?id=com.kenova.dechat&amp;amp;hl=en_US&amp;amp;gl=US"&gt;DeChat&lt;/a&gt;, a solution where DeKUT students can engage, solve issues within the fraternity and bring togetherness within the ecosystem.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Delvice&lt;/strong&gt;: &lt;em&gt;I have been freelancing and developing websites for businesses.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Sony: What's your advice to anyone in your shoes right now?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Maria&lt;/strong&gt;:  &lt;em&gt;It doesn't have to work right away, but it will work out when you take the first step.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Aaron&lt;/strong&gt;: &lt;em&gt;Technology is at its best when it solves problems.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Shadrack&lt;/strong&gt;: &lt;em&gt;Take every opportunity that comes your way. You never know what's in store for you, then work on the opportunity until you achieve the end goal. This will help you learn and have that growth mindset.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Delvice&lt;/strong&gt;&lt;em&gt;: Be aggressive with the idea you hold, and be patient through the journey.&lt;/em&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Stay in touch.
&lt;/h1&gt;

&lt;p&gt;Show some love to the team on Twitter &lt;a href="https://twitter.com/plant_signal"&gt;@plant_signal&lt;/a&gt; and&lt;br&gt;
LinkedIn &lt;a href="https://www.linkedin.com/company/plant-signal/"&gt;@plant-signal&lt;/a&gt;.&lt;br&gt;
Thank you, Plant Signal, for agreeing to do this with us. More power to you.&lt;/p&gt;

&lt;p&gt;Hey... please don't be shy. I'd like to hear your thoughts on this piece 👇.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Azure in Mobile Apps - Setting Up Flutter Environment.</title>
      <dc:creator>Aaron Kipkoech</dc:creator>
      <pubDate>Mon, 18 Jan 2021 11:13:01 +0000</pubDate>
      <link>https://dev.to/msambassadorske/azure-in-mobile-apps-setting-up-flutter-environment-4353</link>
      <guid>https://dev.to/msambassadorske/azure-in-mobile-apps-setting-up-flutter-environment-4353</guid>
      <description>&lt;h2&gt;
  
  
  What is flutter environment?
&lt;/h2&gt;

&lt;p&gt;This is where all the flutter magic is done. &lt;br&gt;
It entails IDEs and plugins necessary for flutter development.&lt;/p&gt;

&lt;h2&gt;
  
  
  IDEs
&lt;/h2&gt;

&lt;p&gt;IDEs are editors used to write code. &lt;br&gt;
IDEs that support flutter at the moment of writing this article are;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Visual Studio Code&lt;/li&gt;
&lt;li&gt;Android Studio&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We're going to discuss installation of flutter in both of these software.&lt;/p&gt;

&lt;p&gt;Before diving into the software, let's get the necessary basic installation first.&lt;br&gt;
We'll need to install flutter sdk.&lt;br&gt;
Refer to the official flutter documentation for installation in various platforms here: &lt;a href="https://flutter.dev/docs/get-started/install"&gt;https://flutter.dev/docs/get-started/install&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Visual Studio Code
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Install VS Code
&lt;/h3&gt;

&lt;p&gt;VS Code is a lightweight editor with Flutter app execution and debug support.&lt;/p&gt;

&lt;p&gt;VS Code, latest stable version: &lt;a href="https://code.visualstudio.com/"&gt;https://code.visualstudio.com/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Install the Flutter and Dart plugins
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Start VS Code.&lt;/li&gt;
&lt;li&gt;Invoke View &amp;gt; Command Palette….&lt;/li&gt;
&lt;li&gt;Type “install”, and select Extensions: Install Extensions.&lt;/li&gt;
&lt;li&gt;Type “flutter” in the extensions search field, select Flutter in the list, and click Install. This also installs the required Dart plugin.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Validate your setup with the Flutter Doctor
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Invoke View &amp;gt; Command Palette….&lt;/li&gt;
&lt;li&gt;Type “doctor”, and select the Flutter: Run Flutter Doctor.&lt;/li&gt;
&lt;li&gt;Review the output in the OUTPUT pane for any issues. Make sure to select Flutter from the dropdown in the different Output Options.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Android Studio
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Install Android Studio
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Download and install Android Studio : &lt;a href="https://developer.android.com/studio"&gt;https://developer.android.com/studio&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Start Android Studio, and go through the ‘Android Studio Setup Wizard’. This installs the latest Android SDK, Android SDK Command-line Tools, and Android SDK Build-Tools, which are required by Flutter when developing for Android.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Set up your Android device
&lt;/h3&gt;

&lt;p&gt;To prepare to run and test your Flutter app on an Android device, you need an Android device running Android 4.1 (API level 16) or higher.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Enable Developer options and USB debugging on your device. Detailed instructions are available in the Android documentation; &lt;a href="https://developer.android.com/studio/debug/dev-options"&gt;https://developer.android.com/studio/debug/dev-options&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Windows-only: Install the Google USB Driver.&lt;/li&gt;
&lt;li&gt;Using a USB cable, plug your phone into your computer. If prompted on your device, authorize your computer to access your device.&lt;/li&gt;
&lt;li&gt;In the terminal, run the flutter devices command to verify that Flutter recognizes your connected Android device. By default, Flutter uses the version of the Android SDK where your adb tool is based. If you want Flutter to use a different installation of the Android SDK, you must set the ANDROID_SDK_ROOT environment variable to that installation directory.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Set up the Android emulator
&lt;/h3&gt;

&lt;p&gt;To prepare to run and test your Flutter app on the Android emulator, follow these steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Enable VM acceleration on your machine; &lt;a href="https://developer.android.com/studio/run/emulator-acceleration"&gt;https://developer.android.com/studio/run/emulator-acceleration&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Launch Android Studio, click the AVD Manager icon, and select Create Virtual Device…&lt;/li&gt;
&lt;li&gt;In older versions of Android Studio, you should instead launch Android Studio &amp;gt; Tools &amp;gt; Android &amp;gt; AVD Manager and select Create Virtual Device…. (The Android submenu is only present when inside an Android project.)&lt;/li&gt;
&lt;li&gt;If you do not have a project open, you can choose Configure &amp;gt; AVD Manager and select Create Virtual Device…&lt;/li&gt;
&lt;li&gt;Choose a device definition and select Next.&lt;/li&gt;
&lt;li&gt;Select one or more system images for the Android versions you want to emulate, and select Next. An x86 or x86_64 image is recommended.&lt;/li&gt;
&lt;li&gt;Under Emulated Performance, select Hardware - GLES 2.0 to enable hardware acceleration.&lt;/li&gt;
&lt;li&gt;Verify the AVD configuration is correct, and select Finish.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For details on the above steps, see Managing AVDs; &lt;a href="https://developer.android.com/studio/run/managing-avds"&gt;https://developer.android.com/studio/run/managing-avds&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;In Android Virtual Device Manager, click Run in the toolbar. The emulator starts up and displays the default canvas for your selected OS version and device.&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>Azure in Mobile Apps - Introduction to Flutter</title>
      <dc:creator>Aaron Kipkoech</dc:creator>
      <pubDate>Wed, 13 Jan 2021 15:46:55 +0000</pubDate>
      <link>https://dev.to/msambassadorske/azure-in-mobile-apps-introduction-to-flutter-3845</link>
      <guid>https://dev.to/msambassadorske/azure-in-mobile-apps-introduction-to-flutter-3845</guid>
      <description>&lt;p&gt;Hello and welcome to another blog in this series.&lt;br&gt;
This series is about implementing azure technologies into mobile apps. &lt;br&gt;
We'll be using flutter mobile sdk for the development, and hence the need for introduction.&lt;/p&gt;
&lt;h2&gt;
  
  
  What is flutter?
&lt;/h2&gt;

&lt;p&gt;Flutter is an open-source UI software development kit used to develop applications for Android, iOS, Linux, Mac, Windows, Google Fuchsia, and the web from a single codebase. &lt;/p&gt;

&lt;p&gt;Easy right?&lt;br&gt;
Let's scoot over to the fun part!&lt;/p&gt;
&lt;h2&gt;
  
  
  How does flutter work?
&lt;/h2&gt;

&lt;p&gt;Flutter is built in a whole new way, compared to other frameworks, working more like a gaming engine, than a traditional application framework.&lt;br&gt;
From a very high level, your app is composed of Widgets(mark this), that are rendered onto a Skia canvas, and sent to the platform. The platform shows the canvas, and sends events back as required.&lt;br&gt;
Your app runs on the platform natively, Ahead of Time complied.&lt;/p&gt;

&lt;p&gt;Confused? No worries. Just note that flutter apps are composed of &lt;em&gt;widgets&lt;/em&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  Widgets?
&lt;/h2&gt;

&lt;p&gt;A widget is a basic UI element. &lt;br&gt;
Lets take a look at some examples.&lt;br&gt;
&lt;em&gt;Example 1&lt;/em&gt; &lt;br&gt;
You want to add text to your app. You'll create a Text widget in flutter and pass in a string as a parameter like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Text('Hello world')
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Example 2&lt;/em&gt;&lt;br&gt;
How to add a button. There are many types of buttons in flutter, FlatButton being among them. Let us create a FlatButtonWidget:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;FlatButton(  
     child: Text('LogIn'),  
     color: Colors.blueAccent,  
     textColor: Colors.white,  
     onPressed: () {},  
)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Note the parameters of the Flatutton widget. We have a 'child' parameter with its value as a Text widget. This means we can nest other widgets as children inside other widgets. Cool right?&lt;br&gt;
Other parameters you can add are 'color', 'textColor' and 'onPressed' which is a function that will be triggered when the button is pressed. These parameters are separated by commas.&lt;/p&gt;
&lt;h2&gt;
  
  
  Creating a simple app
&lt;/h2&gt;

&lt;p&gt;Below is a flutter app code that displays 'hello world'&lt;/p&gt;

&lt;p&gt;&lt;em&gt;step 1&lt;/em&gt;&lt;br&gt;
This line of code imports dart material package that is responsible for providing all widgets.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import 'package:flutter/material.dart';
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;step 2&lt;/em&gt;&lt;br&gt;
Creating the main method. This is the starting point of the app, and will be :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import 'package:flutter/material.dart';

void main() {

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

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;step 3&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The first function is the runApp() function, which accepts a Widget as parameter. Let's add it to the main method, and pass in a MaterialApp() widget. &lt;/li&gt;
&lt;li&gt;Flutter provides a number of widgets that help you build apps that follow Material Design. &lt;/li&gt;
&lt;li&gt;The &lt;em&gt;MaterialApp()&lt;/em&gt; widget provides all it's children widgets with these material design components.&lt;/li&gt;
&lt;li&gt;This widget takes in multiple parameters, but we'll stick to two in this case i.e title and home
The code becomes:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import 'package:flutter/material.dart';

void main() {
  runApp(
    MaterialApp(
      title: ,
      home: ,
      ),
    ),
  );
}

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

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Step 4&lt;/em&gt;&lt;br&gt;
The &lt;em&gt;title&lt;/em&gt; parameter requires a string, which is basically the app's name.&lt;br&gt;
The &lt;em&gt;home&lt;/em&gt; parameter requires a widget, and acts more like the &lt;em&gt;child&lt;/em&gt; parameter.&lt;br&gt;
After filling in the string as title, we'll place a &lt;em&gt;Text&lt;/em&gt; widget into the home parameter.&lt;br&gt;
The resulting code will be:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import 'package:flutter/material.dart';

void main() {
  runApp(
    MaterialApp(
      title: 'MyApp',
      home: Text('Hello World'),
      ),
    ),
  );
}

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

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;step 5&lt;/em&gt;&lt;br&gt;
Let's run the app and see the results:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Faskffyobufkm881fmyue.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Faskffyobufkm881fmyue.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The UI is...&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F0jf21vp9fkh3qs6smwpk.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F0jf21vp9fkh3qs6smwpk.jpg" alt="The UI"&gt;&lt;/a&gt;&lt;br&gt;
          ... crappy.&lt;/p&gt;

&lt;p&gt;Let's see what we can do about that.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;step 6&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In the &lt;em&gt;home&lt;/em&gt; parameter from the MaterialApp widget, let's add in a widget called a &lt;em&gt;Scaffold&lt;/em&gt; before the text, and add the text as it's child.&lt;/li&gt;
&lt;li&gt;The &lt;em&gt;Scaffold&lt;/em&gt; widget simply adds appBar, body and other necessary elements to the application. &lt;/li&gt;
&lt;li&gt;This prevents widgets placing themselves in unnecessary positions (as in the previous code), by specifying which part you want to place them. &lt;/li&gt;
&lt;li&gt;In this case, we want the text widget to be in the body.
Let's add it and see it in action:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;void main() {
  runApp(
    MaterialApp(
      title: 'MyApp',
      home: Scaffold(
        appBar: AppBar(),
        body: Text('Hello World'),
      ),
    ),
  );
}

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

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F0ersbl55rov9zpoylbvh.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F0ersbl55rov9zpoylbvh.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Now that's better.&lt;br&gt;
Now you understand how flutter works, I'll leave it there for you to absorb the content. &lt;br&gt;
Stick around to learn on how we can add more widgets to make more beautiful and interesting apps.&lt;/p&gt;

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

&lt;p&gt;Building an app in flutter is easy. You can see how we created a simple layout in few lines of code. &lt;br&gt;
For further understanding of flutter, visit the official documentation site: &lt;a href="https://flutter.dev/docs" rel="noopener noreferrer"&gt;https://flutter.dev/docs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next: Setting up your flutter environment. &lt;/p&gt;

</description>
    </item>
    <item>
      <title>A Few Quick Tips About CyberSecurity for Teens</title>
      <dc:creator>consolata gicheru</dc:creator>
      <pubDate>Sun, 01 Nov 2020 18:16:18 +0000</pubDate>
      <link>https://dev.to/msambassadorske/a-few-quick-tips-about-cybersecurity-for-teens-5fgi</link>
      <guid>https://dev.to/msambassadorske/a-few-quick-tips-about-cybersecurity-for-teens-5fgi</guid>
      <description>&lt;p&gt;Have you ever mentioned cyber security and your audience thought of  a hacker like what they see in movies ? Well the real truth Is that we all are targets of cyber crime and we all need cybersecurity follow along to learn how to be safe online. &lt;/p&gt;

&lt;p&gt;1.Enjoy the Online space, whether its reading,playing video &lt;br&gt;
games,exploring new tech,chatting etc &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%2Fi%2Fn0julkr7436eamqxptt6.jpg" 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%2Fn0julkr7436eamqxptt6.jpg" alt="Alt Text" width="800" height="855"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;However,If you are talking to someone , or visit sites online and they make you uncomfortable, remember you don’t have to talk back to them and you can always leave the site.&lt;/p&gt;

&lt;p&gt;2.Do not give up your name and address information unless it’s  from a trusted site. be keen also on the spelling of the trusted sites as some scammers may be posing as the legitimate site where as they are not.&lt;/p&gt;

&lt;p&gt;3.Do not click on links blindly without knowing what they contain.An Example is you may just be reading an article online and suddenly you get a popup like :&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%2Fi%2Fkijvd5b7ske00zil3wje.jpg" 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%2Fkijvd5b7ske00zil3wje.jpg" alt="Alt Text" width="414" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;kindly don't click, there are no free gifts being offered online unless the vendor advertises them on their official site.In relation to this kindly stay away from this chained messages &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%2Fi%2Fshd3twb7ra597octm5xj.jpg" 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%2Fshd3twb7ra597octm5xj.jpg" alt="Alt Text" width="800" height="884"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The people creating this chained messages are out to collect data which may be used for malicious attacks. &lt;br&gt;
Incase your not sure kindly consult an adult or older sibling before clicking on this links.&lt;/p&gt;

&lt;p&gt;4.Do not post pictures of your house or contact information including your location without your parents consent.&lt;br&gt;
This may attract unnecessary attention and attract thieves to your house since the pictures may expose certain areas of interest and give them a clear view of planning their attack.&lt;/p&gt;

&lt;p&gt;5.Do not agree to meet physically with people you've met online and if its really necessary to meet them consult your parents.This people may kidnap you and use the information you've shared during your interaction to extort your parents.They may also harass you physically and sexually.&lt;/p&gt;

&lt;p&gt;6.When joining social media sites,it is advisable to keep your profile private and be cautious on who you add as your friend ,be respectful with your comments online and most importantly remember to share with care,Don't share anything that will hurt or embarass anyone.&lt;/p&gt;

&lt;p&gt;For more information on types of cyber security threats and how to avoid them kindly visit:&lt;br&gt;
&lt;a href="https://www.microsoft.com/en-us/security" rel="noopener noreferrer"&gt;https://www.microsoft.com/en-us/security&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://preyproject.com/blog/en/what-are-cyber-threats-how-they-affect-you-what-to-do-about-them/" rel="noopener noreferrer"&gt;https://preyproject.com/blog/en/what-are-cyber-threats-how-they-affect-you-what-to-do-about-them/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>microsoftstudentambassadors</category>
    </item>
    <item>
      <title>Get That Unique Hackathon Idea From Open Government Data.</title>
      <dc:creator>Sonia Lomo</dc:creator>
      <pubDate>Sun, 01 Nov 2020 14:01:44 +0000</pubDate>
      <link>https://dev.to/msambassadorske/get-that-unique-hackathon-idea-from-open-government-data-4l0a</link>
      <guid>https://dev.to/msambassadorske/get-that-unique-hackathon-idea-from-open-government-data-4l0a</guid>
      <description>&lt;p&gt;One of the main challenges of participating in Hackathons is finding an innovative idea to work on. With hackathons being designed to identify solutions to real-world problems, most aim to enhance use of &lt;a href="https://www.europeandataportal.eu/elearning/en/module1/#/id/co-01" rel="noopener noreferrer"&gt;open data&lt;/a&gt; which will benefit  both the government and its citizens. &lt;/p&gt;

&lt;h2&gt;
  
  
  The Slow Elevator Problem...
&lt;/h2&gt;

&lt;p&gt;A hotel manager receives a complaint from his tenants about the elevator being too slow. He then goes to confront the engineer in-charge to get a plausible solution to this problem. Obviously, the engineer gives him a technical solution that would need him to take down the elevator and result in tanking lots of cash making renovations.  &lt;/p&gt;

&lt;p&gt;Not being satisfied with this answer, he outsources for ideas from a wide range of people. Fortunately, a psychologist offers a different perspective saying that the problem isn't the elevator being too slow, but rather the wait (in the elevator) is too long. The solution: placing a mirror costing about 4 dollars, inside the elevator for its users to occupy themselves. &lt;/p&gt;

&lt;h2&gt;
  
  
  What's My Point? 🤔
&lt;/h2&gt;

&lt;p&gt;The point is, extending our capacity by availing open data allows more people to come in and redefine the problem into something more actionable and tractable. The hotel manager did the same by opening the problem to be solved by anyone. The psychologist ended up redefining the problem and provided a better solution. &lt;/p&gt;

&lt;p&gt;Defining a problem isn't enough, we also need open data to understand problems more effectively by finding patterns and establishing solid evidence.&lt;/p&gt;

&lt;h2&gt;
  
  
  Let Me Break It Down For You. 😉
&lt;/h2&gt;

&lt;p&gt;Open Government Data (OGD) plays a huge role in increasing a country's capacity to solve problems, since it's a  &lt;a href="https://www.freecodecamp.org/news/https-medium-freecodecamp-org-best-free-open-data-sources-anyone-can-use-a65b514b0f2d/" rel="noopener noreferrer"&gt;Source of Open Data&lt;/a&gt;.  OGD fosters innovation that's data driven for building citizen-centric solutions through apps.  Building local solutions for local problems by potential local entrepreneurs (that's you as a hackathon participant). Who better to relate, understand and handle the country's problems, than its own citizens?&lt;/p&gt;

&lt;p&gt;In Kenya, for instance, the government decided to avail data publicly in efforts to increase accountability and transparency. You can find this data in the &lt;a href="https://www.opendata.go.ke/" rel="noopener noreferrer"&gt;Kenya Open Data Website&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;A great place to start would be going through different categories for the datasets then... wait for an epiphany.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fhifg7j6gawtjsz2mexm4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fhifg7j6gawtjsz2mexm4.png" alt="https://dev-to-uploads.s3.amazonaws.com/i/hifg7j6gawtjsz2mexm4.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you find a category that interests you, browse through the available data. &lt;/p&gt;

&lt;h3&gt;
  
  
  Choose Your Weapon...
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmedia.tenor.com%2Fimages%2F0729b474ce4641e22dbafeddc69bb9f8%2Ftenor.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmedia.tenor.com%2Fimages%2F0729b474ce4641e22dbafeddc69bb9f8%2Ftenor.gif" alt="https://media.tenor.com/images/0729b474ce4641e22dbafeddc69bb9f8/tenor.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Search for a format that would be most useful to you CSV, PDF, JSON, XML, HTML etc. You could also look for any APIs available for your data.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/DV3INBJ6e2o"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;The above data shows &lt;a href="https://www.opendata.go.ke/datasets/monthly-summary-of-road-fatalities-in-kenya-between-2011-2014/geoservice" rel="noopener noreferrer"&gt;Monthly Summary of Road Fatalities in Kenya between 2011 - 2014&lt;/a&gt; ; you could use it to flag blackspots in the country or causes of fatalities in potential danger zones to alert passengers in those areas. &lt;/p&gt;

&lt;p&gt;The downside to OGD is that a lot of it is outdated and hence might not be as useful. But it might still be good enough for a project for your portfolio.&lt;/p&gt;

&lt;p&gt;Of course, you could also go international and have a look at leading OGD sites from the &lt;a href="https://www.data.gov/" rel="noopener noreferrer"&gt;US&lt;/a&gt; and &lt;a href="https://open.canada.ca/en/open-data" rel="noopener noreferrer"&gt;Canada&lt;/a&gt;. Innovation knows no bounds...or at least that's what I believe.&lt;/p&gt;

&lt;p&gt;If using government data for your projects won't work for you, don't be lazy, checkout &lt;a href="https://dev.to/faithtanui/project-ideas-how-to-come-up-with-one-2cep"&gt;Project ideas: How to come up with one&lt;/a&gt; by Faith Tanui.&lt;/p&gt;

&lt;h2&gt;
  
  
  OTHER RESOURCES...
&lt;/h2&gt;

&lt;p&gt;*&lt;a href="https://www.ft.com/content/e33a6994-447e-11e8-93cf-67ac3a6482fd" rel="noopener noreferrer"&gt;China and US compete to dominate big data&lt;/a&gt;&lt;br&gt;
*&lt;a href="https://www.w3.org/2013/04/odw/odw13_submission_33.pdf" rel="noopener noreferrer"&gt;An Open Analysis on Open Data&lt;/a&gt;&lt;br&gt;
*&lt;a href="https://www.youtube.com/watch?v=n-XBrDR1TU8" rel="noopener noreferrer"&gt;Open Source Government: How AI, crowdsourcing &amp;amp; open data can build a smarter state&lt;/a&gt;&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>hackathon</category>
      <category>newbie</category>
    </item>
    <item>
      <title>Project Implementation.</title>
      <dc:creator>Victor Maina</dc:creator>
      <pubDate>Thu, 15 Oct 2020 09:38:51 +0000</pubDate>
      <link>https://dev.to/msambassadorske/project-implementation-44f</link>
      <guid>https://dev.to/msambassadorske/project-implementation-44f</guid>
      <description>&lt;p&gt;There are usually so many moving parts in a project. I’d better get started the sooner. Have you ever had this very awesome idea? Well mine was one that I had after a long argument with a friend (I still think it's awesome so I’d better not jinx it). It gave me chills thinking of how we’d pitch the idea, get the app running and roll with the big fish. I even started looking for amazing sports cars around, spoiler alert; I settled for this dope Mitsubishi Lancer, with spoilers of course. &lt;/p&gt;

&lt;p&gt;The point is, due to lack of prior knowledge about the whole process the only lancer I got was a freelancer job telling people how I almost made a million bucks. I know better now and this, my friends, is all you need to do.&lt;/p&gt;

&lt;p&gt;Before anything, I would like to caution you not to get overly excited about your idea. Simply because building an app or any other thing requires focus and patience. Without these two, your idea will always remain a pipe dream.&lt;/p&gt;

&lt;h2&gt;
  
  
  Identify the problem your app solves.
&lt;/h2&gt;

&lt;p&gt;There are so many apps in the market. And for you to outperform your competitors, you need to solve a problem that they haven’t. Shocked? Don’t be. Assume that you aren’t the only person who has thought of that idea. The difference will lie ultimately on how you design your app to problem solve. Just so you know Facebook was not the first social media platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  Identify your target audience.
&lt;/h2&gt;

&lt;p&gt;There are very many prospective customers, scholars, professionals and potential job candidates. It is important to always assume you have competitors. That way you will find a way to meet your clients' needs in a way your competitors can't.&lt;/p&gt;

&lt;h2&gt;
  
  
  Decide on features and basic design elements of your app.
&lt;/h2&gt;

&lt;p&gt;Do you want a bot to query users once they land on your site? Do you want to put animations or specialized text? For instance, if you develop an app that receives text as the input, you may want to consider some languages like Arabic which uses the RTL format. &lt;/p&gt;

&lt;p&gt;Layout your vision clearly so that you can communicate with the design and development team effectively.&lt;/p&gt;

&lt;h2&gt;
  
  
  Figure out who will develop your app.
&lt;/h2&gt;

&lt;p&gt;Are you going to do it alone? Are you going to hire freelancers or will you look for an in-house team? Should you choose a team to develop your app, make sure that you communicate with them and come up with a strategic plan in place to see the app through development to finally launching. Every part of your project being put together is done behind the scenes.&lt;/p&gt;

&lt;p&gt;Accomplish small tasks at a time. Trying to build the whole app in one go is very overwhelming. Take &lt;br&gt;
your time to celebrate each task completed and get the morale to move on to the next task.&lt;/p&gt;

&lt;h2&gt;
  
  
  Test your app.
&lt;/h2&gt;

&lt;p&gt;Try out building a demo app or a prototype for your app. It will enable the developer to know the glitches and the bugs that are in the code. While testing, you could get key info on the demographics of the market your targeting. This will help make the app customized to the desire of the user.&lt;/p&gt;

&lt;h2&gt;
  
  
  Search Engine Optimization(SEO)
&lt;/h2&gt;

&lt;p&gt;SEO can be seen as how you choose to brand your app. It involves a lot of things such as name of the app, keywords used in the app, images and graphics, google analytics score, safety of the app and a lot more. A good SEO can make your downloads increase exponentially.&lt;/p&gt;

&lt;h2&gt;
  
  
  Launch your app.
&lt;/h2&gt;

&lt;p&gt;Engage the marketing team. At this juncture, your app is ready to be shared with your audience. TA-DA! Your dream just came true.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Type-safe React using TypeScript</title>
      <dc:creator>Ruheni Alex</dc:creator>
      <pubDate>Tue, 13 Oct 2020 11:19:42 +0000</pubDate>
      <link>https://dev.to/msambassadorske/type-safe-react-using-typescript-1dkh</link>
      <guid>https://dev.to/msambassadorske/type-safe-react-using-typescript-1dkh</guid>
      <description>&lt;h3&gt;
  
  
  A little background
&lt;/h3&gt;

&lt;p&gt;For the past 4 months, I've been learning React and using it to build applications in a professional context. To spice things up, I've been using TypeScript with it. The type system TypeScript offers is phenomenal, coming from a JavaScript world. Combining the two just makes everything simple (didn't say it was going to be easy). This article isn't going to solve all your problems either. This is an attempt give a gentle introduction to React and TS, in a way that will not be overwhelming too.&lt;/p&gt;

&lt;p&gt;I've had lots of happy-sad moments too. Sad, because I was rethinking my career choices (thought about being a farmer) because I could not understand error messages and throwing around the &lt;code&gt;any&lt;/code&gt; type (take my advice, do not even think of trying this if you know what the data type is 😂). Happy too, because it helped me avoid mistakes, I would classify as stupid, like typos and using array methods on what I think is an array but is actually an object and save lots of hours swearing at JavaScript. &lt;/p&gt;

&lt;p&gt;How I like to think of JS is, it's the parent who would see their child make a mistake and be, "Meh... they will learn from their mistakes", and TS as the overprotective parent who will do their best to make sure they have a smooth childhood. If you would like to share some of your tips on this topic, share it in the comments, I would be glad to learn from you too 😁.&lt;/p&gt;

&lt;p&gt;As you can tell, I'm by no means no expert at these two topics, but I'm learning new things in an attempt to improve the quality of my code. It will not be comprehensive either, just short and sweet too. I will leave links to resources that have helped me get a deeper understanding.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Ground work
&lt;/h3&gt;

&lt;p&gt;The assumptions I'm making while writing this is that you are knowledgeable in React and just got started with TS, and would like make the most out of both worlds. We are going to use &lt;code&gt;create-react-app&lt;/code&gt; and using TS in your project will still be possible while using frameworks and libraries such as Next.Js and Gatsby.&lt;/p&gt;

&lt;p&gt;Starting a new React project with TypeScript is pretty straightforward..&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx create-react-app my-app &lt;span class="nt"&gt;--template&lt;/span&gt; typescript
&lt;span class="c"&gt;# or&lt;/span&gt;
yarn create react-app my-app &lt;span class="nt"&gt;--template&lt;/span&gt; typescript
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you would like to add TS to your existing project, add the following dependencies and rename your .js or .jsx files to .tsx. This will allow us to take advantage of TypeScript in our project.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;--save&lt;/span&gt; typescript @types/node @types/react @types/react-dom @types/jest
&lt;span class="c"&gt;# or&lt;/span&gt;
yarn add typescript @types/node @types/react @types/react-dom @types/jest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let's say you are working an e-commerce app, and you'd like to create a product component. This component will receive some props, the product details such as an id, the name, description, price availability and the image. The example might be a little crude, but bear with me here...&lt;/p&gt;

&lt;p&gt;Enough talk, let's just dive into the code. &lt;/p&gt;

&lt;h3&gt;
  
  
  Interfaces and Types
&lt;/h3&gt;

&lt;p&gt;Interfaces and types are used to describe the structure of data, or a "blueprint". In this case, it's a product, so let's go ahead and create an interface.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight tsx"&gt;&lt;code&gt;&lt;span class="kr"&gt;interface&lt;/span&gt; &lt;span class="nx"&gt;ProductProps&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;price&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;availability&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;SOLD OUT&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;IN STOCK&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;imageUrl&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// this means imageUrl can return either a string or null&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// this is how the type would look like&lt;/span&gt;
&lt;span class="kd"&gt;type&lt;/span&gt; &lt;span class="nx"&gt;ProductProps&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;price&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;availability&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;SOLD OUT&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;IN STOCK&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;imageUrl&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I'll be honest, I don't know the difference between the two. Even after lots of googling. But they pretty much work the same, from how I understand it. The difference is their syntax and implementation. If you happen to understand this difference, feel free to explain it to me in the comments&lt;/p&gt;

&lt;h3&gt;
  
  
  React.FC or FC
&lt;/h3&gt;

&lt;p&gt;Now that we have our interface/type ready, let's create our Product component. I prefer functional components to class components because makes everything simple and clean... oh, and hooks too, &lt;a href="https://dev.to/dan_abramov/making-sense-of-react-hooks-2eib"&gt;the best thing that's happened to React so far&lt;/a&gt; 😀.&lt;/p&gt;

&lt;p&gt;Let's create our functional component here.... let's not forget it will expect some props too, &lt;code&gt;ProductProps&lt;/code&gt;,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight tsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;FC&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kr"&gt;interface&lt;/span&gt; &lt;span class="nx"&gt;ProductProps&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/**...*/&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;ProductComponent&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;FC&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;ProductProps&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/** some jsx here... div soup probably, guilty as charged 😂*/&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;From the above example, &lt;code&gt;FC&lt;/code&gt; represents the functional component and &lt;code&gt;&amp;lt;ProductProps&amp;gt;&lt;/code&gt; represents the props passed to our component. You may choose to destructure the props, and you will notice that the intellisense will suggest properties found inside your interface or type.&lt;/p&gt;

&lt;h3&gt;
  
  
  API requests
&lt;/h3&gt;

&lt;p&gt;Your React app will most likely communicate with an API and send or receive some data. It would be nice to know what will be in this data instead of trying to guess what's in it...right? So, let's try reduce the tears you might shed here 😅.&lt;/p&gt;

&lt;p&gt;The common pattern method of making network requests without any external library using &lt;code&gt;fetch&lt;/code&gt;.  I'd love to talk about how life changing &lt;code&gt;react-query&lt;/code&gt; is but that's for another day. &lt;/p&gt;

&lt;p&gt;When a network request is made, it returns a promise. We can extend the promise to return data that will be of a specific type. For our example, we'd like to receive a list of objects that are of the type Product:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight tsx"&gt;&lt;code&gt;&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;getProducts&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="p"&gt;():&lt;/span&gt; &lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;ProductProps&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;
  &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://some_backend.api/products&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;json&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Call the API
&lt;/h3&gt;

&lt;p&gt;If you've gotten this far bear with me, we are almost done, for now. &lt;/p&gt;

&lt;p&gt;The last thing left is inferring type to the &lt;code&gt;useState&lt;/code&gt; hook. &lt;code&gt;useState&lt;/code&gt; is mostly used to manage component state. We will wrap everything together by having a component that will fetch data using the function we just created and &lt;code&gt;useEffect&lt;/code&gt; (no dependencies since we'd like it to run only on mount) and pass the data fetched to the component we had just created.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight tsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;FC&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;useEffect&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;ProductProps&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;ProductComponent&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./ProductComponent&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;getProducts&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./api/products&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;ProductsPage&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;FC&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;products&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setProducts&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;ProductProps&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;([])&lt;/span&gt;
    &lt;span class="cm"&gt;/** you could probably create an abstraction of this into a custom hook or use react-query but let's keep this simple...*/&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setError&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;isLoading&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setLoading&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="nx"&gt;useEffect&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;setLoading&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nx"&gt;getProducts&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
      &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nx"&gt;setProducts&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="nx"&gt;setLoading&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
      &lt;span class="p"&gt;})&lt;/span&gt;
      &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nx"&gt;setLoading&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="nx"&gt;setError&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
      &lt;span class="p"&gt;})&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="p"&gt;[])&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Next Gen Consoles&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;This is a dummy example &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;products&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; 
                    &lt;span class="nx"&gt;products&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;product&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
                    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;ProductComponent&lt;/span&gt; &lt;span class="na"&gt;key&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;product&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;product&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
                        &lt;span class="p"&gt;))&lt;/span&gt;
                &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Check in again pretty soon&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;    
        &lt;span class="p"&gt;&amp;lt;/&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;... and that is it, for now. I hope this article helped you as you create a type-safe React application ... less &lt;code&gt;any&lt;/code&gt; types in your codebase 😉.&lt;/p&gt;

&lt;h3&gt;
  
  
  Resources
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.typescriptlang.org/docs/handbook/intro.html"&gt;The TypeScript Handbook&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://katifrantz.com/react-component-with-typescript"&gt;Write a React component with TypeScript&lt;/a&gt; by Kati Frantz&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/typescript-cheatsheets/react#reacttypescript-cheatsheets"&gt;React + TypeScript Cheatsheets&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://levelup.gitconnected.com/ultimate-react-component-patterns-with-typescript-2-8-82990c516935"&gt;Ultimate React Components patterns with TypeScript 2.8&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/@jrwebdev/react-hooks-in-typescript-88fce7001d0d"&gt;React Hooks in TypeScript&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>typescript</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Making Inclusive Web Apps.</title>
      <dc:creator>Sonia Lomo</dc:creator>
      <pubDate>Mon, 05 Oct 2020 13:37:34 +0000</pubDate>
      <link>https://dev.to/msambassadorske/making-inclusive-web-apps-aj</link>
      <guid>https://dev.to/msambassadorske/making-inclusive-web-apps-aj</guid>
      <description>&lt;p&gt;On June this year, Twitter added a &lt;em&gt;voice tweets&lt;/em&gt; feature for IOS users. It was more of a test run but it put Twitter on the spotlight for excluding some people with disabilities (specifically, hearing impairment). Furthermore, when the voice tweets played, the user's profile pics flashed; which could cause photosensitive reactions like seizures. Some of the experts said that accessibility shouldn't be an afterthought in product design, because ignoring the needs of people with disabilities invariably leads to creation of bad products that don't serve all users.&lt;/p&gt;

&lt;p&gt;So, what exactly is Accessibility? It's basically whether a product can be used by people of all abilities. Be it somebody with low vision or someone who doesn't understand the speaker's language in a video. &lt;/p&gt;

&lt;p&gt;Accessibility and inclusiveness ought to be a priority because approximately 15% of the world population is living with some sort of disability. Failure to make your App more accessible is equivalent to preventing 1 billion people from accessing your app. Why would you want to prevent your awesome app from flourishing and reaching millions of users?&lt;/p&gt;

&lt;p&gt;There are ways to tackle these accessibility barriers when developing your web app. The &lt;a href="https://www.w3.org/WAI/"&gt;Web Accessibility Initiative (WAI)&lt;/a&gt; and &lt;a href="https://www.w3.org/"&gt;World Wide Web Consortium (W3C)&lt;/a&gt; published the Web Content Accessibility Guidelines in efforts to encourage development of more accessible apps.&lt;/p&gt;

&lt;p&gt;The guidelines consist of some &lt;a href="https://www.w3.org/WAI/fundamentals/accessibility-principles/#perceivable"&gt;Principles of accessibility&lt;/a&gt; as the foundation. I've briefly explained them below:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Perceivable
&lt;/h3&gt;

&lt;p&gt;This means that the content of a web app can be perceived equally using more than one sense. For instance, having alternative text for images, inserting captions in video content or having transcripts for videos. Text alternatives are generally the core of perceivable content on web apps.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Operable
&lt;/h3&gt;

&lt;p&gt;Websites should be able to function correctly, regardless of the device used to access them. Whether it's using a touch-screen, mouse or even a keyboard, navigation through the app is expected to be as smooth as possible for its users. &lt;/p&gt;

&lt;h3&gt;
  
  
  3. Understandable
&lt;/h3&gt;

&lt;p&gt;The content in your website should be easily understood and readable to the widest audience possible. This is made possible by defining unusual words, phrases and abbreviations. Having error messages and giving descriptive instructions for any forms in your website, especially for users who won't easily understand the website's functionality.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Robust
&lt;/h3&gt;

&lt;p&gt;Websites have to work with assistive technologies like browsers and other user agents. Ensure your code is up to date and will be compatible with current and future browsers.  &lt;/p&gt;

&lt;h2&gt;
  
  
  Web Accessibility Evaluation Tools
&lt;/h2&gt;

&lt;p&gt;If you want to know how accessible your website is, you can check out some auditing tools suggested by W3C &lt;a href="https://www.w3.org/WAI/ER/tools/"&gt;right here&lt;/a&gt;. Or better yet, try out these tools mentioned below. On the plus side, they can all be added as extensions in your Chrome browser.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.deque.com/axe/"&gt;AXE&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wave.webaim.org/"&gt;WAVE&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/web/tools/lighthouse/"&gt;Google Lighthouse&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Despite the common use of these tools, we shouldn't fully rely in automation for accessibility testing. They also have their limits. You can read more about it in this article &lt;a href="https://www.matuzo.at/blog/building-the-most-inaccessible-site-possible-with-a-perfect-lighthouse-score/"&gt;(Building the most inaccessible site possible with a perfect Lighthouse score)&lt;/a&gt; by Manuel Matuzovic.&lt;/p&gt;

&lt;p&gt;We should enable everyone to participate equally by being mindful of these minute but essential details in our Web Apps. Hence, in efforts to make their services more accessible, Twitter is planning on introducing automated captioning by 2021. This might seem like a small thing to some people but they'll be empowering more users in the long run. &lt;/p&gt;

&lt;h2&gt;
  
  
  More Resources...
&lt;/h2&gt;

&lt;p&gt;You can check out &lt;a href="https://docs.microsoft.com/en-us/learn/paths/accessibility-fundamentals/"&gt;Microsoft Learn's, Accessibility Fundamentals&lt;/a&gt; to learn more about Accessibility and Inclusiveness. &lt;/p&gt;

&lt;p&gt;If you're more of a hardcore reader, you can check out W3C's site on Accessibility &lt;a href="https://www.w3.org/WAI/fundamentals/"&gt;here&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
    </item>
  </channel>
</rss>
