Category Archives: Google Developers Blog

News and insights on Google platforms, tools and events

Introducing the Google for Startups Accelerator: Black Founders Class of 2022

Posted by Matt Ridenour, Head of Startup Developer Ecosystem - USA

Image contains logos and headshots of the most recent class of Google for Startups Accelerator: Black Founders.


Today only 1% of venture capital goes to Black founders in the US, with Black women founders receiving even less. At Google, we are committed to building racial equity in the North American startup ecosystem. In May, we announced an open call for applications for our third class of Google for Startups Accelerator: Black Founders, bringing the best of Google's programs, products, people and technology to Black founders across North America. From hundreds of applicants, we're proud to announce the 12 exceptional startups selected to join the accelerator:

  • Beam.city DNA (Toronto, Ontario): A growth coordination AI Platform helping businesses maximize growth using ads, email and social.
  • EdLight (Melrose, Massachusetts) Uses AI to better read, interpret and digitize handwritten student work, reducing misconceptions and increasing equity amongst students, teachers and families.
  • HumanSquad (Toronto, Ontario): Simplifies the immigration and study abroad system by empowering immigrants everywhere with the resources, products and personalized support to immigrate conveniently and affordably.
  • Innovare (Chicago, Illinois): An app that aggregates and displays data from a variety of systems to empower education leaders to make data-driven decisions that positively impact students and communities.
  • Mozaic (Chicago, Illinois): An API-first global payment platform built for co-creators on any project, providing smart contracts that automate split income among creative teams.
  • Node (Toronto, Ontario): A gig marketplace that allows small businesses to hire local influencers in their neighborhood.
  • Onramp (Oakland, California): A workforce development platform helping companies build more diverse candidate pipelines by providing them with a mechanism to invest in skills development for current and future candidates.
  • Paerpay (Boston, Massachusetts): A contactless payment and loyalty experience for restaurants and their guests that doesn't require a new point of sale (POS) system.
  • Smart Alto (Birmingham, Alabama): A conversational sales platform for local service providers, enabling them to set meetings with clients without cold calling.
  • TurnSignl (Minneapolis, Minnesota): A mobile platform that provides real-time, on-demand legal guidance from an attorney to drivers, all while their camera records the interaction.
  • WearWorks (Brooklyn, New York): Uses the skin as a communications channel to deliver information. Their product, Wayband, is a Haptic navigation app and wristband to guide users using vibration without visual or audio cues.
  • XpressRun (Louisville, Kentucky): Provides same-day and next-day delivery at competitive rates for direct-to-consumer brands.

This fall, these startups will embark on a 10-week virtual program consisting of mentorship, technical support and curriculum covering product design, machine learning, customer acquisition, and leadership development for founders.

Please visit the company’s websites and reach out to them for more information.

Google Earth Engine GDE Liza Goldberg uses tech to fight climate change

Posted by Janelle Kuhlman, Developer Relations Program Manager

Photo of Liza Goldberg, Google Earth GDE
Liza Goldberg, Google Earth GDE

Google Earth Engine GDE Liza Goldberg uses tech to fight climate change

Liza Goldberg learned to code through Google Earth Engine at age fourteen, when her mentors at NASA, where she was an intern, introduced the tool as a way to model global trends in environmental change. Liza, who had arrived at NASA with no coding or remote sensing experience, gradually gained expertise in the platform, thanks to strong mentorship, Google training, and guidance from the Google Earth Engine developer community. The fact that Google Earth Engine is built for scientists and has a clear world impact aligned with Liza’s commitment to using technology to combat climate change. “Earth Engine enabled me to write each line of code knowing that my algorithms could eventually make true change in climate monitoring,” she says. “The visualization-focused interface of Earth Engine showed me that coding could be simple, data focused, and broadly influential across all fields of climate science.”

Liza Goldberg on stage speaking at the Geo for Good Summit
Liza Goldberg speaking at the Geo for Good Summit


Becoming a GDE


