Smart Mirror with Home Automation using chats

Hardware components:
R8326274 01
Raspberry Pi 2 Model B
× 1
PC Monitor with VGA Cable
× 1
Wifi Receiver
× 1
Two way mirror acrylic sheet
× 1
5v Relay Module
× 1
11026 02
Jumper wires (generic)
× 1
Software apps and online services:
Raspbian OS
Telegram App
Hand tools and fabrication machines:
Hy gluegun
Hot glue gun (generic)


Smart Mirror with Home Automation using chats


Project Idea

The project Smart Mirror with home and garden automation describes the design and development of a futuristic smart mirror that represents an unobtrusive interface for the ambient home environment with automation using Raspberry Pi. The mirror provides a natural means of interaction through which the residents can control the household smart appliances and access personalized services. Emphasis is also given to ensure convenience in accessing these services with a minimum amount of user intervention. The smart mirror functionalities have been demonstrated by developing an easily extendable home automation system that facilitates the integration of household appliances and various customized information services like live custom wallpaper display. Even more, all the appliances connected to this device can easily automate with the online remote chats through telegram. This creates the mirror with more utilities using Raspberry Pi.

Requirement Specifications

  • The system has the ability to display latest news in technology.
  • The system has the ability to detect the presence of the user.
  • The system has a relatively lower cost than existing designs.
  • The system functions as a mirror.
  • The system looks aesthetically appealing.
  • The system has a customizable background.
  • The system has a means to control home appliances like fan and light through chats.
  • The system has a separate account in telegram or any other opensource API

Block Diagram

Pictorial Diagram

Pictorial Diagram

Note: In this post, I gonna describe and provide tutorials of 75% of my project. That is Smart Mirror with Home Automation. Another 25% of project is described in this link.

Key Skills

In Raspberry Pi

· Electronic GPIO Pin Control

· Python Programming – to write and read control to pins

In Web Designing




· Knowledge on Web Hosting & Accessing

In Telegram

· Knowledge on Telegram API

· Creating and modifying BOTs


1.1. Download the software’s required,

1. SD Card Formatter

2. Raspbian Operating System

3. Win32DiskImager

4. Putty

1.2 Boot up Operating System to SD Card


1. Install SD Card Formatter

2. Insert SD Card Reader with SD Card

3. Format the SD Card Fully

Boot up Operating System to SD Card

Step-2: Use Win32DiskImager to boot image file(operating system) to SD card and click write.

se Win32DiskImager to boot image file(operating system) to SD card and click write


1. Connect HDMI to Monitor through (HDMI – VGA cable)

2. Connect Mouse and Keyboard (Required only for first)

3. Connect Wi-Fi Adaptor (Optional – This is required only if you are not able to connect to internet via Ethernet)

4. Connect Ethernet Cable to Laptop/Pc to use putty (This is not required if you are connected to Internet via Wi-Fi Adaptor)

Step -4:

1. Insert SD Card to Raspberry Pi Board

2. Switch ON your monitor

3. Power up Raspberry pi through USB

4. Check your Raspberrypi IP address using Advance IP Scanner (If it does not work. Follow bellow steps)

5. Connect your Ethernet cable to Laptop/PC

Open Terminal in Raspberry Pi and type ifconfig to get connected Ethernet IP address

Insert SD Card to Raspberry Pi Board

Step-5: Open Putty in your Laptop or PC

Login as: pi Password: raspberry


1. Setup Wi-Fi to get downloads

2. Setup Hotspot in your mobile (or go with router name and password)

3. Enter your password and press Enter

Enter your password and press Enter

Step-7: Get your latest downloads by following steps below

1. Open Putty (or Terminal in Raspberry pi Screen)

2. Type follow commands (takes little time to perform each command)

  • Get latest update

sudo apt-get update

  • Install Python to Raspberry Pi (18MB)

sudo apt-get install python-dev

sudo apt-get install python3.5

  • Install GPIO Library to Raspberry Pi

sudo apt-get install python-rpi.gpio

  • How can I use Raspberry Pi on my portrait monitors?

Edit the /boot/config.txt file (sudo nano /boot/config.txt) and add a line to the bottom (without the description):

