Beeflection

A reflection app to help users identify soft and hard skills based on their project experiences.


Team of 6

418 Views


Beeflection

OVERVIEW

Beeflection is a reflection app designed to help users identify both soft and hard skills based on their project experiences. The journey of creating Beeflection was not just about building an app; it was about crafting a tool that guides users through their professional growth, leveraging technology and design principles to make this process engaging and insightful.
In this article, I will take you through the development journey of Beeflection, highlighting the challenges, choices, and milestones that shaped its creation. This journey is a blend of planning, designing, and coding, using the best practices in software development to deliver a meaningful application experience.

TECHNOLOGY & TOOLS

For the development of Beeflection, we utilized a variety of tools and technologies:
- Xcode 15.0 for our development environment
- SwiftUI for designing responsive and intuitive interfaces
- Gemini (Google Generative AI) to provide AI-powered insights and summaries
- Trello to manage our development backlog and tasks efficiently
- GitHub for version control and collaboration
- SwiftData to manage complex data relationships within the app

SETUP PROJECT

Before diving into the code, we laid a strong foundation with a comprehensive Software Requirement Specification (SRS) and Entity Requirement Diagram (ERD). These documents were crucial as they helped us define the data models and their relationships clearly. In our case, we identified two primary models: Reflection and Skill. The Reflection model could contain multiple Skills, and this relationship needed to be accurately represented and managed within the app using SwiftData.

DEVELOPMENT PLAN

After solidifying the requirements, we broke down the product features into specific software requirements. This involved creating a detailed Use Case Diagram, Activity Diagram, and Sequence Diagram. From these analyses, we identified four primary use cases:
- Creating a Reflection: Users can create reflections based on their project experiences.
- Generating AI-Powered Summaries: Users receive a summary generated by AI after completing a reflection.
- Displaying Skills Based on Job Roles: The app categorizes and displays soft and hard skills according to job roles such as Tech, Design, and Product.
- Listing and Detailing Reflections: Users can view a list of their reflections and dive deeper into each one for more detail.
With the requirements clearly defined, we moved on to planning the development phase. Given our one-week development timeline, we decided to use the MVVM (Model-View-ViewModel) architecture. This choice was strategic; MVVM allowed us to accelerate development by keeping the codebase clean and manageable.
We used Trello to organize our tasks into a development backlog, divided into three major sections: UI/UX Design, Frontend Development, and Backend Development. This approach helped us stay on track and ensure that we tackled each part of the app methodically.

DEVELOPMENT PHASE

With the plan in place, it was time to build Beeflection. The decision to use MVVM over a more complex architecture like Clean Architecture was based on our goal of rapid delivery. MVVM allowed us to break down the app into manageable parts, focusing on one feature at a time without getting bogged down in overly complicated patterns.

CONCLUSION

CONCLUSION
The journey of developing Beeflection was both challenging and rewarding. We navigated the complexities of building a robust, user-friendly app while leveraging cutting-edge AI technology to provide valuable insights. By using MVVM architecture, we streamlined the development process and delivered a high-quality product within our tight timeline.
Building Beeflection was not just about creating an app — it was about creating a tool that empowers users to reflect, learn, and grow in their careers. As we continue to refine and enhance Beeflection, we remain committed to helping users on their journey to self-improvement and professional excellence.