Liza used Earth Engine for years at her NASA internship, which grew into a part-time research position. In 2022, her longtime collaborator on the Google Earth Engine team, Tyler Erickson, nominated Liza for the GDE Program, and she became a GDE in April 2022.

“When I found out about my nomination, I felt admittedly nostalgic,” she says. “I remembered my 14-year-old excitement when I first opened Earth Engine – how the whole world suddenly seemed open to me. Becoming a GDE felt like coming full-circle; in many ways, I grew up with Earth Engine.”

Liza hopes her GDE role encourages other young students to explore new technologies.

“I hope that my position as a GDE can show other young students - particularly women - that starting with no knowledge of a field doesn’t need to be a barrier towards accomplishing your ultimate goals,” she says. “As the youngest female GDE in North America, I hope to break the barriers that prevent other young women from chasing down their passions in male-dominated arenas.”

In her GDE role, Liza is collaborating with Google India and the Indian Institutes of Technology (IIT) to launch a series of Google Earth Engine trainings across the country, building technical capacity among the next generation of climate scientists.

“We’ll be guiding students in basic geospatial skills, preparing them for fellowships with partner conservation organizations in the coming year,” she says. “I’m optimistic that this program can distribute the advanced computing power of Earth Engine to students who can leverage its tools for local-to-national scale change.”

Working at NASA


Liza has continued her longtime work on global mangrove ecosystem vulnerability at NASA, analyzing the impact of various mangrove protection and governance models on the degree of forest disturbance. Liza is spending the summer in West Africa with her NASA colleagues, completing mangrove-based fieldwork and delivering Google Earth Engine trainings to academic and conservation institutions in the area.

Liza is also currently leading The Atlantis Project, a global initiative to enable the Earth’s most climate vulnerable populations to develop community disaster response capacity, at NASA.

“We’re using Google Earth Engine to map the key barriers toward a community’s recovery from impending climatic disasters, enabling aid organizations to more effectively target the right stressors in the right communities,” she says. “We’re currently training highly flood vulnerable communities in early warning system deployment and household disaster preparation and response.”

Her team is also collaborating with NGOs in India to educate communities on their post-disaster aid rights.

Studying at Stanford


Liza is also a college student, studying Earth Systems and international development policy at Stanford University.

“I seek to better understand how climate change can further trap the extreme poor in cycles of lagging economic growth,” she says. “I will then combine my remote sensing knowledge with this policy and climate change background to develop new solutions for climate adaptation across the developing world.”

Ultimately, Liza seeks to use technology to help the planet’s most climate-vulnerable populations respond most effectively to climate impacts.

“I’ve found that satellite analysis is among the most effective ways to tackle many of these challenges, but I’ve fallen in love with the problem, not any particular solution to it,” she says. “In my professional future, I seek to continue applying satellite tech towards building these critical bridges between technical capacity and on-the-ground need.”

Learn more about Liza on LinkedIn.

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.

GDSC Lead in Islamabad Develops Proof of Concept Android Application to Prevent Counterfeiting

Posted by Eric ShangKuan, Developer Relations Program Manager, Taiwan, Hong Kong, and South Asia Frontier.

Fighting Counterfeit Currency in Northern Pakistan with Technology


Counterfeit currency remains a significant issue in smaller and remote towns of Pakistan, such as the Gilgit Baltistan region of Northern Pakistan. Ahsan Aman, a Google Developer Student Clubs (GDSC) Lead at COMSATS Wah University in Islamabad, grew up in a small town in the region and watched citizens and shopkeepers become victims of counterfeiting.

Counterfeiting is defined as the act of imitating something authentic, with the intent to steal, destroy, or replace the original, for use in illegal transactions, or otherwise with the intent to deceive individuals into believing that the fake is of equal or greater value than the real thing.

When Ahsan’s mother received a fake 5,000 Rupee note from a shopkeeper, Ahsan decided there must be a technical approach to address the problem. Ahsan believed a mobile application could offer a way for ordinary people who can’t afford the sophisticated authentication technology banks use.

