Tag Archives: community

How web GDE Erick Wendel forever changed Node.js with the support of the open-source community

Posted by Kevin Hernandez, Developer Relations Community Manager

Have you ever faced bugs on technologies known worldwide? What did you do? 

If you are Erick Wendel, Web GDE, you roll up your sleeves and find a solution to a bug that has been plaguing big tech companies. 

Erick is a community-driven developer who got his start in the field through a software community that used to offer free courses in his home country of Brazil. This experience sparked a passion for open-source projects and collaboration that helped him solve an issue within Node.js that affected how subprocesses work in the runtime. Erick continued with his spirit of sharing knowledge by outlining exactly how he solved the bug in a detailed YouTube video (in Portuguese).

image of Erick Wendel, Web GDE, speaking at the FrontInSampa conference
Erick Wendel, Web GDE, speaking at the FrontInSampa conference

The bug

In Node.js, there’s a module called child process which allows you to create tasks in other functions so you process data in the background. This process harnesses more power from your machine and in web pages, allowing pages to load faster. When trying to import modules in JavaScript, there are two main ways to load those modules:

  1. CommonJS: scripts need to be loaded in a certain sequence. This method blocks the program until all modules are loaded in that sequence.
  2. ECMAScript Modules: allows for JavaScript to load modules asynchronously, thus preventing the blocking of the program as it’s loading files.

While creating an educational class for his students, Erick was using Node.js' child process module and trying to schedule a function that would be executed in the background. Working correctly, the parent process should’ve sent messages to the program running in the background as soon as calling the function. While doing this, he noticed that he was receiving an error and even rewrote his code multiple times. Erick was 100% certain that his code should’ve been working but despite his confidence, he continued to receive an error. So he thought to himself, “What if I put a setTimeout function here just to wait a bit and then ask for the events. Then it worked!” Erick realized this was in fact a real bug and went straight to the Node.js' GitHub repo to open up an issue and worked with other contributors to figure out the best solution.


Finding a solution

After Erick’s Eureka moment, he wanted to be sure that this wasn’t an issue that was only affecting him. “When I Googled this problem, I found these issues on Facebook Jest, Yarn, and other big libraries that anyone running JavaScript might use,” he discovered. As a champion of open-source projects and collaboration, Erick created an issue on Node.js' GitHub and discussed the issue while other contributors also participated.

When asked about the resources he used to fix this bug, Erick quickly mentions the open-source community. He spoke to Anna Henningsen, one of the most important Node.js contributors, in his opinion. His proposed idea was to introduce a new event in the child process module that would’ve alerted users when the event was “ready”. However, as Anna pointed out, this would’ve led to changes that would’ve required the community to learn how to use this new process. Instead she proposed, “What if you just enqueue all the messages and when the child process is ready, you dispatch them all?” This was the kind of collaboration that he strives for and this solution by Anna would’ve fixed the bug without breaking all applications that use Node.js.

Anna offered immense support and immediately after opening the discussion in GitHub, members of the community commented on the project and gave their input. He recalls, “After I submitted the first version of my solution, many contributors were reviewing my code and saying, ‘No, no, this is not the right way, you should fix this, this is a performance problem, etc.’ So I got a lot of feedback, learned a lot, and it was finally approved!” Without the help of the open-source community, he would’ve worked on a solution that would’ve created more issues. Instead, the community pointed out his blind spots and this collaboration allowed for a seamless solution.

With Erick’s solution, Node.js can effectively run background tasks using ECMAScript modules and large companies have Erick and the open-source community to thank for solving an issue that has been around since the beginning of Node.js.


Impact

Since solving this issue, Erick has become a Node.js core member where he reviews pull requests, attends discussions, and is regarded as an influential developer in the space. Erick has also been invited to conferences all around the world to speak about open-source development and his experience.

Erick wants to add visibility to the power of open-source projects and implores everyone, students and professionals alike, to help out with open-source. These projects have helped him with his goals of making an imprint in the world and he states, “I want to put my name on something that people will remember forever. I would say this is the power of open-source. You can add ideas or try fixing something and this can make you a better developer and a better person.”

Erick is continuing to solve problems (his newest solution fixed a bug in Node.js with a single line of code), learn, educate through his YouTube channel, and is looking forward to the next big challenge.


Erick’s thank yous

Erick would like to thank the open-source community and in particular, Anna Henningsen and Rich Trott for their support and contributions to this solution. In his words, "I know that for those experienced Node.js collaborators, this bug would have been fixed in just a matter of minutes and they let me help and give my best. This is a lesson I'll always remember."

You can find Erick on Twitter, GitHub and YouTube where he published a step-by-step tutorial (in Brazilian Portuguese) on how he fixed this bug and also gave a summarized tech talk sharing his journey.


The Google Developer Experts (GDE) program is a global network of highly experienced technology experts, influencers, and thought leaders who actively support developers, companies, and tech communities by speaking at events and publishing content.

How Web GDE Martine Dowden approaches web design from an accessibility perspective

Posted by Kevin Hernandez, Developer Relations Community Manager


To celebrate Global Accessibility Awareness Day, we interviewed Martine Dowden, Web GDE.

Headshot image of Martine Dowden, against a dark background, smiling.

Today’s websites follow certain principles for good web design. Some of these principles include simplicity, F-shaped patterned layouts (how we read content on a page), great content, loading times, color palettes, and more. One principle that might not be top of mind when looking at our favorite sites is accessibility and when applying it to web design, its purpose is to make sites available to everyone. According to the World Health Organization (WHO), about 16% of the population lives with some kind of disability. In web design, accessibility is about making sure you have enough color contrast, a lower resolution screen, different button sizes, alt text, navigation that can be accessed with your keyboard, descriptive text, and so on. For Web GDE, Martine Dowden, this is something she thinks about everyday. Martine is the CTO of Andromeda Galactic Solutions where she builds sites for her clients with an accessibility approach. Martine is also the co-author of Approachable Accessibility: Planning for Success, which landed her on Book Authority’s 20 Best Accessibility Books of All Time list, and has given numerous talks on the subject.

When asked about why accessibility is important to her, Martine shares, “It affects everybody. I want to make sure that when I'm creating something, it doesn't matter who you are, what device you're on, or what your needs are, you're gonna be able to access it. I don't want to exclude people.” To achieve accessibility, Martine urges designers and developers to think about accessibility principles as early as possible. She goes on to say that if your mockups are already inaccessible, you’re setting yourself up for failure. She compares accessibility to security and explains, “I like to parallel it to security because you can't accidentally do security correctly. Accessibility is the same way. You have to actually think about it and test for it.” For testing accessibility early on, Martine recommends using automated tools such as Lighthouse, which has an accessibility checker. However, while automated tools are helpful, it only catches a small subset of what is accessible on your site. Martine explains that automated tools don’t really understand context. “The automated tooling will tell me if I have alt text or not but it won't tell me if that alt text is relevant or helpful. If I'm showing a picture of cats and my alt text says it's a picture of dogs, the automated tooling will say it’s good to go,” she points out. While it’s helpful to have this automation, Martine recommends coupling these tools with a manual review in order to be thorough while testing for accessibility.

