Software Development Project

Role: Software Developer
Language: Kotlin
Tools: Android Studio, GitHub Copilot
Project Type: Personal / Coursework Project

Repository: https://github.com/msallese22/Kotlin-Mp3-Player

Project Overview

This project is a custom MP3 player application developed in Kotlin, designed to explore media playback, UI state management, and user interaction in a mobile application context.

In addition to core functionality, the project places strong emphasis on visual design, using a retro 1950s jukebox theme to guide layout, color, and interaction choices.

Core Functionality

The application supports the following features:

  • Audio playback (play, pause, stop)
  • Track navigation
  • Real-time interaction feedback through UI controls
  • Media state handling using Kotlin logic

The goal was to create a functional, user-friendly MP3 player while reinforcing clean, readable code structure.

Design Direction

Rather than using a default or minimal interface, I chose to design the application around a 1950s jukebox aesthetic.

Design considerations included:

  • Bold color contrasts reminiscent of mid-century diner culture
  • Rounded UI elements inspired by classic jukebox hardware
  • Clear, tactile controls that visually communicate interaction

This approach allowed me to treat the UI as part of the user experience rather than a purely functional layer.

Development Approach & Tooling

The project was built in Kotlin, following standard Android development practices for UI layout and event handling.

I also incorporated GitHub Copilot as a development assistant to:

  • Speed up boilerplate generation
  • Assist with syntax recall and pattern suggestions
  • Support iterative problem-solving during implementation

All logic decisions, architecture choices, and final implementations were reviewed and refined manually to ensure correctness and learning integrity.

Problem Solving & Learning Outcomes

Through this project, I gained hands-on experience with:

  • Kotlin-based application logic
  • Media playback handling in Android applications
  • UI interaction and state updates
  • Using AI-assisted coding tools responsibly within a development workflow

The project also reinforced the importance of intentional design choices, even in technically focused applications.

Reflection

This MP3 player project allowed me to combine software development skills with creative UI design. Working with a clearly defined visual theme helped guide technical decisions and reinforced the relationship between code and user experience.

Using GitHub Copilot as a supporting tool demonstrated how AI-assisted development can enhance productivity while still requiring strong foundational understanding and active decision-making from the developer.

Skills Demonstrated

  • Kotlin programming
  • Android application development
  • Media playback logic
  • UI state management
  • AI-assisted development workflows (GitHub Copilot)
  • Thematic UI design