Hi, I'm Sameer Fakhoury, a former GDSC core team member (2023-2024)
. I'm a cybersecurity graduate currently working at the second largest bank in Jordan, The Housing Bank for Trade and Finance
. I hold multiple cybersecurity certifications and specialize in various areas of the field.
This page will take you through the DevFest Amman 2024
session hosted by Google Developer Groups
, where entrepreneurs and Google developer experts
discussed business, machine learning, artificial intelligence, and Google Cloud.
So, grab a cup of coffee and join me as I share the notes I took during the session!
Note
: Some notes might need little tuning or additional information, but I did my best to capture all the relevant points while multitasking and staying focused on the entire session. Feel free to reach out if you have any updates or additional information!, contact me though LinkedIn: www.linkedin.com
Zain Innovation: Empowering Communities
- Part of Zain:
- Focuses on opening branches in multiple sectors and universities.
- Supports collaboration with communities, including GDG Amman.
- Actively promotes innovation, startups, and event support.
- A Decade of Impact:
- For the past 10 years, Zain Innovation has nurtured communities and startups.
- Facilitates workflows and partnerships between teams and communities.
Google Developer Experts (GDEs): Trusted Professionals
- Who They Are:
- Certified professionals with expertise in Google solutions.
- Help individuals and communities develop code, manage workloads, and utilize AI tools.
- Google Developers Amman:
- Over 1,200 members.
- Hosted more than 150 sessions, building a strong developer community.
Responsible AI
The Importance of Ethical AI Use
- AI, such as
ChatGPT
, must be used responsibly. - Concerns include misuse for harmful purposes, prompting discussions on ethical AI.
Solutions for Responsible AI
- SAIF: A solution promoting responsible AI use.
- Gemini by Google:
- A powerful AI model with safety as a core principle.
- Ensures security at every level—cloud, model, and agent integration.
- 2024: The Year of AI Potential:
- Unveiled the dual perspectives of AI’s potential for good and harm.
Building Powerful AI Agents
Simplifying Chatbot Creation
Dialogflow
:- A platform for creating advanced chatbots with natural linguistic interactions.
- Enhances customer experience by making conversations more intuitive and seamless.
- Vertex AI:
- A generative AI solution for building AI agents.
- Supports:
- Low-level code:
Dialogflow CX
. - Mid-level tasks: Data agents.
- High-level tasks: Advanced AI models (details needed).
Steps to Create an AI Chatbot:
- Access Google Cloud Agent Builder.
- Enable Google Cloud APIs:
- Activate
Dialogflow
CX API. - Build the agent using Vertex AI.
- Crawl website content:
- Use the website’s URL for automatic indexing (
<websitename.com/*>
). - Set up a datastore:
- Link to a specified datastore name.
- Submit and create the application.
- Enable APIs in
Dialogflow CX.
- Deploy the AI agent on specified websites.
For detailed guidance, visit Sachin Kumar's
LinkedIn: www.linkedin.com
Building Complex AI Agents with Playbooks
What Is a Playbook?
- A framework for creating AI agents with multiple functionalities.
- Trains agents using structured prompts and instructions.
Steps to Build Complex Agents:
- Define Goals: Set a clear objective for the agent.
- Create Instructions:
- Use conditions like
if...else
with variables (e.g.,${VARIABLE_NAME}
). - Preview Agent Interactions:
- Simulate agent responses to validate functionality.
- Customize Agent Workflow:
- Assign specific agents based on customer needs (e.g., store agent, timing agent).
Enhancing AI Agents with 3D Integration
- Interactive AI Agents:
- Once the agent is created in Dialogflow CX on Google Cloud, it can be customized with unique characters.
- Interaction options:
- Voice-based communication.
- Prompt-based interaction.
- 3D Avatars:
- The agent can be integrated with 3D avatars for a more immersive experience.
For detailed guidance, visit the YouTube channel: Tech with Sach
: YouTube TECH WITH SACH
What is an LLM (Large Language Model)?
- Core Concept:
- LLMs predict the next word in a sequence based on user prompts.
- These predictions rely on probabilities derived from extensive training data.
- Behavior of LLMs:
- Consistency: Outputs often remain the same unless adjusted by temperature settings.
- Temperature: Determines the randomness of predictions.
- Foundation of LLMs:
- Based on the transformer model introduced in the 2017 research paper, Attention is All You Need.
- The transformer algorithm selects specific features during training to improve learning outcomes.
Types of AI Models
- Closed Weighted Models:
- Parameters are fixed, and the code cannot be edited.
- Open Weighted Models:
- Parameters can be adjusted and fine-tuned.
- Open Source Models:
- Code is public and fully editable.
Steps to Create an AI Model
- Visit Kaggle to select a suitable model.
- Choose a Gemma model compatible with
Keras
and other tools. - Understand the model versions:
- Differ based on parameter weights, inputs, and instructions.
- Select the database and credentials (tokens).
- Copy the code to the appropriate editor.
- Use the
Keras
library and API key for integration. - Fine-tune the model's weights.
- Summarize data:
- Use an API to fetch news and extract relevant content.
- Enter the prompt for summarization using the integrated API.
Running Gemma Locally
- Tools and Frameworks:
- Ollama.com, GPT4All.io, ImStudio.ai, Llama.cpp.
- Example:
Ollama
Framework: - A serving framework for building AI agents.
- Provides a platform to implement and test agent interfaces.
DevOps: Selecting the Right Computing Model
Key Questions for Decision-Making:
- What will I manage?
- What will the cloud manage?
- Example: If focusing on software alone, choose PaaS.
Computing Models Explained
On-Premises
:
The user manages the entire infrastructure, including hardware, software, and networking. It offers complete control but requires more maintenance.IaaS
(Infrastructure as a Service): Provides virtualized computing resources like servers and storage managed by the cloud provider, while the user configures the OS and applications.CaaS
(Containers as a Service): Focuses on managing container orchestration and runtime environments, simplifying containerized application deployment.PaaS
(Platform as a Service): Offers a managed platform for app development, including runtime, middleware, and tools, allowing developers to focus on code.FaaS
(Function as a Service): A serverless computing model where functions are executed based on events, eliminating server management.SaaS
(Software as a Service): Delivers fully managed software applications over the internet, requiring no user infrastructure management.
Google Cloud Computing Models
- Google App Engine:
- For stateless applications using HTTP protocols.
- Cloud Migration with VMs:
- Ensures consistent performance by monitoring CPU functions.
- Serverless (
FaaS
): - For applications triggered by specific events or signals.
Key Factors to Consider in Cloud Computing
1. Pricing
- Coordinate with the management team to assess budget and pricing requirements.
- Use the Google Pricing Calculator to estimate the overall cost of computing resources.
2. Scalability
- Analyze traffic patterns and request volumes.
- Types of Scaling:
- Horizontal Scaling: Automatically duplicates instances to handle increased loads.
- Vertical Scaling: Manually upgrades CPU and other resources for better performance.
3. Cloud Models Without Servers
- Serverless models operate on an event-driven basis.
- Example: Cloud Run deploys instances only during event execution, with storage remaining consistent.
Google Compute Options
- Standard: Fixed resources (CPU, database storage, etc.), irrespective of usage.
- Committed and Sustained: Reserved or sustained usage discounts (details unclear).
- Preemptible VMs: Low-cost virtual machines with limited availability, reassigned after use.
- Serverless: Operates on execution or triggered events, not persistent computing.
Decision Tree for Cloud Model Selection
- Developing Event-Driven Applications?
Yes
→ UseFaaS
(Serverless).No
→ Does the application require a specific OS, GPU, or full infrastructure control?Yes
→ UseIaaS
No
→ Is the application containerized or planned for containerized deployment?Yes
→ Do you plan to use Kubernetes or container orchestration?Yes
→ UseCaaS
No
→ UsePaaS
No
→ UsePaaS
Building AI Applications with Flutter
Flutter and Dart Overview
- Flutter:
- A cross-platform, open-source UI toolkit developed by Google.
- Compiles native code using Dart.
- Dart:
- A programming language that runs within the Flutter framework.
Key Features of Flutter
- Widgets:
- Fundamental building blocks of Flutter applications.
- Contain parameters, variables, and values.
- Array:
- Used to store data in sections within a single variable.
- In Flutter, arrays are stateful, meaning data leaving the array is displayed on the user’s screen.
Creating a Virtual Assistant with Flutter and Gemini
Integration Workflow
- Build the virtual assistant with Flutter.
- Use Gemini as the AI engine for responses.
- Key Components:
- List View: To display chat history.
- Input Field and Button:
onPressed()
function sends data for processing. setState()
Function: Updates the display with user and AI responses.
API Integration
- Add the API Key and API Secret Token to the
getAnswer()
function. - Fetch the API details from Google AI Studio and connect them to Gemini.
Text-to-Speech (TTS) Library
- Combines Android and iOS TTS features into a single library.
- Functions:
textToSpeech()
for processing.speak()
for audible responses.- The library supports on-premises use for improved human-like voices.
Animations with Rive Platform
- Rive: Platform for creating character animations based on user interactions.
- Workflow:
- Upload animation files to Google AI Studio.
- Link animations to Flutter code using related functions.
- Example: Character reacts while the user types input.
Synchronizing Speech and Animations
- Use the TTS Listener Function:
- Detects when the speech ends.
- Stops character animations once text playback is complete.
For detailed guidance, visit the YouTube channel: YouTube Flutter MENA
Firebase Overview
What is Firebase?
- Firebase is a Google app development platform serving as the backend for applications.
- Provides features like:
- Database management.
- Push notifications.
- Extensions.
- Authentication.
- Analytics.
- All backend services are hosted within Firebase.
Key Features of Firebase
Serverless Functions
- Firebase enables direct integration of serverless functions with databases.
- These functions streamline development by automating backend operations.
AI Integration
- Gemini Model Integration:
- Firebase supports AI-based functionality using Gemini.
- Integration Methods:
- API-based: Access Gemini through APIs for data retrieval from AI agents.
- SDK-based: Direct access to Gemini models via Firebase SDK without requiring APIs.
- Authenticate users via registered Firebase projects linked to the portal.
- Firebase + Vertex AI:
- Combines Firebase capabilities with Google's Vertex AI for advanced AI deployment.
Firebase GenKit
- Supports multiple LLMs (Large Language Models), not limited to Gemini.
- Benefits:
- Can be installed locally.
- Provides a built-in AI interface based on various models.
- Eliminates JSON parsing for faster, direct user responses.
AI Evaluation Mechanism
- The concept involves creating multiple AI agents within Firebase.
- Process:
- One AI agent provides a response.
- Another AI agent evaluates the response.
- The system selects the best response for the user based on evaluations.
Advanced Firebase Integration
Connecting Firebase with PostgreSQL
- To integrate Firebase Data Connect with PostgreSQL:
- Set up a connection between Firebase and PostgreSQL for real-time data synchronization.
- Use Firebase Extensions or third-party tools to enable seamless integration.
- Evaluate data traffic patterns and optimize queries for efficient processing.
DevFest Talk
: SaaS and Business Development
Session Overview
- Topic: Exploring how to develop SaaS solutions into profitable businesses.
- Speaker:
Rajae Sahouri, Founder and CEO
- Interviewer: Various industry leaders.
Featured Speakers and Their Insights
Anas Alsalhi, CEO of Nowa
- Platform Development: Utilizes Flutter and no-code features to build apps.
- Business Concept: Combines the excitement of gaming with mobile app development to create a professional platform.
Omar Dweik, Co-founder and CEO of Bith.ai
- AI-powered Video Tools: Simplifies video production and editing through AI, enabling users to create and edit videos based on text prompts.
Tambi Jalouqa, CEO of Propeller Inc.
- Investment Strategy: Focuses on investing in over 65 SaaS companies, prioritizing scalable and innovative SaaS businesses.
Selecting the Right SaaS for Investment
- Team Composition: Strong teams should include sales, technical, media, and other essential roles.
- Investment Focus:
- While smaller startups often pivot, large companies with clear, scalable ideas are favored.
- Smaller companies receive guidance to refine their goals and improve their products.
Choosing a Location for Your SaaS Company
- Europe: Great for early funding but can have longer registration processes (3-4 months).
- U.S. vs. Germany: Easier and faster to register in the U.S. (3-4 days).
- Jordan: Leveraging AI integration in video editing tools enhances creativity and offers substantial value to users.
Subscription Models for SaaS
- Market Research: Understand how competitors price and structure subscriptions.
- Pricing Strategy:
- Testing is crucial, as subscription models may vary in regions like MENA.
- Avoid underpricing or overpricing; continuously update based on feedback.
- Subscription Base Flexibility:
- Consider models like pay-as-you-go or token-based systems.
- Introduce emotional pricing (e.g., tiered subscriptions: $50 vs. $200) to appeal to users.
- Ensure simplicity in plans for user clarity.
- Analytics: Monitor user behavior to enhance specific app features.
Pivoting Customer Bases
- SaaS products may pivot between different client bases (e.g., from gaming to education or podcasting).
- Keep close communication with customers to adjust product direction effectively.
Engaging with Customers
- Customer Feedback: Share contact details (email/phone) for direct user feedback.
- Early Access: Publish articles with mockups/screenshots of your app for feedback and initial user base building.
Competing in the SaaS Market
- Identifying Competitor Weaknesses: Use feedback from competitors’ users to improve your product.
- Entering the Market:
- It’s often better to be the last in the market.
- Observing competitors’ mistakes helps refine your offering and add unique features.
Listening to the Right Feedback
- Prioritize feedback from dedicated, long-term users rather than random visitors.
- Focus on insights from those who are genuinely engaged with your product.
Building the Right Team
- Quality over Quantity: Build a small, strong team that fills key gaps in skills.
- Trust and Potential: Focus on team members’ potential and willingness to learn, rather than just experience.
- Co-founders vs. Employees: Co-founders are often more passionate and driven than regular employees.
Wisdom for SaaS Entrepreneurs
- First Round MVP: Build a viable product without heavy upfront costs.
- Read "Zero to One": Learn about creating innovative solutions to unique problems.
- Curiosity and Passion: Prioritize passion for the mission over financial gains.
- Seek Like-minded Individuals: Find others who share your vision and pursue it together.
made by: Sameer Fakhoury aka.semo