Martine also recommends Web Content Accessibility Guidelines (WCAG), which is the international standard. This resource provides specs and a lot of supporting documentation that explains why the specs exist, but it is an exhaustive resource that Martine doesn’t recommend reading from beginning to end. Instead, Martine suggests using it when you have a certain question and looking up the specific specs. Another technology that assists her in her work is Angular since the UI library includes the accessibility notes.

The importance of accessibility is clear when it comes to giving everyone access to web sites and with 71% of users with disabilities clicking away from sites due to inaccessibility, an accessibility approach is vital. Accessibility might be something new to you as a designer or developer but as with everything else, Martine suggests, “It's just like learning any other skill, take it bit by bit and you'll eventually get there. Everybody has to start somewhere.”

You can find Martine online on her personal site.

The Google Developer Experts (GDE) program is a global network of highly experienced technology experts, influencers, and thought leaders who actively support developers, companies, and tech communities by speaking at events and publishing content.

Developer Journey: Explore I/O through the lens of our developer communities (May 2023)

Posted by Lyanne Alfaro, DevRel Program Manager, Google Developer Studio

Developer Journey is a monthly series to spotlight diverse and global developers sharing relatable challenges, opportunities, and wins in their journey. Every month, we will spotlight developers around the world, the Google tools they leverage, and the kind of products they are building.

With Google I/O season in full swing, we’re sharing diverse perspectives of developers across Google’s developer communities who have been on the ground.

Meet AiJing, Jolina, and Maria – members of Google Developer Student Clubs, Google Developer Groups, and Women Techmakers – who share a passion for learning, creating, and connecting through Google technology as they share what they’re most excited for this year at I/O.


AiJing Wu

Headshot of AiJing Wu, smiling
Madison, Wisconsin
GDSC Lead, Women Techmakers
GDSC University of Wisconsin-Madison
Software Engineer

What does Google I/O mean to you, and what are you looking forward to most this year?

To me, Google I/O is the paradise for embracing cutting-edge technologies. I have followed the keynotes online for two years, and it is so exciting that I will join in-person this year! I can’t wait to exchange thoughts with other amazing developers and listen to the game-changing AI topics.


What's your favorite part about Google I/O?

I’m obsessed with live demos for new technologies. Daring to do a live demo shows Google developers’ strong confidence and pride in their work. It is also exciting to see what kinds of use cases are emphasized and what metrics are evaluated.


What Google tools have you used to build?

As a full-stack developer and cloud engineer, I have built progressive apps and distributed services with Chrome, Android Studio, BigQuery, Analytics, Firebase, Google Maps, YouTube, and Google Cloud Platform. Other than those, I love exploring AI and ML features with Google Colab, Cloud TPU, and TensorFlow.


Which tool has been your favorite? Why?

Chrome has been my favorite. To me, it is the best choice for web app development: great compatibility across OS platforms, feature-rich developer tools, and smooth mobile integration. ChromeDriver is a sweet bonus when accessing deployments and automating tests on a server.


Tell us about something you've built in the past using Google tools.

I collaborated with my friends to build a web app aimed at helping people understand and analyze soccer games easier and faster with pre-trained ML models. This app includes accessing YouTube video sources, detecting targets with Yolo-v3 in TensorFlow, accelerating computation with Colab GPU, and storing results in Google Cloud.


What advice would you give someone starting in their developer journey?

Actively discuss with people and listen to their ideas, especially if you are a student or a beginner. Participating in GDSC and GDG events is a great source to connect with peers and senior developers near you and across the globe. I benefit so much simply by chatting about random tech topics with others. Good communication will open your mind and guide your direction. Meeting interesting people will also make your journey as a developer much more colorful and enjoyable!


Jolina Li

Headshot of Jolina Li, smiling
Toronto, Ontario, Canada
GDSC Lead
Google Developer Student Club, University of Toronto St. George

What does Google I/O mean to you, and what are you looking forward to most this year?

It has been a dream for me since high school to attend Google I/O. In previous years, I would watch clips of the keynotes online and browse through creators’ YouTube vlogs to see all the incredible technologies at the hands-on stations. This May, I can’t believe I will be traveling to Mountain View and experiencing Google I/O 2023 for the first time live in person. For me, Google I/O is an opportunity to connect with passionate individuals in the developer community, including students, and experts from around the world. It is a full day of learning, inspiration, innovation, community, and growth. This year, I’m looking forward to hearing all the exciting keynotes in person, interacting with transformative technology, and making new connections.


What's your favorite part about Google I/O?

My favorite part about Google I/O is the technical sessions after the keynotes, where I can learn about innovative products from experts and engage in product demonstrations. I love seeing developments in machine learning, so I will definitely visit the TensorFlow station. I’m also excited to explore other Google technology stations, including Google Cloud and Google Maps Platform, and learn as much as I can.


What Google tools have you used to build?

I have used Android to build mobile apps for my software design course and a tech entrepreneurship competition. I have also used Google Colab, a cloud-based Jupyter notebook environment, for my research and deep learning engineering internships.


Which tool has been your favorite? Why?

I love using Google Colab because it’s an accessible and cost-free tool for students working on data science and machine learning projects. The environment requires no setup and offers expensive computing resources such as GPUs at no cost. It uses Python, my favorite language, and contains all the main Python libraries. The user interface features independent code segments you can run and test rather than running the entire script every time you edit code. There is also an option to add text segments between code to document various script components. Google Colab notebooks can be easily shared with anyone for collaboration and stored in Google Drive for convenient access.


Tell us about something you've built in the past using Google tools.

For my software design course project, a few teammates and I built a cooking recipe organizer app using Android Studio that allows users to discover new recipes and build their own portfolio of recipes. Users can save interesting recipes that they found, give ratings and reviews, and also upload their own recipes to the database. I designed a recipe sorting and filtering system that allows users to sort their saved recipes alphabetically, by interest keywords or rating, and filter their recipes by genre.

Android Studio allowed me to preview the mobile app development using an emulator that functions across all types of Android devices. This feature helped me to understand the app from a user’s perspective and develop the UI/UX more efficiently. We also used Google Firebase for its cloud storage, non-relational feature, and high compatibility with Android.


