{"componentChunkName":"component---src-templates-blog-post-js","path":"/how-i-launched-a-simple-but-important-application-in-a-week-or-less","result":{"data":{"contentfulBlogPost":{"createdAt":"2019-12-16T21:52:00.753Z","updatedAt":"2019-12-16T22:00:06.829Z","id":"c9d9ed01-7199-517a-8d0e-7f902ccb4996","description":"This is a true story about how I broke all the physical rules and managed to complete a risky task.","title":"How I launched a simple but important application in a week (or less)","body":{"id":"43c70934-bea5-564d-97cc-9dfed7bcbe78","childMarkdownRemark":{"id":"eddff2cf-bf18-5f70-a691-a7a86aa3fdd8","html":"<p>Since I can remember I love to challenge myself. Pushing me to the limit is a hard way to know how far you can go in tough situations. It's not good nor healthy putting yourself in these kinds of storms, hence, I don't recommend everyone use the same method. but for me, I think is exciting.</p>\n<p>A few days ago, the company where I'm working right now was organizing <strong>The Annual Employees' Party</strong>. At the event, they raffle differents gifts to the employees using an old reliable method.</p>\n<p>It consists of printing the list of every company employees <em>(like 600 workers)</em> and cut each page into little parts of paper. After that, fold those pieces and put them all inside a plastic container. Later, at the event, a volunteer will take one random piece and the name printed on it, will be one winner.</p>\n<blockquote>\n<p>Anyone can notice that doing in that way brings a lot of unnecessary work and as we know, anything can be improved with code.</p>\n</blockquote>\n<p>My product manager talked to me about the idea to automate the whole process but warning me if I choose to take the task, the solution should be ready in less than 10 days. If not, no problem, the solution would be used the next year. </p>\n<p>As the title of the article says, I took the task, and with it a great responsibility, because so many people were excited about this new method.</p>\n<h2>So, what did I have to do?</h2>\n<p>First, we took the specific requirements and tried (all of way up) to keep it as simple as possible.</p>\n<ul>\n<li>We decided to create a responsive web app because the event staff would be using tablets.</li>\n<li>The app will have just two modules or functionalities. Assistance and Raffle.</li>\n<li>The app would need a login and tracking any change made by each user logged.</li>\n</ul>\n<h2>How did I do?</h2>\n<p>The easiest and faster way to launch a simple app like this is by using <a href=\"https://firebase.google.com/\" title=\"Firebase\">Firebase</a>. In case you don't know, Firebase is Google's platform that helps you quickly develop apps using it as a Back-end, (<em>likely Backend-as-a-Services</em>).</p>\n<p><a href=\"https://firebase.google.com/\" title=\"Firebase\">Firebase</a> was I huge ally for me because it makes ridiculously easy to implement any kind of authorization method. Also, it has a No-SQL database service named <a href=\"https://firebase.google.com/products/firestore/\" title=\"Firestore\">Firestore</a> that gives you the capability to retrieve data in real-time. Exactly what I want.</p>\n<p>Using firebase I instantly had the backend of the app. So, I could be focused on the frontend. </p>\n<p>For my frontend I used CRA. <a href=\"https://create-react-app.dev/\" title=\"Create-React-App (CRA)\">Create-React-App (CRA)</a> helped me to have a quick starter of a simple react scaffolding ready to code on.</p>\n<p>I was extremely focused on build a functional MVP, i didn't care about the style at all. Once I had it working I knew everything will be ok. After 4 days, I covered each requirement and fully tested and approved for the party staff team.</p>\n<p>At last, I coded a node.js script to upload all the data (name, code, department) of every employee, and after, give some style to the app.</p>\n<h2>The event day</h2>\n<p>I was nervous about the first look, and the impression of the workers which were present. Almost 400 people watching the screen where the application will be shown, inexperienced user of the app and a paradigm broken was some of the things that got me a bit worry and anxious.</p>\n<p>The crowd reaction was better than I expected, the use of the app \"almost\" didn't presented any trouble, and each raffle was successful and clear.</p>\n<h2>Conclusion</h2>\n<p>Again, I know this is a singular situation and might be not the media of every attempt but as I say at the beginning, the challenge makes me more strong and excited me to go over the limit. It was a successful case (not always happen in this way) but with this story, I'd like to show you two important lesson:</p>\n<p><strong>Trust in yourself</strong>. the first thing you need to know before taking risk is how far you know you can go, I how hard you want you to push yourself through.</p>\n<p><strong>Focus on functionality overall</strong>. I think it doesn't need an explanation but always, ALWAYS, be focus on the MVP fist, the core functionalities. Make your product usable and later you care about any other details. </p>\n<p>I hope this article can inspire someone and give this little bit of motivation you probably need.</p>","excerpt":"Since I can remember I love to challenge myself. Pushing me to the limit is a hard way to know how far you can go in tough situations. It's not good nor healthy putting yourself in these kinds of storms, hence, I don't recommend everyone use the same method. but for me, I think…"}},"image":{"id":"52b8e683-dfa4-5f1a-9a8a-9a0878ff7bba","fluid":{"base64":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAPABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABgAH/8QAJhAAAgEDBAIBBQEAAAAAAAAAAQIDBAURAAYSIRMxUQciQWFxgf/EABUBAQEAAAAAAAAAAAAAAAAAAAID/8QAGxEAAgIDAQAAAAAAAAAAAAAAAQIAEQMSQSH/2gAMAwEAAhEDEQA/AA+1NqVggoKipNPSQVkkKo1USvkWR1UFPG/ocsnODgH/ABfvDZKWOF4VvFkqpWcqx88o4rwLZ7l9nGB17x/Dje1Ltc6e6W+RKp446WVHXHvCtkD9a0T6ibnpr3m4k1aXN1AmlY8xIFUhPyMEDrJzouUXly2NcjgnaoN3nZhY70aPz0dVlA/KE8lXJIxn561aO3C911VVyTyMpkcku3f3H57J1aRUX5IBj2f/2Q==","aspectRatio":1.3342599027102153,"src":"//images.ctfassets.net/szbztvipepx3/7lbfbmQzfD9sRIZSej6UDn/40ced51abaef2e583bcc2c1b68d0bd92/beach-1246646_1920.jpg?w=786&q=50","srcSet":"//images.ctfassets.net/szbztvipepx3/7lbfbmQzfD9sRIZSej6UDn/40ced51abaef2e583bcc2c1b68d0bd92/beach-1246646_1920.jpg?w=197&h=148&q=50 197w,\n//images.ctfassets.net/szbztvipepx3/7lbfbmQzfD9sRIZSej6UDn/40ced51abaef2e583bcc2c1b68d0bd92/beach-1246646_1920.jpg?w=393&h=295&q=50 393w,\n//images.ctfassets.net/szbztvipepx3/7lbfbmQzfD9sRIZSej6UDn/40ced51abaef2e583bcc2c1b68d0bd92/beach-1246646_1920.jpg?w=786&h=589&q=50 786w,\n//images.ctfassets.net/szbztvipepx3/7lbfbmQzfD9sRIZSej6UDn/40ced51abaef2e583bcc2c1b68d0bd92/beach-1246646_1920.jpg?w=1179&h=884&q=50 1179w,\n//images.ctfassets.net/szbztvipepx3/7lbfbmQzfD9sRIZSej6UDn/40ced51abaef2e583bcc2c1b68d0bd92/beach-1246646_1920.jpg?w=1572&h=1178&q=50 1572w,\n//images.ctfassets.net/szbztvipepx3/7lbfbmQzfD9sRIZSej6UDn/40ced51abaef2e583bcc2c1b68d0bd92/beach-1246646_1920.jpg?w=1920&h=1439&q=50 1920w","srcWebp":"//images.ctfassets.net/szbztvipepx3/7lbfbmQzfD9sRIZSej6UDn/40ced51abaef2e583bcc2c1b68d0bd92/beach-1246646_1920.jpg?w=786&q=50&fm=webp","srcSetWebp":"//images.ctfassets.net/szbztvipepx3/7lbfbmQzfD9sRIZSej6UDn/40ced51abaef2e583bcc2c1b68d0bd92/beach-1246646_1920.jpg?w=197&h=148&q=50&fm=webp 197w,\n//images.ctfassets.net/szbztvipepx3/7lbfbmQzfD9sRIZSej6UDn/40ced51abaef2e583bcc2c1b68d0bd92/beach-1246646_1920.jpg?w=393&h=295&q=50&fm=webp 393w,\n//images.ctfassets.net/szbztvipepx3/7lbfbmQzfD9sRIZSej6UDn/40ced51abaef2e583bcc2c1b68d0bd92/beach-1246646_1920.jpg?w=786&h=589&q=50&fm=webp 786w,\n//images.ctfassets.net/szbztvipepx3/7lbfbmQzfD9sRIZSej6UDn/40ced51abaef2e583bcc2c1b68d0bd92/beach-1246646_1920.jpg?w=1179&h=884&q=50&fm=webp 1179w,\n//images.ctfassets.net/szbztvipepx3/7lbfbmQzfD9sRIZSej6UDn/40ced51abaef2e583bcc2c1b68d0bd92/beach-1246646_1920.jpg?w=1572&h=1178&q=50&fm=webp 1572w,\n//images.ctfassets.net/szbztvipepx3/7lbfbmQzfD9sRIZSej6UDn/40ced51abaef2e583bcc2c1b68d0bd92/beach-1246646_1920.jpg?w=1920&h=1439&q=50&fm=webp 1920w","sizes":"(max-width: 786px) 100vw, 786px"}}}},"pageContext":{"slug":"how-i-launched-a-simple-but-important-application-in-a-week-or-less","intl":{"language":"en","languages":["en","es"],"messages":{"title":"Omar Gaston","navbar.knowme":"About me","navbar.projects":"Projects","navbar.contact":"Contacts","frontpage.readMyBlog":"Read my blog","frontpage.knowme":"Who am I?","blog.subtitle":"Creating stories.","blog.title":"Sharing my ideas","blog.text":"with the community.","subscribe":"Subscribe","changeLanguage":"ES","goBack":"Go back","viewOnGithub":"View on Github","viewProject":"View Project","viewMore":"See more","notFound.title":"NOT FOUND","notFound.text":"You just hit a route that doesn't exist... what sadness! ","notFound.knowAuthor":"well, this guy","notFound.goBlog":"Better go and read something","notFound.whoSay":"...Who say that?","personal.title":"Who I Am?","personal.fullname":"Omar Gaston Chalas","personal.salute":"Hi, I'm","personal.presentation":"A Javascript Full-Stack Developer, Lover of creating products which make people's life easier.","personal.presentationContinue":"I'm always eager to hear about new ideas, create and learn new things.","personal.coverletter":"Well I'm Omar, a Dominican Software Engineer passionate about Javascript, web development and related technologies. As a developer, I've been building highly scalable business apps for more than 3+ years caring deeply about the details in both well-crafted code and user-facing experience. ","personal.coverletterContinue":"Since I remember, I've always been curious and eager to learn new technologies and acquire new skills. Constant learning and a proactivity attitude have allowed me to be comfortable with the rapid changes which are already common in the modern tech industry.","personal.coverletterContinue2":"Despite I care about keeping my technical skills shaped, I also have a Startup mindset and pragmatic attitude, that comes with a willingness to lead projects and desire to understand about the business and where it’s heading","personal.quote":"It's not all about me, As a team player, I love collaborating with others and be involved in Open Source projects. For me, mentoring and helping others is the best way to giving back to those whos have led me in the past.","personal.coverletterFooter":"By the way, These are some of the tools I'm currently using: ","aptitudes.title":"Skills","aptitudes.creativity.title":"Creativity","aptitudes.creativity.text":"The best way to demonstrate authenticity is by being creative.","aptitudes.innovation.title":"Innovation","aptitudes.innovation.text":"Experiment and apply new technologies.","aptitudes.focused.title":"Focus","aptitudes.focused.text":"The correct solutions arise by dividing a problem and focusing on each part.","aptitudes.consistency.title":"Consistency","aptitudes.consistency.text":"The only way to achieve success is to persevere.","aptitudes.simplest.title":"Simplicity","aptitudes.simplest.text":"It's always good when something works, but when it's simple and works, it's wonderful.","aptitudes.community.title":"♥","aptitudes.community.text":"Work as a team with communities and colleagues.","projects.title":"Projects","projects.text":"Some of the projects I've been working on","contact.title":"Contact","contact.text":"Talk to me and work together.","contact.form.email.label":"Email","contact.form.email.placeholder":"Your email","contact.form.message.label":"Message","contact.form.message.placeholder":"Anything about you, your work or your pet :)","contact.form.submit":"Send","contact.form.secondmessage":"Tell me, what's going on?","contact.writeme":"Write me!","lastPost.title":"Latest posts","search.result":"result","search.noresult":"No results for","search.search":"Search"},"routed":false,"originalPath":"/how-i-launched-a-simple-but-important-application-in-a-week-or-less","redirect":false}}}}