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.
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.
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)
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)
Remove everything in app.yaml except for a valid runtime (Py3)
Add Cloud NDB and Cloud Storage client libraries to requirements.txt (Py2 & Py3)
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:
webapp2 is replaced by Flask. Instead of using the older built-in version of Jinja2, use the version that comes with Flask.
App Engine Blobstore and NDB are replaced by Cloud NDB and Cloud Storage, respectively.
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.
The main handler class and corresponding GET and POST methods are all replaced by a single Flask function.
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
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.
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’ 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!
Written by Shuyu (Asher) Guo, Dart & Flutter GDE, China
At the end of May 2022, after more than a month of Google Developer Expert interviews, I finally became the fourth Flutter & Dart GDE in China.
I believe that the title of GDE should be very familiar for Android or Machine Learning developers. If you’re not familiar, the Google Developer Experts program is a global network of highly experienced technology experts, influencers, and thought leaders who have expertise in Google technologies, and are active leaders in the space and contribute to the wider developer and startup ecosystem.
My journey to becoming a GDE
In 2013, Android Bus was my first exposure to the Android community and it was at the ApkBus conference that I came into contact with the first GDE I’ve ever met. At that conference, I made Android developer friends and I also met some event organizers who invited me to speak at future events.
After the conference, I started my public speaking journey and spoke about Flutter because of the opportunities that came from networking and meeting the right people. By being more active in the community through speaking, I received an invitation to become a GDE in 2020. However, I learned that the application process is conducted in English and because of this, I ultimately didn’t complete the application process.
In 2021, while I was speaking at the Google DevFest conference, a GDE friend asked me again if I was interested in becoming a GDE, and with the encouragement of a team member from Google, I finally started preparing for the GDE application.
During the application process, the Google team pays careful attention to two aspects:
Technical competence: your technical expertise in the field you are applying for
Technical influence: such as output in areas such as public speaking, articles, and open source
I was not confident in speaking in English so I practiced before my interviews and I also translated some of my articles and posted them to Medium in English. Then I started my interview journey. The first interviewer mainly focused on the technical content of Flutter and Dart and despite my little experience with Flutter, my first community interview was completed.
The day after I completed the initial interview, I received a notification that I was assigned an interviewer for the product interview. The content of the product interview mainly revolved around some of my experience with Flutter technology. The interviewer was interested in the content of the books I had written and some awards I won that happened to be in the bookcase behind me, proving to be an excellent conversation starter. The next day, I received an email letting me know that I passed the interview – and after I signed the various agreements and terms and conditions, I had a final meeting with the team to become a GDE! Once I officially received the confirmation email from the GDE program, I was pulled into various groups, Slack, and projects. As a developer, I consider accomplishing the feat of becoming a GDE a major milestone.
Whether it is the GDE community or a Googler conducting the interviews, everyone was very friendly. I received a lot of support throughout my journey to becoming a GDE and offer my support to anyone interested in joining the community. Please feel free to connect with me at https://github.com/carguo!
When we ask you what you like best about Firebase, a lot of you tell us it’s the community that makes Firebase special. We are excited to highlight developers in the community who are using Firebase in their apps through a new series called, Firebase Stories.
Firebase Stories celebrates developers whose apps are helping promote positive change in their communities. Starting today, and over the coming months, you’ll hear from developers and founders from around the world about their app development journeys. Additionally, these developers will demo how they are using Firebase tools in their projects so you can apply Firebase to your own apps. Everyone can watch the demos together and chat with both the developers and members of the Firebase team along the way. We’ll also share guided codelabs on these Firebase features so you can get hands-on experience with them. Stay tuned for more details!
Lastly, we’d love to hear from you too. Use the hashtag #FirebaseStories on your social channels to share how Firebase empowers you throughout your app development journey. We will regularly select and share some stories on our channels.
Posted by Patricia Correa, Director, Global Developer Marketing
The Indie Games Festival shines a spotlight on some of the best games on Google Play, and celebrates the passion and creativity that small games studios bring to gamers worldwide. This year we are hosting Festival in South Korea, Japan and Europe, for local developers and gamers from all over the world.
Earlier this summer, we opened submissions, and today we’re revealing the finalists. Scroll down to see the shortlisted games!
Join the finals
September 3rd will be a jam packed day for indie games fans. Everyone is invited to attend the finals for the three Festivals, starting with South Korea at 2pm KST, followed shortly after by Japan at 3pm JST, and wrapping up with Europe at 11am CET.
The finals will be held in a custom virtual world where you can meet the people behind the finalist games, explore the titles, have fun with gamers from around the world, and be the first to discover the winners.
At the European finals we will also reveal the class of 2022 of the Indie Games Accelerator, a program that helps small game studios take their game to the next level by providing them training and mentorship.
Without further ado, please meet the finalists and join us in congratulating them!
More about the Indie Games Festival and the Indie Games Accelerator
At Google Play we’re committed to helping developers of all sizes succeed on our platform. Programs like the Festival and the Accelerator are here to help small games studios:
Festival | Promotions & prizes that put your game in the spotlight: This contest is your chance to showcase your game to industry experts and players worldwide, and win prizes that will celebrate your art and promote your game.
Accelerator | Training and mentorship to supercharge your growth: Over a period of 10 weeks, you will get tailored online training sessions and mentorship from industry and Google experts to help you polish your game and scale with Google Play.
Over the past several months, participants have worked their way through multiple rounds of algorithmic coding challenges, and solved some of the most challenging competitive programming problems. The field has been narrowed down from tens of thousands of participants, to the top competitors who will face off at the World Finals on August 5th, 2022.
Join us 16:30 UTC for a livestream to see which one of these finalists will be crowned the Code Jam 2022 World Champion, winning the grand prize of $15,000 USD!
Here are this year’s finalists sharing their favorite music genres, tips, fun facts, and more.
This year’s Code Jam World Finalists are:
Antonio Molina Lovett
What’s your favorite music to listen to while coding? “Always looping the Vicious Delicious album by Infected Mushroom.”
Code Jam claim to fame: This is Yuhao’s second time at the Code Jam World Finals, previously competing in the 2021 World Finals.
What’s your favorite 2022 Code Jam Problem? “Qualification Round – Twisty Little Passages. First time I used importance sampling in a contest!”
What does your handle mean? “1. I personally like sunfish 🙂 2. I like the way it sounds. 3. Mola is pronounced “몰라” in Korean, which means “I don’t know”.”
What’s the best coding competition advice you’ve ever received? “Have fun and always try to challenge yourself by solving problems that seem too difficult at first.”
What’s an interesting and fun fact about yourself? “I love random walking.”
What’s your favorite 2022 Code Jam Problem? “Saving the Jellyfrom Round 2 took the most creativity to solve!”
What’s an interesting and fun fact about yourself? “I have 11 musical instruments, most of which I can only play on a level “may accompany in a song I know.”
Code Jam claim to fame: This will be Andrew’s fourth time competing in the Code Jam World Finals, having competed in 2019, 2020, and 2021 previously.
What’s an interesting and fun fact about yourself? “I love bungee jumping.”
What’s an interesting and fun fact about yourself? This is Lingyu’s first time competing in the Code Jam World Finals.
Code Jam claim to fame: This will be Kevin’s third time competing in the Code Jam World Finals, having competed in 2019 and 2020 previously.
What does your handle mean? “It’s a combination of letters from my name and the name of the village where I grew up.”
What’s an interesting and fun fact about yourself? “I enjoy playing sports such as tennis, table tennis, volleyball, football, as well as playing piano and guitar.”
What’s an interesting and fun fact about yourself? “A year ago I started doing buildering and we created a chat with just 3 people in it. Now there are almost 100 participants. Who could imagine it would grow so fast?”
What’s your favorite music to listen to while coding? “Red Hot Chilli Peppers.”
What’s the best coding competition advice you’ve ever received? “Becoming good isn’t about creating a chance to solve a problem. It’s about removing a chance to not solve a problem.”
What’s an interesting and fun fact about yourself? “I’m an experimentalist in laser physics, also I love traveling and photography.”
What’s an interesting and fun fact about yourself? “I’ve been really into the Super Mario 64 A Button Challenge recently, and N64 game decompilation. Also, mushroom hunting.”
What’s an interesting and fun fact about yourself? “I’m a cat. My recent hobby is Sed Puzzle”
Code Jam claim to fame: This will be Tiancheng’s eighth Code Jam World Finals, having previously competed in the World Finals in 2006, 2008, 2009, 2010, 2011, 2019, 2021.
What’s your favorite 2022 Code Jam Problem? “I, O Bot from Round 2, because it was actually a competitive programming problem”
What’s your favorite 2022 Code Jam Problem? “Saving the Jelly. It is mainly because I solved it in the last five minutes of the contest.”
Code Jam claim to fame: This will be Konstantin’s third Code Jam World Finals, having previously competed in the World Finals in 2017 and 2018.
Watch the Code Jam World Finals Livestream
Join us on August 5 at 16:30 UTC for a livestream of the Code Jam 2022 World Finals.
Watch all the action unfold as the Code Jam team broadcasts live from Google New York. You’ll have an opportunity to hear from our team, see Code Jam engineers explain the problems from the round, and watch live as we reveal the scoreboard and announce this year’s winners!
At the end, one of these finalists will be crowned the Code Jam 2022 World Champion, winning the grand prize of $15,000 USD. Good luck to all the finalists and as always, happy coding!
Posted by Salim Abid, Regional Lead. Middle East & North Africa, Google Developers
Training young Tunisian developers in remote areas
On weekends, the volunteers would travel for hours to new regions, sometimes on bumpy roads and on crowded, rickety buses. Their purpose? To inspire others around the country and teach them about new technologies. When the members of two Google Developer Groups (GDG) in the Beja and Sousse regions of Tunisia came together to address the challenge that many of their fellow Tunisian citizens had limited access to technology. They decided to make a difference by launching Randotek, a program in Tunisia to help train young developers that gets its name from the French word randonne, which means to hike.
Many community members from these chapters, including Alaedeen Eloueryemmi of GDG Sousse and Yasmina Rebai of GDG Beja, support the initiative. Alaedeen, a software engineer, joined GDG Sousse in 2021, after graduating from university, where he co-founded the ESSTHS Google Developer Student Club. Yasmina joined GDG Beja at the suggestions of a software engineer friend.
Sharing technology knowledge and building community
The origin story for GDG RandoTek goes back to January 2022, when Alaedeen gave a talk at DevFest Beja. During his talk, he and the other members of the GDG Beja and GDG Sousse teams noticed many students couldn’t follow his talk because of their lack of familiarity with Google technologies. Acknowledging that many of their fellow Tunisian citizens need more access to technology, the GDG RandoTek volunteers began teaching workshops in February 2022.
“We wanted to give others an overview of the community and the new technologies out there,” says Alaedeen. “We want to build a strong community of developers and allow people to achieve their dreams. In Tunisia, people don’t always have access to courses or materials, so we bring that to them.”
Positive impacts for the community
To date, the program generated positive impacts, in Tunisia including:
The organizers hosted nine sessions for over 412 developers in eight regions of Tunisia and five cities.
Attendees expressed interest in learning more about specific technologies, like Flutter and Cloud, and in joining a GDG group.
GDG RandoTek members continue to be asked to give additional workshops, online and in-person, making it a powerful learning experience for them as well.
Building a tech community in Tunisia
The GDG RandoTek organizers note that as more young developers receive training on various technologies, they will feel inspired to form new developer communities in their own local area. The more of those types of groups there are, the easier it will be to reach even more people in Tunisia. “That’s what we want to spread in Tunisia–to have more than one GDSC in every region, and more than one chapter in every place,” says Yasmina. The RandoTek team remains motivated to share knowledge and expand the community with new members.
“What we wanted to do during this program is to share the knowledge,” says Alaedeen. “Share the spirit of community work and get together and learn stuff.” The organizers all seem to share a mutual admiration for helping others. “Seeing how the world evolves each day and the need for technologies in our daily life, I would advise anyone, especially students, to learn as much technology as possible because they’re going to use them someday, somehow,” Yasmina says.
What’s next for GDG RandoTek in Tunisia
For organizers like Aladeen, Yasmina, and their collaborators, the GDG community unlocks potential, creates leaders, and helps people relate to each other through technology. It creates a way to motivate others to become teachers and share technical knowledge and build skills.
“For me, if it wasn’t for GDG, I wouldn’t be the person I am today,” says Alaedeen. “It improved my career, my management skills, and my technical skills, and I want everyone to have that opportunity.”
In our ongoing Serverless Migration Station mini-series aimed at helping developers modernize their serverless applications, one of the key objectives for Google App Engine developers is to upgrade to the latest language runtimes, such as from Python 2 to 3 or Java 8 to 17. Another goal is to demonstrate how to move away from App Engine legacy APIs (now referred to as “bundled services”) to Cloud standalone replacement services. Once this has been accomplished, apps are much more portable, making them flexible enough to:
Developers building web apps that provide for user uploads or serve large files like videos or audio clips can benefit from convenient “blob” storage backing such functionality, and App Engine’s Blobstore serves this specific purpose. As mentioned above, moving away from proprietary App Engine services like Blobstore makes user apps more portable. The original underlying Blobstore infrastructure eventually merged with the Cloud Storage service anyway, so it’s logical to move completely to Cloud Storage when convenient, and this content is inform on this process.
Showing App Engine users how to use its Blobstore service
In today’s Module 15 video, we begin this journey by showing users how to add Blobstore usage to a sample app, setting us up for our next move to Cloud Storage in Module 16. Similar videos in this series adding use of an App Engine bundled service start with a Python 2 sample app that has already migrated web frameworks from webapp2 to Flask, but not this time.
Blobstore for Python 2 has a dependency on webapp, the original App Engine micro framework replaced by webapp2 when the Python 2.5 runtime was deprecated in favor of 2.7. Because the Blobstore handlers were left “stuck” in webapp, it’s better to start with a more generic webapp2 app prior to a Flask migration. This isn’t an issue because we modernize this app completely in Module 16 by:
Migrating from webapp2 (and webapp) to Flask
Migrating from App Engine NDB to Cloud NDB
Migrating from App Engine Blobstore to Cloud Storage
Migrating from Python 2 to Python (2 and) 3
We’ll go into more detail in Module 16, but it suffices to say that once those migrations are complete, the resulting app becomes portable enough for all the possibilities mentioned at the top.
Adding use of Blobstore
The original sample app registers individual web page “visits,” storing visitor information such as the IP address and user agent, then displaying the most recent visits to the end-user. In today’s video, we add one additional feature: allowing visitors to optionally augment their visits with a file artifact, like an image. Instead of registering a visit immediately, the visitor is first prompted to provide the artifact, as illustrated below.
The updated sample app’s new artifact prompt page
The end-user can choose to do so or click a “Skip” button to opt-out. Once this process is complete, the same most recent visits page is then rendered, with one difference: an additional link to view a visit artifact if one’s available.
The sample app’s updated most recent visits page
Below is pseudocode representing the core part of the app that was altered to add Blobstore usage, namely new upload and download handlers as well as the changes required of the main handler. Upon the initial GET request, the artifact form is presented. When the user submits an artifact or skips, the upload handler POSTs back to home (“/”) via an HTTP 307 to preserve the verb, and then the most recent visits page is rendered as expected. There, if the end-user wishes to view a visit artifact, they can click a “view” link where the download handler which fetches and returns the corresponding artifact from the Blobstore service, otherwise an HTTP 404 if the artifact wasn’t found. The bolded lines represent the new or altered code.
Adding App Engine Blobstore usage to sample app
In this “migration,” we added Blobstore usage to support visit artifacts to the Module 0 baseline sample app and arrived at the finish line with the Module 15 sample app. To get hands-on experience doing it yourself, do the codelab by hand and follow along with the video. Then you’ll be ready to upgrade to Cloud Storage should you choose to do so.
Posted by Nari Yoon, Hee Jung, DevRel Community Manager / Soonson Kwon, DevRel Program Manager
Let’s explore highlights and accomplishments of vast Google Machine Learning communities over the second quarter of the year! We are enthusiastic and grateful about all the activities by the global network of ML communities. Here are the highlights!
TFUG Agadir hosted #MLReady phase as a part of #30DaysOfML. #MLReady aimed to prepare the attendees with the knowledge required to understand the different types of problems which deep learning can solve, and helped attendees be prepared for the TensorFlow Certificate.
TFUG Taipei hosted the basic Python and TensorFlow courses named From Python to TensorFlow. The aim of these events is to help everyone learn about the basics of Python and TensorFlow, including TensorFlow Hub, TensorFlow API. The event videos are shared every week via Youtube playlist.
TFUG Mumbai hosted the June Meetup and 110 folks gathered. ML GDE Sayak Paul (India) and TFUG mentor Darshan Despande shared knowledge through sessions. And ML workshops for beginners went on and participants built up machine learning models without writing a single line of code.
ML GDE Karthic Rao (India) released a new series ML for JS developers with TFJS. This series is a combination of short portrait and long landscape videos. You can learn how to build a toxic word detector using TensorFlow.js.
ML GDE Sayak Paul (India) implemented the DeiT family of ViT models, ported the pre-trained params into the implementation, and provided code for off-the-shelf inference, fine-tuning, visualizing attention rollout plots, distilling ViT models through attention. (code | pretrained model | tutorial)
ML GDE Sayak Paul (India) and ML GDE Aritra Roy Gosthipaty (India) inspected various phenomena of a Vision Transformer, shared insights from various relevant works done in the area, and provided concise implementations that are compatible with Keras models. They provide tools to probe into the representations learned by different families of Vision Transformers. (tutorial | code)
ML GDE Aakash Nain (India) had a special talk, Introduction to JAX for ML GDEs, TFUG organizers and ML community network organizers. He covered the fundamentals of JAX/Flax so that more and more people try out JAX in the near future.
ML GDE Seunghyun Lee (Korea) started a project, Training and Lightweighting Cookbook in JAX/FLAX. This project attempts to build a neural network training and lightweighting cookbook including three kinds of lightweighting solutions, i.e., knowledge distillation, filter pruning, and quantization.
ML GDE Luca Massaron (Italy) published The Kaggle Book with Konrad Banachewicz. This book details competition analysis, sample code, end-to-end pipelines, best practices, and tips & tricks. And in the online event, Luca and the co-author talked about how to compete on Kaggle.
TFUG Chennai hosted ML Study Jam with Kaggle and created study groups for the interested participants. More than 60% of members were active during the whole program and many of them shared their completion certificates.
TFUG Mysuru organizer Usha Rengaraju shared a Kaggle notebook which contains the implementation of the research paper: UNETR – Transformers for 3D Biomedical Image Segmentation. The model automatically segments the stomach and intestines on MRI scans.
ML GDE Sayak Paul (India) and ML GDE Chansung Park (Korea) shared how to deploy a deep learning model with Docker, Kubernetes, and Github actions, with two promising ways – FastAPI (for REST) and TF Serving (for gRPC).
ML GDE Jun Jiang (China) had a talk introducing the concept of MLOps, the production-level end-to-end solutions of Google & TensorFlow, and how to use TFX to build the search and recommendation system & scientific research platform for large-scale machine learning training.
TFUG São Paulo (Brazil) had a series of online webinars on TensorFlow and TFX. In the TFX session, they focused on how to put the models into production. They talked about the data structures in TFX and implementation of the first pipeline in TFX: ingesting and validating data.
TFUG Stockholm hosted MLOps, TensorFlow in Production, and TFX covering why, what and how you can effectively leverage MLOps best practices to scale ML efforts and had a look at how TFX can be used for designing and deploying ML pipelines.
TFUG Northwest (Portland) hosted The State and Future of AI + ML/MLOps/VertexAI lab walkthrough. In this event, ML GDE Al Kari (USA) outlined the technology landscape of AI, ML, MLOps and frameworks. Googler Andrew Ferlitsch had a talk about Google Cloud AI’s definition of the 8 stages of MLOps for enterprise scale production and how Vertex AI fits into each stage. And MLOps engineer Chris Thompson covered how easy it is to deploy a model using the Vertex AI tools.
ML GDE Qinghua Duan (China) released a video which introduces Google’s latest 540 billion parameter model. He introduced the paper PaLM, and described the basic training process and innovations.
We’re back with more #WeArePlay stories to celebrate you: the global community of people behind apps and games businesses.
Following last week’s “virtual roadtrip” of all of the US, today we’re kicking off with Melissa from Greenville, South Carolina. She’s on a mission to make the world a more pet-friendly place. Her app, BringFido, helps people find somewhere to stay, eat or visit with their furry friends. In this film you will meet her, her dogs Ace and Roxy, and hear how she went from idea, to website, to growing app and thriving business.
This week we are also introducing you to game founders from other parts of the world:
Arnaud, an AI-enthusiast from Chartres in France, who founded Elokence. This 12-people team created Akinator, which has been downloaded over 260 million times on Google Play.
Daigo, a creative indie from Japan, founder of Odencat, whose games have won multiple accolades.
Keerti and Kashyap, a cricket-loving couple from Hyderabad in India, who used their life savings to start Hitwicket Cricket Games. Millions of fans worldwide enjoy their games.
Posted by Meirav Shaul, Dvir Kalev, Roy Sela, Omri Levy, Tal Rimon Edelstein, Elad Ben-David, and Tzhahi Zilberstein, Team Lead
A while ago Google released “Account Anomaly Detector” which you know.
A few clients approached the gTech team at Google, asking to add some monitoring capabilities.
That’s why we created an unofficial, open-source evolved version of it. We named it “Campaign Anomaly Detector”. It has recently been published on github, ready for advertisers to deploy and use it for defining and detecting metrics anomalies.
Hosted on github, everyone is more than welcome to contribute more code to this ever-growing project. Happy monitoring!
Entity to Monitor – option to select all/some child accounts under an MCC/specific campaigns.
Period selection – option to select both current and past periods for comparison
Metrics Selection & Anomaly Definition– option to select key metrics to be monitored, and the threshold values which will be considered as anomalies.
Dashboard – Data studio dashboard that presents identified anomalies
Email alerts –option to define the emails to notify once anomaly is identified
The solution includes the following components:
Configuration Sheet (“input”) – Google Sheet for setting the monitoring parameters (entities for monitoring, period selection, metrics & thresholds, email alerts)
Simulator to support the period calculation and settings
Dashboard Sheet (“results”) – dedicated tab in the configuration sheet, that presents the identified anomalies
Data Studio Dashboard that presents the identified anomalies
Copyright 2022 Google LLC. This solution, including any related sample code or data, is made available on an “as is,” “as available,” and “with all faults” basis, solely for illustrative purposes, and without warranty or representation of any kind. This solution is experimental, unsupported and provided solely for your convenience. Your use of it is subject to your agreements with Google, as applicable, and may constitute a beta feature as defined under those agreements. To the extent that you make any data available to Google in connection with your use of the solution, you represent and warrant that you have all necessary and appropriate rights, consents and permissions to permit Google to use and process that data. By using any portion of this solution, you acknowledge, assume and accept all risks, known and unknown, associated with its usage, including with respect to your deployment of any portion of this solution in your systems, or usage in connection with your business, if at all.