What advice would you give someone starting in their developer journey?

When I began attending university, I had no experience in programming and had to start my computer science career from zero. I pursued computer science, however, because I was interested in learning about AI and building technology to solve global problems such as climate change.

I believe that when you are starting your career, it’s important to have a goal about what you want to achieve. There are so many possibilities in tech, and having a goal can help you make decisions and motivate you when you’re facing challenges. It’s also important to keep an open mind about different opportunities and explore multiple areas in tech to learn more about the field and discover your passions.

Another tip is to look for opportunities and resources to help you grow as a developer. Many opportunities and resources are available for beginners, including online courses, self-guided project tutorials, and beginner-friendly workshops.

Google has amazing developer communities, including student campus clubs (GDSC), professional developer groups (GDG), Google developer expert groups (GDE), and a women in tech community (WTM). You can also create your own opportunities by teaching a hands-on workshop to enhance your technical and soft skills, starting a local developer group to gain leadership and collaboration skills, or building projects to increase your knowledge and apply what you learn.

Learn a lot, discover new opportunities, gain new skills, connect with people in tech, and keep pursuing what you love about technology!

Maria Paz Muñoz Parra

Headshot of Maria Paz Muñoz Parra, smiling
Malmö, Sweden
Google Developer Groups Organizer and Women Techmakers Ambassador
Senior front-end developer, IKEA


What does Google I/O mean to you, and what are you looking forward to most this year?

Google I/O is an opportunity to stay up to date in Google technologies and initiatives. We get to witness innovation, connect with other developers and generate energetic conversations about what we are passionate about.

Besides Bard, this year I have a special interest in the WebGPU API. Currently, I work as a senior front-end developer on a Knowledge Graph project. There, one of the most powerful tools for ontologists and data scientists to model and understand data are the canvases. I’m curious about how we can boost the performance when rendering these graphs on the web, using the new features of WebGPU. Google I/O will surely be an inspiration for my work.


What's your favorite part about Google I/O?

It’s the perfect excuse to meet my colleagues and watch the event together, popcorn included! In the online realm, it’s always fun to follow the discussions on social media, and Google always finds a way to surprise us and keep us engaged in our learning process. I still remember the I/O Adventure platform of 2022. It was an outstanding virtual experience, interacting with people in the community booths. Later, I also followed the recorded talks. A gamified learning experience, top to bottom!


What Google tools have you used to build?

The devTools have been my everyday tools for the past 10 years. The ones that I have used the most are the Core Web Vital metrics, devTools for debugging (extra love for the ones to debug accessibility issues), and tools for testing CSS on the browser (i.e. the grid properties and the media queries emulation features).

Since last year, I’ve been testing the Instant Loading and Seamless APIs, and they have allowed me to deliver high-quality interfaces with intuitive navigation, as we are used to having in native mobile apps.


Which tool has been your favorite? Why?

Accessibility guidelines and tools are my favorite. Lighthouse, the accessibility scanner, and Material Design. These tools help us ensure that all users, including those with disabilities, can access and use content and services published on the web. With these tools integrated, other users can start educating themselves on the power of accessibility. My interest in this space started when I noticed that my mother, who has low vision and motor impairments in her hands, couldn’t easily access her favorite music on her phone. The voice search feature on YouTube was revolutionary for her, and probably for many other elders.

Many questions popped into my mind: “Who is considered a user with a disability? How are the interfaces I create used? Am I creating unintentional barriers?”

As a web developer, tools that allow me to test, audit, understand and improve are a must.


Tell us about something you've built in the past using Google tools.

I collaborated with my friends to build a web app aimed at helping people understand and analyze soccer games easier and faster with pre-trained ML models. This app includes accessing YouTube video sources, detecting targets with Yolo-v3 in TensorFlow, accelerating computation with Colab GPU, and storing results in Google Cloud.


What advice would you give someone starting in their developer journey?

Many developers who start their journey come from other areas of expertise or industries. Imagine a journalist, nurse, or primary school teacher who wants to start a developer journey. They may feel they need to throw away all the knowledge they have acquired.

On the contrary, I believe prior knowledge is key to standing out as a developer. Every person has a different combination of interests, talents, and skills. Master the basics, and shine with your own story.

From meeting talented developers to exciting keynotes, there’s so much to look forward to at Google I/O 2023. To optimize your experience, create or connect a developer profile, and start saving content to My I/O to build your personal agenda. Share your experience with us by using #GoogleIO across your social media so we can find you!

Machine Learning Communities: Q1 ‘23 highlights and achievements

Posted by Nari Yoon, Bitnoori Keum, Hee Jung, DevRel Community Manager / Soonson Kwon, DevRel Program Manager

Let’s explore highlights and accomplishments of vast Google Machine Learning communities over the first quarter of 2023. We are enthusiastic and grateful about all the activities by the global network of ML communities. Here are the highlights!



ML Campaigns



ML Community Sprint

ML Community Sprint is a campaign, a collaborative attempt bridging ML GDEs with Googlers to produce relevant content for the broader ML community. Throughout Feb and Mar, MediaPipe/TF Recommendation Sprint was carried out and 5 projects were completed.


ML Olympiad 2023

I'm hosting a competiton ML Olympiad 2023 #MLOlympiad

ML Olympiad is an associated Kaggle Community Competitions hosted by ML GDE, TFUG, 3rd-party ML communities, supported by Google Developers. The second, ML Olympiad 2023 has wrapped up successfully with 17 competitions and 300+ participants addressing important issues of our time - diversity, environments, etc. Competition highlights include Breast Cancer Diagnosis, Water Quality Prediction, Detect ChatGpt answers, Ensure healthy lives, etc. Thank you all for participating in ML Olympiad 2023!

Also, “ML Paper Reading Clubs” (GalsenAI and TFUG Dhaka), “ML Math Clubs” (TFUG Hajipur and TFUG Dhaka) and “ML Study Jams” (TFUG Bauchi) were hosted by ML communities around the world.


Community Highlights



Keras


Screen shot of Fine-tuning Stable Diffusion using Keras

Various ways of serving Stable Diffusion by ML GDE Chansung Park (Korea) and ML GDE Sayak Paul (India) shares how to deploy Stable Diffusion with TF Serving, Hugging Face Endpoint, and FastAPI. Their other project Fine-tuning Stable Diffusion using Keras provides how to fine-tune the image encoder of Stable Diffusion on a custom dataset consisting of image-caption pairs.

Serving TensorFlow models with TFServing by ML GDE Dimitre Oliveira (Brazil) is a tutorial explaining how to create a simple MobileNet using the Keras API and how to serve it with TF Serving.

