Kelvien Hidayat
May 25, 2016 · 4 min read

/ja prē/


  1. A smart system that gives users access to control and monitor connected home appliances (such as: lights and door) and even notifying users on certain events. Doesn’t it sound like J.A.R.V.I.S (Just A Rather Very Intelligent System)? In Javanese accent (an Indonesian dialect), J.A.R.V.I.S. sounds like “Japri”, hence Japri.
  2. Jalur Pribadi (Indonesian sentence translted to English: private lane/connection). This system is made with security in mind. It is made accessible only to authorized users. Hence, Japri.

Kiosk screen

Japri involves a web application and embedded system to work together to provide users real-time data such as sensors data and live streaming images from a browser. The web server is in the Raspberry Pi 3 that is housed under the kiosk screen, which is also why there are many cables coming in there.

Japri is an initiative I made after I graduated from Iowa State University to pursue my interest in learning new technologies, and create a product that will be useful for me and others. So far this has been very beneficial to me and my roommates. i.e: I am able to know when a friend of mine comes knocking on my door!

I’ve been talking too much in text, and since a picture is worth a thousand words, here is Japri in action:

Highlighted features:

Get notified when you have your lights on during a bright day. Save up some electricity bills, yes!

Communicate with your roommate.. from your desk (without screaming).

Unlock your door by tapping a tag on the door. No more awkward pauses in trying to fit your key into that archaic tiny keyholes.

Control your light… from a distance… I mean your bed.

Read essential information before leaving home through a kiosk screen.

Currently, I use these APIs: Verse of the Day, Weather Forecast, and Nextbus (Bus system in Ames, Iowa).

Don’t worry about your home :) Japri will notify you by email when it detects movement in front of your home. The attachment of the email is the important part. I decided to generate an animated GIF file that contains several images before and after the motion is detected.

These are the GIF frames dissected:

| Frame 1 | Frame 2 | Frame 3 | Frame 4 | Frame 5 | MOTION DETECTED | Frame 6 | Frame 7 | Frame 8 | Frame 9 | Frame 10 |

The concept is like Apple’s Live Photos, I want to show moments before and after a motion is detected, this will give users a context of what happened when Japri detects motion through the motion sensor.

Motion Sensor at the top of my front door
Desktop notification when motion is detected

Have a house that listens to your needs. Yes, voice commands!

Japri has some useful voice commands such as:

“Turn on/off the lights”

“I feel blue” — we all have that one day…

and even “Unlock the door.”

Basically all of the commands in Japri can be hooked up with a voice command.

Future features:

  • Text-to-speech. Japri may talk in the future
  • Alexa Voice Service. Japri can be more intelligent with the help of Alexa
  • Music player

The technologies I used to build the web application are:

Node.js: powers the web server and all of the logic to operate this smart home system

Socket.io: provides real-time data exchange

Angular.js: provides an Model View Architecture (MVC) architecture for the front-end

Japri also provides RESTful services. Pro: Reusability! When I make a native Android/iOS app, I can easily connect Japri’s REST API endpoints to other applications.

Lessons learned:

  • Before working on this project, I made a checklist containing all of the features I want to do. Most of them were new to me, but that did not stop me. I confronted many roadblocks while implementing those features, and my dream/vision keeps me up to tackle those roadblocks! So, never be afraid of diving into the unknown and learning new things.
  • In addition, be sure to plan and design before implementing your ideas. Spending more time in designing an application’s architecture to make it future-proof will save you a lot of time in the future because you will not waste time redoing your works.
  • Don’t make holes on your apartment’s door if you still want to keep your deposit money.

If you have any question about the project or if you have career opportunities for me, I am available to be contacted via email at kelvienhidayat@gmail.com

I am looking for a job in Software Engineering area in the USA or Indonesia.

For more technical explanation, please visit my code repository: Github

At last, Javanese people will say “Matur nuwun” — Thank you for reading!

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

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