This project was created as a spontaneous entry for Apple's Swift Student Challenge 2024, built within approximately 10 days having no prior experience with Swift. This virtual DJ setup introduces users to DJ equipment and techniques, offering a fun and interactive way to learn mixing tracks.
TOOLS USED
Figma, XCode
ROLE
UX/ UI Designer, Developer
This project was created as a spontaneous entry for Apple's Swift Student Challenge 2024, built within approximately 10 days having no prior experience with Swift. This virtual DJ setup introduces users to DJ equipment and techniques, offering a fun and interactive way to learn mixing tracks.
TOOLS USED
Figma, XCode
ROLE
UX/ UI Designer, Developer
BeatBlend


Idea
BeatBlend was inspired by my personal experience as a DJ, where I realized how costly it can be just to try mixing. I wanted to create an accessible way for people to experiment with DJing without the financial burden. This virtual setup offers users a fun and affordable environment to explore DJ techniques and equipment.
Idea
BeatBlend was inspired by my personal experience as a DJ, where I realized how costly it can be just to try mixing. I wanted to create an accessible way for people to experiment with DJing without the financial burden. This virtual setup offers users a fun and affordable environment to explore DJ techniques and equipment.


Features
For the experimental features, I decided to include controls for adjusting the high, mid, and low frequencies of the tracks. I also aimed to integrate a vertical slider to adjust the BPM. The interface were to feature typical playback controls—play, pause, and stop buttons—along with a panel displaying the track's name, artist, playback duration, and current BPM.
Frequency Ranges
To implement controls for high, mid, and low frequencies, my initial approach was to split them dynamically. However, due to the limited options available in AVFoundation, I revised my plan and decided to manually add a limited amount of tracks within the app with pre-created custom audio files for the highs, mids, and lows.
Features
For the experimental features, I decided to include controls for adjusting the high, mid, and low frequencies of the tracks. I also aimed to integrate a vertical slider to adjust the BPM. The interface were to feature typical playback controls—play, pause, and stop buttons—along with a panel displaying the track's name, artist, playback duration, and current BPM.
Frequency Ranges
To implement controls for high, mid, and low frequencies, my initial approach was to split them dynamically. However, due to the limited options available in AVFoundation, I revised my plan and decided to manually add a limited amount of tracks within the app with pre-created custom audio files for the highs, mids, and lows.


Swift Student Challenge Winner 2024
In March 2024, I was selected to be a winner of the Swift Student Challenge 2024 with BeatBlend. This recognition was a rewarding milestone, showcasing my ability to develop an innovative and engaging project using Swift.
Swift Student Challenge Winner 2024
In March 2024, I was selected to be a winner of the Swift Student Challenge 2024 with BeatBlend. This recognition was a rewarding milestone, showcasing my ability to develop an innovative and engaging project using Swift.
Lessons Learned
CHALLENGES & OPPORTUNITIES
One of the major challenges of this project was time management, as it had to be completed within a tight 10-day timeframe with a strict deadline. Choosing the most appropriate libraries to integrate into the project also posed a challenge. Ultimately, this experience reinforced my belief that hands-on work with a personal project is one of the most effective ways to learn a programming language.
COMPROMISES
The app's file size restriction of 25 MB (zipped) necessitated compromises, including a reduction in audio quality and limiting the track selection to just three options to stay within the size constraints. If developed for release, the app would allow users to sync with their own audio files and load them independently for a more personalized experience.
Lessons Learned
CHALLENGES & OPPORTUNITIES
One of the major challenges of this project was time management, as it had to be completed within a tight 10-day timeframe with a strict deadline. Choosing the most appropriate libraries to integrate into the project also posed a challenge. Ultimately, this experience reinforced my belief that hands-on work with a personal project is one of the most effective ways to learn a programming language.
COMPROMISES
The app's file size restriction of 25 MB (zipped) necessitated compromises, including a reduction in audio quality and limiting the track selection to just three options to stay within the size constraints. If developed for release, the app would allow users to sync with their own audio files and load them independently for a more personalized experience.
Let's Work Together.