Fine-tuning the multilingual T5 model from Huggingface with Keras by ML GDE Radostin Cholakov (Bulgaria) shows a minimalistic approach for training text generation architectures from Hugging Face with TensorFlow and Keras as the backend.


Image showing a range of low-lit pictures enhanced incljuding inference time and ther metrics

Lighting up Images in the Deep Learning Era by ML GDE Soumik Rakshit (India), ML GDE Saurav Maheshkar (UK), ML GDE Aritra Roy Gosthipaty (India), and Samarendra Dash explores deep learning techniques for low-light image enhancement. The article also talks about a library, Restorers, providing TensorFlow and Keras implementations of SoTA image and video restoration models for tasks such as low-light enhancement, denoising, deblurring, super-resolution, etc.

How to Use Cosine Decay Learning Rate Scheduler in Keras? by ML GDE Ayush Thakur (India) introduces how to correctly use the cosine-decay learning rate scheduler using Keras API.


Screen shot of Implementation of DreamBooth using KerasCV and TensorFlow

Implementation of DreamBooth using KerasCV and TensorFlow (Keras.io tutorial) by ML GDE Sayak Paul (India) and ML GDE Chansung Park (Korea) demonstrates DreamBooth technique to fine-tune Stable Diffusion in KerasCV and TensorFlow. Training code, inference notebooks, a Keras.io tutorial, and more are in the repository. Sayak also shared his story, [ML Story] DreamBoothing Your Way into Greatness on the GDE blog.

Focal Modulation: A replacement for Self-Attention by ML GDE Aritra Roy Gosthipaty (India) shares a Keras implementation of the paper. Usha Rengaraju (India) shared Keras Implementation of NeurIPS 2021 paper, Augmented Shortcuts for Vision Transformers.

Images classification with TensorFlow & Keras (video) by TFUG Abidjan explained how to define an ML model that can classify images according to the category using a CNN.

Hands-on Workshop on KerasNLP by GDG NYC, GDG Hoboken, and Stevens Institute of Technology shared how to use pre-trained Transformers (including BERT) to classify text, fine-tune it on custom data, and build a Transformer from scratch.


On-device ML

Stable diffusion example in an android application — Part 1 & Part 2 by ML GDE George Soloupis (Greece) demonstrates how to deploy a Stable Diffusion pipeline inside an Android app.

AI for Art and Design by ML GDE Margaret Maynard-Reid (United States) delivered a brief overview of how AI can be used to assist and inspire artists & designers in their creative space. She also shared a few use cases of on-device ML for creating artistic Android apps.


ML Engineering (MLOps)


Overall system architecture of End-to-End Pipeline for Segmentation with TFX, Google Cloud, and Hugging Face

End-to-End Pipeline for Segmentation with TFX, Google Cloud, and Hugging Face by ML GDE Sayak Paul (India) and ML GDE Chansung Park (Korea) discussed the crucial details of building an end-to-end ML pipeline for Semantic Segmentation tasks with TFX and various Google Cloud services such as Dataflow, Vertex Pipelines, Vertex Training, and Vertex Endpoint. The pipeline uses a custom TFX component that is integrated with Hugging Face Hub - HFPusher.

Extend your TFX pipeline with TFX-Addons by ML GDE Hannes Hapke (United States) explains how you can use the TFX-Addons components or examples.



Textual Inversion Pipeline architecture

Textual Inversion Pipeline for Stable Diffusion by ML GDE Chansung Park (Korea) demonstrates how to manage multiple models and their prototype applications of fine-tuned Stable Diffusion on new concepts by Textual Inversion.

Running a Stable Diffusion Cluster on GCP with tensorflow-serving (Part 1 | Part 2) by ML GDE Thushan Ganegedara (Australia) explains how to set up a GKE cluster, how to use Terraform to set up and manage infrastructure on GCP, and how to deploy a model on GKE using TF Serving.


Photo of Googler Joinal Ahmed giving a talk at TFUG Bangalore

Scalability of ML Applications by TFUG Bangalore focused on the challenges and solutions related to building and deploying ML applications at scale. Googler Joinal Ahmed gave a talk entitled Scaling Large Language Model training and deployments.

Discovering and Building Applications with Stable Diffusion by TFUG São Paulo was for people who are interested in Stable Diffusion. They shared how Stable Diffusion works and showed a complete version created using Google Colab and Vertex AI in production.


Responsible AI


Thumbnail image for Between the Brackets Fairness & Ethics in AI: Perspectives from Journalism, Medicine and Translation

In Fairness & Ethics In AI: From Journalism, Medicine and Translation, ML GDE Samuel Marks (United States) discussed responsible AI.

In The new age of AI: A Convo with Google Brain, ML GDE Vikram Tiwari (United States) discussed responsible AI, open-source vs. closed-source, and the future of LLMs.

Responsible IA Toolkit (video) by ML GDE Lesly Zerna (Bolivia) and Google DSC UNI was a meetup to discuss ethical and sustainable approaches to AI development. Lesly shared about the “ethic” side of building AI products as well as learning about “Responsible AI from Google”, PAIR guidebook, and other experiences to build AI.

Women in AI/ML at Google NYC by GDG NYC discussed hot topics, including LLMs and generative AI. Googler Priya Chakraborty gave a talk entitled Privacy Protections for ML Models.


ML Research

Efficient Task-Oriented Dialogue Systems with Response Selection as an Auxiliary Task by ML GDE Radostin Cholakov (Bulgaria) showcases how, in a task-oriented setting, the T5-small language model can perform on par with existing systems relying on T5-base or even bigger models.

Learning JAX in 2023: Part 1 / Part 2 / Livestream video by ML GDE Aritra Roy Gosthipaty (India) and ML GDE Ritwik Raha (India) covered the power tools of JAX, namely grad, jit, vmap, pmap, and also discussed the nitty-gritty of randomness in JAX.


Screen grab from JAX Streams: Parallelism with Flax | Ep4 with David Cardozo and Cristian Garcia

In Deep Learning Mentoring MILA Quebec, ML GDE David Cardozo (Canada) did mentoring for M.Sc and Ph.D. students who have interests in JAX and MLOps. JAX Streams: Parallelism with Flax | EP4 by David and ML GDE Cristian Garcia (Columbia) explored Flax’s new APIs to support parallelism.

March Machine Learning Meetup hosted by TFUG Kolkata. Two sessions were delivered: 1) You don't know TensorFlow by ML GDE Sayak Paul (India) presented some under-appreciated and under-used features of TensorFlow. 2) A Guide to ML Workflows with JAX by ML GDE Aritra Roy Gosthipaty (India), ML GDE Soumik Rakshit (India), and ML GDE Ritwik Raha (India) delivered on how one could think of using JAX functional transformations for their ML workflows.

A paper review of PaLM-E: An Embodied Multimodal Language Model by ML GDE Grigory Sapunov (UK) explained the details of the model. He also shared his slide deck about NLP in 2022.

An annotated paper of On the importance of noise scheduling in Diffusion Models by ML GDE Aakash Nain (India) outlined the effects of noise schedule on the performance of diffusion models and strategies to get a better schedule for optimal performance.


TensorFlow

Three projects were awarded as TF Community Spotlight winners: 1) Semantic Segmentation model within ML pipeline by ML GDE Chansung Park (Korea), ML GDE Sayak Paul (India), and ML GDE Merve Noyan (France), 2) GatedTabTransformer in TensorFlow + TPU / in Flax by Usha Rengaraju, and 3) Real-time Object Detection in the browser with YOLOv7 and TF.JS by ML GDE Hugo Zanini (Brazil).

Building ranking models powered by multi-task learning with Merlin and TensorFlow by ML GDE Gabriel Moreira (Brazil) describes how to build TensorFlow models with Merlin for recommender systems using multi-task learning.


Transform your Web Apps with Machine Learning: Unleashing the Power of Open-Source Python Libraries like TensorFlow Hub & Gradio Bhjavesh Bhatt @_bhaveshbhatt

Building ML Powered Web Applications using TensorFlow Hub & Gradio (slide) by ML GDE Bhavesh Bhatt (India) demonstrated how to use TF Hub & Gradio to create a fully functional ML-powered web application. The presentation was held as part of an event called AI Evolution with TensorFlow, covering the fundamentals of ML & TF, hosted by TFUG Nashik.

create-tf-app (repository) by ML GDE Radostin Cholakov (Bulgaria) shows how to set up and maintain an ML project in Tensorflow with a single script.


Cloud

Creating scalable ML solutions to support big techs evolution (slide) by ML GDE Mikaeri Ohana (Brazil) shared how Google can help big techs to generate impact through ML with scalable solutions.

Search of Brazilian Laws using Dialogflow CX and Matching Engine by ML GDE Rubens Zimbres (Brazil) shows how to build a chatbot with Dialogflow CX and query a database of Brazilian laws by calling an endpoint in Cloud Run.


4x4 grid of sample results from Vintedois Diffusion model

Stable Diffusion Finetuning by ML GDE Pedro Gengo (Brazil) and ML GDE Piero Esposito (Brazil) is a fine-tuned Stable Diffusion 1.5 with more aesthetic images. They used Vertex AI with multiple GPUs to fine-tune it. It reached Hugging Face top 3 and more than 150K people downloaded and tested it.

6 Flutter/Dart Projects from Google Dev Library to Kickstart Your Next Project

Posted by Swathi Dharshna Subbaraj, Project Coordinator, Google Dev Library

Developers can build, test, and deploy any application from a single codebase in Flutter. With high performance and code reusability, it has transformed the app development process. Flutter has become the go-to framework for developers as it streamlines the development process, allowing applications to be built on multi-platform with ease and efficiency.

In this blog, we will explore 6 Flutter/Dart projects from Google Dev Library from building weather apps to Tetris games. These projects will help you grow as a developer, and inspire you to build your first open source project. Let's dive in!

Flutter Design Patterns by Mangirdas Kazlauskas

screen grab of Flutter design patterns by Mangirdas Kazlauskas

Design patterns are reusable solutions to common software development problems. They help you create software that is easier to maintain, extend, and refactor. Written in Dart, this repository showcases all 23 design patterns, as described in Design Patterns: Elements of Reusable Object-Oriented Software, to help you learn and apply design patterns in your own projects, improving the quality and maintainability of your code. 

Check out Flutter design patterns


Smart Home App by Lakhan Kumawat

A mobile application (developed using Flutter and Dart) designed to control various smart home devices. The app also allows users to create custom scenes to automate device actions based on certain conditions or events. 

Check out the Smart Home App


Photo Manager by Alex Li

Learn about an easy-to-use package for accessing a device's photo library, including operations like retrieving images, videos, and albums, as well as deleting, creating, and updating files in the photo library. This package is built using the Flutter plugin architecture, which enables it to interact with native platform APIs for accessing photos and videos on iOS and Android devices. 

Check out photo_manager


Tetris Flutter Game by Mouaz M. Al-Shahmeh

This project implements the classic Tetris game using the Flutter framework. It’s structured into several classes that handle different aspects of the game. 

Check out Tetris Flutter game


FlutterGen by Daichi Furiya

FlutterGen is a code generator tool that helps you automate the process of generating boilerplate code for assets and fonts, making it easier to use them in Flutter projects. It works by scanning a project directory for specified assets and font files and generates code that can be easily used within a Flutter application. Overall, FlutterGen can save you time and effort in managing assets and fonts in your Flutter projects. 

Check out the FlutterGen package


Flutter Maps by Souvik Biswas

This app uses the Google Maps SDK & Directions API when coding with Flutter. It offers several location-based functions, including the ability to detect the user's current location. It also uses Geocoding to convert addresses into coordinates and vice versa, and allows users to add markers to the map view. 

Check out the Flutter Maps package


Are you actively contributing to the #FlutterDev community? Become a Google Dev Library Contributor!

Google Dev Library is a platform for showcasing open-source projects featuring Google technologies. Join our global community of developers to showcase your projects. Submit your content.

Yonatan Levin, Android GDE, uses his developer superpowers to help refugees in Ukraine

Posted by Kevin Hernandez, Developer Relations Community Manager

Headshot of Yonatan Levin, smiling
Yonatan Levin, R&D Tech Lead, Monday.com

Initial reaction to the news

At the beginning of Russia’s invasion of Ukraine, Android GDE Yonatan Levin was confused. He started his day just like any other - with exercise and a book - but on the day of the invasion, his phone was bombarded with text messages from friends, relatives, and coworkers. Normally a hard worker, Yonatan tried to go into work but as he sat at his desk, he had a distracting thought in the front of his mind. He recounts, “I was staring at my monitor and in my head, all I kept repeating was, ‘I have to do something, I have to do something.’” He messaged coworkers about the situation to see what they could do and eventually, the leadership of his or gave Yonatan their blessing to go to the Ukraine / Poland border and help the refugees. Yonatan and his friends immediately packed their bags and set out to Poland.

Arriving at the border

Yonatan and his friends landed and immediately drove 6 hours from Warsaw to the border where camps organized by volunteers were located. When he got there, he and his friends felt immediate shock. They saw thousands of refugees crammed in a small space with their whole lives packed into bags. His feeling of shock quickly wore off as he saw the unorganized volunteer efforts; he started focusing on ways to support relief efforts as a developer.

