DEV Community

Nesim Tunc
Nesim Tunc

Posted on

CoThings: A realtime counter for shared things.

It accounts for current number of people using shared areas or utilities in realtime. It uses Elixir + Phoenix’s Socket for realtime communication.

With mobile application it monitors beacons in background to update the room current status.

More about the project:

Top comments (2)

cappe987 profile image

It's a pretty cool concept. I love the UI. But I had to look around a lot on the website and repo until I found any info about the beacons. And it said that right now you can only change status manually on the website.

How will these beacons work? Are they motion sensors? Proximity to a phone? Electric outlet monitor? I can't think of any more and none of these are perfect solutions. Having to manually update the usage feels like it would be way too tedious for such a small life improvement.

nesimtunc profile image
Nesim Tunc

Hi Casper!


Oh sorry about that old note, I have forgotten to update it. Thanks for remind me. I have just updated it!

It was manual at the beginning and yes I knew it would be tedious and easy to forget but it was a quick development, a few days of coding after work for the backend & frontend, and the mobile app took longer due to Apple's approve, I had to convince them that the app is not COVID-19 related, like a health app.

The purpose of the project is / was to avoid crowded area for people who lives in a community like share house during COVID-19 pandemic.

And about beacons; it will work with any kind of beacon that support iBeacon broadcasting. There're no motion sensors but it can be implemented for sure.

Beacon's Proximity event occurs so many times, a lot of headache to manage it, so, I used basic event, enter the region and exit the region works okay, still not perfect though. It depends on how often the beacon broadcast the signal.

I don't remember now, but there's a time limit for Apple devices to decide the beacon is not in the range (let's say beacon broadcast every 5 mins.) even you're in the room it would un-count and count you later. Sorry, this is little confusing I know, let me explain little bit more;

Due to privacy, I didn't want to make a unique id for each user, to avoid tracking. Basically if you know the user, you could easily manage the status. But on purpose, I didn't want to know user, for the sake of privacy, and tracking all over the world.

So, just a clean and simple, enter a room -> increase the counter, exit the room -> decrease the counter and for utilities people will need to update manually (ex: washing machine, you won't wait until done).

I'm not sure, if I have completely answered your questions, so, please don't hesitate to ask.

Thank you for your interest