“It was clear that common people didn’t have the means to verify or differentiate between real and fake notes,” says Ahsan. “This made me wonder if today’s technology could be employed to address this problem.”

With the support from his GDSC mentors based in Islamabad and his local GDSC chapter, Ahsan embarked on a project to build an android application that aimed to identify counterfeit currency. Ahsan’s Android mobile application, 5Hazar, provides a proof of concept for a counterfeit detection mobile application that would enable users to scan currency notes and identify counterfeit money.

GDSC and Technical Skill Building


“Joining GDSC was an important part of this journey,” Ahsan says. “Through leading my university’s Google Developer Student Club, I came across Machine Learning and other products like Google Teachable Machine. 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.”

The application uses digital image processing made possible by Google Teachable Machine. Ahsan also repurposed a lens as an affordable hardware component–users can attach the lens to a phone camera, open the application, and take a picture of a bank note. Within ten seconds, the machine learning algorithm can detect whether the note is real or a fake.

A technical approach leads to new opportunities


“I feel really proud because not only do people see value in the tool I built, but I also got to pitch my idea at multiple hackathons as a Google Developer Student Club lead,” says Ahsan.

“Through these opportunities, I got invited to work with a leading startup incubation center, and now I have a dedicated team working to improve and scale this idea. I have tested the application with over 200 customers and shopkeepers, and I’m very excited to see that the feedback is positive and encouraging.”


Ahsan says he is enjoying his journey of learning new technology, building a tool to address a problem in his community, and now scaling it widely.

The Road Ahead


“I strongly believe that even as student programmers, we have the opportunity and privilege to improve the lives of people around us with the technology we build,” Ahsan says. “I encourage every student to find and take part in such opportunities where you can learn, connect, and grow.”

Google Developer Student Clubs (GDSC) are community groups for college and university students like Ahsan who are interested in Google developer technologies.

With over 1500+ chapters in 113 countries, GDSC aims to empower developers like Ahsan to help their communities by building technical solutions. If you’re a student and would like to join a Google Developer Student Club community, look for a chapter near you here, or visit the program page to learn more about starting one in your area.

A Conversation with Android Developer and Community Builder, Ceren Tunay

Posted by Baris Yesugey - Regional Lead, Google Developers Turkey and Central Asia

We recently spoke with Ceren Tunay, a Google Developer Group Organizer in Edirne, Turkey. who notes, “while we were organizing events, I noticed people have a huge passion for tech. I asked myself, "what is that thing in tech that makes people so impassioned? And after that, I started to better understand the tech industry, thanks to the programs offered by Google Developer Groups. Then I decided to learn to code. After a while, now I know that I am where I want to be, and realized I have worked towards finding my dream job.”

Tell us about yourself


I am a mobile developer & community builder who aims to be a restless learner. I am strongly passionate about how innovation can help communities advance and grow. I engage in public speaking on topics like development, community, women in tech, and motivation. I am a co-founder & mentor for the Android Developers Group Turkey.

I serve as an organizer for the Google Developer Groups Edirne. I am also a Google Women Techmakers Ambassador - among all of these groups and the collaborations among them, we reach over 90 Google Developer Student Clubs chapters in Turkey and throughout Central Asia. In that spirit, I personally believe that more colors make a better rainbow in the tech community. My dream is to build a future where the lack of diversity is no longer an issue in the tech community.



What is your job, and how does it relate to the tech community?


My major is chemical engineering, and I am working as a community manager at a game development company called Game Factory. My community-facing role allows me to be a person who motivates and helps people to navigate the learning process on their journey to becoming a developer. I feel able to create inspiration because I have been through what others feel and experience when learning to code, so I can easily empathize with them.

How did you get your start in this field?


In studying the field of chemical engineering, I came across the Google Developer Groups (GDG) and I participated in the organizing team to help and support the organization. While we were organizing events, I noticed people have a huge passion for tech. I asked myself, "what is that thing in tech that makes people so impassioned?"