Yonatan noticed that there were volunteers arriving from all over Europe to offer free rides, accommodation, or even work opportunities. However, there was little technology being used - volunteers held up signs with locations they were driving to. The current matchmaking process was inefficient, so he decided to build an Android app and a solution on top of monday.com (an all-in-one work management software) where volunteers with cars and refugees registered online and were matched based on where they needed to go.

Using technology to turn chaos into order

Just like any new idea or a startup, Yonatan’s group went through iterations before they had a solution that truly worked. To replace the cardboard signs that volunteer drivers held up, Yonatan and his friends bought laptops and a TV so they could display a list of drivers and their destinations. Then, they matched refugees with volunteer drivers - but this proved to be a manual solution. They offered this solution to other camps but when they came back to the original site, they found that the laptops were closed and volunteers reverted back to the old system of holding up cardboard signs. This was a sign to go back to the drawing board to create something that would stick.

While the laptops and TV screens helped, there were still large queues at the camps as busloads of refugees came in every few minutes. With monday.com, they created a registration form for the refugees and a completely new process. Once refugees arrived at the camp, they received a wristband with a QR code, registered their names, and selected what they needed: food, sim cards, a bed, a ride to a different city, etc. This new process took just 10 minutes and they built a dashboard to keep track of data in order to dedicate resources where they were needed. For example, if the most in-demand destination was Warsaw, volunteers knew to recruit more drivers heading there.

Yonatan and his friends were able to pull off the impressive feat of developing an entire Android app with 3rd party APIs integrations for driver verification and a core database with monday.com in just one night. “To build an app in one night is amazing. You can not easily do this with other platforms,” he observed. This was a turning point for the camps and volunteer organizers embraced this system.

Reflecting a year later

Yonatan hopes to inspire others through his experience. “This is something that happened very close to me. If I did something about it, I hope others know they can help too,” he urges. He expanded the system to other camps and remembers one of the organizers beaming that it was the best software they have ever used. Yonatan and his colleagues used their expertise to help refugees get to safety and he reflects on being a developer by saying, “It is a power that we developers have - to identify a huge pain and solve it with relatively minimal effort, sometimes in a matter of hours. This is a super power.”

Yonatan’s motto is to help in any way you can. He encourages other developers, “Things happen everywhere, all the time. Do not distance yourself from the struggles of others. Instead, search for ways you can help them.” Due to the changing environment, the app is not being used today but countless refugees were driven to safety thanks to Yonatan's developer superpowers.

You can find Yonatan on LinkedIn or Twitter.

The Google Developer Experts (GDE) program is a global network of highly experienced technology experts, influencers, and thought leaders who actively support developers, companies, and tech communities by speaking at events and publishing content.

Developer Journey: April 2023

Posted by Lyanne Alfaro, DevRel Program Manager, Google Developer Studio

Developer Journey is a monthly series to spotlight diverse and global developers sharing relatable challenges, opportunities, and wins in their journey. Every month, we will spotlight developers around the world, the Google tools they leverage, and the kind of products they are building.

This month, it’s our pleasure to feature three members from the Google Developer Experts community. Enjoy reading through their entries below and be on the lookout on Google Developer communities’ social media platforms, where we will also showcase their work.


Ruqiya Bin Safi

Headshot of Ruqiya Bin Safi smiling

Google Developer Expert, Machine Learning

Women Techmakers Ambassador

Jeddah, Saudi Arabia

Data Scientist

Twitter

LinkedIn

What Google tools have you used to build?

I used TensorFlow, one of the most widely used tools for building machine learning models. It is employed in a variety of applications including image recognition, speech recognition, and natural language processing.

Besides TensorFlow, I have used several cloud-based products for ML/AI development, such as Google's Vertex AI. This powerful platform enables developers to accelerate machine learning development and deployment by providing a unified platform for data, AI, and tooling for both pre-trained and custom models. With Vertex AI, developers can implement MLOps practices to efficiently manage, monitor, and govern their ML workloads. This includes features like automated model tuning, model management, and model serving.

Another useful Google tool that I often use is Google Colab, a cloud-based notebook that enables users to run and share Jupyter notebooks with Python code, including TensorFlow code.

Which tool has been your favorite to use? Why?

One of my favorite tools to use is Google Vertex AI. This platform provides an end-to-end solution for building, deploying, and managing machine learning models. It offers a user-friendly interface for data processing, model training, and model deployment without requiring extensive knowledge of machine learning.

Google Vertex AI also has a wide range of pre-built models, such as image and speech recognition, text classification, and more - which can be used to jumpstart machine learning projects. The platform also allows for customization of these pre-built models or the ability to create your own models. Additionally, it provides automatic hyperparameter tuning, which helps to optimize model performance.

Another great feature of Google Vertex AI is its scalability. It can handle large datasets and can automatically scale resources up or down based on demand, making it ideal for organizations with varying machine learning needs.

Overall, Google Vertex AI is a powerful and user-friendly tool that makes machine learning accessible to a wider audience. Its combination of pre-built models, customization options, automatic hyperparameter tuning, and scalability make it an excellent choice for both beginners and advanced machine learning practitioners.

Tell us about something you've built in the past using Google tools.

I collaborated with my team in the Smartathon competition to develop an object detection model utilizing two distinct methods: YOLOv3 Tensorflow, pre-trained on ImageNet dataset, and Google AutoML. Our primary goal was to accurately identify and locate various objects within images. The Smartathon competition specifically targets visual pollution on street imagery taken from a moving vehicle. The objective is to introduce a new field of automated visual pollution classification for environmental management using advanced technology.

Meanwhile, participants simulate human learning experience by training and testing convolutional neural networks for picture identification and visual pollutant classification. The competition aims to create a "visual pollution index" for urban areas, which could become a new metric in urban environmental management. The competition dataset consists of raw sensor camera inputs captured by a fleet of multiple vehicles in a specific geographic area in KSA. We were motivated to participate and to have an impact on further development in city planning and to empower communities worldwide.

What advice would you give someone starting in their developer journey?

  • Choose a specific field or technology that you are interested in and focus on it. There are so many areas of development to explore, so it's important to identify your interests and invest your time and energy in developing expertise in that area.
  • Practice coding regularly. The more you practice, the better you will become.
  • Join a developer community or attend developer meetups. This can help you learn from other developers, get feedback on your work, and stay up-to-date on the latest trends and technologies.
  • Read documentation and tutorials regularly. This will help you stay up-to-date on the latest trends and technologies and keep your skills sharp.
  • Don't be afraid to ask for help. Developers are a helpful community, and there are many resources available online to help you with any questions or issues you may encounter.
  • Develop good coding habits early on. This includes writing clean and readable code, commenting on your code, and using version control.
  • Always be willing to learn and adapt. Technology is constantly evolving, so it's important to stay open to new ideas and be willing to learn new technologies and programming languages.
  • Remember that becoming a successful developer takes time and effort, but with persistence, dedication, and a passion for coding, you can achieve your goals.

