Inspiration
It is widely observed that developers, designers or creators often have a portfolio website to showcase their projects and also a blog to post about their work. It is not easy to get enough audience to those websites therefore many developers have resorted to an option where they share their work on social media platform which provides them good number of traffic. Since facebook page is a great option for sharing and doing this, there's still a gap which connects other developers or consumers to this developer who is running the page, for a proper bilateral communication. So to overcome this, a messenger experience was a good option to provide people who seek for the developer for his work or collaboration in a project or even simply to see the latest projects he's been working on for inspiration.
What it does
The solution provides a facebook messenger experience where when a person initiates a chat, they get options to select like Projects, Services, Contact Us. Selecting an option like projects gives categories to choose from like web projects, augmented reality projects etc. The person can select a category like web projects and they will get relevant information about the project and even repository link to follow which opens up a web view in the messenger itself. The contacting person can also see what services are provided by the developer like if he freelances or is available for a job. The developer can also be contacted which gives a form to fill and on submission of the form a notifying mail is sent to the Developer with the relevant details from the form and then they can indulge in a one to one chat.
How I built it
Setting up a messenger experience was fairly simple where first an App was created in facebook for developers and messenger and webhooks was selected in products. The webhook/bot was made in node.js/express with nodemailer to send notifications to the page owner of contacts and mailtrap as a service for the e-mail notifications. Then, all the communication was done through the webhook via API calls made by the request package for Node.
Challenges I ran into
The first challenge was to provide a https URL for the webhook which for the development phase was handled by Ngrok to provide a tunnel for the localhost. The final deployment is not done due to my inability to provide a SSL certificate and get a host to do it on time fast. This made the learning, development and testing phase hard for me as i am not able to share a working model to my friends and even to this hackathon but i have provided my local testing video and obviously the full code is also there.
Accomplishments that I'm proud of
It is satifying that in the end i managed to complete a project within 2 weeks and learned something.
What I learned
I learned how to make a chatbot for the first time that too of facebook messenger which is quite useful in day to day life owing to huge traffic on the platform. Also i also went through some dev-ops stuff which was quite useful. Learning about what a webhook is also got cleared.
What's next for Developer
I would like to connect it to database and have content management system such that the page owner can easily update the data of the messenger experience without much hassle such that it becomes a complete product to setup a messenger experience fast.
Built With
- css3
- express.js
- html5
- node.js
- nodemailer

Log in or sign up for Devpost to join the conversation.