INDEPENDENT PRODUCT / MOBILE APPLICATION

Headphone Cleaner

Making sound useful meant designing how, where and when it plays.

I built a mobile audio utility with separate phone-speaker and headphone paths, guided modes, and synchronized sound and haptics on supported iPhones.

Explore Headphone Cleaner

Start with the need. Then choose the sequence.

When a phone speaker sounds muffled after moisture exposure, the immediate need is a clear action to take.

Someone could search for a tone video or use a manual frequency generator. That still leaves them choosing the output, frequency and duration. I brought those decisions into a guided flow: choose the device, then the purpose of the session.

The water sequence is designed to help move moisture near the speaker opening. Headphone playback is a separate case, with audio routed to the connected headphones and no phone haptics.

Phone speaker

Sound + synchronized haptics

Water, Dust and Quick on supported iPhones. Channel segments play through both channels.

Headphones

The program, with separate channels

Audio only. Water plays its pulsed sequence on the left, then the right.
The output choice changes the playback path, not just the label on a button.

I kept two decisions separate: the program chooses the sound pattern; the device choice determines its output and channel handling. For Water Eject, switching from headphones to the phone keeps the sequence but plays each channel segment through both channels, with synchronized haptics on supported iPhones. Mesh and Bass Port remain audio-only listening programs in either mode.

Headphone Cleaner mode selection showing Quick Clean, Water Eject, Dust Eject, Mesh Deep Clean and Bass Restore
The actual mode picker. The selected purpose determines the sequence that runs.

Different jobs deserve different patterns.

I separated Water Eject, Dust Eject and Quick Clean into distinct programs, with different sweeps, pulses and durations. The person chooses a purpose; the program holds the signal details.

Mesh and bass modes provide listening sequences. I kept that role distinct from the water-ejection goal.

Water Eject

Lower-band sweeps and pulsed holds

Dust Eject

A different sweep and pulse schedule

Quick Clean

A shorter sequence

Sound and vibration belong to one schedule.

The pause is part of the pattern.

On supported iPhones, I paired the sound with continuous haptic events during the active parts of Water, Dust and Quick modes. The haptics stop during the silent windows.

One Core Haptics engine clock
Audio
Haptics
In the pulsed sections, sound and haptics share the active windows and pause together. This editorial diagram shows timing, not the physical waveform or calibrated intensity.

One clock underneath a simple action.

Starting an audio player and a vibration call in sequence leaves two independent timelines. I moved both tracks into one native Swift Core Haptics engine and scheduled them for the same future start time.

That gives the intended sound-and-vibration pattern a shared timing reference. It aligns the playback windows rather than matching the physical frequency of the vibration motor to the audio tone.

Keep the whole session connected.

The same engine time drives progress. Stopping the session or interrupting its audio route stops both tracks, so the interface and the native playback describe the same session.

Flutter owns the experience, while signal generation runs outside the UI thread and Swift handles the device-level timing. Headphones and iPhones without haptic support use audio-only playback. If a supported native engine fails to start, the session reports an error.

Research changed the design choices.

Frequency, timing and mechanical coupling all matter. A single number cannot describe the whole interaction.

I drew on work about droplet resonance, acoustic water removal and vibration-driven particle release when shaping the sequences. Apple's Core Haptics documentation provided the implementation foundation for playing audio and haptics together.

The studies informed the design. The app's frequency ranges, durations and intensities remain my engineering choices; the papers do not establish device-specific cleaning effectiveness.

  1. Shin & Lim2014European Physical Journal E
    Shape oscillation and detachment conditions for a droplet on a vibrating flat surface

    Droplet response depends on the vibration, its amplitude and the surface. This informed exploring frequency ranges instead of treating one tone as universal.

    The study concerns a mechanically vibrating flat surface.
  2. Mortazavi et al.2019Journal of The Electrochemical Society
    Enhanced Water Removal from PEM Fuel Cells Using Acoustic Pressure Waves

    Acoustic pressure and pulsed excitation informed the investigation of active and resting periods in the sound sequences.

    The apparatus is a fuel-cell channel with airflow; its numerical results are not phone presets.
  3. ApplePlatform documentationCore Haptics
    Scheduling audio and haptics on one engine clock

    The direct engineering foundation: register the generated audio with Core Haptics, then schedule audio and haptic players against the same engine time.

    Official platform documentation, alongside the scientific literature.
  4. Huang et al.2023IEEE Transactions on Mobile Computing
    A Portable and Convenient System for Unknown Liquid Identification With Smartphone Vibration

    Vi-Liquid explores transferring a phone motor's vibration into liquid through a container. It informed the investigation of sustained vibration and resting windows.

    Its purpose is liquid identification, rather than speaker water removal.
  5. Abubakar et al.2020Scientific Reports
    Environmental dust repelling from hydrophobic and hydrophilic surfaces under vibrational excitation

    Surface properties, adhesion and inclination affect particle release. This challenged the assumption that simply raising the tone would be enough for dust.

    The work uses vibrating glass surfaces.

A focused utility, carried from product choices to native playback.

I designed and built the mode selection, generated audio programs, headphone routing and synchronized phone playback as one product. It is released on the App Store and has passed 2,000 downloads.

Ahmet Yasir Demir / Contact

Let’s talk.

A project, a collaboration, or a question. Your message comes straight to me.

Sent privately to dydemiryasir@gmail.com. Want a reply? Include your email above.