Antonio Leiva

Headshot of Antonio Leiva smiling

Google Developer Expert, Kotlin and Android

Madrid, Spain

CEO @ DevExpert

YouTube

Twitter

LinkedIn

What Google tools have you used to build?

Android and all the AndroidX libraries. In particular, I use Jetpack Compose a lot nowadays.

Which tool has been your favorite to use? Why?

Jetpack Compose is one of the tools that I'm dedicating most of my time to. As a trainer, I believe it's the right time to learn this technology, and as a developer, I see it as a game-changer in terms of interface creation.

The development speed is significantly increased, and in my opinion, it's a much more natural way to create UI code. Additionally, being cross-platform opens up a world of possibilities that were previously unimaginable.

Tell us about something you've built in the past using Google tools.

I have built many amazing applications while working on projects for other companies. The most challenging one was Plex, where we worked on a multimedia playback and personal catalog product. There, we faced many complexities that are hard to find in typical applications.

Perhaps the project I am most proud of has been the creation of my own teaching academy, DevExpert, where I help other programmers become experts in Android technologies and the Kotlin language.

What advice would you give someone starting in their developer journey?

One thing that truly ignited my passion for my work and software development was participating in community events hosted by the likes of Google Developer Groups, where I discovered many talented individuals who genuinely enjoyed their daily tasks.

This energy inspired me to improve in my profession and to create content that would assist others in similar situations.

So my advice is to become involved in communities, attend events, and dedicate time to helping others follow the same path.


Aurélie Vache

Headshot of Aurélie Vache smiling

Google Developer Expert, Cloud technologies

Toulouse, France

DevRel, OVHCloud

Twitter

LinkedIn

GitHub

Notist

What Google tools have you used to build?

As a developer and data lover, I use several Google products and I have been a Cloud enthusiast for many years.

I’ve used:

  • Google Cloud Platform: BigQuery, GKE, Cloud Run, Cloud Functions, Anthos, Pub/Sub, Cloud Code, Cloud Build, Container Registry
  • Android Studio
  • Google Maps API
  • GWT

When it comes to building, accessibility and AI also matter to me so I used Cloud Vision API, Cloud Text to Speech API, Cloud Speech to Text API & Cloud Translation API.

I am working for OVHcloud, a European Cloud provider, so I’m not using Google Cloud technologies at the moment, but I continue to use a language that I love: Golang. It is one of the languages used within OVHcloud to create new cloud provider services.

Moreover, for several years, I have been using and sharing a lot about Kubernetes and Isio - two projects created and open-sourced by Google.

Which tool has been your favorite to use? Why?

I have two tools in my mind when I am thinking about Google.

The first one is Google BigQuery. In my first company, we needed to analyze data for our internal teams and our customers, and the first technical architecture that we had put in place was based on the Hadoop ecosystem with a cluster under Cloudera of ten hosted servers. The performance was there, but the time spent on maintenance and operations was high.

When BigQuery was mature enough and met our needs on paper, we decided to test this new Google technology and migrate our products. We’ve spent years creating tools related to BigQuery, customizing and fine-tuning queries, monitoring developments, and maintaining products.

Another tool that I love is Kubernetes. It is a container orchestrator created and open-sourced by Google that I discovered and used a lot at a previous job. Since then, I have used this tool often in production. I gave several talks at conferences on it, published many blog posts, and used sketchnotes to explain this technology in a visual way.

Now, I work with the OVHcloud teams who create and maintain managed Kubernetes clusters. It's a pleasure to test, give feedback, help on the UX and DX of the solutions, write articles, tutorials, talk to users, and just keep working daily with Kubernetes.

Tell us about something you've built in the past using Google tools.

In my first company, I co-created moderation and community management tools. First, there was an application that centralizes all conversational content flows in real time, regardless of the social network, website, or blog. This application, made in Java and Google Web Toolkit, is still used by teams of moderators, community managers, watchers, and supervisors who can moderate, classify, and apply a tone to the content of the messages.

After linking this tool to Google BigQuery to store data in real time, it was possible to do so much more. We could moderate content in post, generate customer reports, and dashboards for teams.

What advice would you give someone starting in their developer journey?

Learn every day. We are lucky to do a job that allows us to learn every day. You have the right to make mistakes and to learn from those mistakes properly.

There are plenty of great communities through which you could attend presentations. Talk to other developers and then feel free to share from your end as well.

One more thing: Trust yourself. Don't try to copy others. Be yourself. Stay yourself. Have confidence in yourself, in your ideas, and in your abilities.

Become a Google Developer Student Club lead

Posted by Rachel Francois, Program Manager

Do you love programming and Google technologies? Interested in using your tech skills to help your community? Excited to teach other students to code? If the answer to these three questions is yes, we encourage you to apply to be a Lead of Google Developer Student Clubs https://developers.google.com/community/gdsc/leads!

The application for 2023-2024 Leads is OPEN. Get started at goo.gle/gdsc-leads.

Here are a few more details about the program:

What are Google Developer Student Clubs?

Google Developer Student Clubs (GDSC) are university-based community groups for students interested in Google technologies and programming. There are Google Developer Student Clubs in over 110 countries around the world that include undergraduate and graduate students. GDSC members teach each other about Machine Learning, Android app development, Google Cloud, Flutter, and other exciting technologies.

Clubs host events, guest speakers, and hackathons. Many participate in the GDSC Solution Challenge. Students who participate in GDSC have the opportunity to build new skills and learn with their peers and often have the chance to create technical solutions for their communities.

For example, COMSATS Wah University GDSC lead Ahsan Aman built an Android app to detect currency counterfeiting, a problem in his community in Northern Pakistan.

“Through leading my university’s Google Developer Student Club in Islamabad, I came across Machine Learning and other products like Google Teachable Machine,” he says. “With the resources and guidance available from Google, I applied my new skills in across tools like Google Teachable Machine and Android development to build 5Hazar, an application that aims to scan and detect fake currency notes using Machine Learning.”

How will I improve my skills as a GDSC Lead?

As a Google Developer Student Club Lead, you’ll:

  • Receive mentorship from Google.
  • Join a global community of leaders.
  • Share your skills with peers.
  • Teach other students to code and use Google technologies.
  • Build solutions for real-world problems.

