You can read my original AMA here. TL;DR: At my first real job out of college doing econometrics for a minor league hockey team, I had an idea for an app but didn’t know how to code and couldn’t afford to pay someone to program it for me. I bought four books off Amazon and spent the next few months learning how to program. Within 10 months, I got a prototype off the ground and sold it to a few big colleges. It was a synchronized smartphone light show. It was adopted by fans quickly and soon started to spread throughout into the NBA, NHL, concerts, and even corporate events for companies like Berkshire Hathaway and Nissan.

What makes the app unique or special is that that it doesn't use WiFi, Bluetooth, or Cell Service; instead, I designed a mechanism for network-free data transfer using inaudible, ultrasonic sound waves. This ultrasonic transmission protocol ended up expanding to power more than just cool light shows and now is starting to change the ways hundreds of thousands of devices communicate with each other on a daily basis.

A lot has happened since posting my first AMA two years ago. For example, I bought my cat a new, heated bed and had my first experience with investors.

I’ve been extremely lucky with how everything has turned out so far and can only hope for good things to come. My iPhone logs that I'm on Reddit 7+ hours per week... so I thought I'd use that time today in the hopes that I can help others who are just starting to code, wanting to code, or looking to start a business. Or, perhaps more importantly, I just want to re-share this photo of my cat.

Edit: ID Proof via Twitter and Website

Comments: 974 • Responses: 36  • Date: 

oxfordcircumstances1239 karma

Do you have plans for any apps related to your shirt-wearing cat?

D3FEATER741 karma

“It’s the Tinder of...”

createsstuff625 karma

Do you feel that being well versed in math and economics helped prepare your brain to learn to code?

D3FEATER765 karma

More than anything, I think what is important is the desire to learn. Regardless of whether you're learning to program or learning math, I feel it's the same muscles being exercised (citation needed). So when it comes to whether I felt a background in math/economics helped -- yes, I'm sure it did. But being able to learn those things without, say, a professor teaching you them is what I found to be most critical.

StopSendingMeNudePMs255 karma

So what did you find most helpful learning how to code and progress productively?

D3FEATER661 karma

The four books I purchased were (1) on Swift, (2) Big Nerd Ranch on making Swift apps, (3) A book on Java, (4) a Big Nerd Ranch book for making apps in Java.

My advice for anyone starting would be the same: learn the language first, then jump right in and start making dummy applications. Finally, when you can, say, make an app that tracks your path as you go on a jog, then start on the project that made you want to start programming in the first place.

kl88978 karma

Can you provide an Amazon link(s), so we can support you with our purchase.

D3FEATER148 karma

Unfortunately we don't sell anything and don't have any sort of "donations." Here is the website though for the company who made some of those books. Really top quality stuff and easy to learn.

Shaman66245 karma

Do you think that you could just learn kotlin right away instead of java?

D3FEATER6 karma

Kotlin really wasn't a big thing when I first started. Probably would have been better though.

bodoogie223 karma

Can you foresee other possible uses for ultrasonic transmission, which I know nothing about but sounds very useful and ubiquitous?

D3FEATER231 karma

Great question! The project's GitHub has been used for all kinds of things, from synching smartphones to television broadcasts (kinda like Shazam but without needing to archive the audio in advance) to an alternative to iBeacons for proximity awareness. The light show use case is pretty neat IMO, but is far from the only (or even the best) application.

D3FEATER104 karma

Yes, just like BLE and WiFi, you can use this transmission medium for tracking users in unexpected and dangerous ways. I touch on this in another answer, but these nefarious use cases of inaudible audio are incredibly frustrating and one of the major hurdles in getting widespread adoption. As a rule of thumb, since all data transmission methods are "invisible," you need to be careful and aware of all of them.

bodoogie19 karma

It seems fascinating and useful but somewhat scary. With the broadcast to smartphone and many other apps, it can be blocked or ignored, right? Or can it be just extremely invasive?

D3FEATER47 karma

