Sign in

Four weeks after the launch of Ambie 2.0, it’s time to reflect on how we got here and the challenges that had to be overcome.

Before diving in, though, I want to celebrate the outstanding reception for Ambie 2.0. Here are some numbers since launch:

  • Number of sounds played daily — up 300%
  • Over 6000 hours of playback
  • Global rating of 4.8 stars out of 5

On top of the numbers, here are some testimonials

I’m humbled by how much people are enjoying the app. From its code to its UI…

Happy to announce the release of Ambie 2.0, a significant update to my humble white noise app that plays relaxing sounds to help you focus, sleep, or meditate. This new version includes several new features such as:

  • New sounds to download
  • Made existing sounds have smooth transitions
  • Improved memory usage and performance
  • Parallel downloads and download progress indicators

My journey with Ambie started in November 2020 when I released v0.8 after 6 hours of building it from scratch. It was built to help me relax in the midst of…

Software is never perfect. Bugs happen, but customers like you and me can be part of the solution in solving those bugs. If you want to be proactive, if you want to help developers, or if you just want your bug fixed as efficiently as possible, try checking the examples below.

Note: This is written mostly for non-developers who are wanting to send feedback to app developers. This is not targeted at developers reporting bugs to other developers (though some things mentioned here may help).

If you have no time to read the examples below, then here’s the tl;dr: efficient…

In my time building apps, it brought me joy each time I look at my usage hours charts and I saw growth month over month. Mind you, my personal apps are just small hobby projects, so the growth is small. But I’m a firm believer that in order to grow and improve, you have to learn how to measure progress. And so here we talk about adding telemetry in a UWP app to measure your app’s growth.

Note: I haven’t tested it myself, but I believe these steps will also work for older Windows frameworks like WPF.

App Center

On October 31st, I embarked on a personal hackathon starting at 12pm. My goal was to build a soothing sounds app that is simple, beautiful, and well integrated into my Surface Go 2. Six hours later, I built the minimum viable product for Ambie, a modern Windows app that plays white noise noise and nature sounds to help you be healthier, happier, and more relaxed.

How did Ambie come out relatively polished after just 6 hours of coding? Well, I spent 3 weeks designing it before writing code.

An image of Ambie White Noise app.

Over the rest of this article, I describe my 6-step approach and…

I’m excited to announce the release of the first original track for Ambie, titled Release.

Release is composed and created by my musician cousin, Halle. She and I chatted late in 2020 about the different tools she used for her music compositions, and it inspired me to create my own original track for Ambie.

But while I have a small background in drumming and percussion instruments, composing a new relaxation track requires deeper knowledge of tones, particularly tones that work harmoniously to form a soothing sound.

I pitched the idea to my cousin for me to commission her to compose…

When building apps that are tied to a backend service, you often have different URLs, secrets, or keys depending on your environment. In ASP.NET core projects, the appsettings.json file can be used to alternate between these environment variables, but what about for UWP apps?

Microsoft MVP Martin Zikmund has a great writeup on how to use ASP.NET’s existing infrastructure for appsettings.json within UWP apps. Make sure to take a look at this approach.

There also are other ways to achieve an appsettings-like solution. One approach I found was to use UWP’s existing .resw file infrastructure.

AppSettings class in a UWP app like Ambie White Noise app


As I was building my…

It’s not perfect. We all know it has problems, but the store lowers the barrier to publishing apps for new and indie developers, making it easier for everyone to build and create on Windows.

The app webpage automatically provided by the store.

When I first started developing apps in 2016, I built a countdown interval timer and published it to the store on a whim. I joked with my family saying I’ll charge $1 knowing nobody will buy the app. Today, the app earned more than $100. For a first-time developer that never built apps before, this was incredible. …

Reviewing the Surface Go 2 (tablet-only)

Last week, I purchased a Surface Go 2 and I’ve had mixed feelings about the device. On one hand, Panos and the Surface team nailed the hardware. It’s well designed, it’s premium, yet it’s only $399 USD. That’s an enticing combination for anyone, not just for a software developer or a tech enthusiast like me. Yet, the Go 2 is not without problems.

I’ll be sharing my thoughts about the device below. For this tablet-only review, I used the Surface Go 2 base model with S mode enabled. Importantly, I used it in tablet mode only. I didn’t use any…


I’m a software engineer at Microsoft, and I build Windows apps. I created Nightingale REST client. My stories are personal & not Microsoft’s.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store