Skip to content

mrinmoyxb/Cypher

Repository files navigation

🤖 Cypher

Cypher, an Android application built using Kotlin and Jetpack Compose that uses Gemini API from Google, to generate results based on the provided prompts.

🎯 Objective

The objective of this project is to built an Android application integrated with Gemini Pro API, through which we can easily access and utilize the capabilities provided by the Gemini by providing prompts.

🛠️ Technologies

  • Kotlin
  • Jetpack Compose
  • Google Gemini Pro API

🎨 UI/UX

Onboarding Screens:

cypher_onboarding

Home Screens:

cypher_mainScreen

🔍 About Application

The Android Application is built using Koltin, Jetpack Compose and Google Gemini Pro API, through this app user can give prompts in the both text and image format and get results. The app uses Google Gemini is a cutting-edge family of multimodal large language models (LLMs) developed by Google DeepMind. Launched in December 2023, it marks a significant leap in AI capabilities, vying with OpenAI's GPT-4 for the title of the most powerful language model.

Gemini comes in three sizes, catering to different needs:

  • Gemini Ultra: The most powerful version, handling highly complex tasks like scientific research or advanced AI development.
  • Gemini Pro: A well-rounded model for scaling across diverse tasks, ideal for general applications like information retrieval or creative content generation.
  • Gemini Nano: The most efficient and compact version, suitable for on-device use in smartphones or other resource-constrained environments.

Gemini represents a significant stride towards more versatile and impactful AI. Its multimodal capabilities pave the way for richer, more intuitive human-computer interactions and open doors to countless potential applications in various fields like education, healthcare, and artistic expression.

gemini1

The Vertex AI Gemini API supports the following use cases by model:

  • Gemini Pro: Designed to handle natural language tasks, multiturn text and code chat, and code generation.
  • Gemini Pro Vision: Supports multimodal prompts. You can include text, images, and video in your prompt requests and get text or code responses.

Android

Android is a mobile operating system (OS) primarily designed for touchscreen mobile devices such as smartphones and tablets. It's based on a modified version of the Linux kernel and open-source software, with the most widely used version developed by Google.

API level requirements

  • minSdk — The minimum version of the Android platform on which the app will run, specified by the platform's API level identifier. The minSdk required by the application is minSdk 24.
  • targetSdk — The API level on which the app is designed to run. The targetSdk required by the application is targetSdk 34

👨🏻‍💻 What I Learned:

Design Pattern

MVVM stands for Model-View-ViewModel, a software design pattern that helps separate the development of the graphical user interface (GUI) from the development of the business logic or back-end logic (the model). This separation of concerns can make it easier to develop and maintain complex applications.

  • Model: The model represents the data. It is responsible for storing data, processing data, and providing data to the view.

  • View: The view represents the user interface of an application. It is responsible for displaying data to the user and responding to user input.

  • View Model: The view model is a bridge between the model and the view. It is responsible for translating data from the model into a format that the view can understand.

API

An API, which stands for Application Programming Interface, is a set of rules and tools that allows two or more computer programs or components to communicate with each other. It acts as a middleman, facilitating the exchange of data and functionality between different systems.

Happy coding! 🚀

About

An Android application built using Kotlin and Jetpack Compose that uses Gemini API from Google

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages