Hi Friends! đź‘‹
📊 So Far So Good: We’ve Learned a lot creating this project and tried our best to detail it along the way but it’s piecemeal. So let’s talk about the learnings & tech behind our game.
Google Firebase:
Firebase Firestore – a nosql database that required some learning around crud operations and complex queries and rules deployable to protect access. Firebase Authentication to protect user credentials grant access to our app create userIds and provide password resets, (side note check out this recent article of how developers misconfigured their firebase projects https://www.bleepingcomputer.com/news/security/misconfigured-firebase-instances-leaked-19-million-plaintext-passwords/#:~:text=Three%20cybersecurity%20researchers%20discovered%20close,cloud%20computing%2C%20and%20app%20development and leaked user passwords). Firebase functions, (in Typescript), to pull unscalable calls out of our app, secure our secrets required to call OpenAI, send emails, delete accounts, log errors and more. Firebase Storage and storage rules for storing profile images. Firebase App distribution for early testing. Firebase App Check for protecting all the above.
Open AI:
Open AI api, gpt prompt instructions, prompt engineering, (so much trial and error here it’s not even funny), understanding tokens and token costs. Open AI chat-gpt to learn how to teach gpt a game, how to create scoring and ranking algorithms and debug many errors along the way. Open AI dall-e, how to create quality images, how to stop the rewriting of prompts, how to use those images later, python script creation to allow for creating images at scale. Open AI rate limits.
In App Purchasing:
RevenueCat which we talked about yesterday, https://www.linkedin.com/posts/david-giametta-a33261108_day-20-in-app-purchases-activity-7183456140653920256-YMs1?utm_source=share&utm_medium=member_desktop, for our in app purchases, in app subscriptions, restoring purchases, setting entitlements, showing offers and more.
Flutter Dart:
Google Admob for in app adverts. Shared prefs for user app configurations. Dash Chat 2 for communicating with Open AI. Share Plus and Widgets to Image for sharing out in game player achievements. Connectivity Plus for protecting our calls when the user goes off network. Timer Count Down for in game easter eggs. Cached Network Image because we shouldn’t make a call for an image every time. Provider for notifying changes in our app state. Upgrader for bricking out of date versions of our game. And honestly so much more.
Okay so that’s most of what I could think of in the time I’ve allotted to write this post lol. If you want to skip learning the above yourself for your project, let’s talk because we can probably help.
🎵 Playlist: https://open.spotify.com/track/4DMKwE2E2iYDKY01C335Uw?si=3737c5de2cb84634
đź§ Mental State: Apple is frustrating me right now.
🛠️ Tools: MacBook Pro M2, Ipad Pro, Pixel 6, Intellij, Flutter, The Keyboard that Saved my Hands, The Desk that Saved my Back, The Perfect Stand for Ipads, Desk Mounts that Work and Go on Sale, Ollama
#AI, #TechJourney, #Flutter, #MobileGameDevelopment, #SoftwareDevelopment, #ProgrammingLife, #TechBlog, #AIGame, #AI Murders, #AIKills, #AIMurder, #AIMurders, #DefeatAI
By: David Giametta
Future David here! I hope you enjoyed reading through this post. AI Murders is now live! Apple, Google



Leave a Reply