display_rotate=0 Normal

display_rotate=1 90 degrees

display_rotate=2 180 degrees

display_rotate=3 270 degrees

display_rotate=0x10000 horizontal flip

display_rotate=0x20000 vertical flip

I used display_rotate=1

  • Install the browser

sudo apt-get install midori

  • To stop going blank screen after sometime

sudo nano /etc/rc.local

ABOVE the “exit 0” line insert:

setterm -blank 0 -powerdown 0 -powersave off

sudo nano /etc/kbd/config

Find the line for BLANK_TIME and POWERDOWN_TIME and set them to 0.

  • R


Step-8: Do the steps below:

  • Create a folder as smart
  • Copy it to pen drive and paste it in /home/pi/ of Raspberry it. It looks like /home/pi/smart/. Inside this, it contains web contents.

Step-9: Start up the Raspberry pi with browser with link

  • Open below address to Edit the autostart file:

sudo nano /etc/xdg/lxsession/LXDE/autostart

  • Comment out everything using a ‘#‘ at the start of each line and then add the following lines
# Auto run the browser
@xset s off
@xset -dpms
@xset s noblank
@midori --display=:0 -e Fullscreen -a file:///home/pi/smart/index.php
  • Reboot the raspi

sudo reboot


2.1. Basic Steps

Step-1: After install Telegram in your device(Smartphone/PC/Laptop/WebApp), register it.

Step-2: Search “BotFather” without quotes and click on it.

Step-3: Press Start and press /newbot

Step-4: Enter the bot name (Example: IOF Bot)

Step-5: Choose a username for your bot. It must end in `bot` without space. (Example: IOFbot)

Step-6: Note down <token key> and keep it safe.

Step-7: Search the bot in search bar and open it.

Step-8: Click Start


Step-1: You can install or upgrade python-telegram-bot with:

sudo pip install python-telegram-bot

Step-2: Test your bot

sudo python /home/pi/smart/ <BOT_TOKEN> <YOUR_CHAT_ID>

Here replace <BOT_TOKEN> with your bot Token Key (get it from BotFather) and replace <YOUR_CHAT_ID> with your chat id(find it from your telegram profile)

After running this, if you get as “Listening…”, then your bot works fine.

Step-3: To start the bot at startup of raspberry pi

sudo nano /etc/rc.local

Before “exit 0”, add the following line.

sudo python /home/pi/smart/ <BOT_TOKEN> <YOUR_CHAT_ID> &

Double check that, the line should ends with ‘&’(single &). If not then the system goes collapse.


Block Diagram


At night time, mostly we won’t see mirror right. At that time, we can make this smart mirror as Photo frame.


4.2. Wallpaper Configuration

Step -1: Goto File Manager of your website and get inside public html folder

Step -2: Download these files and upload there.

Step-3: In Raspberry pi, goto the folder smart, inside that, edit index.php

background-image: url("");

Replace it as

background-image: url("https://<YOUR_DOMAIN_NAME>/uploads/msmart.jpg");


Here hardware setup is very easy.

Step-1: Buy Two-way mirror acrylic sheet (looks like a proper mirror)/normal acrylic sheet (50% as like mirror because of black screen at back).

Step-2: Make the wood box to keep your monitor and raspberry pi and relay circuit inside. Cut this sheet as the size of monitor you are using and size of wood box also considered. Make sure that, this sheet perfectly fit inside wood box.

Step-3: Keep your acrylic sheet first and monitor as second.

Step-4: Connect two 5v relay circuit to raspberry pi and other ends to fan and light supply(Ac/DC) terminals.

5.1. Pin Configuration

Light relay pin –> 33 of Raspberry pi

Pin Configuration

Fan relay pin –> 37 of Raspberry pi

As similar to above picture, cut and connect the fan supply to relay instead of lamp.

Connect relay’s 5v –> Raspberry pi’s 5v pin

Connect relay’s Gnd –> Raspberry pi’s Gnd

Raspberry pi’s Gnd

Hope this project is helpful to you. Thank you.

If you have any doubts, let me know.


<!DOCTYPE html>

<html lang="en">

    <meta http-equiv="refresh" content="900"> <!-- Refresh every 15 minutes -->