Just be careful you always know why you're granting microphone permission. If it's for a feature you want (e.g., sync your device to thousands of others in an arena) then that's great. But don't just grant it for no reason other than it's being asked for.

ShwiftyBear81 karma

What was the ultrasonic transmission used for initially?

D3FEATER239 karma

My original goal starting out was to make a synchronized smartphone light show with a beta use case for the minor league hockey team where I officed. The tricky part was that the crowds were so dense that the phones couldn’t be synced with a traditional WiFI/Cell Service/Push signal. So I decided to use inaudible audio embedded into the track. This was the “secret sauce” that suddenly made everything work.

The first iterations of the protocol were very crude, since I was not a classically trained Digital Signal Processing engineer. Now, however, we have over 12 incredible engineers contributing to the project and finally have a world-class, top of the line ultrasonic engine.

hspace878 karma

How do you protect your intellectual property in this development?

Make the engineers sign NDAs and non-compete agreements?

File for patents?

D3FEATER110 karma

Yes, we do file for patents. We actually got our first granted this January.

AMAInterrogator10 karma

What sort of liability does the ultrasonic audio present?

Why don't you just program off the cellular timing signal?

D3FEATER27 karma

At least in sports, the crowds are so dense you can't actually transmit a cellular signal well enough to get the level of synchronization we're looking for.

beamer055 karma

Do you still have a desire to code, or would you prefer to focus on idea development while others hammer out the lines at this point? If coding is still interesting, what are you learning now that you think is really cool or useful?

D3FEATER63 karma

I honestly really like to code because at the end of the day you have tangible "proof" of what you've accomplished. With more nebulous work, progress comes in epiphanies -- and while that's great, you don't just get those every day. You might work a whole day and have nothing to show for it, which isn't as true when it comes to straight up coding.

meshgearfoxx48 karma

Is your app based off of this idea? Or is it the other way around. Either way how do you feel about ultrasonic communication being used this way?

https://arstechnica.com/tech-policy/2015/11/beware-of-ads-that-use-inaudible-sound-to-link-your-phone-tv-tablet-and-pc/

D3FEATER108 karma

It's the other way around and it's incredibly frustrating. I cannot stand these nefarious use cases of inaudible audio and it's one of the major hurdles in getting widespread adoption. For any use case where our software is involved in, the user is always informed of exactly why we request microphone access and what the ultrasonic audio is used for. For example, in our sporting events, the crowds are so dense that WiFi/Cell Service become unusable, which is why data over audio has performed so well in those environments. It's a strict opt-in only policy. That being said, the tricky thing about data transfer -- whether it's WiFi, Bluetooth, or high-frequency audio -- it's always invisible, so there will be bad actors.

ynocfyinco37 karma

How the heck did you get the idea for this?? Do you have an engineering background?

I remember you. Kudos on the cat bed!

D3FEATER11 karma

Thank you! He almost never leaves it

olmesfarooq45 karma

How’d you get so many people to download your app?

D3FEATER78 karma

Honestly, it's just something people want to be a part of. When you first see data over ultrasonic audio in action, it's a pretty incredible experience. If you want to try data over ultrasonic audio yourself, we actually have a live demo on our site. You do need to download one of our apps, but you can delete it right after, doesn't really matter to me. Just click on the blue icons spread throughout our site with the app open (and your computer volume on).

alostvagabond38 karma

As someone who is about to graduate with a computer science degree and goes back and forth between hating and loving coding, I can't seem to ever stick with it. How do you manage to stay invested and get over the bumps in the road when confronted with a challange?

D3FEATER67 karma

I think you need to look at "coding" as the means to an end. Pick something you're passionate about and focus on that.

SystemOfADowJones34 karma

