On August 17th, we’ll be announcing winners of the #BuildWithAI hackathon and it will be live-streamed on youtube – https://youtu.be/URuB0FtBIJo (note – set your reminder). Cassie Kozyrkov (Chief Decision Scientist, Google), Steve Nouri (Board Member, Hackmakers), Cherie Ryan (Regional MD of ANZ and VP, Oracle) as well as an all-star judging line-up will be there.
Before we get to that, lets rewind, fast-forward and bring together some of the interesting points of the #BuildWithAI hackathon – an event that was truly global in its nature hosted by Hackmakers (https://hackmakers.com/).
July 24th 11:45am AEST – I received a calendar alert for the Leader Mentor Zoom session for the #BuildWithAI hackathon. Trying to finish as many of the things that I needed to get done before I joined this call. This will be interesting. Watching the number of competitors join the event’s slack workspace climbing from a hundred users when I first joined, to now over 3,500 users in the #introductions channel, it was an unique experience. I’m thinking about lots of different things from past hackathons that I’ve participated, mentored, sponsored, hosted – how will this one be any different. I’ll just have to wait and see. And better yet, give to the community and the competitors as much as I can in the time we have.
This moment was not the beginning nor the end of this experience. It was somewhere in between. I’ll give you some background.
Over the past two weeks, there’s been a growing community engagements in the Australian Innovation ecosystem. This specific one that I’m referring to is a … “slack channel was set up and is co-moderated by Dianna Sommerville, founder of the Regional Pitchfest and Community Manager for Bridge Hub. My (Chad Renando) interest is based on my various roles as director of Startup Status, Managing Director Australia with the Global Entrepreneurship network, ESHIP Champion with the Kauffman Foundation, and working with QUT’s Australian Centre for Entrepreneurship research and the Rural Economies Centre of Excellence at USQ.”
Being engaged from a few different angles, I’ve been working on the data itself and this is a story about that the data.
Recently I built a Facial Recognition Mobile App using Oracle Visual Builder having set up the Facial recognition APIs using Tensorflow taking some inspiration from FaceNet. As highlighted above the app does the following: record a video of your face and send it to the API that generates various images and classifies them based on the label we provide at runtime. And in turn, invoke another API that is going to train the machine learning model to update the dataset with the new images and label provided. These two APIs will build a facial recognition Database. Once I have this, I can capture the face and compare that with the dataset I have captured earlier in my Facial recognition Database to output if the face exists in our system.
Here is a quick cheat sheet if you ever wanted to build a mobile app that can take advantage of the camera built into the device, capture the vehicle or vehicles nameplate(s) in a frame and process that image and send it on API that can analyze the image and relay back the information it just scanned. This app can be extended to fulfil requirements like checking if the vehicle registration is up to date or insurance renewal is overdue etc. provided if there are APIs already available that can deliver this information.
So what is the tech involved in building this app?
To build a mobile app that can be deployed on iOS or Android, I used the Visual Builder service from the Oracle Cloud stack. This service provides the capability to build Web as well as Mobile applications through a declarative approach with the ability to introduce code for any complex requirements.
To store the captured image and use the image for downstream application purposes I used the OracleContent & Experience service that comes with a rich set of APIs for content ingestion, public document link generation etc. From an enterprise architecture viewpoint, it makes sense to store the images with metadata in a content store, so I decided to archive the image using this service as part of the mobile app build process.
The most significant bit is to use a library / API that can process the image or OCR and send back the information we are interested n. For these purposes, I used the open source ALPR library. There are API’s available already if you want to fast track your app.
This one is optional. If you want to validate the information captured, we can set up a few API’s using the Oracle Autonomous Database with some data to complete the validation flow in the app.
In November 2018, I had the privilege to attend the Australian Oracle User Group national conference “#AUSOUG Connect” in Melbourne. My role was to have video interviews with as many of the speakers and exhibitors at the conference. Overall, 10 interviews over the course of the day, 90 mins of real footage, 34 short clips to share and plenty of hours reviewing and post-editing to capture the best parts.
I’ve been using VBCS for awhile now and it has really evolved over the past nine months. I guess that’s one of the wonderful things about these PaaS offerings from Oracle; we don’t have to wait so long for new features and capabilities.
Well, I figured out a way to do this in VBCS. Now I will admit right away, this is pretty ugly, so if you are a software development purist, please turn off your TV now!
I am thrilled with the Oracle’s Gen2 Cloud Infrastructure architecture, where Oracle completely separates the Cloud Control Computers from the User Code, so that no threats can enter from outside the cloud and no threats can spread from within tenants.
Obviously with more security, there comes more coordination, especially at the moment of invoking OCI resources APIs. Luckily, Oracle did a good job at providing a simple to use CLI and SDK (see here for more information).
For the purpose of this blog, I built a simple NodeJS application that helps demystify the security aspect of invoking OCI APIs. Check this link for examples of running similar code across other Programming Languages.
My NodeJS application manages OCI resources in order to:
List ADW instances
Stop an ADW instance
Start an ADW instance
I started this NodeJS application to list, start and stop ADW resources. However, I designed this application to easily extend it to invoke any other type of OCI resources.
I containerised this application with Docker, to make it easier to ship and run.
As we roll out the Oracle Digital Assitant workshop across Australia and New Zeland over the course of the next few weeks, below are the instructions for the participants interested to try out the platform and build a Digital Assistant.
If you have registered for the event, you would get an email to set up the password for your Oracle cloud account on the day of the workshop.
Once you set up the password access Digital Assistant UI to start building your first Digital Assistant.
Download the hands-on lab material from here that has detailed instructions on how to design and deploy a Digital Assistant.
Here are some interesting links that can compliment your learning process of the Oracle Digital Assitant or if you would like to re-visit them later.
Oracle Digital Assistant Channel: This playlist is dedicated to covering all the major features of Oracle Digital Assitant. You can watch in sequence for an end-to-end insight into Oracle Intelligent Bots, or dip into any video to learn about that features.
Additional Blogs that might help you in your Oracle Digital Assistant learning journey
In earlier articles, I discussed Autonomous Digital Assistant, provisioning a Digital Assistant, building skills and making it multi-lingual. In this post, I would like to take the discussion forward to address certain scenarios where there is a need for Human Intervention when the Bot cannot handle the conversation and instead redirect the chat to a human agent.