<title>mSmart Home</title>
	<meta charset="utf-8">
    <meta http-equiv=Content-Type content="text/html; charset=utf-8">

	<link rel="stylesheet" href="css/calendar.css" media="screen">
/* Paste this css to your style sheet file or under head tag */
/* This only works with JavaScript, 
if it's not present, don't show loader */
.no-js #loader { display: none;  }
.js #loader { display: block; position: absolute; left: 100px; top: 0; }
.se-pre-con {
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	z-index: 9999;
	background: url(img/Preloader.gif) center no-repeat #15191f;

<script src=""></script>
<script src=""></script>
	//paste this code under head tag or in a seperate js file.
	// Wait for window load
	$(window).load(function() {
		// Animate loader off screen

	<style type="text/css">
            background:black repeat;
            background color: black;
            width:960px;margin:0 auto}
            font:bold 14px Arial}
        .footer a{
            padding: 50px 0 0 325px;}
            margin:25px auto; 
            width: 370px;}
        .logo {
    width: 180px;
    height: 110px;
    /* background: url('') no-repeat; */
    /* margin: 30px auto; */
<meta name="robots" content="noindex,follow" />
<style type="text/css">
html {
<script type="text/javascript" src="js/jquery-1.11.2.min.js"></script>    
<script type="text/javascript">
			This code has been created by Alexandre Barfuhok and has been taken on Fooyok:
			You can use this code, edit it, do whatever you want, but simply give me credit and link to my blog post.
			Thanks :)			
			//Refresh the document once in a while to get file updates
			$( document ).ready(function() {
				var quotes = [
					[["Life is about making an impact, not making an income."], ["Kevin Kruse"]],
					[["Whatever the mind of man can conceive and believe, it can achieve."], ["Napoleon Hill"]],
					[["Strive not to be a success, but rather to be of value."], ["Albert Einstein"]],
					[["Two roads diverged in a wood, and I—I took the one less traveled by, And that has made all the difference."], ["Robert Frost"]],
					[["I attribute my success to this: I never gave or took any excuse."], ["Florence Nightingale"]],
					[["You miss 100% of the shots you don’t take."], ["Wayne Gretzky"]],
					[["The most difficult thing is the decision to act, the rest is merely tenacity."], ["Amelia Earhart"]],
					[["Every strike brings me closer to the next home run."], ["Babe Ruth"]],
					[["Definiteness of purpose is the starting point of all achievement."], ["W. Clement Stone"]],
					[["Life isn’t about getting and having, it’s about giving and being."], ["Kevin Kruse"]],
					[["Life is what happens to you while you’re busy making other plans."], ["John Lennon"]],
					[["We become what we think about."], ["Earl Nightingale"]],
					[["Life is 10% what happens to me and 90% of how I react to it."], ["Charles Swindoll"]],
					[["The most common way people give up their power is by thinking they don’t have any."], ["Alice Walker"]],
					[["The mind is everything. What you think you become."], ["Buddha"]],
					[["The best time to plant a tree was 20 years ago. The second best time is now."], ["Chinese Proverb"]],
					[["An unexamined life is not worth living."], ["Socrates"]],
					[["Eighty percent of success is showing up."], ["Woody Allen"]],
					[["Your time is limited, so don’t waste it living someone else’s life."], ["Steve Jobs"]],
					[["Winning isn’t everything, but wanting to win is."], ["Vince Lombardi"]],
					[["I am not a product of my circumstances. I am a product of my decisions."], ["Stephen Covey"]],
					[["Every child is an artist. The problem is how to remain an artist once he grows up."], ["Pablo Picasso"]],
					[["You can never cross the ocean until you have the courage to lose sight of the shore."], ["Christopher Columbus"]],
					[["I’ve learned that people will forget what you said, people will forget what you did, but people will never forget how you made them feel."], ["Maya Angelou"]],
					[["Either you run the day, or the day runs you."], ["Jim Rohn"]],
					[["Whether you think you can or you think you can’t, you’re right."], ["Henry Ford"]],
					[["The two most important days in your life are the day you are born and the day you find out why."], ["Mark Twain"]],
					[["Whatever you can do, or dream you can, begin it. Boldness has genius, power and magic in it."], ["Johann Wolfgang von Goethe"]],
					[["The best revenge is massive success."], ["Frank Sinatra"]],
					[["People often say that motivation doesn’t last. Well, neither does bathing. That’s why we recommend it daily."], ["Zig Ziglar"]],
					[["Life shrinks or expands in proportion to one’s courage."], ["Anais Nin"]],
					[["The only person you are destined to become is the person you decide to be."], ["Ralph Waldo Emerson"]],
					[["Go confidently in the direction of your dreams. Live the life you have imagined."], ["Henry David Thoreau"]],
					[["Few things can help an individual more than to place responsibility on him, and to let him know that you trust him."], ["Booker T. Washington"]],
					[["Certain things catch your eye, but pursue only those that capture the heart."], [" Ancient Indian Proverb"]],
					[["Believe you can and you’re halfway there."], ["Theodore Roosevelt"]],
					[["Everything you’ve ever wanted is on the other side of fear."], ["George Addair"]],
					[["We can easily forgive a child who is afraid of the dark; the real tragedy of life is when men are afraid of the light."], ["Plato"]],
					[["Teach thy tongue to say, “I do not know,” and thous shalt progress."], ["Maimonides"]],
					[["Start where you are. Use what you have. Do what you can."], ["Arthur Ashe"]],
					[["Fall seven times and stand up eight."], ["Japanese Proverb"]],
					[["When one door of happiness closes, another opens, but often we look so long at the closed door that we do not see the one that has been opened for us."], ["Helen Keller"]],
					[["Everything has beauty, but not everyone can see."], ["Confucius"]],
					[["How wonderful it is that nobody need wait a single moment before starting to improve the world."], ["Anne Frank"]],
					[["When I let go of what I am, I become what I might be."], ["Lao Tzu"]],
					[["Life is not measured by the number of breaths we take, but by the moments that take our breath away."], ["Maya Angelou"]],
					[["Happiness is not something readymade. It comes from your own actions."], ["Dalai Lama"]],
					[["If you’re offered a seat on a rocket ship, don’t ask what seat! Just get on."], ["Sheryl Sandberg"]],
					[["If the wind will not serve, take to the oars."], ["Latin Proverb"]],
					[["You can’t fall if you don’t climb. But there’s no joy in living your whole life on the ground."], ["Unknown"]],
					[["We must believe that we are gifted for something, and that this thing, at whatever cost, must be attained."], ["Marie Curie"]],
					[["Too many of us are not living our dreams because we are living our fears."], ["Les Brown"]],
					[["Challenges are what make life interesting and overcoming them is what makes life meaningful."], ["Joshua J. Marine"]],
					[["If you want to lift yourself up, lift up someone else."], ["Booker T. Washington"]],
					[["I have been impressed with the urgency of doing. Knowing is not enough; we must apply. Being willing is not enough; we must do."], ["Leonardo da Vinci"]],
					[["Limitations live only in our minds. But if we use our imaginations, our possibilities become limitless."], ["Jamie Paolinetti"]],
					[["You take your life in your own hands, and what happens? A terrible thing, no one to blame."], ["Erica Jong"]],
					[["What’s money? A man is a success if he gets up in the morning and goes to bed at night and in between does what he wants to do."], ["Bob Dylan"]],
					[["I didn’t fail the test. I just found 100 ways to do it wrong."], ["Benjamin Franklin"]],
					[["In order to succeed, your desire for success should be greater than your fear of failure."], ["Bill Cosby"]],
					[["A person who never made a mistake never tried anything new."], [" Albert Einstein"]],
					[["The person who says it cannot be done should not interrupt the person who is doing it."], ["Chinese Proverb"]],
					[["There are no traffic jams along the extra mile."], ["Roger Staubach"]],
					[["It is never too late to be what you might have been."], ["George Eliot"]],
					[["You become what you believe."], ["Oprah Winfrey"]],
					[["I would rather die of passion than of boredom."], ["Vincent van Gogh"]],
					[["A truly rich man is one whose children run into his arms when his hands are empty."], ["Unknown"]],
					[["It is not what you do for your children, but what you have taught them to do for themselves, that will make them successful human beings."], ["Ann Landers"]],
					[["If you want your children to turn out well, spend twice as much time with them, and half as much money."], ["Abigail Van Buren"]],
					[["Build your own dreams, or someone else will hire you to build theirs."], ["Farrah Gray"]],
					[["Education costs money. But then so does ignorance."], ["Sir Claus Moser"]],
					[["I have learned over the years that when one’s mind is made up, this diminishes fear."], ["Rosa Parks"]],
					[["It does not matter how slowly you go as long as you do not stop."], ["Confucius"]],
					[["If you look at what you have in life, you’ll always have more. If you look at what you don’t have in life, you’ll never have enough."], ["Oprah Winfrey"]],
					[["Remember that not getting what you want is sometimes a wonderful stroke of luck."], ["Dalai Lama"]],
					[["You can’t use up creativity. The more you use, the more you have."], ["Maya Angelou"]],
					[["Dream big and dare to fail."], ["Norman Vaughan"]],
					[["Our lives begin to end the day we become silent about things that matter."], ["Martin Luther King Jr."]],
					[["Do what you can, where you are, with what you have."], ["Teddy Roosevelt"]],
					[["If you do what you’ve always done, you’ll get what you’ve always gotten."], ["Tony Robbins"]],
					[["Dreaming, after all, is a form of planning."], ["Gloria Steinem"]],
					[["It’s your place in the world; it’s your life. Go on and do all you can with it, and make it the life you want to live."], ["Mae Jemison"]],
					[["You may be disappointed if you fail, but you are doomed if you don’t try."], ["Beverly Sills"]],
					[["Remember no one can make you feel inferior without your consent."], ["Eleanor Roosevelt"]],
					[["Life is what we make it, always has been, always will be."], ["Grandma Moses"]],
					[["The question isn’t who is going to let me; it’s who is going to stop me."], ["Ayn Rand"]],
					[["When everything seems to be going against you, remember that the airplane takes off against the wind, not with it."], ["Henry Ford"]],
					[["It’s not the years in your life that count. It’s the life in your years."], ["Abraham Lincoln"]],
					[["Change your thoughts and you change your world."], ["Norman Vincent Peale"]],
					[["Either write something worth reading or do something worth writing."], ["Benjamin Franklin"]],
					[["Nothing is impossible, the word itself says, “I’m possible!”"], ["Audrey Hepburn"]],
					[["The only way to do great work is to love what you do."], ["Steve Jobs"]],
					[["If you can dream it, you can achieve it."], ["Zig Ziglar"]]
				function getQuote() {
					var random = Math.floor(Math.random() * quotes.length);
					var quote = quotes[random][0].toString();
					var author = quotes[random][1].toString();
					$( ".quote, .author" ).animate({
						opacity: 0
					}, 3000, function() {
						if(quote.length < 50) { //94
							$(".quote").css("font-size", "20px");
						} else if(quote.length >= 50 && quote.length < 80) { //89
							$(".quote").css("font-size", "18px");
						} else { 
							$(".quote").css("font-size", "15px");
						$(".author").html("— " + author);
						$( ".quote, .author" ).animate({opacity: 1}, 3000);
					setTimeout(function () {
					}, 30000);


		<style type="text/css">
			body {
                background-image: url("");
                background-size: auto 100%;                  
                -webkit-background-size: cover;
                -moz-background-size: cover;
                -o-background-size: cover;
                background-size: cover;
            .img {
                  filter: grayscale(0);
  filter: sepia(0);
  filter: saturate(1);
  filter: hue-rotate(0deg);
  filter: invert(0);
  filter: opacity(1);
  filter: brightness(0.3);
  filter: contrast(1);
  filter: blur(0px);
			.quote {
			.author {
function startTime() {
    var today = new Date();
    var h = today.getHours();
    var m = today.getMinutes();
    var s = today.getSeconds();
    m = checkTime(m);
    s = checkTime(s);
    var hours =

    var days = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];

    var months =

    var ampm = "";

        ampm = "AM";
        ampm = "PM";

    var blinkSec = " ";

    if(s%2 != 0)
        blinkSec= ".";

        blinkSec= "..";

    document.getElementById('txt').innerHTML =
    hours[h] + ":" + m + " " + ampm;

    document.getElementById('sec').innerHTML = blinkSec;

    document.getElementById('date').innerHTML =
    days[today.getDay()] + ", " + months[today.getMonth()] + " " + today.getDate() + ", " + today.getFullYear();

    var t = setTimeout(startTime, 500);

function checkTime(i) {
    if (i < 10) {i = "0" + i};  // add zero in front of numbers < 10
    return i;


<body class="img" onload="startTime()">
    <!-- Paste this code after body tag -->
	<div class="se-pre-con"></div>
	<!-- Ends -->
<div style="cursor: none;">
<!--  *******************Time Display Left******************** --> 
    <table style="width:100%">
<div align="left" style="color:white">

    <div id="sec" style="color: red;text-align: center; font-family: helvetica;font-size: 20px;"></div>
    <div id="txt" style="color: white; text-align: center; font-family: helvetica; font-weight: normal; font-size: 70px;"></div>
    <div id="date" style="color: white;text-align: center; font-family: helvetica;font-size: 20px;"></div>


    <iframe scrolling="no" frameborder="no" clocktype="html5" style="overflow:hidden;border:0;margin:0;padding:0;width:240px;height:80px;"src=",1,1,0,0,0&Color=white"></iframe>
    <p align="left" style="margin:15;font-size:100%;font-family:Lucida Console">
    <script language="Javascript" >

var dayName = new Array ("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday")
var monName = new Array ("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December")
var now = new Date
document.write(dayName[now.getDay()] + ", " + monName[now.getMonth()] + " "+now.getDate() +".")

      <!--  *******************Time Display Right******************** --> 

    <div id="calendar" align="left" style="color:white"></div>

<script src="files/jquery.min.js"></script>
<script src="js/jquery-ui-datepicker.min.js"></script>
		inline: true,
		firstDay: 0,
		showOtherMonths: true,
		dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']



  <div class="footerq" >  
<p class="msg" style="width:300px">
				<span class="quote"></span>
				<span class="author"></span>				

    <div class="footerc"> 

        <font color="white" ><strong>mSmart - News Digest</strong></font><br>
      <!-- start feedwind code --><script type="text/javascript">document.write('\x3Cscript type="text/javascript" src="' + ('https:' == document.location.protocol ? 'https://' : 'http://') + '">\x3C/script>');</script><script type="text/javascript">(function() {var params = {rssmikle_url: "|||",rssmikle_frame_width: "250",rssmikle_frame_height: "300",frame_height_by_article: "0",rssmikle_target: "_blank",rssmikle_font: "Geneva, Arial, sans-serif",rssmikle_font_size: "9",rssmikle_border: "off",responsive: "off",rssmikle_css_url: "",text_align: "left",text_align2: "justify",corner: "off",scrollbar: "off",autoscroll: "on",scrolldirection: "down",scrollstep: "5",mcspeed: "20",sort: "New",rssmikle_title: "off",rssmikle_title_sentence: "News Feed",rssmikle_title_link: "",rssmikle_title_bgcolor: "#0066FF",rssmikle_title_color: "#FFFFFF",rssmikle_title_bgimage: "",rssmikle_item_bgcolor: "#000000",rssmikle_item_bgimage: "",rssmikle_item_title_length: "100",rssmikle_item_title_color: "#FFFFFF",rssmikle_item_border_bottom: "on",rssmikle_item_description: "title_only",item_link: "off",rssmikle_item_description_length: "150",rssmikle_item_description_color: "#666666",rssmikle_item_date: "off",rssmikle_timezone: "Asia/Calcutta",datetime_format: "%b %e, %Y %l:%M %p",item_description_style: "text",item_thumbnail: "crop",item_thumbnail_selection: "auto",article_num: "150",rssmikle_item_podcast: "off",keyword_inc: "",keyword_exc: ""};feedwind_show_widget_iframe(params);})();</script><!--  end  feedwind code -->
    <div class="footerl" style="color:#565656">
        Designed by Krishna V | <strong>mSmart - Automation Project</strong>.



About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top