Not only will you learn technical skills, you’ll grow your leadership skills, by organizing a student organization and establishing a vision for your community.

“GDSC helped me with personal skills, soft skills, such as public speaking and leadership,” says 2019 GDSC Vancouver Island University lead Lenz Paul. “The highlight was that I learned a lot about Google Cloud technologies, by holding workshops and delivering content.”

How can I find a Google Developer Student Club near me?

There are over 1900 Google Developer Student Clubs in over 110 around the world. Find a club near you here, or learn how to start your own, here.

When do I need to submit the application?

We encourage students to submit your application as soon as possible. Learn more about your region’s application deadlines here, and learn more about GDSC’s program criteria.

Make a difference in your community

From working to solve the United Nations Sustainable Development Goals to combating climate issues, Google Developer Student Club leads are learning valuable coding skills while making a true difference.

“Being a GDSC Lead has brought me tremendous opportunities,” says Rose Niousha, founder of GDSC Waseda University and Women Techmakers ambassador. “Since one of my biggest objectives was to tackle the gender barrier in the tech industry through my GDSC community, I actively hosted events during International Women's Day (IWD) month.”

We look forward to seeing what our next group of Google Developer Student Club Leads can accomplish. Join the fun here.

Note: Google Developer Student Clubs are student-led independent organizations, and their presence does not indicate a relationship between Google and the students' universities.

Navigating new routes, places and distance: Introducing Google Maps Platform to Dev Library

Posted by Swathi Dharshna Subbaraj, Project Coordinator, Google Dev Library

We are excited to announce that Google Maps Platform has now been officially added to the Dev Library! Continuous innovation and the integration of technology into our physical environment have become increasingly important. One product, Google Maps, has played a critical role in shaping the future of the internet. With these resources, developers have created applications that enable them to visualize geospatial data and build projects ranging from hyperlocal logistics to location-driven app development.

By adding Google Maps Platform, Dev Library contributors will be better able to create innovative and useful applications that utilize Google’s mapping, places, and routing data and features. Developers now have access to even more resources that can help take their projects to the next level.

As Alex Muramoto, the Google Maps Platform curator for Dev Library, said,“We’re excited to see developers across tech stacks using Google Maps Platform to build and showcase their projects on Google Dev Library. We hope these projects will provide inspiration and guidance to help your own development efforts”.

Let's explore some contributions from Dev Library authors who have implemented Google Maps Platform APIs and SDKs into their applications.


Contributions in Spotlights:



Flutter Maps by Souvik Biswas

This app uses Google Maps SDK & Directions API on flutter framework. It offers several location-based functionalities, including the ability to detect the user's current location.

It also utilizes Geocoding to convert addresses into coordinates and vice versa, and allows users to add markers to the map view. Moreover, it enables the drawing of routes between two places through the use of Polylines and Directions API, and calculates the actual distance of the route.

Learn more about Flutter Maps


How to integrate a customized Google Map in Flutter by Jaimil Patel

Learn how to use the Google Maps Flutter plugin to display a customized Google Maps view.

Explore key customization features like configuring the integration with Google Maps, adding a custom style to the map, and fetching the current location with the user's permission.

Learn more about the blog post

Customize the Google Map marker icon In Flutter by Lakshydeep Vikram

Learn how to use the Google Maps Flutter plugin to display a customized Google Maps view.

EDiscover how to customize a Google Maps marker icon by adding an image of your choice in Flutter in just a few steps: add the Google Maps Flutter plugin to the Flutter application, then describe how to use the GoogleMap widget provided by the plugin to display the map on the screen.

See how it's done

Google Dev Library is a platform for showcasing open-source projects and technical blogs featuring Google technologies. Join our global community of developers and showcase your Google Maps projects by submitting your content to the Dev Library.

Google Dev Library Letters: 19th Edition

Posted by the Dev Library team

In this newsletter, we’re highlighting the best projects developed with Google technologies that have been contributed to the Google Dev Library platform. We hope this will spark some inspiration for your next project!


Contributions of the Month


[ML] Serving Stable Diffusion by Chansung Park

Learn the various ways to deploy Stable Diffusion with TensorFlow Serving, Hugging Face Endpoint, and FastAPI.


[ML] Textual inversion pipeline for Stable Diffusion by Chansung Park

Dive into this repository which demonstrates how to manage multiple models and their prototype applications of fine-tuned Stable Diffusion on new concepts by Textual Inversion.

Read more on DevLibrary 


[Flutter] Animated soccer rating hexagon by Prateek Sharma

Create a hexagon widget in Flutter that displays the ratings of a soccer player or team. The six sides represent a different aspect of the player or team's rating such as speed, strength, and accuracy.

Read more on DevLibrary 


Android & Kotlin


Mastering Kotlin Coroutines by Amit Shekhar

Dive into an introduction to coroutines in Kotlin programming language. Coroutines are a way to write asynchronous and non-blocking code in a sequential and easy-to-understand manner.

Kotlin Symbol Processing (KSP) for code generation by Tim Lin

Discover more about KSP API you can use to develop lightweight compiler plugins, which helps you get the complete source code information during compile time.

Form Conductor by Naing Aung Luu

Learn about form conductor. More than form validation, it provides a handful of reusable API to construct a form in simple easy steps.

MovieDB by Gabriel Bronzatti Moro

Discover how to fetch data from Movie DB API and allow users to search for movies and view details and store them on a local database in this Android project.


Angular


A complete guide to Angular Multilingual Application by Hossein Mousavi

Dive into the technical aspects of building a multilingual Angular application, starting with the localization of the application's text.


Flutter


Bank cards UI by Ethiel Adiassa

See how Flutter can be used to create aesthetically pleasing and functional UI designs for banking applications.

macOS UI by Reuben Turner

Dive into the repo resource for designers and developers looking to create beautiful templates and tutorials to create macOS applications and interfaces.


Google Cloud


Search for Brazilian laws using Dialogflow CX and matching engine by Rubens Zimbres

Develop a chatbot using Dialogflow CX and a matching engine to help users search for something specific in legislation.

Awesome CloudOps automation by Doug Sillars

Learn how a single repository could satisfy all your day-to-day CloudOps automation needs.

Serverless Kubernetes on Google Cloud Platform by Gursimar Singh

Learn how serverless technologies like Cloud Run can be used to simplify and expedite the process of designing software applications.

Implement secure CI/CD with Workload Identity Federation, GitLab CI, and Cloud Deploy by Ezekias Bokove

See how to implement a secure Continuous Integration/Continuous Deployment (CI/CD) pipeline using Workload Identity Federation and GitLab CI.