And after that, I started to better understand the tech industry, thanks to the programs offered by GDG. Then I decided to learn to code. After a while, now I know that I am where I want to be, and I have worked towards finding my dream job.

Can you tell me about how you became interested in technology? 


I got introduced to technology in this way through GDG. When I first participated in the community, I was actually only planning to improve my organization and project management skills. But I was lucky that I had the chance to watch people and see what they are doing in tech and in the broader industry. When I saw people's passion and curiosity in this space, I started to also be interested. But the moment that I wanted to learn to code is when I realized how people get to enjoy the time when they are coding and improve themselves altogether.


What is unique about your GDG community or developers in Turkey?


We are a community that remains close, supportive, and sensitive to each other’s needs. It is easy to reach someone on the other side of Turkey in the community. GDG as a program helps this cause because when people start to learn to code but have a problem, they can easily be demoralized, which might lead them to quit learning and never try again. But with the GDG community, they support each other and help to solve problems. If they realized that they do not like the language they are learning, it is so easy to switch to another tech. They become braver to learn and achieve with the GDG program.

With a goal of creating a space for learning new developer tools, we organize workshops, trainings, and icebreakers for our community, to strengthen its ability to connect people around technical concepts. We hold sessions on technical tools, community management, project management, personal goal setting, and many more topics. The events we host show the power of community. The important thing for me is that the programs and content remain open-minded, equal, and diverse.

What is a recent highlight from your community work?


We hosted an Android DevFest and received wonderful feedback from our participants. We wanted to do something and get together when events were starting to take place physically again. We organized an in-person event with expert speakers and various content.

An in-person gather for DevFest Android in Turkey

These speakers accompanied us with wonderful presentations throughout the event. We had fun conversations on many topics, from the Jetpack library and Compose to application architecture. We had a great day as people united by our passion for Android, having fun, drinking a lot of coffee, and bringing each other a lot of new gains.

What is the moment where you feel like everything changed for you or you "had a breakthrough" as a developer and mentor?


When I started to learn Android, I fell in love with the technology. When I started to feel like I knew it well enough, I, along with my teammate, organized an Android Bootcamp. This took two and a half months. At the end of this Bootcamp, I participated in an "I am Remarkable" workshop, which is an initiative empowering women and other underrepresented groups to celebrate their achievements in the workplace and beyond.

What is an example of community work you’re proud to share?


At the "I am Remarkable" workshop we hosted, before the workshop started, one man who was about 40 years old came up to me and thanked me for our community initiatives. At first, I did not understand what he was looking to ask me about, but then as he shared his story of impact, which made me proud.

He said that he was a teacher before our bootcamp and then changed jobs by attending our Android Bootcamp and other programs we led. During that time, he started to learn Android with us and began to complete all classes. Now, fast forward, and he is working as an actual Android developer! That represents the moment that I recognized that my life changed. This is because that was the moment I realized I was not only improving myself, but I was also growing and running with the community.
 
Ceren leads a “Why Kotlin” workshop for beginners and technologists in the community


What are some technical resources you have found the most helpful for your professional development?



What are your plans for the future, in your career as a GDG organizer?


I am still exploring, career-wise, but I definitely plan to remain in the tech industry and aim to have connections with people. Now, I am working as a community manager, along with my teammate Serkan Alc, who is a great team worker and supporter. We are building a community through GDG. So we can say for both domains of my work and community, the most exciting projects are creating Bootcamps and webinars that help and motivate people to take a step into the field of tech.


Want to start growing your career and coding knowledge with developers like Ceren? Then join a Google Developer Group near you, here. Learn more about upcoming DevFests here!

Introducing the Google for Startups Accelerator: Women Founders Class of 2022

Posted by Ashley Francisco, Head of Startup Ecosystem, North America


The challenges faced by women founders is evident. Despite an increase in total venture funding raised by women-led startups in recent years, women founders still secured only 2% of the total amount invested in VC-backed startups throughout the year. In addition, a recent report on women-founded companies in Canada noticed that women technology entrepreneurs travel longer routes from startup to scale-up, with women in the study doing more funding pitches than men and taking longer to raise their Series A financing.

