What I have learnt from a 14 hours project 😼
Tags: opensource, beginners, webdev
Published: 2018-09-21 07:28:24

---
title: What I have learnt from a 14 hours project 😼
published: true
description: Learning experience from building an open-source private disposal email server
tags: opensource, beginners, webdev
cover_image: https://thepracticaldev.s3.amazonaws.com/i/h10rpqbg8i1pwp4hchxf.png
series: The KittenRouter journey 🐈
canonical_url: https://uilicious.com/blog/what-i-have-learnt-from-a-14-hours-project/
---

# “Hey, let’s create a private disposal email server for a short ‘hackathon’, it will be fun!” 

And with that, [@Eugene](https://twitter.com/picocreator?lang=en) and I started developing [Inboxkitten](https://inboxkitten.com), an open-source disposable email service with a simple UI that utilizes Mailgun to receive email.

There are some technologies that we want to try and as it is a “hackathon”, we intend to use them in Inboxkitten. 

What comes out in the 14th hour is a prototype disposable email service made out of 3 components, the API that can be deployed using ExpressJS to interact with Mailgun, an UI that serves as a simple interface for the users using Vue and to those who can live without UI, a CLI tool that uses go. On top of that, we deploy Inboxkitten onto Firebase as a serverless application. If you want to know more about why and how it is built, you can see the articles [here](https://blog.uilicious.com/making-a-free-open-source-serverless-disposable-email-service-inboxkitten-com-in-14-hours-b7c4915b9593) and [here](https://blog.uilicious.com/development-timeline-for-inboxkitten-com-lessons-learnt-e802a2f0a47c).

And this is what I learnt.

### Proper layout of the product
What I have is just a drawn mockup of the product but what I should do is to add in more detail such as placement of grids that contain the elements. Styling with CSS is not easy, partly due to the fact that I have very little experience in it and those little buggers that do not want to stay in place when you change a class that is irrelevant to them, but through the help my mentors and people from dev.to, I have learnt a great deal from this. 

The UI you see now on Inboxkitten is the refined work. (The design of the prototype is horrendous, please don’t look into my dark past.)

![v1 example](https://thepracticaldev.s3.amazonaws.com/i/48efu40739ui5zmio4oo.jpg)

### Clear set of goals and prioritization
During the development of Inboxkitten, I only have a big idea of what this is going to be, but I did not have milestones to strive towards. As a result, I found myself deviating from what is needed to be done to complete the prototype.

### Less is more
I tend to struggle in keeping my code clean and end up bloating it up due to my tendency to write lots of validation that are similar to one another.

### Different means of deployment for the product
With the available technologies that I know of, make your application deployment versatile. This allows much more flexibility for your application to be distributed and deployed. As such Inboxkitten, can be deployed onto Firebase in [5 steps](https://github.com/uilicious/inboxkitten) :D

That’s all I have, for now, please tell me your thoughts and tips that you have :)

P.S. Inboxkitten is launching on [Product Hunt](https://www.producthunt.com/posts/inboxkitten) on the 22 September 2018!