A PHP Error was encountered
Severity: Notice
Message: Undefined variable: duration
Filename: models/Home_model.php
Line Number: 687
Backtrace:
File: /home/u196340849/domains/c2creview.co/public_html/application/models/Home_model.php
Line: 687
Function: _error_handler
File: /home/u196340849/domains/c2creview.co/public_html/application/views/profile.php
Line: 621
Function: get_all_portfolio
File: /home/u196340849/domains/c2creview.co/public_html/application/controllers/Home.php
Line: 966
Function: view
File: /home/u196340849/domains/c2creview.co/public_html/index.php
Line: 319
Function: require_once
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: duration
Filename: models/Home_model.php
Line Number: 687
Backtrace:
File: /home/u196340849/domains/c2creview.co/public_html/application/models/Home_model.php
Line: 687
Function: _error_handler
File: /home/u196340849/domains/c2creview.co/public_html/application/views/profile.php
Line: 621
Function: get_all_portfolio
File: /home/u196340849/domains/c2creview.co/public_html/application/controllers/Home.php
Line: 966
Function: view
File: /home/u196340849/domains/c2creview.co/public_html/index.php
Line: 319
Function: require_once
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: duration
Filename: models/Home_model.php
Line Number: 687
Backtrace:
File: /home/u196340849/domains/c2creview.co/public_html/application/models/Home_model.php
Line: 687
Function: _error_handler
File: /home/u196340849/domains/c2creview.co/public_html/application/views/profile.php
Line: 621
Function: get_all_portfolio
File: /home/u196340849/domains/c2creview.co/public_html/application/controllers/Home.php
Line: 966
Function: view
File: /home/u196340849/domains/c2creview.co/public_html/index.php
Line: 319
Function: require_once
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: duration
Filename: models/Home_model.php
Line Number: 687
Backtrace:
File: /home/u196340849/domains/c2creview.co/public_html/application/models/Home_model.php
Line: 687
Function: _error_handler
File: /home/u196340849/domains/c2creview.co/public_html/application/views/profile.php
Line: 621
Function: get_all_portfolio
File: /home/u196340849/domains/c2creview.co/public_html/application/controllers/Home.php
Line: 966
Function: view
File: /home/u196340849/domains/c2creview.co/public_html/index.php
Line: 319
Function: require_once
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: duration
Filename: models/Home_model.php
Line Number: 687
Backtrace:
File: /home/u196340849/domains/c2creview.co/public_html/application/models/Home_model.php
Line: 687
Function: _error_handler
File: /home/u196340849/domains/c2creview.co/public_html/application/views/profile.php
Line: 621
Function: get_all_portfolio
File: /home/u196340849/domains/c2creview.co/public_html/application/controllers/Home.php
Line: 966
Function: view
File: /home/u196340849/domains/c2creview.co/public_html/index.php
Line: 319
Function: require_once
Dopalearn
Project Overview:
Dopalearn offers a new learning method for children by combining it with entertainment. The training is done by periodically interrupting the ads with nano-lessons in the form of popups. Parents can find and assign lessons before handing the device over to the child.
The Android app had 1000+ downloads in the first 2 days once it went live. Let’s go through the whole process together and see the challenges faced.
Industry: Education & Entertainment
Services: Development, Maintenance and Support
Project Challenges:
1. User experience
Users needed help navigating to select a lesson, which led to the conclusion that the UX could be better.
2. Android from scratch
We were in a hurry to develop an Android app that would perform identically to the iOS app, which was in development for a longer time.
3. Stability and scalability
The existing iOS app experienced performance issues and required additional optimization to improve the app's stability.
Technical Solution:
1. User experience
We changed the previous lesson selection path, and instead of configuring everything first and losing a lot of time, we realized that step needed to be revised and simplified it by taking the user directly to the desired screen.
2. Android from scratch
We went with our proven and scalable approach in all of our Android apps - Clean architecture + Compose. That resulted in building an Android app in just 3 months!
3. Stability and scalability
Unnecessary screen re-rendering was immediately addressed. We improved the separation of the views to not re-render the whole view hierarchy and optimized the video’s fetching from Firebase to load videos only when they are displayed in the iOS app.
Project Details:
Category:Mobile App Development
Salona
Project Overview:
Salona is a mobile app for booking appointments in beauty salons. Users can easily book an appointment with just one click, and get a reminder on time. On the other hand, beauty salons can eliminate the need for a notebook by using an electronic calendar display. This allows them to easily accept or deny requests.
According to Statista, it is anticipated that the Beauty and Personal care market will experience an annual growth rate of 3.09% in 2024. Salona team wanted to test the mobile app in Serbia, where annual growth is expected to be 1.56%. Since the client came with requests that included fixing mistakes made by their former partner, it was challenging for us to break into that market and meet expectations.
Let's go through the specific concerns the client faced and how we helped them save future development time by 54%!
Industry: Beauty and Personal Care
Services: Development, Design, Maintenance and Support
Project Challenges:
1. Outdated technology: The iOS app was using outdated technology, resulting in functionality limitations and preventing future updates or improvements
2. New app context: Integrating new context into existing architecture is often a demanding task for a development team. In our specific case, the client wanted to introduce an option for salon employees to use the application, not just the owners. They would get partial management capabilities or access to certain functionalities.
3. App issues: The current app versions had bugs and did not follow the defined UI/UX design
Technical Solution:
1. Integrating new context into existing architecture is solved most easily by creating a new navigation graph and inheriting existing classes for drawing the UI. Overall, we modified the structure to make it easy for us to inherit all the required classes by using a Design pattern
2. Instead of using the existing Viper(UIKit) for the iOS app, we translated it into Clean/MVVM (SwiftUI), allowing the app to run smoother and faster
3. To address their concern about waiting for results, they were regularly updated on progress and any changes in timelines, and the development approach was divided into more manageable, time-limited projects with due dates
Project Details:
Category:Mobile App Development
Znam Majstora
Project Overview:
Znam Majstora is a mobile app that helps you find a handyman with ease. Handymen publish their services, and users publish their needs for repairs. This app will make sure you find the right professionals for any kind of home service you need. After the work is done, you can rate the handyman in the app and make it easier for others to choose the best one.
App average conversion rate is 68.61%, which is around 18% more compared to our competitors. Let’s go through the whole process together!
Industry: Home & Services
Services: Development, Design, Maintenance and Support
Project Challenges:
The client came to us with the exact idea and the industry problem to solve. They wanted to go on the market with both iOS and Android apps.
1. Our challenge was to develop MVP in the time frame requested. It was a tight deadline, but we wanted the client to be satisfied and able to proceed with plans within that timeframe.
2. We decided to use Kotlin Multiplatform and finish the initial version in the preferred time. The problem was that many libraries were unofficial and completely undocumented.
3. One of the most complex features was enabling users to rate how satisfied they were with the handyman’s work. We had to develop a solution that would close the system to prevent abuse, i.e., so that handymen couldn't rate each other indiscriminately as they prefer.
Technical Solution:
1. Our development team decided Kotlin Multiplatform would be the best option for developing MVP within the timeframe. Sharing code between multiple platforms, including backend, iOS, and Android, will help us reduce development time and effort while keeping efficiency and consistency.
2. A lot of information is extracted from our team discussions within the library itself and from open bugs. It's very helpful when multiple people work together to solve a problem because they have different experiences and perspectives and it is easier to find a solution. In such situations, we turn to all possible sources that could help.
3. To prevent abuse of the rating feature, we completely closed the system, creating an entire collaboration concept that must be accepted to rate someone. A validation process was established where ratings had to be approved by a designated authority, such as a superadmin, before being finalized and displayed publicly.
Project Details:
Category:Mobile App Development
Hooray!
Project Overview:
Hooray! Party & Event Planner is an app that assists you in organizing events. It is the only app on the market that includes both options for planning and inviting guests. You can send digital invitations, track RSVPs, and customize budgets and ToDos. Guests are always updated on the announcements board, and they can upload pictures in a shared digital gallery.
Industry: Lifestyle
Services: MVP Development, Design, Consulting, Maintainance and Support
Project Challenges:
Hooray team came to us with an idea to connect the host with his guests to share the party euphoria.
1. The client didn’t have a clear vision of features that should be implemented, and how to provide the best user experience
2. A big concern was also data security since the communication method between Hosts and Guests was based on a phone number
3. They were not satisfied with the existing UI/UX design so our designers took over and changed everything from scratch
Technical Solution:
1. We came up with feature ideas based on the market research, user behavior, and pain points. The client found our expertise with similar apps valuable, so we took responsibility of creating the whole app concept and simplified the process for them.
2. Using secure protocols like HTTPS, all communication between the app and the server was encrypted. That way we were sure that sensitive information, including phone numbers, was not hijacked or manipulated.
3. The previous design was too plain and not engaging enough for one party planning app. Our team of UI/UX designers decided to go with cheerful and colorful design that will naturally bring excitement about the celebration and inspire users to invite friends through the app.
Project Details:
Category:Mobile App Development
Izbegni Aditive
Project Overview:
Izbegni Aditive app helps you identify and avoid additives that may potentially compromise your health. Since we began working together, there is also a new feature to scan any product from the store and display its nutritional table, whether it contains allergens, etc.
Industry: Health
Services: Development, Maintenance and Support
Project Challenges:
We formed a partnership at one of the significant business conferences. Despite the presence of many mobile app development companies there, the client decided to put their trust in us to implement all our agreements.
1. Bugs and flaws
They wanted a new team of developers ready to fix all bugs and flaws since the app already had 80k users at that time.
2. Native experience
The app was written in React Native for the mobile part. As the user base grew, the app worked slower and lacked native behavior.
3. Backend optimization
Outdated technologies were used on the backend, and images were stored in the app's memory instead of on the server. Memory-intensive apps may be more prone to crashes and instability.
Technical Solution:
Since the client was not so familiar with development technologies, they wanted to continue building an app in React Native. On our initiative, we rewrote the entire app to KMP as a gesture, earning their trust even more and setting up a strong basis for future app development.
1. Bugs and flaws
We prioritized tasks and bugs that have been present in the application for a long time. We resolved them immediately at the beginning so that we could continue with fixing errors.
2. Native experience
Considering that we had an excellent experience with Kotlin Multiplatform, we rewrote the entire app from React Native to KMP. This way, users got a better native experience since in KMP, the business logic is shared, and the UI is written separately for each platform.
3. Backend optimization
We've done a complete optimization on BE and decided to move images to the server. That optimized performance and impacted the app's ranking in the App/Play Store by clearing up extra memory.
Project Details:
Category:Mobile App Development