Ohh, hey! I didn't expect you here. But, if you want to hear me toot my own horn, keep on reading. It should be more fun than my resumé anyway.
Turning oxygen to Carbon dioxide, and tearing down toys to see how they worked. Jupiter here was one my first victims.
First transistor LED blinker age 12
Made a couple of amps and speakers. Fried even more amps and speakers,
but also made my first loudspeaker transducer from scratch.
Yes, I literally hand wounded the voice coil. And yes, it sounded like Unicorn farts.
But I didn't stop making speakers and amps, and yes they sound better now, 5-star reviews better.
First single board computer (with Z80 CPU).
So I found this book in my mom’s library that was about a Z-80 computer with schematics, layout, and everything.
By then Z-80 was already a 20 year old technology, but having no access to Internet, I had no idea.
I thought it was awesomest thing, so painstakingly learned Assembly language all on my own.
I made the board, and programmed it to work like a phonebook which kinda worked, kinda didn't.
I finally learned from an electronics student what I had built was ancient technology.
And I moved on …
Watched Artificial Intelligence (the movie :)). For some reason it had a profound impact on me.
Read a bunch of books by Steve Grand, Rodney Brooks etc … Where I learned about Genetic Algorithms, Neural Networks, and emergent behavior.
Started SFU's soccer playing robots team for Robocup smallsize league.
First Neural Network and SVM from scratch in C++ used for object recognition. At this time computers were very slow. It took forever to train, and I didn't know MNIST or other datasets existed, so I was taking pictures of characters with my webcam 😓 Eventually my patience ran out and I gave up on Neural Networks until years later.
Our robots could see, but by the time they detected the ball, it was already 2 feet away. Our cameras were slow, and our computers were slow. I decided to make a camera that does a bunch of processing on-board to speed things up. So I got an FPGA board and an image sensor chip. A bit of shitty soldering to connect the FPGA to the sensor, and I was in business. I developed an image acquisition module (using VHDL) to fetch images from the sensor, do some preprocessing, and stream them to the computer.
In a team of two, we developed a home network audio distribution system. It consisted of single board computers with touch screen + a headless media server. Similar to Sonos, but we also had ambitions to expand it into a smart home solution.
This was my first substantial C++ projects. I got to patch a Windows driver, write my own lightweight & fast graphics/physics engine, and dig deep into networking and concurrent programming.
Assistive medical devices are typically very expensive. So when a friend asked me to work with him on an affordable eye gaze tracking system, I jumped on it. The device would mainly help patients with neurodegenerative diseases such as ALS. During the course of this project, I developed (in C#) a very simple but effective UI to allow patients to do more with less. It is all better explained in a paper we published later: An Eye-Gaze Tracking and Human Computer Interface System for People with ALS and Other Locked-in Diseases
Being bedridden sucks. So for our school's capstone project, our team decided to create a device that gives bedridden patients more control over their lives. We developed an entertainment and accessibility software/hardware for bedridden patients to make their lives easier. They could use the unit to play music, watch videos, read books, call nurse, control appliances around the house remotely, etc. This was before the iPad, now you can do all that with a tablet 😐
… with a degree in Systems Engineering. You are probably thinking wtf is “systems engineering”. It is about 70% electronics, 20% software, and 10% mechanical according to SFU's engineering department. To their credit, it is the perfect mix for makers and geeks.
After graduation, I was more and more curious about inner workings of successful businesses. I had been making speakers and amplifiers all my life (as a hobby), and I had become pretty good at it. So I started Serene Audio, a loudspeaker company.
It was my toy model for a business to experiment with, learn how a business works, and make some money of course.
I taught myself acoustics, studied psycho-acoustics, designed a bunch of speakers and amplifiers and launched Serene Audio's website. If you have had any entrepreneurial ventures of your own, you know that's just the beginning. Not me though! Freshly graduated from engineering school, I had no business launching a business in the competitive consumer electronics market. I did it anyways and stuck with it too.
Our speakers have many very happy owners.
And it was the best education I could receive in market evaluation, branding&marketing, manufacturing, product management, fundraising, financial planning, accounting, and the list goes on.
In Sep 2010 I joined Living Silicon (aka. Hipparcos Technologies) as the first employee. There I worked with Olivier Vincent (founder of the company) on developing an Internet connected home robot. I was working on creating the first prototype to use as a proof of concept for fundraising. Each robot had a Beagleboard as its brain and an Arduino for motor control and sensor readout.
There I got my first extensive experience with Linux. I learned to write, modify, and build display and touchscreen drivers. But the software architecture, is what I'm most proud of. The software consisted of 13 threads running over 3 processes, loosely coupled by the ZeroMQ messaging library. The loose coupling allowed for moving computing heavy services to run on a remote server with minimal effort. It also allowed remote debugging and diagnosis of the robot’s individual services.
“Ok, was it any good” you say. Well we managed to make it do some interesting things. It would follow your face for example. CLASSIC! But you could also connect to it over the Internet and drive it around the house. It also acted like a little home security bot. It would take pictures of any intruder and upload them to our server, then ask the intruder to enter the password (with a very fitting british butler's voice). If the intruder ignored it or crushed it with a sledge 🔨 , our server would send you an SMS and images of the intruder.
In Sep 2013, I joined Verlico. We were a team of three, building a social network serving fashionistas and people who like to dress well. It was kind of like Instagram, affiliate & influencer marketing rolled into one slick, beautifully designed platform. Our stack consisted of NodeJS, Express, Redis, Elastic Search, and AngularJS. I worked on both the backend, frontend, and a little bit of deployment on AWS. We launched in 8 months. It was short, but intense 10~12 hour workdays. I got to learn and work with all the technologies mentioned above. Plus, I learned the names of all different types of women's underwear! 👙 That should be useful in the future!
Lazymeal is an online food ordering app. I joined them in 2014. I was tasked with putting systems in place to track various metrics that were important for business growth. With that knowledge, then I would direct our sales & marketing efforts. So I geared Lazymeal up with various data gathering tools, and developed our own custom tool to create, manage, and track campaigns. Backend stack at Lazymeal consisted of CodeIgniter (a PHP framework) and PostgreSQL.
I also got to dive really deep with 3rd party analytics tools such as Google Analytics, MixPanel, and others. As the person responsible to generate actionable insights from these tools, I saw how tricky it is to draw legitimate causal conclusion from metrics & experiments, and found a new appreciation for statistical analysis and experimentation.
Towards the end of my time at Lazymeal in 2015. Serene Audio attended the California Audio Show in San Fransisco. It was the first time we demo'ed the speakers to a large audience. The Talisman speakers got an unbelievably positive response from the toughest crowd imaginable, AUDIOPHILES! So I left Lazymeal and started working fulltime on Serene Audio. I can write a book about what happened between then and now. But I'll at least write a blog post to share my Pearls of Wisdom with all you aspiring hardware entrepreneurs.
In Feb 2017, I decided to leave Serene Audio once again, and follow my passion in Artificial Intelligence and Machine Learning. So I jumped back head first into AI. Now my days are spent doing AI projects, taking courses in Deep learning, Statistics, Bayesian Networks, and reading papers; lots of them.
On the research front, the areas of AI that excite me the most are Bayesian approaches, Transfer learning, One-shot learning, semi-supervised learning, and
generally any line of research that tries to learn faster and from less labeled data.
On the business front, having an entrepreneurial spirit, I'm very interested to see AI&ML generating real economic value by being applied to real world problems.