In 2020, we launched Google for Startups Accelerator: Women Founders to help bridge the gender gap in the North American startup ecosystem, and provide high-quality mentorship opportunities, technical guidance, support and community for women founders in North America.

To date, 24 women-led startups have graduated from the program, but support for women founders must continue. Earlier this year, we announced an open call to applications for the third class of Accelerator: Women Founders, starting in the fall.

We received hundreds of strong applications and, after careful deliberation, are excited to introduce the 12 impressive startups selected to participate in the 2022 cohort:

  • Advocatia (Lake Bluff, Illinois): Powers healthcare organizations with the ability to engage and enroll their customers into programs that reduce cost and improve outcomes.
  • Arintra (Austin, Texas): Helps hospitals and clinics save time and maximize reimbursement by automating medical coding
  • Blossom Social (Vancouver, British Columbia): Canada’s first social brokerage, combining mobile-first stock trading with a social community for investors.
  • CIRT Can I recycle this? (Athens, Georgia): Builds software and uses AI to digitize the circularity of products and packaging for the modern world, helping customers go zero waste.
  • CyDeploy (Baltimore, Maryland): Provides an intelligent, automated configuration and patch testing solution that positions our customers to make security changes quickly and with confidence.
  • Emaww (Montreal, Quebec): Provides the most advanced and least intrusive emotion analytics for websites to better user experience and improve their digital well-being with emotional intelligence.
  • Farm Generations (Germantown, New York): Builds fair technology for the future of small farms.
  • Hound (Denver, Colorado): A platform for veterinary recruiting, veterinary employee engagement technology and distributing at home veterinary care.
  • Generable (New York, New York): Develops best-in-class Bayesian machine-learning models to improve efficiency of oncology drug-development.
  • MedEssist (Toronto, Ontario): Transforms local pharmacies into modern healthcare hubs.
  • Noticeninja (Fort Myers, Florida): Converts paper notices and manual processes into automated digital workflows that provide resolution pathways for users to follow.
  • Zero5 (San Mateo, California): Transforms parking spaces into tech-enabled mobility service hubs for all vehicles from level 0 to 5 autonomy.

These startups will join the 10-week intensive virtual program, connecting them to the best of Google's programs, products, people and technology to help them reach their goals and unlock their next phase of growth.

Grow your coding skills and your confidence – Coding Practice with Kick Start

Posted by Julia DeLorenzo, Program Manager, Coding Competitions

Coding Practice with Kick Start is a four-day practice session where you'll have the chance to learn more about the Kick Start platform, utilize starter code to help frame your solutions, and interact with Google engineers.

It’s not a timed round and there is no scoreboard! No one else will be able to view your scores from the session. This is just for fun and a great way to hone your coding skills, and get better acquainted with Kick Start.

So, why should you join the session? We’re glad you asked!

About Coding Practice with Kick Start

The problems you'll see in Coding Practice with Kick Start range in difficulty. The concepts covered in these problems align very closely with concepts covered in introductory CS courses like Data Structures and Algorithms, and topics you may encounter in Google interviews.

You can solve the problems in any order you like. Looking at a problem does not start any timers, so feel free to read all of them at the start of the session, and then solve them in the order of your choice. We also provide starter code at the top of each problem statement to get you started with your solution.

Stuck on a problem? Don’t worry! You can use the “Ask a question” button on the problem overview page.

At the end of the session, tune in for a livestream where Kick Start engineers will walk through each of the problems featured during the round!

Grow your coding skills and your confidence

Still need to be convinced to give Coding Practice with Kick Start Session 3 a try?

Hear from some past participants how Coding Practice with Kick Start helped them along their competitive programming journey.

Session 2 Participants: Tell us why you enjoyed your experience!

Balla says:

"At first I used to think that the Kick Start coding rounds were very tough and I couldn't solve them. But the level of the initial questions are such that it boosts us to give it a try, and increases our confidence level. I feel that this is the best part that every coder hopes for. After attempting the session, I felt like I could solve the problems if I worked a little harder.

My favorite problem in Coding Practice with Kick Start Session 2 is ‘Irregular Expressions’. The problem is very interesting; I couldn't write up the logic, but it made me think a lot. It's the best problem I faced in the round.”

Mbalire says:

“I personally had problems with test samples not catering for some cases, and that I failed to understand the questions. The answers and support from the Google engineers during Coding Practice with Kick Start was good. I felt as if different people at Google were reading my code and seeing my development, and that boosted my confidence.

While solving the problem, I could see my own development while creating my own solution. I hope to do much more and participate in the coming Kick Start competition rounds. It may be because I started programming this year or because most of the code I know is from my research, but getting these algorithms right has been a huge accomplishment for me.

My favorite problem was ‘Building Palindromes’ from Coding Practice with Kick Start Session 2.”

Nandini says:

“Coding Practice with Kick Start was very engaging and I had a lot of fun. It reminded me how much I enjoy computer science and math and solving problems!

My favorite problem from the past coding practice session has been the 'Building Palindromes' problem. This is because I had fun trying to come up with an optimal solution to this problem and it pushed me to learn new techniques for optimizing my solution: prefixing sums/pre-calculation.

I also really enjoyed solving the ‘Parcels’ problem since it involved search algorithms which I love! I found that it was the right amount of ‘challenging’ to keep me thinking about it all day. Thanks, Google!"

Joining Coding Practice with Kick Start Session 3

With the third and final session for the year coming up, we encourage you to join us. Coding Practice with Kick Start is the perfect opportunity to practice and grow your skills without the pressure of a public scoreboard or timed round.

Learn new skills, grow your confidence as a coder, and we’ll see you in one of our upcoming Kick Start rounds.

We hope you'll give it a try! → https://goo.gle/codingpracticewks

Grow your coding skills and your confidence – Coding Practice with Kick Start

Posted by Julia DeLorenzo, Program Manager, Coding Competitions

Coding Practice with Kick Start is a four-day practice session where you'll have the chance to learn more about the Kick Start platform, utilize starter code to help frame your solutions, and interact with Google engineers.

It’s not a timed round and there is no scoreboard! No one else will be able to view your scores from the session. This is just for fun and a great way to hone your coding skills, and get better acquainted with Kick Start.

So, why should you join the session? We’re glad you asked!

About Coding Practice with Kick Start

The problems you'll see in Coding Practice with Kick Start range in difficulty. The concepts covered in these problems align very closely with concepts covered in introductory CS courses like Data Structures and Algorithms, and topics you may encounter in Google interviews.

You can solve the problems in any order you like. Looking at a problem does not start any timers, so feel free to read all of them at the start of the session, and then solve them in the order of your choice. We also provide starter code at the top of each problem statement to get you started with your solution.

Stuck on a problem? Don’t worry! You can use the “Ask a question” button on the problem overview page.

At the end of the session, tune in for a livestream where Kick Start engineers will walk through each of the problems featured during the round!

Grow your coding skills and your confidence

Still need to be convinced to give Coding Practice with Kick Start Session 3 a try?

Hear from some past participants how Coding Practice with Kick Start helped them along their competitive programming journey.

Session 2 Participants: Tell us why you enjoyed your experience!

Balla says:

"At first I used to think that the Kick Start coding rounds were very tough and I couldn't solve them. But the level of the initial questions are such that it boosts us to give it a try, and increases our confidence level. I feel that this is the best part that every coder hopes for. After attempting the session, I felt like I could solve the problems if I worked a little harder.

My favorite problem in Coding Practice with Kick Start Session 2 is ‘Irregular Expressions’. The problem is very interesting; I couldn't write up the logic, but it made me think a lot. It's the best problem I faced in the round.”

Mbalire says:

“I personally had problems with test samples not catering for some cases, and that I failed to understand the questions. The answers and support from the Google engineers during Coding Practice with Kick Start was good. I felt as if different people at Google were reading my code and seeing my development, and that boosted my confidence.

While solving the problem, I could see my own development while creating my own solution. I hope to do much more and participate in the coming Kick Start competition rounds. It may be because I started programming this year or because most of the code I know is from my research, but getting these algorithms right has been a huge accomplishment for me.

My favorite problem was ‘Building Palindromes’ from Coding Practice with Kick Start Session 2.”

Nandini says:

“Coding Practice with Kick Start was very engaging and I had a lot of fun. It reminded me how much I enjoy computer science and math and solving problems!

My favorite problem from the past coding practice session has been the 'Building Palindromes' problem. This is because I had fun trying to come up with an optimal solution to this problem and it pushed me to learn new techniques for optimizing my solution: prefixing sums/pre-calculation.

I also really enjoyed solving the ‘Parcels’ problem since it involved search algorithms which I love! I found that it was the right amount of ‘challenging’ to keep me thinking about it all day. Thanks, Google!"

Joining Coding Practice with Kick Start Session 3

With the third and final session for the year coming up, we encourage you to join us. Coding Practice with Kick Start is the perfect opportunity to practice and grow your skills without the pressure of a public scoreboard or timed round.

Learn new skills, grow your confidence as a coder, and we’ll see you in one of our upcoming Kick Start rounds.

We hope you'll give it a try! → https://goo.gle/codingpracticewks

#WeArePlay | Meet George from the UK. More stories from Croatia, USA and Kenya.

Posted by Leticia Lago, Developer Marketing

Our celebration of app and game businesses continues with more #WeArePlay stories. Today, we’re starting with George from Bristol, UK - a young entrepreneur taking the streetwear industry by storm.

After spending hours and hours searching for the latest styles in sneakers and streetwear, George realised there’s a market in helping fellow enthusiasts find the latest drops. At just 16 years old, he took it upon himself to learn to code and created his app, Droplist. It points people to upcoming special collections from major labels around the world. Find out more about his story.


Today we also spotlight few more stories from around the world:
  • Anica and Kristijan from an island in Croatia - founders of Dub Studio Productions to help music lovers around the global turn up the bass or lower the treble on their favourite songs.


  • Robert from Wyoming, founder of Bluebird Languages - language learning apps with over 6 million hours of audio lessons spanning 164 languages, from Hungarian to Haitian Creole.


  • And one more new story - because why not! This time, featuring Annabel from Kenya. After struggling to find a mechanic when stuck on the roadside in Nairobi, she and her co-founder created Ziada to help people find local service providers.


Check out all the stories now at g.co/play/weareplay and stay tuned for even more coming soon.

How useful did you find this blog post?

Migrating from App Engine Blobstore to Cloud Storage (Module 16)

Posted by Wesley Chun (@wescpy), Developer Advocate, Google Cloud

Introduction and background

The most recent Serverless Migration Station video demonstrated how to add use of the App Engine's Blobstore service to a sample Python 2 App Engine app, kicking off the first of a 2-part series on migrating away from Blobstore. In today's Module 16 video, we complete this journey, arriving at Cloud Storage. Moving away from proprietary App Engine services like Blobstore makes apps more portable, giving them enough flexibility to:


Showing App Engine users how to migrate to Cloud Storage

As described previously, a Blobstore for Python 2 dependency on webapp made the Module 15 content more straightforward to implement if it was still using webapp2. To completely modernize this app here in Module 16, the following migrations should be carried out:

  • Migrate from webapp2 (and webapp) to Flask
  • Migrate from App Engine NDB to Cloud NDB
  • Migrate from App Engine Blobstore to Cloud Storage
  • Migrate from Python 2 to Python (2 and) 3

Performing the migrations

