Ferry Djaja

Ferry Djaja

Singapore, Singapore
2K followers 500+ connections

About

SUMMARY:
Results-driven technology executive with 18+ years of experience in:…

Activity

Join now to see all activity

Experience

  • Grab Graphic

    Grab

    Singapore

  • -

    Singapore

  • -

    Singapore

  • -

    Singapore

  • -

    Singapore

Education

Licenses & Certifications

Publications

  • Streamlining Test Case Creation with LangChain Open Canvas and Gen AI

    Medium

    With the LangChain Open Canvas, we can create manual test cases directly from requirements using gen AI. This feature creates a list of manual test cases by analyzing Workato recipe JSON code. From there, you can either refine the initial list or provide detailed instructions to produce test cases customized to your specific requirements, streamlining your testing process and ensuring the reliability of your Workato recipes.

    See publication
  • Build a Screen Parsing with GPT-4o Vision and OmniParser

    Medium

    In this tutorial, we’ll explore building a screen parsing agent using GPT-4o and OmniParser. Our goal is to demonstrate locking a computer, specifically a MacOS device, using this agent.

    Here’s a step-by-step breakdown of the process:

    1. Capture screenshot: utilize PyAutoGUI to take a screenshot of the current screen state.
    2. Parse screenshot: send the screenshot to OmniParser for analysis.
    3. Task Request: query LLM GPT-4o Vision with a specific task, such as locking the…

    In this tutorial, we’ll explore building a screen parsing agent using GPT-4o and OmniParser. Our goal is to demonstrate locking a computer, specifically a MacOS device, using this agent.

    Here’s a step-by-step breakdown of the process:

    1. Capture screenshot: utilize PyAutoGUI to take a screenshot of the current screen state.
    2. Parse screenshot: send the screenshot to OmniParser for analysis.
    3. Task Request: query LLM GPT-4o Vision with a specific task, such as locking the computer.
    4. Evaluate Task Completion: receive the result from LLM GPT-4o and determine if the task is complete.
    5. Conditional Action:
    - If the task is incomplete, use PyAutoGUI to move the cursor to a specific screen coordinate and simulate a click.
    - If the task is complete, terminate the flow.
    6. Iteration: If the task is not complete, repeat the process from step 1.

    See publication
  • Document Parsing with OmniParser and GPT4o Vision

    Medium

    n this blog, we’ll explore how to leverage Microsoft’s OmniParser as input for GPT-4’s vision capabilities, optimizing the parsing of documents for optimal results.

    OmniParser is a general screen parsing tool to extract information from UI screenshot into structured bounding box and labels which enhances GPT-4V’s performance in action prediction in a variety of user tasks.

    We will apply OmniParser with GPT4o Vision to extract the information from the document.

    See publication
  • Chat with PowerPoint Files Using LangGraph and GPT-4o

    Medium

    In this blog, I’ll guide you through creating a Python script that enables seamless conversation with your PowerPoint document (.PPTX). With this, you’ll be able to:

    Chat with PowerPoint and get instant answers.
    Understands document content and context.
    Answers questions about your documents and search for key information across document.
    Receive page number references for every answer.

    See publication
  • Build an Intelligent Document Processing with Confidence Scores with GPT-4o

    Medium

    An Intelligent Document Processing (IDP) provides actionable insights through confidence scores, allowing you to evaluate process performance, identify areas for review, and automate document processing and data extraction with precision, minimizing the need for manual oversight. In this blog, we will build an IDP app with confidence scores using GPT-4o.

    See publication
  • Using Logprobs to Gauge GPT’s Confidence in OCR Result

    Medium

    In my recent blog post on parsing complex PDFs using GPT, I explored the potential of incorporating confidence scores to quantify GPT’s accuracy in the results. By integrating confidence scores, we can establish a scalable and efficient document processing and data extraction workflow that requires minimal oversight and review, thereby optimizing automation and reliability. For this purpose, we will be using the Log probabilities or logprobs.

    See publication
  • Extract Information from Non-English PDFs Using GPT-4o and LangGraph

    Medium

    In this blog post, I want to show you how to get information from PDF files that have content in languages other than English. While it’s usually easy to extract data from English documents, this article goes further by showing how to extract data from non-English documents, focusing on those in Burmese and other languages.

    See publication
  • Understanding Workato Docs Copilot Web Traffic to Generate a Recipe Description

    Medium

    Learn how Workato Docs Copilot generates the recipe description and how to bypass the generation limit by understanding the underlying process. In the end, we will automate the process using scripting for other purposes.

    See publication
  • Augment Activity Audit Log Review on Workato Platform with Agentic AI Approach

    Medium

    Here is what I would like to share how to automate the review process of Workato activity audit log on a quarterly basis using Agentic AI approach.

    When reviewing activity audit logs on the Production platform, our objective is to identify associated Change Requests (CRs), Service Requests (SRs), or other requests aimed at modifying the Production environment, ensuring that all changes undergo rigorous review and approval/rejection to mitigate potential business, technical implications…

    Here is what I would like to share how to automate the review process of Workato activity audit log on a quarterly basis using Agentic AI approach.

    When reviewing activity audit logs on the Production platform, our objective is to identify associated Change Requests (CRs), Service Requests (SRs), or other requests aimed at modifying the Production environment, ensuring that all changes undergo rigorous review and approval/rejection to mitigate potential business, technical implications and compliance concerns.

    Audit log reviews are typically conducted at regular intervals, such as quarterly or bi-annually. Manual review of audit logs involves sampling and validating log entries against associated CRs and SRs, following standardized organizational protocols.

    Leveraging Agentic AI to automate the identification and validation of associated CRs and SRs, with human reviewers providing final verification.

    See publication
  • RAG with Multiple Complex PDF Files: Efficient Document Management with Vector Stores

    Medium

    Learn how to create a Retrieval-Augmented Generation (RAG) model using multiple PDFs in this tutorial. We’ll extract and store relevant information in a vector database, indexed by:

    Chunk_ID
    Unique Document ID
    Content

    We can then handle user queries and generate relevant responses with the source of information.

    See publication
  • Create a RAG Agent with LangGraph to Extract the information from a PDF File

    Medium

    In this blog, we will build a simple agent to extract the information from a PDF file with LangGraph. We will be using GPT-4o to extract the text, images and other layout information from PDFs and create a tool in LangGraph to extract the information. PDFs frequently feature multimedia elements like images and tables, alongside complex layouts. Our objective is to design an extraction agent that can efficiently retrieve any relevant data from these visually rich documents.

    See publication
  • RAG with Complex PDF Structure

    Medium

    In this blog, I’ll outline how I developed a Retrieval Augmented Generation to analyze complex PDFs and answer questions. The process involves converting each PDF page into an image, then using the GPT-4 model to extract content into a JSON format.

    Why we need to convert to an image first? Converting PDF pages to images is necessary because PDFs often have complex structures, featuring tables, images, layouts, and texts in various arrangements. Simply extracting text from PDFs may not…

    In this blog, I’ll outline how I developed a Retrieval Augmented Generation to analyze complex PDFs and answer questions. The process involves converting each PDF page into an image, then using the GPT-4 model to extract content into a JSON format.

    Why we need to convert to an image first? Converting PDF pages to images is necessary because PDFs often have complex structures, featuring tables, images, layouts, and texts in various arrangements. Simply extracting text from PDFs may not yield accurate results, as this method fails to account for the document’s visual layout and formatting.

    See publication
  • Extracting Line Items from a Document with GPT-4o: It’s not a straightforward task

    Medium

    In this tutorial, I’ll guide you through the process of accurately extracting line items from documents. Although I initially thought this would be a straightforward task, it ended up taking me half a day of trial and error with various prompts. I’ll share my experience using the GPT-4o model with Python, as well as my experiments with commercial parsers and the results I obtained.

    See publication
  • Understand Workato Insights HTTP Traffic

    Medium

    Explore and analyze Workato Insights’ HTTP traffic, gain a deeper understanding of its data, and unlock its potential by harnessing the data for diverse applications and use cases. Then we can feed this data to an LLM and build a ChatBot to start chatting on it.

    Workato Insights, a powerful data visualization and manipulation tool, is seamlessly integrated into Workato’s no-code platform and Workflow apps.

    See publication
  • Trick ChatGPT to break the Usage Policy

    Medium

    I’ve been experimenting with the non-subscription version of ChatGPT, crafting various prompts to test its boundaries and identify potential loopholes in its usage policy. I anticipate that future updates will strengthen safeguards to prevent such exploits. Please note that my intention is purely educational and not meant to encourage misuse.

    See publication
  • “Watson” to analyze Workato recipe steps and provide recommendations based on user questions/prompts

    Medium

    In this blog, I have developed a “Watson” framework using Generative AI/LLM to analyze Workato recipe steps and provide recommendations based on user questions/prompts. This framework generates documentation or recommendations according to the given prompt.

    For example, I can ask it to generate recipe documentation, provide recommendations for enhancing recipe, summarize the recipe, or even highlight key risks within the recipe.

    Watson has the capability to produce an in-depth…

    In this blog, I have developed a “Watson” framework using Generative AI/LLM to analyze Workato recipe steps and provide recommendations based on user questions/prompts. This framework generates documentation or recommendations according to the given prompt.

    For example, I can ask it to generate recipe documentation, provide recommendations for enhancing recipe, summarize the recipe, or even highlight key risks within the recipe.

    Watson has the capability to produce an in-depth review in a visually appealing PDF format, styled like a Wikipedia article, which transforms the explanation into an engaging and immersive experience, breaking away from the monotony of traditional step-by-step presentations.

    See publication
  • Ask Workato Copilot to Analyze the Workato Steps

    Medium

    This is my second blog post on analyzing Workato steps using the Workato Copilot feature. Recently, Workato has updated the Copilot Connector feature, and it appears that Workato Copilot no longer requests the API documentation in the initial prompt.

    See publication
  • How can I manipulate the Workato Copilot to Answer any Question

    Medium

    The blogs explored extending the capabilities of Workato Copilot beyond its intended use, manipulating prompts with tools like Burp Suite and WebSocket, and ultimately automating these processes through scripting.

    See publication
  • Export the Workato Role Objects Easily with Workato Copilot Resource

    Medium

    Workato offers the collaborator role and features within their platform interface. However, there is a notable absence of an export/extract feature to Excel for review and comparison. In response, I developed a user-friendly web app interface to facilitate easy extraction, with the Workato copilot feature to accomplish this task.

    See publication
  • Leverage Redis for Processing Workato Recipe Understanding and Analysis of Hardcoded Values in Recipes

    Medium

    In this blog, I would love to go through into my process for verifying recipe codes to ensure that hardcoded values meet expectations and to gain a better understanding of the recipes. While I’m aware of Workato’s “Automation Quality & Security Accelerators” feature, I find that relying on regular expressions for this task can be quite cumbersome, requiring frequent updates and testing.

    To address this, I built a functional solution using the Workato Copilot OpenAI resource. However, as…

    In this blog, I would love to go through into my process for verifying recipe codes to ensure that hardcoded values meet expectations and to gain a better understanding of the recipes. While I’m aware of Workato’s “Automation Quality & Security Accelerators” feature, I find that relying on regular expressions for this task can be quite cumbersome, requiring frequent updates and testing.

    To address this, I built a functional solution using the Workato Copilot OpenAI resource. However, as the session can only handle one task at a time, I’ve implemented a message broker using Redis, to manage requests from the Web Client. And the connection between Web Client and Redis is is using WebSocket.

    Ultimately, this setup enables me to obtain results that I can download for review purposes, whether it’s to provide feedback to my team regarding hardcoded values or simply to gain insight into the recipe steps.

    See publication
  • Understanding the Workato Connector SDK Copilot Traffic

    Medium

    In this blog, I would like to explain how you can get the most of the Workato connector copilot feature by understanding its traffic and leverage it for your own purpose. We will monitor the traffic from HTTP request/response and WebSocket.

    Here is the outline that we are going to do in Connector Copilot.
    1. Clear current conversation.
    2. Reset API Documentation URL
    3. Reply with Documentation URL for example NA (which is doesn’t exist).
    4. Reply with Basic type of…

    In this blog, I would like to explain how you can get the most of the Workato connector copilot feature by understanding its traffic and leverage it for your own purpose. We will monitor the traffic from HTTP request/response and WebSocket.

    Here is the outline that we are going to do in Connector Copilot.
    1. Clear current conversation.
    2. Reset API Documentation URL
    3. Reply with Documentation URL for example NA (which is doesn’t exist).
    4. Reply with Basic type of authentication
    5. Ask Copilot with the question you want to ask
    6. Ask again (just to ensure you got the expected answer)

    See publication
  • Use Workato Copilot for Recipe Step Understanding

    Medium

    Workato has introduced the Copilot feature, simplifying recipe development. Users can now articulate the desired integration functionalities using natural language. Copilots subsequently generate an outline of the recipe, allowing users to easily verify, adjust, or expand upon it. This same process applies to connector creation, where Copilot generates editable code for users to incorporate into their connector code.
    What’s interesting about this feature is its capability to aid in…

    Workato has introduced the Copilot feature, simplifying recipe development. Users can now articulate the desired integration functionalities using natural language. Copilots subsequently generate an outline of the recipe, allowing users to easily verify, adjust, or expand upon it. This same process applies to connector creation, where Copilot generates editable code for users to incorporate into their connector code.
    What’s interesting about this feature is its capability to aid in understanding recipe steps, clarifying the purpose of each step within an existing recipe.

    See publication
  • Analyze the Workato Recipe Copilot Traffic and Replicate it using Scripting

    Medium

    The blog explores the intricacies of Workato Recipe Copilot's traffic and endeavors to replicate its functionality using scripting. It delves into the process of analyzing the traffic, understanding the WebSocket responses, and utilizing scripting to automate recipe generation. The focus is on extracting valuable insights and generating the recipe code through script automation for various practical applications.

    See publication
  • Building Long Context RAG with RAPTOR for Analyzing Workato Recipe Code

    Medium

    In this blog, we walk through into the innovative use of RAPTOR (Recursive Abstractive Processing for Tree-Organized Retrieval) to analyze Workato Recipe JSON code, offering a comprehensive overview of the recipe flow.

    RAPTOR, with its unique approach, addresses the limitations of existing retrieval-augmented language models by recursively embedding, clustering, and summarizing text chunks into a multi-layered tree structure. By constructing this tree, RAPTOR provides Language Models…

    In this blog, we walk through into the innovative use of RAPTOR (Recursive Abstractive Processing for Tree-Organized Retrieval) to analyze Workato Recipe JSON code, offering a comprehensive overview of the recipe flow.

    RAPTOR, with its unique approach, addresses the limitations of existing retrieval-augmented language models by recursively embedding, clustering, and summarizing text chunks into a multi-layered tree structure. By constructing this tree, RAPTOR provides Language Models (LLMs) with contextual chunks at various levels, facilitating effective and efficient question answering.

    Applying this methodology to analyze Workato Recipe JSON code involves normalizing the code to make it manageable for RAPTOR. The normalized code is then incorporated into the RAPTOR tree, and information is extracted and summarized.

    See publication
  • Accessing the information within the Workato Platform without requiring the use of an API

    Medium

    To provide helpful information on using the Workato platform, I created this guide as not all relevant data can be accessed via API alone. The aim of this guide is to obtain relevant information from the platform independently of its API availability.

    See publication
  • Experimenting with Set-of-Mark Prompting with GPT4-Vision

    Medium

    Set-of-Mark (SoM) is a visual prompting method that enhances the visual grounding abilities of large multimodal models like GPT-4V. It involves adding visual marks onto different regions of an image. By employing interactive segmentation models such as SEEM/SAM, images are segmented into detailed regions, which are then marked with alphanumeric characters, masks, or boxes. When GPT-4V is provided with these marked images as input, it excels at answering questions requiring visual grounding…

    Set-of-Mark (SoM) is a visual prompting method that enhances the visual grounding abilities of large multimodal models like GPT-4V. It involves adding visual marks onto different regions of an image. By employing interactive segmentation models such as SEEM/SAM, images are segmented into detailed regions, which are then marked with alphanumeric characters, masks, or boxes. When GPT-4V is provided with these marked images as input, it excels at answering questions requiring visual grounding. Experimental results demonstrate that SoM significantly enhances GPT-4V's grounding capability.

    See publication
  • Control Zoom Audio and Video with Raspberry Pico Wireless on Your Mac

    Medium

    As someone who frequently participates in numerous work-related meetings, I have expressed my interest in creating an automated system for controlling Zoom’s audio and video with through the simple click of a physical button. It is currently working on Mac.

    In this tutorial, I will demonstrate how to control the Zoom application by muting/unmuting audio and toggling video on/off with a physical button. Additionally, I will guide you on incorporating visual feedback through an LED…

    As someone who frequently participates in numerous work-related meetings, I have expressed my interest in creating an automated system for controlling Zoom’s audio and video with through the simple click of a physical button. It is currently working on Mac.

    In this tutorial, I will demonstrate how to control the Zoom application by muting/unmuting audio and toggling video on/off with a physical button. Additionally, I will guide you on incorporating visual feedback through an LED indicator to display the current status of Zoom’s audio and video activation.

    See publication
  • Raspberry Pico Capacitive Sensor

    Medium

    I built this simple touch interface with Raspberry Pico to execute the automation in Home Assistant.
    The RGB LED will on with the following conditions:

    Blue LED turns on when the touch level is above 0.9.
    Red LED turns on when the touch level is between 0.5 and 0.9.
    Green LED turns on when the touch level is below 0.5.

    If the Blue LED remains on for a specific duration (in this instance, 3 seconds), it will initiate an automation in Home Assistant and you can…

    I built this simple touch interface with Raspberry Pico to execute the automation in Home Assistant.
    The RGB LED will on with the following conditions:

    Blue LED turns on when the touch level is above 0.9.
    Red LED turns on when the touch level is between 0.5 and 0.9.
    Green LED turns on when the touch level is below 0.5.

    If the Blue LED remains on for a specific duration (in this instance, 3 seconds), it will initiate an automation in Home Assistant and you can do whatever you wish in there.

    See publication
  • Control Lights with Home Assistant and Wiimote

    Medium

    I have an old Raspberry Pi Model A and a few Wiimote controllers lying around and the first thing that came to my mind is to control my home lighting with this controller. The home lighting system is managed by Home Assistant.

    See publication
  • Make Your Home Doorbell Smarter with Google Gemini

    Medium

    In this tutorial, I would like to share a simple hack to make your home video doorbell smarter with Google Gemini. Basically I want to get notified from my doorbell with a voice which describes the person coming to my home. I have been looking forward to this for a while and now this is possible, thanks to Google Gemini as it has a free vision API key at the moment.

    See publication
  • Analyse the Workato Job Log with MemGPT and AutoGen

    Medium

    In this tutorial I would like to go through my use case to get the Workato recipe job log real-time and instruct the agent to conduct the analysis and subsequently generate a chart based on the obtained data. For this use case, I will be using MemGPT with AutoGen.

    See publication
  • Chat with Workato Dashboard with MemGPT

    Medium

    I will discuss the process of retrieving real-time data from the Workato Dashboard and initiating a conversation with an agent to obtain information directly from the Dashboard. For instance, we can inquire about the number of failed jobs for a specific recipe. We will get the insights from the Workato Admin Dashboard through an interactive chat with the agent !

    Some of the questions we can ask:
    - Which Concur recipes have the highest task consumption?
    - What is the latest job run…

    I will discuss the process of retrieving real-time data from the Workato Dashboard and initiating a conversation with an agent to obtain information directly from the Dashboard. For instance, we can inquire about the number of failed jobs for a specific recipe. We will get the insights from the Workato Admin Dashboard through an interactive chat with the agent !

    Some of the questions we can ask:
    - Which Concur recipes have the highest task consumption?
    - What is the latest job run for recipe ABC?
    - Provide JSON details for recipe ABC
    - Retrieve the recipe that has run most recently
    - What is the task usage for recipe ABC ?

    See publication
  • A Dive into MemGPT

    Medium

    Large Language Models (LLMs) face a limitation in terms of their context window, which restricts their effectiveness in extended conversations and document analysis. To overcome this constraint, researchers have introduced a concept called virtual context management, inspired by hierarchical memory systems in traditional operating systems. This technique is implemented through MemGPT (Memory-GPT).

    See publication
  • Multi-Agent Conversations Using AutoGen to Analyze Stock Price and Generate Chart

    Medium

    In this blog post, I will guide you through the process of crafting multiple agents with AutoGen. These agents will be able to engage in conversations with each other to collaboratively assess stock prices and produce charts using AmChart.

    See publication
  • Table Extraction from Images and Information Retrieval using Deep Learning and a Large Language Model

    Medium

    In this tutorial, I will guide you through the process of extracting tables and their line items using Deep Learning libraries, OCR, and ultimately leveraging the LLM (Large Language Model) to extract the line items within the table.

    To extract the items within the table, we will perform the following steps:
    1.Utilize Deep Learning for table detection and extraction.
    2.Employ OCR Deep Learning and a Large Language Model for table line items extraction.

    See publication
  • Transcribe and Summarize the Meeting Minutes with OpenAI Whisper and LangChain

    Medium

    In this guideline, I would like to share how I can transcribe and summarize the meeting minutes with OpenAI Whisper and LangChain.

    See publication
  • Create a Receipt Parsing Using OCR and a Large Language Model

    Medium

    Using OCR to capture data from receipts and then utilizing a Large Language Model to extract important details like the total amount, receipt date and time, and other relevant information.

    See publication
  • Use Azure OpenAI and LangChain to categorize a document by combining input document with provided template documents

    Medium

    Learn how to classify documents using Azure OpenAI and LangChain, utilizing the supplied template documents and the input document. These documents are inputted into LangChain and the LLM model with a prompt template to categorize the input document.

    See publication
  • Build a Leave Request Bot with Azure OpenAI, LangChain and Slack Bot

    Medium

    I’d like to discuss my journey of creating a leave request bot using Azure OpenAI, LangChain and integrating it with Slack Bot.

    The bot must possess the capability to manage the following situations:
    1. Remember the current leave requests.
    2. Add multiple leave requests.
    3. Update or cancel the current leave requests.

    Additionally, the bot should also retrieve the following details from the user:
    1. The specific period or duration of their intended leave. The leave…

    I’d like to discuss my journey of creating a leave request bot using Azure OpenAI, LangChain and integrating it with Slack Bot.

    The bot must possess the capability to manage the following situations:
    1. Remember the current leave requests.
    2. Add multiple leave requests.
    3. Update or cancel the current leave requests.

    Additionally, the bot should also retrieve the following details from the user:
    1. The specific period or duration of their intended leave. The leave period must not be overlapped each other.
    2. The destination country where they plan to travel.
    3. Whether they require a visa letter for their trip.
    4. Whether they need assistance in configuring their out-of-office message.
    5. Whether they need to delegate the approval process to someone else.

    See publication
  • GPT-Shell: Your Natural Language-Powered CLI Assistant

    Medium

    I developed the GPT-Shell for Mac OS primarily to assist me in navigating shell commands on the Mac OS. However, this code can also be adapted for use on other operating systems such as Windows and Linux

    See publication
  • Build a Dialogue Chatbot using Azure OpenAI and Langchain

    Medium

    In this blog post, I would like to share what I did to come out with a conversational ChatBot during my hackathon where I created a conversational ChatBot with Azure OpenAI and LangChain.

    See publication
  • Utilize LangChain to compare the distinctions between Workato recipes

    Medium

    Make use of LangChain in conjunction with Azure OpenAI to examine the Workato recipes and identify any inconsistencies.

    See publication
  • Part 4: Check the Workato Recipe manifest for compliance with the Deployment Checklist with GPT

    Medium

    Utilize LLM/GPT to compare and detect discrepancies between the Workato recipe manifest and the Deployment checklist. The objective is to spotlight any disparities and establish congruence between the manifests and checklists prior to initiating the recipe in the production environment.

    See publication
  • Part 3: Compare Two Workato Recipe Versions with ChatGPT

    Medium

    Workato provides an out-of-the-box feature to compare these versions, as detailed in its documentation. This feature visually highlights the differences between any two recipe versions, which is quite useful. However, it’s important to note that to access the specific details, you will still need to click on the respective step. I would like to leverage the ChatGPT, which might provide me with a detailed outline of the modifications made.

    See publication
  • Part 2: Use ChatGPT prompt to analyse the Workato Recipe Steps

    Medium

    In this second part, I will delve into the finer details of utilizing the ChatGPT prompt to analyze the steps within the Workato recipe. This involves extracting the recipe JSON structure from the Workato API, making modifications to JSON structure to establish references for each step, and finally, crafting the prompt. Through this approach, I aim for ChatGPT to accurately explain each step in the recipe.

    See publication
  • Part 1: Examine the Workato Recipe Steps using ChatGPT

    Medium

    In this blog, we will leverage ChatGPT to analyse each step in the Workato recipe, elucidating the input parameters, expected outcomes, and the logic behind each action.

    See publication
  • Harnessing ChatGPT for Easy Identification and Extraction of Workato Scheduled Recipes

    Medium

    While overseeing the daily operations with Workato, the support team must identify the recipes scheduled to run at a specific time, especially during upgrade maintenance or downtime of a connector (e.g., Anaplan connector, which undergoes frequent maintenance or other platforms with adhoc maintenance). Knowing precisely which recipes are active during the maintenance window is essential for the support team to pause those jobs temporarily, ensuring that the process remains unaffected by the…

    While overseeing the daily operations with Workato, the support team must identify the recipes scheduled to run at a specific time, especially during upgrade maintenance or downtime of a connector (e.g., Anaplan connector, which undergoes frequent maintenance or other platforms with adhoc maintenance). Knowing precisely which recipes are active during the maintenance window is essential for the support team to pause those jobs temporarily, ensuring that the process remains unaffected by the maintenance or downtime.
    Unfortunately, Workato lacks a readily accessible solution for easily checking the active recipes based on the scheduler (e.g., filtering by date and time). This complexity becomes pronounced, especially when managing a substantial number of recipes, such as over 500, making efficient searches a challenging endeavor. The situation is further exacerbated when the documents containing such information are not regularly updated.
    Considering this challenge, my objective is to utilise the power of ChatGPT to identify and retrieve the recipes scheduled within specific time windows. With a straightforward inquiry to GPT, like requesting recipes running from Wednesday to Friday, my team and I can effectively save time and optimize our workflow. Introducing this functionality to the Workato platform would undoubtedly improve user experience and should be given high priority by their product team.

    See publication
  • How to Read Raspberry Pico Temperature and Transmit it to a Browser using Web Bluetooth

    Medium

    The blog provides an overview and step-by-step instructions for creating a web application that reads temperature data from a Raspberry Pico Wireless device using web Bluetooth. It covers topics such as identifying the Bluetooth UUID, establishing a connection with the device, retrieving services and characteristics, enabling notifications for data updates, and processing the received temperature data. The blog also includes code snippets and explanations to guide readers through the…

    The blog provides an overview and step-by-step instructions for creating a web application that reads temperature data from a Raspberry Pico Wireless device using web Bluetooth. It covers topics such as identifying the Bluetooth UUID, establishing a connection with the device, retrieving services and characteristics, enabling notifications for data updates, and processing the received temperature data. The blog also includes code snippets and explanations to guide readers through the development process.

    See publication
  • Use HomeAssistant to control Raspberry Pico wirelessly through Bluetooth

    Medium

    In this blog post, I will explore the utilization of Home Assistant to wirelessly control the Raspberry Pico through Bluetooth. The Home Assistant platform will be running on a Raspberry Pi 4. We will develop a Python code using the Bleak library to establish a wireless connection with the Raspberry Pico and enable the servo motor to move both left and right. It is important to note that the Bluetooth connection between my Raspberry Pi 4 and Raspberry Pico has been experiencing occasional…

    In this blog post, I will explore the utilization of Home Assistant to wirelessly control the Raspberry Pico through Bluetooth. The Home Assistant platform will be running on a Raspberry Pi 4. We will develop a Python code using the Bleak library to establish a wireless connection with the Raspberry Pico and enable the servo motor to move both left and right. It is important to note that the Bluetooth connection between my Raspberry Pi 4 and Raspberry Pico has been experiencing occasional instability.

    See publication
  • Building a Web Bluetooth Serial Monitor for Raspberry Pico Wireless

    Medium

    In recent years, the Web Bluetooth API has gained popularity as a powerful tool for building web applications that can communicate with Bluetooth devices. In this blog post, we will explore how to create a web-based serial monitor using Web Bluetooth for Raspberry Pico. This serial monitor can connect to a Raspberry Pico, send and receive messages, and display the received data in real-time.

    See publication
  • BratGPT and Raspberry Pico

    Medium

    In this blog post, I aim to demonstrate how to experiment with BratGPT and Raspberry Pico, enabling the ability to send prompts to BratGPT from Raspberry Pico.

    See publication
  • Using Raspberry Pico SDK to Send PubNub Message

    Medium

    Utilizing the Raspberry Pico SDK to send a message to PubNub using C++

    See publication
  • How to Control a Servo Motor with PubNub API, Home Assistant and Raspberry Pi Pico

    Medium

    In this blog post, I will be demonstrating how to use PubNub API, Home Assistant and Raspberry Pico Wirelesss to control a mini servo motor.
    We will be controlling a servo motor’s movements to the right and left using Home Assistant. To achieve this, we will create and run a Python script within Home Assistant to communicate with the Raspberry Pico Wireless via the PubNub API. On the Raspberry Pi side, there is another Python script that listens for incoming messages from the PubNub API and…

    In this blog post, I will be demonstrating how to use PubNub API, Home Assistant and Raspberry Pico Wirelesss to control a mini servo motor.
    We will be controlling a servo motor’s movements to the right and left using Home Assistant. To achieve this, we will create and run a Python script within Home Assistant to communicate with the Raspberry Pico Wireless via the PubNub API. On the Raspberry Pi side, there is another Python script that listens for incoming messages from the PubNub API and drives the servo motor in the specified directions.

    See publication
  • Automating Your Home Lighting with Home Assistant and Raspberry Pico: A Guide to Controlling Your Living Light Based on Light Sensor Data

    Medium

    In this tutorial, you will learn how to construct a basic light sensor that utilises Home Assistant and Raspberry Pico Wireless to regulate the living room light based on a specified threshold. this build employs a light sensor and Home Assistant to automate the activation and deactivation of a living room light. The sensor measures the ambient light and sends the voltage readings to Home Assistant via MQTT.

    See publication
  • Sound-Activated Kitchen LED Control System Using Raspberry Pico Edge Impulse and Home Assistant

    Medium

    My morning routine involves having a light breakfast. To avoid the hassle of going to the switch to turn on the light while washing utensils after breakfast, I developed a “knock knock” sensor to activate or deactivate an additional LED light above the main kitchen light.

    See publication
  • Raspberry Pico Wireless MQTT

    Medium

    This guide provides a simple approach to establishing an MQTT connection with lwIP library based on the lwIP MQTT client.

    See publication
  • Sending Prediction Results from Edge Impulse to Home Assistant using MQTT and Raspberry Pico Wireless

    Medium

    In this blog post, we will explore the steps of using lwIP’s MQTT client to transmit prediction results obtained from Edge Impulse to Home Assistant through a Raspberry Pico Wireless. This integration will enable us to control a smart light based on gesture predictions.

    See publication
  • Learn how to classify gestures using Raspberry Pico and Edge Impulse

    Medium

    In this tutorial, we will use the Raspberry Pico to gather “gesture data” that will be used to train a TinyML model using Edge Impulse Studio. After developing and testing the model, it will be deployed on the same device for actual use. This blog will demonstrate the use of Raspberry Pico Wireless and Edge Impulse to classify motion based on data from a distance sensor.

    See publication
  • Learn How to Extract a List of Active SAP Concur Users Using the User Identity and Provisioning API

    SAP

    In this blog, I will demonstrate how to use the SAP Concur User Identity and Provisioning API to retrieve a list of active users.

    https://developer.concur.com/api-reference/profile/v4.identity.html

    https://developer.concur.com/api-reference/user-provisioning/v4.user-provisioning.html

    See publication
  • Tracking Workato Recipe Usage with Home Assistant and Raspberry Pico

    Medium

    In this tutorial, we will walk through the steps of using Home Assistant and Raspberry Pico to monitor the usage of Workato recipes and receive notifications through Google Home. We will cover how to set up the necessary tools and configure them to track recipe usage and send notifications. By the end of this tutorial, you will have a system in place to monitor Workato recipe usage and stay informed through Google Home notifications.

    See publication
  • WebSockets in Workato: Updating Job Statuses in Real-Time

    Medium

    In this blog post, we will explore two topics related to Workato and its use of WebSockets:

    - How Workato uses WebSockets to update the job status on its front-end in real-time.
    - Utilizing the Raspberry Pico to monitor the status of jobs in real-time.

    See publication
  • Efficiently Repeating Workato Job with a Physical Button

    Medium

    I have created a physical button to quickly repeat a failed job in Workato when I know that repeating the job will resolve the issue. The job has known issues where it may fail after the first attempt, and using the button allows me to avoid logging in to the platform to repeat the job because I know it can be done quickly.

    See publication
  • Monitoring User Activity in Workato with Raspberry Pico

    Medium

    I built the user activity monitoring in the Workato platform with Raspberry Pico which will notify me with sound (buzzer) and visual (LED light on) whenever there are recent user activities (e.g. start/stop the recipe, deploy the manifest, update the Lookup Table, etc) in the platform.
    The reason I built this is that I wanted to know if there are any changes in the production instance without needing to go to the Workato Dashboard platform to check the activity audit logs.

    See publication
  • Monitoring Workato On-Prem Agent with Raspberry Pico Wireless

    Medium

    In this write up, I would like to share how I did to monitor the Workato On-prem Agent (OPA) with Raspberry Pico Wireless. I wanted to build a visual display, using a simple interface which is LED light on my desk. If the OPA agent goes down, the LED light will turn on.

    See publication
  • Yet Another Chair Occupancy Sensor Integration with Home Assistant and Raspberry Pico Wireless

    Medium

    I built yet another chair occupancy sensor and connected to the Home Assistant with an analog sensor. The initial version I built is using the window door sensor.

    See publication
  • Control Servo Motor with Raspberry Pico Wireless and Home Assistant

    Medium

    In this tutorial, I would like to share how I did to control the servo motor with Raspberry Pico Wireless from Home Assistant.

    See publication
  • Workato WebSocket

    Medium

    A quick walkthrough how Workato updates the job status via WebSocket.
    I am trying to find out how Workato updates the job status on its front-end. I installed Burp Suite on my machine and analysed the HTTP and WebSocket traffic from the Workato site.

    See publication
  • Integrate Sonoff Zigbee 3.0 USB Dongle Version E with Home Assistant

    Medium

    Walkthrough guide on how to integrate Sonoff Zigbee 3.0 USB Dongle version E with Home Assistant.

    See publication
  • How Long Have You Been Sitting There ? Ask GPT-3

    Medium

    I have built the chair occupancy to track my sitting habit and I want to know how long I have been sitting there by the end of the day. I got the data needed from the sensor I installed on my chair and the data is inserted into Google Sheets and cleared on a daily basis in the early morning. What I want to achieve now, is to experiment with GPT-3 to extract the duration so I know exactly how long I was sitting.

    See publication
  • Yale Smart Door Lock Integration with Home Assistant

    Medium

    A quick tutorial on how to integrate the Yale Smart Door Lock YDR30GA with Home Assistant. I am using this door lock on my main gate and I want to be able to control remotely from my phone with Home Assistant automation and I don’t need to buy additional hardware like Yale Connect Bridge for this.

    See publication
  • Build Chair Presence Detection

    Medium

    We all know that sitting for a long period of time is bad for your health and posture and turns you into a lazy man, they say that sitting is the new smoking. I wanted to build a simple chair presence detection with wireless door window sensor and integrate with Google Sheets to record the activities so I can track my habit by the end of the day.

    See publication
  • Integrate Sonoff WiFi Wireless IP Security Camera with Home Assistant

    Medium

    How to integrate the Sonoff GK-200MP2-B IP Security Camera with Home Assistant.

    See publication
  • Analyze the Workato traffic and use it to extract other information which is not available in API

    Medium

    In this tutorial, I would like to share how I can get the important data from Workato which is currently unavailable from their API, for example to get the task usage for each recipe and dump it to a CSV file. There is no export function from the platform where you can just click a button to download the data, hence I need to think of other things to get the information.

    See publication
  • Getting MRT Train Arrival Time with Workato

    Medium

    I have been taking the Singapore MRT (SMRT) train to work for the past few weeks since I am no longer working from home. I would like to get the MRT train arrival time so that I can plan my journey better. The MRT train arrival time is displayed on the LED screens at the stations. You can also check the MRT train arrival time on the SMRT website or on the SMRT mobile app. When you are planning your journey, you should keep in mind that the train frequency is about 2.5 to 3 minutes during peak…

    I have been taking the Singapore MRT (SMRT) train to work for the past few weeks since I am no longer working from home. I would like to get the MRT train arrival time so that I can plan my journey better. The MRT train arrival time is displayed on the LED screens at the stations. You can also check the MRT train arrival time on the SMRT website or on the SMRT mobile app. When you are planning your journey, you should keep in mind that the train frequency is about 2.5 to 3 minutes during peak hours and about 5 to 6 minutes during off-peak hours. So, you should plan your journey accordingly.
    I decided to find out more about this and see if I could get this information and feed the data for my automation pipeline. In this blog, I would like to share what I have done to get the information and feed it with Workato.

    See publication
  • Build a Receipt Parser with GPT-3

    Medium

    In this tutorial, I would like to walk through how you can build a receipt parser with Tesseract.JS and GPT-3.

    See publication
  • Extract invoice number, date and total amount from PDF file with GPT-3 and Workato.

    Medium

    I have been thinking aloud if there is an easy way to extract or parse the information from the PDF invoice file, like invoice number, date, bill to and amount and get that information for further processing with automation. I don’t want to use an out of the box invoice document parser available in the market. I would like to build from scratch which I can customize and modify further and it should be easy to integrate with Workato.
    After further reading the GPT-3 from OpenAI, why don’t I…

    I have been thinking aloud if there is an easy way to extract or parse the information from the PDF invoice file, like invoice number, date, bill to and amount and get that information for further processing with automation. I don’t want to use an out of the box invoice document parser available in the market. I would like to build from scratch which I can customize and modify further and it should be easy to integrate with Workato.
    After further reading the GPT-3 from OpenAI, why don’t I give it a try and see the result. In this tutorial, I would like to share what I have done to extract the invoice number, invoice date and total amount from the PDF file with GPT-3 and Workato.

    See publication
  • Integrate Google AppSheet with Workato

    Medium

    In this tutorial, I will walk through how you can build a simple app with Google AppSheet to submit the data to Workato. Our problem statement is to create a web based front-end where users can insert and populate the data in a tabular format and submit the information to the downstream application (e.g. SalesForce).

    See publication
  • Smart Home Automation Journey on My HDB BTO

    Medium

    My wife requested me to build a home automation system on our new HDB BTO home. She wanted to have a minimum feature where she can switch on/off lights from the app, notify if someone is at the front door and from the cost it should not be expensive. Since I have been playing around with Home Automation, why I am not trying myself and here is my journey to realise one with a minimum budget.

    See publication
  • Build Automation to Lower the Laundry Rack when the Washing Machine has finished its Wash Cycle

    Medium

    I built this automation to help me and my wife to dry our clothes easily with the automated laundry rack. When the washing machine has finished its wash cycle the laundry rack will automatically lower down so we can hang the clothes easily.

    See publication
  • Person Detection Notification with Google Home and Eufy Door Bell

    Medium

    I am mostly working from home recently and my working area is a bit far from the entrance door. I would like to get notified if someone approaches my main door and I wouldn’t want to look at my phone to check who is in front of my door as it is disturbing my work. And for that reason, I have built a person detection notification with Google Home with some help from my Eufy doorbell.
    Eufy doorbell has a built in person detection feature which is useful for this project and I already have a…

    I am mostly working from home recently and my working area is a bit far from the entrance door. I would like to get notified if someone approaches my main door and I wouldn’t want to look at my phone to check who is in front of my door as it is disturbing my work. And for that reason, I have built a person detection notification with Google Home with some help from my Eufy doorbell.
    Eufy doorbell has a built in person detection feature which is useful for this project and I already have a Google Home. With that, my Google Home will say “Someone outside” if there is someone at my front door.

    See publication
  • Generate the PDF Document on-the-fly with PDF-Lib JS in Workato

    Medium

    The use case here is to generate the PDF file from the CSV input parameter and upload it to AWS S3 bucket with the help of PDF-Lib JavaScript library in Workato.

    See publication
  • Bug: How to Crash the Workato Recipe in Seconds

    Medium

    This is for educational purposes. Nothing else. This is to show you how to crash the recipe within seconds. This bug is very dangerous if Workato is not able to restore the recipe. If I am the bad guy, I can destroy other creations with those simple steps.

    See publication
  • Build Custom Web App to Search Fields in Workato Recipe

    Medium

    Workato is a great integration platform but I see it lacks the field searching at the detail/granular level.

    Your support team needs to search which recipe has the spreadsheet ID X and sheet name Y as shown in the screenshot below. They need to enhance the recipe. Unfortunately the developer didn’t do a good job on the documentation and he left a long time back. The support team is quite new in the organisation and they dont’ have any idea how to find the corresponding recipes that has…

    Workato is a great integration platform but I see it lacks the field searching at the detail/granular level.

    Your support team needs to search which recipe has the spreadsheet ID X and sheet name Y as shown in the screenshot below. They need to enhance the recipe. Unfortunately the developer didn’t do a good job on the documentation and he left a long time back. The support team is quite new in the organisation and they dont’ have any idea how to find the corresponding recipes that has issue. With the current search feature in Workato, there is no way you can get it.

    With that problem, I have built a simple web app to search and display the result easily and fast !

    See publication
  • Convert XML to HTML with Workato

    Medium

    In this tutorial, I am going to walk through how to convert the XML file into an HTML file with Workato.
    I have a business requirement where they need to convert the XML file into a PDF file. I am unable to find an easy way with Workato to convert the XML to PDF without help from the external service, therefore I created the function to convert to HTML and manually convert it to a PDF file.

    See publication
  • Extract PDF Table with Workato

    Medium

    To extract the data from the table in PDF, we will be using the NodeJS library pdf-table-extractor and bundle it in the JavaScript action in Workato recipe.

    See publication
  • Control Yeelight Lightstrip Plus with Home Assistant

    Medium

    A quick guide to control the Yeelight Lightstrip Plus with Home Assistant.

    See publication
  • Integrating Eufy Doorbell Camera with Home Assistant

    Medium

    Integrating Eufy Doorbell Camera with Home Assistant

    See publication
  • Build WhatsApp Bot That Always Call You Back Whenever You Text It

    Medium

    Build a WhatsApp Bot which always call you back whenever you text it.

    See publication
  • Call Me with Home Assistant, Zoom and Telegram Bot

    Medium

    Using Home Assistant to launch the Zoom meeting and send the meeting Url to predefined contacts via a Telegram bot.
    It is a very useful and fast way to initiate a Zoom meeting with just a click of a button and share the meeting link automatically especially for the elderly people who are not used to Zoom but they still can use the tablet.

    See publication
  • Launch Zoom Meeting Automatically from Telegram Bot

    Medium

    In this tutorial, I will show you how you can write a code to launch the Zoom meeting automatically from Telegram Bot. It is very useful, at least for my case, to communicate with my elderly parents who don’t know how to operate Zoom, create a meeting, etc. In this situation, I just click a button on my Telegram bot and the Zoom meeting session is automatically launched on my parents’ tablet and I can immediately communicate with them. I am utilising the kiosk browser to turn on and off the…

    In this tutorial, I will show you how you can write a code to launch the Zoom meeting automatically from Telegram Bot. It is very useful, at least for my case, to communicate with my elderly parents who don’t know how to operate Zoom, create a meeting, etc. In this situation, I just click a button on my Telegram bot and the Zoom meeting session is automatically launched on my parents’ tablet and I can immediately communicate with them. I am utilising the kiosk browser to turn on and off the tablet screen, so it will turn on when the meeting session starts and off when the meeting finishes.

    See publication
  • Stop Music when Zoom Meeting is On

    Medium

    I created this simple integration to stop any music playing on Google Home device if the Zoom meeting is on. It was built on top of the Home Assistant with MQTT broker & client.

    See publication
  • Display Mac Battery Status on Home Assistant

    Medium

    This tutorial will show you how to display the battery status of your MacBook in Home Assistant using MQTT

    See publication
  • LED Zoom Meeting Busy Light Indicator

    Medium

    A simple way to create the LED Zoom meeting busy light indicator. The LED light will turn red if your Zoom meeting session is running and it will turn green if the meeting is finished. It shows your status if you’re working in office or even working from home to avoid distractions.

    See publication
  • Integrate Home Assistant with Google Home

    Medium

    Integrate Home Assistant with Google Home and control the devices with voice.

    See publication
  • Integrate Google Calendar with Home Assistant

    Medium

    A detailed step by step how to integrate Google Calendar with Home Assistant and make the automations out of it.

    See publication
  • Setting Up DuckDNS in Home-Assistant.IO

    Medium

    This quick tutorial lets you walkthrough how to setup the DuckDNS in your Home Assistant.IO.
    I am using Home Assistant.IO installed on my Raspberry Pi 4 sitting at my home and I would like to access my Home Assistant portal remotely when I am away from home. With DuckDNS, I can access your Home Assistant remotely.

    See publication
  • Home Automation Journey with Home Assistant.io and SONOFF

    Medium

    This is my first automation journey with Home-Assistant.IO (https://www.home-assistant.io) and SONOFF.

    See publication
  • Make WhatsApp Group Chat More Fun

    Medium

    In this blog, I am going to share how you can make your WhatsApp Group chat more fun.
    I have been using WhatsApp app a lot. I using it to communicate with my families, friends, colleagues or anyone that is also in WhatsApp. I also created a group chat in WhatsApp for my internal family member, my bigger families and with colleagues and friends.
    Sometimes the group chat can be quite, none of us post a single chat message in a single day. I was thinking why not create a bot to post a daily…

    In this blog, I am going to share how you can make your WhatsApp Group chat more fun.
    I have been using WhatsApp app a lot. I using it to communicate with my families, friends, colleagues or anyone that is also in WhatsApp. I also created a group chat in WhatsApp for my internal family member, my bigger families and with colleagues and friends.
    Sometimes the group chat can be quite, none of us post a single chat message in a single day. I was thinking why not create a bot to post a daily chat summary activity by end of the day. The bot that I am talking about here is not the official WhatsApp bot but rather than to use the NodeJS app to create a bot from the WhatsApp Web feature.
    The summary activity could be the total number of messages sent by end of the day, the people who are participate (send messages) most. You also can send a daily quote picture every morning or evening. Anything you can think of to break the silent.

    See publication
  • SAP Analytics Cloud Zoom Meeting Custom Widget

    SAP

    In this brand new tutorial on the SAC custom widget, I will walkthrough how you can create a custom widget to share your screen automatically on the Boardroom display with Zoom Meeting app.

    Scenario
    Using this widget, you can easily share your screen automatically on the big Boardroom display and start the presentation. The Boardroom display is based on the Android OS that is able to run the Zoom app.
    On the SAC Analytic app, you have installed and configured the custom widget…

    In this brand new tutorial on the SAC custom widget, I will walkthrough how you can create a custom widget to share your screen automatically on the Boardroom display with Zoom Meeting app.

    Scenario
    Using this widget, you can easily share your screen automatically on the big Boardroom display and start the presentation. The Boardroom display is based on the Android OS that is able to run the Zoom app.
    On the SAC Analytic app, you have installed and configured the custom widget. With this widget you can create meeting, share screen and end meeting.
    When you start a meeting by clicking “Create Meeting” button, the Zoom meeting session will run automatically (without your intervention) in the Boardroom and you will get the link to the Zoom meeting in SAC Analytic App which you can click and start sharing your screen.
    After you finish with the meeting, you click the “End Meeting” button and the session will be removed.

    See publication
  • SAP Analytics Cloud Real Time Notification List Custom Widget

    SAP

    Learn how we can create a real-time notification list custom widget for SAC Analytic app. Notifications are the best way to make users aware of a situation that requires timely action or attention and reduce the amount on information and actions to its minimum, but provide enough information to decide weather it´s important or not.

    See publication
  • Build a Elderly Communication System Using Zoom Meeting

    Medium

    In this tutorial, we’ll learn how we can create a communication system using Zoom Meeting for the elderly with limited mobility. In this scenario, we can initiate a meeting request with Zoom from our mobile phone and on the other side (elderly), they can immediately join the meeting without need their intervention. On the other hand, the elderly can make an emergency call by pressing a button.

    See publication
  • Build a Chat Bot Interface Custom Widget in SAP Analytics Cloud

    SAP

    Learn how you can create a chatbot dialog in SAC Analytic app with a custom widget.

    See publication
  • Add Zoom Meeting Custom Widget in SAP Analytics Cloud, Analytic Application

    SAP

    In this tutorial, we’ll learn how to create a custom widget to launch the Zoom meeting directly from the SAC Analytic App.

    See publication
  • Build a Doorbell Notification with Zoom Meeting

    Medium

    This is a proof-of-concept (PoC) app which we can leverage the Zoom Meeting app
    I have built a prototype using Zoom Meeting app to notify me if someone rings my doorbell and I can communicate with him or her directly via a voice call from my mobile phone. I am sharing this idea to hope for others to learn, modify and enhance.

    See publication
  • Displaying a PDF File in SAP Analytics Cloud, Analytic App with Custom Widget

    SAP

    In this tutorial, we’ll learn how we can create a custom widget to display a PDF document in SAC Analytic App.

    See publication
  • Create Generic Tiles in SAP Analytics Cloud Analytic App

    SAP

    In this tutorial, we’ll learn how you can create generic tiles in SAP Analytics Cloud Analytic App with SAPUI5 and link it to bar/column chart.

    See publication
  • SAP Analytics Cloud Custom Widget to Send and Receive Messages with Kafka

    SAP

    In this tutorial, we’ll learn how we can create a SAP Analytics Cloud custom widget to send messages to NodeJS "Consumer" app with Kafka

    See publication
  • SAP Analytics Cloud Custom Widget to Send and Receive Messages with RabbitMQ

    SAP

    In this tutorial, we’ll learn how we can create a SAC custom widget to send and receive messages with RabbitMQ.

    See publication
  • Build SAP Analytics Cloud QR Code Generator Custom Widget

    SAP

    I’d like to share how you can generate a QR code in your SAC Analytic Cloud, Analytic App with a simple custom widget with the following features:
    -You can create/insert more than one instance as you like.
    -You can customize the size, color and background color.

    See publication
  • Network Graph Visualization in SAP Analytics Cloud Analytic App

    SAP

    Tutorial to create an SAC Analytic App custom widget to visualize network graph force layout.

    See publication
  • Secure R REST API with libsodium and RestRserve

    Medium

    This tutorial will walkthrough how to secure R REST API with Sodium (libsodium) using RestRserve framework.

    See publication
  • Protect SAP Analytics Cloud Analytic Application Code from Illegal Copy

    SAP

    In this tutorial, we will learn how to protect your SAC Analytic Application code from the illegal distribution. Just to bear in mind that nothing is unbreakable. This method just to add additional steps to prevent your code being distributed easily. We’ll be using libSodium JS library and then obfuscate the code using obfuscator.io.

    See publication
  • Tutorial: Using TensorFlow 2 Data API to Load and Pre-Processing Data

    Medium

    How to use TensorFlow Data API to load and preprocess the data.

    See publication
  • Tutorial: Sentiment Analysis with TensorFlow 2

    Medium

    In this tutorial, we will learn how to perform sentiment analysis with IMDb review datasets with TensorFlow 2

    See publication
  • Populate Master Data in SAC Planning Model from an Excel File Upload with Analytic Application

    SAP

    Create an SAP Analytics Cloud (SAC) Analytic Application (custom widget) Excel File Upload to populate the master data in SAC planning model.

    See publication
  • Excel File Upload From SAP Analytics Cloud Analytic Application

    SAP

    Upload an Excel file directly from the SAC Analytic Application.

    We will create a custom widget in SAC with library from SheetJS with a little modification. We will also create table, view and stored procedure in SAP HANA.

    See publication
  • SAP Analytics Cloud MultiInput Custom Widget

    SAP

    In this tutorial, we’ll learn how to create a multi-input SAC custom widget with SAPUI5 sap.m.MultiInput, sap.m.StandardListItem and sap.m.Button. User will be able to select the partner number from the list or they can just enter manually.

    See publication
  • SAP Analytics Cloud Custom Widget REST API with OAuth 2.0 and SAP HANA XSA

    SAP

    Learn how to create a SAP Analytics Cloud custom widget REST API with OAuth 2.0 and SAP HANA XSA.

    See publication
  • SAP Analytics Cloud REST API Custom Widget

    SAP

    We’ll learn how to build a simple REST API custom widget in SAP Analytics Cloud (SAC). User needs to enter the partner number information and get the scoring result from the R Plumber REST API.

    And we'll write a custom widget with SAPUI5 components for text-area, button and performs Ajax HTTP Post request.

    For the backend, we will write a NodeJS app that performs the HTTP request to R Plumber REST API to get the score value.

    See publication
  • SAPUI5 Image Background Removal

    SAP

    Build an SAPUI5 image background removal app. User will take a photo of image they wish to remove the background and the result will be displayed after processing is done. The app is built using Python with PyTorch and NodeJS with Socket.IO.

    See publication
  • Copy and Paste to PowerPoint with AI

    Medium

    Build a simple app to copy and paste your surroundings to Microsoft PowerPoint

    See publication
  • PDF Table Extraction with Keras-RetinaNet

    Medium

    Build a parser to extract the table in PDF document with RetinaNet.

    See publication
  • Execute Stored Procedure from SAP Analytics Cloud with NodeJS App

    SAP

    In this tutorial, we’ll learn how to create a custom widget in SAP Analytics Cloud, Analytic Application to execute stored procedure directly from the UI by clicking a button. After the execution is complete, the message box will pop-up with the status.

    See publication
  • How to Build a Chatbot for SAP Analytics Cloud with SAP Conversational AI

    SAP Conversational AI

    In this tutorial, we’ll learn how to create an SAP Analytics Cloud chatbot with SAP Conversational AI, and SAP Analytics Cloud (SAC) Custom Widget.

    The goal of this tutorial is to enable the users to interact and add the chatbot interface in SAP Analytics Cloud (SAC), Analytics Application. The bot will reply with the answer by updating the Analytics Application UI elements like a chart, widget, table, etc. For our case, we’ll design the bot to update the table based on the user’s…

    In this tutorial, we’ll learn how to create an SAP Analytics Cloud chatbot with SAP Conversational AI, and SAP Analytics Cloud (SAC) Custom Widget.

    The goal of this tutorial is to enable the users to interact and add the chatbot interface in SAP Analytics Cloud (SAC), Analytics Application. The bot will reply with the answer by updating the Analytics Application UI elements like a chart, widget, table, etc. For our case, we’ll design the bot to update the table based on the user’s question.

    See publication
  • Raspberry Pi VOIP with Cisco SPA3102

    Medium

    Learn how to setup a VOIP server using Raspberry Pi 4, Cisco Linksys SPA3102 and RasPBX.

    See publication
  • Named Entity Recognition and Classification with Keras

    Medium

    Learn how to use Machine learning-based approach to learn and recognize entities in sentences.

    See publication
  • Multi Class Text Classification with Keras and LSTM

    Medium

    Learn on how to build a text classification with Keras and LSTM to predict the category of the BBC News articles. This blog also covers the LSTM (Long Short Term Memory).

    See publication
  • Add and Use SAPUI5 Elements in SAP Analytics Cloud Custom Widget

    SAP

    Add and use SAPUI5 elements in SAP Analytics Cloud Custom Widget.
    Further example and other demos can be found at https://www.facebook.com/saccustomwidget/

    See publication
  • SAP Analytics Cloud Barcode Scanner Custom Widget

    SAP

    Create a barcode scanner custom widget in SAP Analytics Cloud with SAPUI5 elements and quaggaJS library.

    See publication
  • Display Stock Price with SAP Analytics Cloud Custom Widget and Google Sheets

    SAP

    In this tutorial, we will leverage the information from Google Sheets and display it in SAP Analytics Cloud using custom widget. In this case, we will show the stock price information from Google Sheets GOOGLEFINANCE formula in SAP Analytics Cloud custom widget.

    See publication
  • Excel File Upload SAPUI5 App with SAP HANA XSA

    SAP

    In this tutorial, we will create a simple SAPUI5 app to upload an Excel file (.xlsx) into SAP HANA XS Advanced table. We will create the multi-target-application that consists of database, NodeJS and SAPUI5 module.

    See publication
  • Interface SAP Analytics Cloud Google Gauge Custom Widget with RGB LED

    SAP

    This blog will shows you how to create a Google Gauge custom widget in SAP Analytics Cloud (SAC) and interface with an RGB LED for interactive visualization. This is also the proof-of-concept kind of idea that you can interact your SAC app with IoT world in a real-time!.

    See publication
  • Tracking Coronavirus COVID-19 Near Real Time with SAP HANA XSA

    SAP

    In this blog, I am going to walk through how you can create yourself a simple app to track the COVID-19 status in near real time with SAP HANA XS Advanced and display it in a web server or with SAP Analytics Cloud using custom widget.

    See publication
  • Build a Custom Widget in SAP Analytics Cloud, Analytics Application

    SAP

    In this tutorial, we will build a simple custom widget in SAP Analytics Cloud, Analytics Application to shows the gauge chart as shown below.
    A custom widgets are implemented as Web Components. The Web Components are made of HTML, CSS and JavaScript.

    See publication
  • SAP Analytics Cloud, Analytics Application Slideshow Controller

    SAP

    In this short tutorial, we will build a SAP Analytics Cloud, Analytics Application Slideshow controller. The application is displayed in the big screen and people can interact with it to play the slideshow with a wireless device via Bluetooth.

    Let’s prepare what we need to build:

    -HTML5 App
    -SAP Analytics Cloud, Analytics Application
    -BBC micro:bit Setup

    See publication
  • Adding LED Display as an Threshold Indicator in SAP Analytics Cloud

    SAP

    In this blog, we are going to add the LED display as an threshold indicator in SAP Analytics Cloud. If the certain threshold in the bar chart is reached, the LED will on otherwise it will turn off.

    Architecture
    1. Host HTML page
    It consists of the web Bluetooth functions to communicate with micro:bit to on and off the LED. For simplicity we are just using the built-in LED matrix in micro:bit. If you want you can also use external LEDs.
    2. SAP Analytics Application embedded via…

    In this blog, we are going to add the LED display as an threshold indicator in SAP Analytics Cloud. If the certain threshold in the bar chart is reached, the LED will on otherwise it will turn off.

    Architecture
    1. Host HTML page
    It consists of the web Bluetooth functions to communicate with micro:bit to on and off the LED. For simplicity we are just using the built-in LED matrix in micro:bit. If you want you can also use external LEDs.
    2. SAP Analytics Application embedded via iFrame
    An Analytics App to check the threshold in the bar chart and send the signal to host HTML page to on and off the LED.

    See publication
  • Control SAP Analytics Cloud, Analytics Designer App Remotely with Mobile Phone

    SAP

    I would like to share how to control the SAP Analytics Cloud, Analytics Designer app remotely from the mobile device. Imagine you have a big display board showing the analytical apps and people can interact with it with their mobile phones. Or during presentation, you can control remotely the analytical apps with your mobile phone or even with your voice command.

    In this tutorial, we are going to build a simple Analytics Designer app that is showing the gross margin per location or per…

    I would like to share how to control the SAP Analytics Cloud, Analytics Designer app remotely from the mobile device. Imagine you have a big display board showing the analytical apps and people can interact with it with their mobile phones. Or during presentation, you can control remotely the analytical apps with your mobile phone or even with your voice command.

    In this tutorial, we are going to build a simple Analytics Designer app that is showing the gross margin per location or per product with the dummy data from BestRunJuice company.

    We will create two charts: Indicator: Bullet chart and Comparison: Combination Column & Line. We will also add the QR code information for the user to interact with the charts via a mobile device.

    Once the QR code is generated, user uses their mobile device to scan the QR code on the app to open the control page and then interact with the control page on the mobile phone to remotely control the app on the big screen

    On the mobile phone screen, we will create two buttons: Location and Product for user to filter the chart based on these two inputs.

    See publication
  • Build a Chatbot with SAP Conversational AI and SAP HANA XS Advanced Model

    SAP Conversational AI

    In this tutorial, we will build a simple chatbot that leverages SAP HANA XS advanced model (XSA) and SAP Conversational AI to retrieve the email address information of the company, as well as to update the email address from and to the SAP HANA database. We will ask the bot what the email address of the company is. If the relevant record exists, the bot will reply with the email address information. If there is no record, we will ask the bot to update the email address, and the address will be…

    In this tutorial, we will build a simple chatbot that leverages SAP HANA XS advanced model (XSA) and SAP Conversational AI to retrieve the email address information of the company, as well as to update the email address from and to the SAP HANA database. We will ask the bot what the email address of the company is. If the relevant record exists, the bot will reply with the email address information. If there is no record, we will ask the bot to update the email address, and the address will be persisted in the SAP HANA database.

    See publication
  • Send IoT Data to the IOTA Tangle with SAP HANA XSA and Analytics Cloud

    SAP

    In this blog, we’ll learn how to send the IoT data to the IOTA Tangle with SAP HANA XSA and display it real time in SAP Analytics Cloud.

    IOTA
    IOTA is an open source distributed ledger called Tangle that is developed for Internet of Things (IoTs) or Machine to Machine (M2M) economy. But its technology is also well suited for payments between humans as well. You can read more information on iota.org.

    Scenarios
    In this tutorial, we will create simple scenarios to send the IoT…

    In this blog, we’ll learn how to send the IoT data to the IOTA Tangle with SAP HANA XSA and display it real time in SAP Analytics Cloud.

    IOTA
    IOTA is an open source distributed ledger called Tangle that is developed for Internet of Things (IoTs) or Machine to Machine (M2M) economy. But its technology is also well suited for payments between humans as well. You can read more information on iota.org.

    Scenarios
    In this tutorial, we will create simple scenarios to send the IoT temperature data to the IOTA Tangle using Masked Authentication Messaging (MAM).

    IOTA MAM makes possible for the the devices to encrypt the data streams and securely store those in Tangle each on separate address and only authorized parties that will be able to read and parse the message streams. Only those with the right channel IDs (The channel ID is also called the root) can get access to the message.

    See publication
  • Jenkins Build Process with SAPUI5 through HANA XSA

    SAP

    We will build the NodesJS and SAPUI5 app in SAP HANA XSA that controls the Jenkins build process.

    What’s Jenkins ?
    Jenkins (jenkins.io) offers a simple way to set up a continuous integration or continuous delivery environment for almost any combination of languages and source code repositories using pipelines, as well as automating other routine development tasks.

    High Level Steps
    -Configure the Jenkins job to execute the Windows batch command to run the Python program. For…

    We will build the NodesJS and SAPUI5 app in SAP HANA XSA that controls the Jenkins build process.

    What’s Jenkins ?
    Jenkins (jenkins.io) offers a simple way to set up a continuous integration or continuous delivery environment for almost any combination of languages and source code repositories using pipelines, as well as automating other routine development tasks.

    High Level Steps
    -Configure the Jenkins job to execute the Windows batch command to run the Python program. For simplicity, Windows batch file and Python app reside in the same Jenkins server (this is may not practical in the Production mode).
    -Install and configure NodeJS Client for Jenkins in SAP HANA XSA and build the NodeJS app to call the REST API to build, get and stop the Jenkins job.
    -Lastly, we will build the SAPUI5 Front End in SAP HANA XSA to trigger job, check job status and cancel job.

    See publication
  • Socket.IO File Upload in SAP HANA XSA

    SAP

    In this blog, we are going to build a file (.csv) upload app with NodeJS and Socket.io. In previous blog, I created the similar app but using XSJS lib in HANA XSA. With websocket, I would like to overcome the gateway timeout issue when using HTTP post method.

    See publication
  • Create CSV File Upload SAPUI5 App with SAP HANA XSA

    SAP

    Learn how to create a simple SAPUI5 app to upload a .csv file into SAP HANA XS Advanced tables. We will create the multi-target-application that consist of database, XSJS/NodeJS and SAPUI5 module.

    See publication
  • Adding WhatsApp Reminder in Your Google Calendar

    Medium

    This is a simple trick on how to add the WhatsApp message reminder in your Google Calendar. The reminders can be sent to the multiple registered numbers. We can create a family events calendar reminder where your family members can be notified via WhatsApp.
    Technology stack: Twilio, Google Apps Script, Google Calendar & Sheets.

    See publication
  • Batch Insert and Update Processing with OData V2

    SAP

    We’ll learn how to perform batch insert and update operation with OData version 2 and we apply to the contact persons list where user can add, edit and delete the person first name and last name.
    Technology: XSJS, XSJSLib, SAPUI5, SAP HANA DB.

    See publication
  • Apply Asymmetric Encryption in Chaincode

    SAP

    In this blog, we’ll learn how to implement simple asymmetric key encryption with public and private key in chaincode app in SAP Hyperledger Fabric. Using the example in this blog may not be an ideal solution to implement in the real scenario, but let’s test and see the functionality.

    The functionality and code structures are based on the SAP help Use End-to-End Encryption in Chaincode with slight modifications.

    See publication
  • Controlling Smart Bulb with Blockchain

    SAP

    In this blog, we’ll learn and demonstrate how to control the smart bulb “Yeelight” with Blockchain from the SAPUI5 app. We will utilize the Hyperledger Fabric service in SAP Cloud Platform.

    See publication
  • Build Family Events Notification with WhatsApp and Smart Bulb

    SAP

    In this blog, we learn how to create a family events reminder app and get a notification by WhatsApp message and Yeelight smart bulb. No single coding is required!

    The notification will be triggered in 15 minutes before the due date and time. User shall be getting the WhatsApp message and the smart bulb will be turned on. User need to reply WhatsApp message saying “acknowledge” to turn off the light.

    See publication
  • WhatsApp Event Notification with Google Calendar, Zapier and SAP Open Connectors

    SAP

    I am always wanted to get SMS notifications from my events in Google Calendar. I remember Google Calendar provides the service until recently they cease it.

    Fortunately, Twilio is providing the service to send and receive the WhatsApp/SMS message. Since I am using WhatsApp in my daily life, I am thinking to build the WhatsApp event notification integrates with Google Calendar for free!

    See publication
  • WhatsApp Chat Interface with SAP Open Connectors, Twilio and SAPUI5

    SAP

    Do you want to send and receive a WhatsApp messages from UI5 ? In this tutorial, we will create a simple WhatsApp chat interface with SAP Open Connectors, Twilio and SAPUI5 to send and receive WhatsApp messages.

    See publication
  • Build a Fiori ChatBot with SAP Conversational AI and SAP Open Connectors

    SAP

    In this blog we’ll learn how to build a simple chatbot with SAP Conversational AI and SAP Open Connectors. We will also build an SAPUI5 Fiori front-end as an UI for the chatbot.

    See publication
  • IoT Pill Reminders with SAP Cloud Foundry, Google Sheets and micro:bit

    SAP

    In this post, we’ll learn how to build a simple IoT “Pill Reminders” device to remind the patient to take the pill and as soon as he/she took the pill, we will get the update status in Google Sheets

    See publication
  • Build Logo Detection REST API with SAP Cloud Foundry and RetinaNet

    SAP

    In this blog post, we’ll learn how to utilize RetinaNet object detection framework to detect and localize logo in images and build a REST API Python Flask app with SAP Cloud Foundry. The result will be visualized in HTML file.

    See publication
  • Image Search Engine Bot with SAP Cloud Foundry, Python and NodeJS

    SAP

    In this post, I would like to share how to build an image search engine bot with Facebook Messenger platform, SAP Cloud Foundry and some Python & NodeJS codes.

    User interacts with the bot on Facebook Messenger by uploading the photo of shoes and the bot will response with the similar images.

    See publication
  • Facebook Messenger OCR Receipt Bot

    SAP

    I would like to share how to create a Facebook Messenger bot that has a capability to perform OCR (Optical Character Recognition) on the image of a receipt taken by a mobile phone via Facebook Messenger platform. User need to upload the receipt to FB messenger and the bot will reply with the OCR result.

    We will be using the OCR engine with the following options:

    SAP Leonardo Machine Learning Foundation (cloud based)
    Our own OCR engine with Tesseract OCR (installed on local…

    I would like to share how to create a Facebook Messenger bot that has a capability to perform OCR (Optical Character Recognition) on the image of a receipt taken by a mobile phone via Facebook Messenger platform. User need to upload the receipt to FB messenger and the bot will reply with the OCR result.

    We will be using the OCR engine with the following options:

    SAP Leonardo Machine Learning Foundation (cloud based)
    Our own OCR engine with Tesseract OCR (installed on local machine)
    User can choose either to use SAP Leonardo or Tesseract solution based from the Facebook Messenger bot menu interface.

    See publication
  • Build On-Premise ChatBot with SAP Cloud Foundry and Conversational AI

    SAP

    In this blog, I would like share how to build a simple chatbot running on-premise with SAP Cloud Foundry and integrated with SAP Conversational AI Natural Language Processing (NLP) component. The bot will answer user’s query on the NCT (ClinicalTrials.gov identifier number) title and status. User can say:

    nct title for NCT00269126

    status for NCT00269126

    And the bot will response with the corresponding title and status for that NCT number.

    See publication
  • SAPUI5 Multi-Barcode Scanner App

    SAP

    Multi barcode scanner app is a productivity tool that is easy to integrate with SAPUI5 to capture one or more barcodes with a single press of a scan button. The app will be able to capture all barcodes simultaneously on a single label. No need repetitive scanning to capture all required barcodes and increase productivity!

    The barcode result will be auto populated in SAPUI5 field for further validations before sending to SAP backend.

    We will build an SAPUI5 Multi-Barcode scanner…

    Multi barcode scanner app is a productivity tool that is easy to integrate with SAPUI5 to capture one or more barcodes with a single press of a scan button. The app will be able to capture all barcodes simultaneously on a single label. No need repetitive scanning to capture all required barcodes and increase productivity!

    The barcode result will be auto populated in SAPUI5 field for further validations before sending to SAP backend.

    We will build an SAPUI5 Multi-Barcode scanner Android app to scan the item with multiple barcode labels.

    See publication
  • Add Machine Learning capabilities in SAP Fiori App with Google ML Kit Custom Model

    SAP

    A detail guide on how to build an Android Fiori App with SAP Web IDE to identify objects in images using Google ML Kit Custom Model. With the custom model, you can train your own ML model to recognize the objects according to your needs.

    See publication
  • Create Text Recognition (OCR) App with Google ML Kit and SAP Web IDE

    SAP

    In this tutorial, I would like to go through on how to build the text scanner (OCR) app with Google ML and SAP Web IDE. The app that we are going to build is the Android Cordova SAPUI5 that has two functions: Take Photo and Pick from Gallery.

    Take Photo

    To snap a photo and feed into the text recognizer and get the OCR result.

    Pick from Gallery

    To feed the text recognizer with the available existing images from the phone gallery and get the OCR result.

    Once it…

    In this tutorial, I would like to go through on how to build the text scanner (OCR) app with Google ML and SAP Web IDE. The app that we are going to build is the Android Cordova SAPUI5 that has two functions: Take Photo and Pick from Gallery.

    Take Photo

    To snap a photo and feed into the text recognizer and get the OCR result.

    Pick from Gallery

    To feed the text recognizer with the available existing images from the phone gallery and get the OCR result.

    Once it get recognized, the dialog box with the OCR result will pop-up. We can then use this information to proceed further like getting the information from the SAP back-end through oData, etc.

    See publication
  • Build Android SAP Fiori OCR Scanner with SAP Web IDE and Anyline OCR SDK

    SAP

    Details guideline on how to build Android OCR and Barcode Scanner App with SAP Web IDE Full Stack, Anyline SDK and Hybrid App Toolkit (HAT)

    See publication
  • Google Android Vision Multi Tracker: Recognize Barcode and Text (OCR) At The Same Time

    Medium

    We will build a scanner app that will recognize barcode and text at the same time with Google Android Vision library.

    See publication
  • Blockchain NodeJS Server Monitoring

    Medium

    How to build a simple server monitoring with Blockchain. We will write a NodeJS client app that will submit the transaction to the Hyperledger Fabric with the server parameters like number of active memory, hardware model, number of installed CPU and RAM, server model and data center ID.
    Client app would be able to query the information and listen to the event.

    See publication
  • Hyperledger Composer Troubleshooting

    Medium

    This is a live document that I will be keep updating to troubleshoot the Hyperledger Composer.

    See publication
  • Getting Started with Hyperledger Composer

    Medium

    Get to know how to install the Hyperledger Composer on Ubuntu Machine and start to create the Blockchain apps from the scratch. We will build a SAP mobile application (SAPUI5) with the Blockchain framework in the backend.

    See publication
  • Make Google Assistant App to Check Train Arrival Times with Dialogflow

    Medium

    Let’s make an Google Assistant chatbot app to check the train arrival times for SMRT (Singapore MRT train operator). I have made one 👌 and it is available for public (you can try it now) from your phone or Google Home.
    If I can make it, I hope you also can do it, so let’s get started!!
    https://www.facebook.com/TrainOnDemand/

    See publication
  • Build Wearable Smart Glass App For Warehouse Picking Solution

    Medium

    Smart glass in warehouse picking operation is the efficient way to increase the productivity and streamline the picking process.

    The benefit of using the smart glass for warehouse picking operations:

    Hands Free display is everything you need to boost the accuracy and productivity.
    Augmented reality to capture the working environment and provide the relevant information.
    Cheap and flexible compare with the high-end handheld/RF scanner.
    Simple Output Process without…

    Smart glass in warehouse picking operation is the efficient way to increase the productivity and streamline the picking process.

    The benefit of using the smart glass for warehouse picking operations:

    Hands Free display is everything you need to boost the accuracy and productivity.
    Augmented reality to capture the working environment and provide the relevant information.
    Cheap and flexible compare with the high-end handheld/RF scanner.
    Simple Output Process without impacting (low impact) on the current business process. A business process that does not require an intensive interaction between the user and the application are ideal candidates for a Smart Glass solution.
    No dedicated infrastructure. We just can tap to the existing infrastructure as long as there is WiFi connectivity.
    Easily integrated with ERP (SAP) and WMS (Oracle) back-end, WebRTC for Video Chat and integrated with Tensorflow or cloud AWS Rekognizer.

    See publication
  • Build Facebook Messenger Contextual ChatBot with TensorFlow and Keras

    Medium

    Let’s build a Facebook Messenger chatbot that will assist customer to buy the flowers. We will be using TensorFlow with Keras in the backend to build the chatbot. In the frontend, we will be using Facebook Messenger app.

    See publication
  • Controlling PowerPoint Slides with Alexa and WebSocket

    Medium

    Controlling PowerPoint slideshow with Alexa and WebSocket. In the earlier post, I was using Ngrok to control the slideshow. Using WebSocket is the elegant solution to accomplish the same thing.

    See publication
  • Getting Alexa to Check the Utility Bills and Consumption

    Medium

    Let’s create Alexa Skills to check the Singapore Power utility bills and consumption (water, gas and electricity).

    See publication
  • Create Flower Image Classification with Tensorflow, Keras and Flask

    Medium

    Let’s create a simple flower image classification with Tensorflow, Keras and Flask and we will deploy the app to Heroku.

    https://flowersai.herokuapp.com/

    See publication
  • Alexa, Ask Microbit to Turn LED Light

    Medium

    In this blog post, I would like to walk through how easy to control micro:bit with RGB LED with Alexa. A user will say the following to Alexa enabled-device to control the LED light on micro:bit:

    ask microbit to turn led to blue
    ask microbit to turn led to green
    ask microbit to turn led to red

    See publication
  • Controlling PowerPoint SlideShow with Alexa

    Medium

    Alexa is a great digital assistant from Amazon. In this blog post, I would like to run through how do I create the Alexa Skills to control the PowerPoint slideshow presentation on your computer.
    A user will say “go to next slide”, “go to previous slide” or “go to slide six” to control the PowerPoint slideshow presentation with Alexa enabled device.

    See publication
  • Analyze Mobile Banking App TLS/SSL Traffic — Part 2

    Medium

    In this part 2, I would like to share how do I did to analyze the TLS/SSL traffic on other Android mobile banking app and see what is the different methods that are being used to secure the app. From code tampering detection system to TLS/SSL Certificate Pinning.

    See publication
  • Analyze Mobile Banking App TLS/SSL Traffic - Part 1

    Medium

    I am going to demo you how to see clearly the unencrypted TLS/SSL traffic on the mobile banking app on Android.

    See publication
  • From App Traffic Analysis To Build Facebook Messenger Bot

    Medium

    I would like to share my experience when performing traffic analysis of one of the popular app Parking.SG and then I created a Facebook Messenger bot based on traffic information for user to check the nearby car park and get the total cost based on the vehicle type and duration.

    See publication
  • Analyze the Traffic of Parking.SG App

    Medium

    I love to analyze (or reverse engineer) the app that I am thinking is quite popular. Let’s analyze the Parking.SG app for this purpose.

    See publication
  • How Do I Create “Train On Demand” Google Assistant Chat Bot

    Medium

    Train On Demand is another chat bot that I have created on the Google Assistant platform. It will provide the MRT train timings arrival status for Singapore SMRT Train operator specifically on East West Line, South East Line and Circle Line.

    See publication
  • Analyze Android App with SOAP Request with Charles Proxy & SOAPUI

    Medium

    Let’s walk through how to analyze the SOAP request from Android app with Charles Proxy & SOAPUI. For the sample app, I am using the MyTransport Singapore from LTA.

    See publication
  • Debug Android SSL Traffic with Charles Proxy

    Medium

    Ever wonder how does the app get the data from? what is the API are they using to get the information? for instance where to get the bus arrival information if there is no official API ?
    Here is the step by step instruction on how to debug SSL traffic for the existing Android app

    See publication
  • How Do I Write SG Petrol Google Assistant Bot

    Chatbotslife

    How to create SG Petrol Google Assistant Bot (https://www.facebook.com/SGPetrol) that can provide the latest update on the petrol prices for SPC, Caltex, Shell and Esso in Singapore.

    See publication
  • Why I Created SGGoGo — Transit ChatBot

    Chatbotslife

    Why I Created SGGoGo — Transit ChatBot
    SGGoGo — Want to go somewhere ? Just tell me where and I can tell you how

    I have just released my other creation, SGGoGo Facebook Messenger chatbot that is able to provide the direction wherever you want to go in Singapore by bus, MRT or both. The main reason is because there is no reliable chatbot that can provide such detailsinformation. What about SG Bus Uncle? In my opinion, it can only provide the available bus and MRT timing without details…

    Why I Created SGGoGo — Transit ChatBot
    SGGoGo — Want to go somewhere ? Just tell me where and I can tell you how

    I have just released my other creation, SGGoGo Facebook Messenger chatbot that is able to provide the direction wherever you want to go in Singapore by bus, MRT or both. The main reason is because there is no reliable chatbot that can provide such detailsinformation. What about SG Bus Uncle? In my opinion, it can only provide the available bus and MRT timing without details direction and other information.

    See publication
  • Get Singapore MRT Train Arrival Time with Google Sheets

    Medium

    There is an easy way to get the MRT train arrival time, particularly on the SMRT Train with Google Sheets.

    See publication
  • Insert or Update Records in Google Sheets with micro:bit

    Medium

    Create a simple app to insert and update Google Sheets records. When we press button ‘A’ on micro:bit, the timestamp, id and name of micro:bit will be populated in Google Sheets. If the id is already exist, only the timestamp will be updated.

    See publication
  • Control a DC Motor with micro:bit, Web Bluetooth and Kitronik Motor Driver

    Medium

    Here is a quick guide on how to drive and control the speed of the DC motor with Kitronik motor driver, web bluetooth and BBC micro:bit.

    See publication
  • Turn the BBC micro:bit into a Physical Web Beacon and Change the URL Link Dynamically

    https://medium.com/@ferrygunawan/turn-the-bbc-micro-bit-into-a-physical-web-beacon-and-change-the-url-link-dynamically-c75d728c1e3b

    Imagine if you can advertise different links with Physical Web each day to your customers visiting your shop and get them engaged and updated with your new products and promotions. Every Mondays you advertise product A, every Tuesdays you advertise product B and so on and so forth.

    There is a simple way to update the URL link of Physical Web in a dynamic way. In other words, you don’t need to update the micro:bit firmware every time you want to update the link. What you need to do is to…

    Imagine if you can advertise different links with Physical Web each day to your customers visiting your shop and get them engaged and updated with your new products and promotions. Every Mondays you advertise product A, every Tuesdays you advertise product B and so on and so forth.

    There is a simple way to update the URL link of Physical Web in a dynamic way. In other words, you don’t need to update the micro:bit firmware every time you want to update the link. What you need to do is to insert a new link and click ‘advertise’ on the webpage.

    See publication
  • Build a Currency Note Detector Game with BBC micro:bit, Web Bluetooth and Physical Web

    https://medium.com/@ferrygunawan/build-a-currency-note-detector-game-with-bbc-micro-bit-web-bluetooth-and-physical-web-2a81b8d5a270

    I would like to walk through how do I build a currency note detector to distinguish between 5 dollar Singapore note and 10 dollar Singapore note. You insert the money to the device and the device will tell you whether it is 5 dollar note or 10 dollar note. We will use the Physical Web and Web Bluetooth for this purpose. The intention to build this is to demo the power of Web Bluetooth and Physical Web with micro:bit.

    See publication
  • Laundry Message Alerts with micro:bit and Raspberry Pi

    Medium

    My washing machine is located at the basement and I need to know when the laundry is done. The buzzer maybe just fine but sometime I could not barely hear. No hacking or modification is allowed into the washing machine equipment. You need to build a simple device that sends a text message to your smartphone when the washer is done. Minimum or no interaction to the device, it should automatically wake up once the washer is running and goes to sleep once the washer or the laundry is done.

    See publication
  • How Do I Track My Luggage with micro:bit

    Medium

    With just a micro:bit and an Android smartphone, you can build a simple luggage tracker: LugTracker. It is cheap, simple and reliable.

    See publication
  • bit:Locker — micro:bit Front Door Security system

    Medium

    Now you can build the front-door security system equipped with door sensor and alarm. Anyone is trying to force to open the door will trigger the alarm!!.

    The only way to disarm or deactivate the alarm is to key in the correct 4-digit PIN numbers. In this tutorial, you will learn and create the bit:Locker -micro:bit Front Door Security system with two electronic components: buzzer and magnetic door sensor, microPython and of course: micro:bit!

    See publication
  • Posty:bit — Post Box Sensor with micro:bit & Bluetooth Advertising

    Medium

    Based on my earlier post to use micro:bit to monitor the post box, I want to enhance the functionality to utilize the bluetooth advertising function from micro:bit.


    Posty:bit- a post box monitoring system with micro:bit

    micro:bit as a transmitter
    Let’s modify the transmitter program to use the bluetooth advertiser and create a simple Android program to scan the bluetooth advertised by micro:bit. For this case, we don’t need the receiver.

    See publication
  • Posty:bit — Post Box Sensor with micro:bit

    Medium

    Posty:bit is a post box monitoring system that is built with micro:bit. It has two smart modules that are interacting with each other: Transmitter & Receiver.

    See publication
  • Bypassing Android Certificate Pinning on Singapore Power Utilities App

    Medium

    I would like to share what I did to bypass the certificate pinning on Singapore Power Utilities Android app. Once it is done we can see the clear TLS traffic data with Charles Proxy and you can retrieve the necessary information with Node app.

    See publication
  • Measuring Home Energy Consumption with SAP HCP and Cordova SAPUI5

    SAP

    Let’s build an app where you can monitor the home energy consumption with the help from SAP Hana Cloud Platform (HCP) and Cordova SAPUI5. You will perform an OCR on the electricity & gas meter in monthly basis and submit the reading to SAP HCP.

    See publication
  • SAPUI5 Cordova Electricity Meter Reading

    SAP

    In many homes there are still electricity meters with a mechanical counter that do not provide a direct interface for reading the consumption of electrical energy. In this blog, I am trying to capture the consumption of electrical energy with a mobile device (Android) as a scanner to read the information from the mechanical counter and record it in the database like SAP HCP. In this case, we are going to build a SAPUI5 Cordova electricity meter reading with the SDK from Anyline.io.

    See publication
  • Build an Interactive Voice Response (IVR) System connected to SAP HANA – Part 1

    SAP

    On the first part of this blog post, I would like to walk through how to build an IVR (Interactive Voice Response) system that is connected to SAP HANA Database or ODATA service. IVR is an automated telephony system that interacts with the callers, gathers information and routes calls to the appropriate recipient.

    See publication
  • Display Stock Price with SAP Analytics Cloud Custom Widget and Google Sheets

    SAP

    In this tutorial, we will leverage the information from Google Sheets and display it in SAP Analytics Cloud using custom widget. In this case, we will show the stock price information from Google Sheets GOOGLEFINANCE formula in SAP Analytics Cloud custom widget.

    See publication

Courses

  • AWS Cloud Practitioner Essentials

    -

Languages

  • English

    Full professional proficiency

  • Indonesian

    Full professional proficiency

Organizations

  • SAP Analytics Cloud Custom Widget

    Creator

    - Present

    Tutorial on SAP Analytics Cloud Analytic Application and Custom Widget that I have created for others to learn and grow: https://www.facebook.com/saccustomwidget/

  • micro:bit Singapore

    Creator

    - Present

    To share and contribute on the BBC micro:bit projects Singapore chapter. Tutorials how to utilize Web Bluetooth with BBC micro:bit. https://www.facebook.com/microbitsingapore/

Recommendations received

More activity by Ferry

View Ferry’s full profile

  • See who you know in common
  • Get introduced
  • Contact Ferry directly
Join to view full profile

Other similar profiles

Explore collaborative articles

We’re unlocking community knowledge in a new way. Experts add insights directly into each article, started with the help of AI.

Explore More

Others named Ferry Djaja

Add new skills with these courses