Hey, did you sell this app to Clemson? I remember going to a couple games in the fall (I'm a student) and we used an app like this

D3FEATER32 karma

Lol yeah that was us!

SystemOfADowJones11 karma

totally unrelated, but are you a fan of the band Defeater? I love them haha

D3FEATER15 karma

Yup, that's where I got the username!

craneoperator8929 karma

How long did it take you to learn the language? What were the biggest obstacles you had to overcome? As far as getting apps from prototype to App Store what’s the process like? I have ideas for apps but like you don’t want to invest the money to pay someone else to make something.

D3FEATER37 karma

To learn the fundamentals of my first language (Obj-C) took the longest. A solid 4-6 months before you could even do anything like make a calculator app with a GUI.

EbolaFred27 karma

Kudos. I came here expecting some BS app but instead got something truly unique.

As a tech guy, I would have given you dozens of strongly-worded reasons why this is a stupid idea and why it wouldn't work (and I'm generally a pie-in-the-sky optimist).

What helped keep you on your path, especially when you ran into difficulties and had friends saying "I told you it wouldn't work"?

And as a followup, how did you get critical mass of users, enough to where it looks cool in an arena?

D3FEATER14 karma

For getting critical mass, it really comes from the team or university promoting it. You really do need buy-in from the venue or the fans just won't know about it.

blackdragon43721 karma

Hi, were you in engineering/physics before learning to code? How did the core idea come to you? Why Java/Swift and not some form of HTML5/Javascript type stuff? Where is your code, on Github?

D3FEATER18 karma

No background in engineering or physics, although I had a degree in economics. The idea came to me because I officed in the basement of an arena so saw crowds of people gather twice a week and thought it would be cool to synchronize all their devices to the music for a light show. Regarding how to do that, I first tried all the traditional approaches, but service was too unreliable, so I settled on ultrasonic audio.

Finally, I chose Java/Swift because I wanted to make native mobile apps for smartphones.

tech288716 karma

I am very happy for your cat. What else can you tell me about your cat? Breed, fluffiness?

Seriously, good shit dude.

D3FEATER19 karma

He's a bengal named Krum, and he's 6 years old -- almost ready for kindergarten.

choongsam15 karma

Reddit 7 hours a week? You gotta pump those numbers. Those are rookie numbers.

D3FEATER11 karma

I knew I’d see this 😉

SpiritWolfie13 karma

I designed a mechanism for network-free data transfer using inaudible, ultrasonic sound waves.

That sounds very interesting.
Can you explain this in more detail please?

Specifically what does it do, how does it do it and how did you come up with the idea?

D3FEATER13 karma

So we operate in the narrow band that is too high-pitched for most human hearing but low-pitched enough to be detected by commonplace electronics. It’s a pretty narrow region, so you have to be pretty efficient.

I mentioned this elsewhere, but actually demoing it is a pretty neat experience. We have a live demo on our site. You do need to download one of our apps, but you can delete it right after, doesn't really matter to me. Just click on the blue icons spread throughout our site with the app open (and your computer volume on). Your computer will send audio to your phone, which your phone will cue your phone to display images, perform a light show, take a “synchronized selfie,” etc.

DurtyHooper6 karma

Are you preparing for future advancements of technology? Anyway you can "Save" mankind, since it seems that you like to be a game changer.

D3FEATER15 karma

That's one of the nicest things anyone has said to me on the internet! Not to mention we left my mom completely out of it!

In all seriousness though, the technological landscape changes so quickly and to have any contribution to it whatsoever would be more than I can ever hope to achieve. Data over ultrasonic audio really does offer incredible features that couldn't be accomplished using the current "electromagnetic monopoly" mediums of transmission. It really makes me excited for the future to see other developers incorporate our GitHub projects into their own work.

wadner23 karma

In those ten months you learned, how many hours did you spend daily or weekly learning? Can a guy learn this with a fulltime regular gig?

D3FEATER9 karma

I love learning and as a kid didn’t have a math teacher, so was self-taught from Algebra to Calculus, so learning to program was a somewhat similar process. I’d say I spent at least 4h/day studying up on it during that period.

joez372 karma

Why does your cat wear a shirt? Are you sure he/she likes it...😕

D3FEATER2 karma

He just wears it for the photoshoots.