Prior to modifying the application code, a variety of configuration updates need to be made. Updates applying only to Python 2 feature a "Py2" designation while those migrating to Python 3 will see "Py3" annotations.

  1. Remove the built-in Jinja2 library from app.yaml—Jinja2 already comes with Flask, so remove use of the older built-in version which may possibly conflict with the contemporary Flask version you're using. (Py2)
  2. Use of Cloud client libraries (such as those for Cloud NDB and Cloud Storage) require a pair of built-in libraries, grpcio and setuptools, so add those to app.yaml (Py2)
  3. Remove everything in app.yaml except for a valid runtime (Py3)
  4. Add Cloud NDB and Cloud Storage client libraries to requirements.txt (Py2 & Py3)
  5. Create an appengine_config.py supporting both built-in (those in app.yaml) and non built-in (those in requirements.txt) libraries used (Py2)

The Module 15 app already migrated away from webapp2's (Django) templating system to Jinja2. This is useful when migrating to Flask because Jinja2 is Flask's default template system. Switching from App Engine NDB to Cloud NDB is fairly straightforward as the latter was designed to be mostly compatible with the original. The only change visible in this sample app is to move Datastore calls into Python with blocks.

The most significant changes occur when moving the upload and download handlers from webapp to Cloud Storage. The video and corresponding codelab go more in-depth into the necessary changes, but in summary, these are the updates required in the main application:

  1. webapp2 is replaced by Flask. Instead of using the older built-in version of Jinja2, use the version that comes with Flask.
  2. App Engine Blobstore and NDB are replaced by Cloud NDB and Cloud Storage, respectively.
  3. The webapp Blobstore handler functionality is replaced by a combination of the io standard library module plus components from Flask and Werkzeug. Furthermore, the handler classes and methods are replaced by Flask functions.
  4. The main handler class and corresponding GET and POST methods are all replaced by a single Flask function.

The results

With all the changes implemented, the original Module 15 app still operates identically in Module 16, starting with a form requesting a visit artifact followed by the most recents visits page:
The sample app's artifact prompt page

The sample app's most recent visits page.

The only difference is that four migrations have been completed where all of the "infrastructure" is now taken care of by non-App Engine legacy services. Furthermore, the Module 16 app could be either a Python 2 or 3 app. As far as the end-user is concerned, "nothing happened."

Migrating sample app from App Engine Blobstore to Cloud Storage

Wrap-up

Module 16 featured four different migrations, modernizing the Module 15 app from using App Engine legacy services like NDB and Blobstore to Cloud NDB and Cloud Storage, respectively. While we recommend users move to the latest offerings from Google Cloud, migrating from Blobstore to Cloud Storage isn't required, and should you opt to do so, can do it on your own timeline. In addition to today's video, be sure to check out the Module 16 codelab which leads you step-by-step through the migrations discussed.

In Fall 2021, the App Engine team extended support of many of the bundled services to 2nd generation runtimes (that have a 1st generation runtime), meaning you are no longer required to migrate to Cloud Storage when porting your app to Python 3. You can continue using Blobstore in your Python 3 app so long as you retrofit the code to access bundled services from next-generation runtimes.

If you're using other App Engine legacy services be sure to check out the other Migration Modules in this series. All Serverless Migration Station content (codelabs, videos, source code [when available]) can be accessed at its open source repo. While our content initially focuses on Python users, the Cloud team is working on covering other language runtimes, so stay tuned. For additional video content, check out our broader Serverless Expeditions series.

Google Dev Library Letters — 12th Issue

Posted by Garima Mehra, Program Manager

‘Google Dev Library Letters’ is curated to bring you some of the latest projects developed with Google tech submitted to Google Dev Library Platform. We hope this brings you the inspiration you need for your next project!


Android

Shape your Image: Circle, Rounded Square, or Cuts at the corner in Android by Sriyank Siddhartha

Using the MDC library, shape images in just a few lines of code by using ShapeableImageView.


Foso/Ktorfit by Jens Klingenberg

HTTP client / Kotlin Symbol Processor for Kotlin Multiplatform (Js, Jvm, Android, Native, iOS) using KSP and Ktor clients inspired by Retrofit.