Meet Kris Alvarado

Welcome to another interview of the series Meet our Geek Team. In this opportunities we talk to Kris Alvarado, which is in charge of making sure all finances are making sense at company level.

She is from Golfito which is a in the Southeast cost of Costa Rica. She likes new challenges, that why besides doing all the numbers work she is always trying to learn different ways to help the company in different areas. She studied at some point pharmacy, so she is the first person we ask if we don’t feel well, Kris always knows about what we can take to feel better.

How will you describe yourself?

I consider myself a quiet and reserved person, kind, a little clueless, but brave and dedicated to take on challenges and be in the work area as the personal area.

What do you do in your free time?

 In my free time I like to read, watch a movie or series with my daughter also I like to go out for a walk.

Best series you have ever watched?

  1. Safe
  2. Merlí
  3. Two and a half Men
  4. CSI
  5. Law and order
  6. The Big bang teory

Mountain or Beach ?

I do prefer the mountain, because I really like the sound of the wind among the trees, the humidity, the smell of its colors and animals.

Do you do sports (adventure, extreme, endurance) ?

I am currently in the gym but I like to ride a bicycle a lot.

Which type of music do you like?

I have no favorite singers or genres, I like a little of everything.

What are your top 5 books of all the time ?

  1. One hundred years of solitude
  2. In memories of my sad whores
  3. Don Quijote

What are your top 5 movies of all the time ?

I really like science fiction and fantasy movies, so my favorites are Harry Potter, Lord of the rings, The Hobbit and all of Marvel productions.

What is the most excited part of being Finances manager ?

Besides doing just finances, which really is not an excited position. I really love to put myself on the process of selecting new collaborators and organizing small events so that the team stays together.

What is the most challenging situation you had faced in your current position ?

Learn a new idiom.

Which is the best part of being part of 4Geeks team ?

I have met excellent people in different roles, put into practice the knowledge I have acquired and that this has helped other people on the team

What are your goals for this year?

Train and acquire new knowledge in my area and in others.

Whenever you need help on how to start making ideas into reality though technology, 4Geeks team is up and ready, just reach out to us at

Buying Items Securely Through Google Assistant

Voice services game players are doing a great job on enabling new ways to make life easier by using its voice products. In particular Google is pushing hard to

Customers already knows that people don’t just want to get know the weather forecast or something like that. They demand more value and smart solutions. Put simply, they want an easier way to get their shopping tasks done.

Recently (March 2018) Google announced Shopping Actions to let user to order products from stores directly from a simple web search, Google Assistant or any “Google place”.

In addition, Shopping Actions uses a pay-per-sale model, meaning you only pay when a sale actually takes place. Shopping Actions appear within the sponsored Shopping Unit on the Google Search page, and on No organic rankings are impacted or changed.

Source: Google Blog

So far, Google is encouraging companies to see it as an ally against Amazon. “We have taken a fundamentally different approach from the likes of Amazon because we see ourselves as an enabler of retail…We see ourselves as part of a solution for retailers to be able to drive better transactions,” Google’s president for retail and shopping Daniel Alegre told Reuters.

Google explains the main features of Shopping Actions to retail and e-Commerce industries:

  • Surface your products on new platforms like the Google Assistant with voice shopping.
  • Help your customers shop effortlessly with you, across Google. A shareable list, universal shopping cart and instant checkout with saved payment credentials work across and the Google Assistant — allowing your customers to seamlessly turn browsing into buying.
  • Increase loyalty and engagement with your highest value customers.


Over the past 6 months, Target said the number of items in shoppers’ Google Express baskets have increased by nearly 20 percent, on average, as a result of its tie-up with the internet company.

From now every single Google user (from mobile devices, desktop or Google Home) can buy products directly by voice.

Remember: Smart voice devices like Amazon Echo and Google Home will be installed in 55 percent of U.S. households by 2022, according to Juniper Research. This is a great opportunity to increase sales and engage users.

If you are into e-Commerce or retail industry and want to reach out more customers nation wide, please contact us to refer you the Google Shopping Action program.

Meet Byron Hernandez

Hi 4GeeksNation! Some Mondays we have shared with you about our team. You already meet a big percentage of the team members. Today, I would like to present you Byron Hernandez. Hi has a very successful story to tell.

Byron is a Software Engineer here at 4Geeks, and has moved from San Carlos, his born city, to the capital, just to be with all the 4Geeks team. Byron loves cars, swim but what he really enjoys the most is to code and learn trend technologies.

Let me show you a little interview of Byron tastes.

How will you describe yourself?

I consider myself as a proactive, dynamic and creative person, eager to learn every day and give the best of myself in each activity.

What do you do in your free time?

I like to invest my free time in knowing new technologies, besides that I enjoy doing sports, mainly swimming.

Best series you have ever watched?

  1. Dr. House,
  2. Two and a Half Men
  3. Friends
  4. The Walking Dead

Mountain or Beach ?

I do prefer the mountain, I don’t feel very comfortable with the heat, I also like fresh air.

Do you do sports (adventure, extreme, endurance) ?

I practice swimming and I like to play futbol (soccer) once in a while.

Which type of music do you like?

Heavy Metal, Trash Metal, DeathCore, Symphonic Metal, Jazz.

What are your top 5 books of all the time ?

  1. Green Mile
  2. Cien años de Soledad
  3. Drácula
  4. Los Crímenes de la Calle Morgue

What are your top 5 movies of all the time ?

  1. Van Helsing
  2. The Imitation Game
  3. The Avengers 2
  4. Hulk
  5. Underworld 2

What is the most excited part of being Software Engineer ?

The best part of my role in the company is to learn every day, the freedom of being creative when solving problems and be updated with technology topics.

What is the most challenging situation you had faced in your current position ?

Learn and develop at a crucial moment for the project. Learn new technologies and keep track on things.

Which is the best part of being part of 4Geeks team ?

Definitely human quality, feeling like a family, the freedom to ask and express yourself as you are.

What are your goals for this year?

Specialize in the technology in which I work and obtain some certification that proves it.

Whenever you need help on how to start making ideas into reality though technology, 4Geeks team is up and ready, just reach out to us at

How Robotic Process Automation can boost your company

Entire industries around the globe are looking for the way to achieve more results with minimal investment in time and money. But the thing is most of companies can not find the right way quickly, and obviously it will die, by being ate for some other smarter companies with no fear to change.

Thanks to technology today we have some tools (or ways) to get a huge ROI (Return Of Investment) with the minimal effort. This is not a calling to be vague or something like that: on the contrary, my purpose is letting know you about new smarter ways to make better business.

Ok. Robotic Process Automation (RPA) is the key. Basically RPA is to programming computer to do common tasks, quicker and safer. And you can put this concept on almost any are of your company. RPA is your new employee.

RPA is more than a simple chatbot, it includes Machine Learning to automate business process. For example, entering or updating data on your ERP (and other internal systems you use) as it new leads come. A chatbot triggers a RPA bot who creates the signature.

Myths and Truths


It’s 2018, but even there are small-mindset owners. That’s normal. It ocurres because they don’t have the right information.

Myth #1: RPA is for big companies

This is one of the most common phrase I have heard from small business owners, because historically the best and powerful business tools were only for big companies. It’s an understandable paradigm.

Thanks to modern technology, today small and big companies can access the same benefits. The difference is on their owner’s mindset. RPA is not only for big companies, in terms of money and infrastructure. The investment is proporcional to the quantity of customers/employees.

Myth #2: RPA is expensive

Sure, RPA does have initial implementation costs. These include the provisioning of IT infrastructure such as databases, servers, network, etc. Running costs are largely time related and centre around the ongoing delivery and maintenance of processes, maintenance of underlying infrastructure and support.

You already knows that an expensive investment is when your return is less than the initial investment. This is not a bet. So, in this case, by using tools your consultant company can help you to predict the final impact, in order to measure the building and implementation cost.

Remember one thing: RPA will be your 24/7 employee. No tired. No excuses.

Are you a startup with limited budget? Pay as you grow.

Myth #3: RPA will replace humans

I know tons of people, including CEOs and engineers, think that RPA will replace them, and it will kill their business. Please, stop thinking on that way. Forget it! Drop it!

I strongly see humans using the bot’s power to boost and do smarter business.

As I said before: bots will be your 24/7 employee.


RPA uses cases

Now you knows the benefit of implementing RPA skills on your business, to analyze or operate processes. So, please let me describe some RPA uses cases… hope it can inspire you.


Ok. Here at 4Geeks we love to help business to implement automation process, that it can be translated to better business performance, saving, growth. Let us know if you need help.

E09: Gitlab CI and Google Cloud

Gitlab is doing a tremendous job on their side by simplify complex process, not just storing code. On this episode Sergio and Allan talk about Gitlab CI and the perfect integration with Google Cloud Platform.

Some Auto DevOps features we mentioned:

  • Auto Build: Dockerfile
  • Auto Test
  • Auto Code Quality: Rubocop
  • Auto SAST (Static Application Security Testing):
  • Auto Dependency Scanning: Docker
  • Auto License Management: Docker
  • Auto Container Scanning: Docker
  • Auto Deploy: GKE
  • Auto Monitoring: Prometheus

You can subscribe to this podcast on your favorite platform; iTunes, TuneIn, iVoox and YouTube included. Rate us and share with your community. You can always send us your questions by voice 🙂

Happy listening!

Hosts: Allan Porras and Sergio Monge.

Here is the new 4Geeks logo

Hello World !!! At 4Geeks we are very excited to present one of the smaller, but, an impactful change. A new logo is here!  This is the first step to continue with our growing, making 4Geeks more and more robust and trusted technology brand.

Some months ago We published about the 4Geeks Style, as company “slogan”.  It means Right talent, right experience, right technology.

This new fresh image will just be part of this philosophy of doing things right.

We always apply everything we create external (clients) into our own product, 4Geeks. We think It’s highly important to keep a fresh image and branding that can describe what we are. We look forward to hear from you about our new logo image.

Guys, any feedback? Feel free to email us.

Meet Diego Méndez

Welcome to another interview of the series Meet our Geek Team. On this occasion we talk to Diego Méndez, which is an software engineer here at 4Geeks. Diego is creating amazing products under 4Geeks branding, own software to make the world easier.

He is from Zarcero, which is a nice place un Costa Rica, They produce a lot of dairy products such as milk, cheese and sour cream. In Zarcero we can find a really amazing park with some tree sculptures. But let’s meet Diego:

How will you describe yourself?

I consider myself a cheerful, respectful, kind person, and always willing to help people who need it, also a person who loves their profession and that is why I always try to do my best.

What do you do in your free time?

 In my spare time I like to play soccer, go to the beach, take a walk in the mountains to clear my mind. I like to spend time with my family and friends but also I try to to learn new things about technology.

Best series you have ever watched?

  1. The Walking Dead
  2. La casa de Papel
  3. Vikings
  4. Marco Polo
  5. Game of thrones
  6. Z Nation
  7. West World

Mountain or Beach ?

I prefer the two options, since both are quite nice and they are places to have fun and recover from stress, also, both are part of nature and serve to clear the mind of all situations.

Do you do sports (adventure, extreme, endurance) ?

At the moment the sport that I practice is soccer, but then I hope to practice other sports both extreme and adventure. If we talk about extreme sports I would like to practice skydiving and motocross, and in adventure sports it would be mountain biking, diving and climbing

Which type of music do you like?

I like music electronic, pop, rap and a little rock

What are your top 5 books of all the time ?

  1. The Lord of the Rings
  2. The Hobbit
  3. The Art of Loving
  4. The Challenge of Love
  5. The Art of War

What are your top 5 movies of all the time ?

  1. Titans of the pacific
  2. BattleShip
  3. Avengers
  4. Saw
  5. The Purge

What is the most excited part of being Software Engineer ?

The most exciting part is that every day there are new challenges to be solved and with this, every day, I gain more and more experience.

What is the most challenging situation you had faced in your current position ?

The most challenging part of my current project is to implement different designs within the project, giving users the ability to select their preferred UI. 

Which is the best part of being part of 4Geeks team ?

The best part was meeting the team of 4Geeks, as they are always willing to help or evacuate the doubts you have, and the good thing is that you work in an environment where you always feel encouraged and with all the desire to work.

What are your goals for this year?

My goals in this year are to learn more programming languages ​​in order to have more experience, in addition to certify myself in the JavaScript part, another goal is to get my English improved.

Whenever you need help on how to start making ideas into reality though technology, 4Geeks team is up and ready, just reach out to us at

E08: Robotic Process Automation

Robotic Process Automation (RPA) is how business are getting a lot of customers, automatically. 24/7.

You can subscribe to this podcast on your favorite platform; iTunes, TuneIn, iVoox and YouTube included. Rate us and share with your community. You can always send us your questions by voice 🙂

Wait the next episode on next week.

If you plan to invest in RPA, or if you need help (or simply you need a friend), you already knows what to do.

Hosts: Allan Porras and Sergio Monge.

Deploying a ReactJS and NextJS project to Firebase

We are in one of the best moments as developers, living among wide range of technologies, tools and trends that every day only grows and grows, and if you are passionated about learning and applying technologies during your spare time, today is the time.

Today we will focus precisely on ReactJS and the performance we can provide to our applications using the scalability of Firebase with Cloud Functions itself.

In addition, we will use the NextJS framework to server rendering, which will help us to easily configure and solve SEO issues but, more importantly, the lower degree of latency between server and client to offer the users the best experience.

Let’s start!

We need first to install Next.js in our work environment:

npm install -g create-next-app

Followed We create a project named “firebase-nextjs”:

create-next-app firebase-nextjs: this command will create the project but it will also install the react and react-dom dependencies, which can be seen in the package.json file.

We run yarn dev and our project will run, by default, on port 3000 (localhost:3000).

NextJS will search the corresponding file in the pages folder for each route, for example: the path “/” indicates that the file pages/index.js will be searched.

The framework is built on React, it maintains a structure appropriate to it, which is why we can see a folder called “components”, where each component we want to use for our views will be store.

So, if we use NextJS and React, why not to add Material-UI?

Let’s install locally Material-UI: npm install @material-ui/core.

We will create two very simple pages to observe the behavior of these three frameworks made to make life easier!

In the folder pages we create “page1.js” and “page2.js”.

We add the following code to pages/page1.js:

import Card1 from ‘../components/card1’


const Page1 = () => (


   <Card1 />




export default Page1

In the folder components we create “card1.js” and add any of the examples in Material-UI in the cards section and personalize it in our own way.

To see the content of the page page1.js we can go to “http://localhost:3000/page1” or use Link of NextJS to redirect us.

We do the same steps for “page2” and “card2”.

Up to this point, we should have a NextJS application working perfectly with React components.

We are ready to enter the most interesting part of this post. We are going to structure our project according to the guide of James Hegedus.

Therefore, at the root of our project we create a folder called “src”, inside this folder you will find another another called “app”, where our entire application files will be stored, we might move all the files to the “app” folder.

We will go to the firebase console and create our project.

We will be presented the general panel of the project, as you can see, Firebase gives us Authentication, Database, Storage, Hosting, Functions and ML Kit, each of them very interesting, but we will focus on Functions.

Why Functions? If we do not use NextJS, and it is enough that in our source code of the application we see only some ‘<script>’ tags then the option would be Hosting, but we want to get the server rendering and the magic of NextJS that is really amazing.

Next we run the following commands in the root of our project:

  • yarn global add firebase-tools
  • firebase login
  • firebase init

When we run firebase init, a series of questions will be displayed:

  • Which Firebase CLI features do you want to setup for this folder? | Select “Functions” and “Hosting”.
  • Select a default Firebase project for this directory: | Select the project that you created earlier in the firebase console.
  • What language would you like to use to write Cloud Functions? | In my case is “Javascript”.
  • Do you want to use ESLint to catch probable bugs and enforce style? | Write “N”.
  • Do you want to install dependencies with npm now? | At this time it is not necessary, write “n”.
  • What do you want to use as your public directory? | Write “src/public”, two files will be created that will be created to show the first view in case of not finding any and the other in case of error.
  • Configure as a single-page app (rewrite all urls to /index.html)? Write “N”, in our case it should be a more complex application.


We will find in the root of our project a folder called “functions”, just move it inside “src” folder.

In our file firebase.json we remove the existing code and update it by the following:


 “hosting”: {

   “public”: “src/public”,

   “rewrites”: [


       “source”: “**/**”,

       “function”: “next”



   “ignore”: [






 “functions”: {

   “source”: “src/functions”



In the package.json of the functions folder we add the following dependencies (after several tests I consider that they are the versions that present fewer errors):

“@material-ui/core”: “^1.4.3”,

   “classnames”: “^2.2.6”,

   “firebase-admin”: “~6.0.0”,

   “firebase-functions”: “^2.0.0”,

   “next”: “^6.1.1”,

   “prop-types”: “^15.6.2”,

   “react”: “^16.4.2”,

   “react-dom”: “^16.4.2”

In the case of dependencies “classnames” and “prop-types”, they are needed for this example that we are developing, also as a tip, each dependency we need for our project must go in this file as well as src/app/package.json , therefore, also add the dependencies to src/app/package.json.

To make sure that NextJS runs successfully in Cloud Functions, we remove the contents of functions/index.js by:

const functions = require(“firebase-functions”)

const next = require(“next”)


var dev = process.env.NODE_ENV !== “production”

var app = next({ dev, conf: { distDir: “next” } })

var handle = app.getRequestHandler() = functions.https.onRequest((req, res) => {

 console.log(“File: ” + req.originalUrl) // log the page.js file that is being requested

 return app.prepare().then(() => handle(req, res))


Now we proceed to install the dependencies in functions and in app, within src/functions and src/app run yarn or npm install depending on the manager you use.

We create a .gitignore inside the functions folder and add only “next”.

We need our material-ui components to be displayed correctly, thanks to NextJS we should only add the following to src/app/next.config.js:

const path = require(‘path’)

const glob = require(‘glob’)


module.exports = {

 distDir: “../functions/next”,

 webpack: (config, { dev }) => {



       test: /\.(ico|gif|png|jpg|jpeg|svg|webp)$/,

       use: [


           loader: ’emit-file-loader’,

           options: {

             name: ‘dist/[path][name].[ext]’




           loader: ‘file-loader’,

           options: {

             name: ‘dist/[path][name].[ext]’






       test: /\.(css|scss)/,

       loader: ’emit-file-loader’,

       options: {

         name: ‘dist/[path][name].[ext]’




       test: /\.css$/,

       use: [‘babel-loader’, ‘raw-loader’, ‘postcss-loader’]



       test: /\.s(a|c)ss$/,

       use: [‘babel-loader’, ‘raw-loader’, ‘postcss-loader’,

         { loader: ‘sass-loader’,

           options: {

             includePaths: [‘styles’, ‘node_modules’]

               .map((d) => path.join(__dirname, d))

               .map((g) => glob.sync(g))

               .reduce((a, c) => a.concat(c), [])






   return config



Let’s update our package.json that is in the root of the project with the scripts with which we will handle the application:


 “name”: “firebase-nextjs”,

 “version”: “1.0.0”,

 “license”: “MIT”,

 “scripts”: {

   “install”: “yarn build-all”,

   “next”: “yarn build-firebase && cd \”src/app\” && yarn && yarn dev”,

   “preserve”: “yarn build-all”,

   “serve”: “firebase serve”,

   “predeploy”: “yarn build-all”,

   “deploy”: “firebase deploy”,

   “build-all”: “yarn build-next && yarn build-firebase”,

   “build-next”: “cd \”src/app\” && yarn && yarn build”,

   “build-firebase”: “cd \”src/functions\” && yarn”



Now, in the root project run yarn init and then you have the next options:

yarn next: We run the project locally by port 3000 by default.

yarn build-all && firebase deploy –only functions: we build our project for production and deploy to firebase.

With all the steps above the application must run successfully, the test project is available in github, so you can compare, to get a better guide and understanding of the code.


This is a contribution that is made from the same learning obtained, so we are willing to feedback and/or answer your concerns about the technology and the project as such.

We try to be aware of the frameworks and tools of the moment to get the most out of each one, so you can expect more from this type of blogs.

Enjoy it!


Resources we used:

  • NextJS: 6.1.1
  • React: 16.4.2
  • Firebase functions: 2.0.0
  • Material-UI: v1.5.0


E07: QA process with Meli Arce

Hi 4GeeksNation! Welcome back to a new episode on The 4Geeks Podcast. Today we are talking with Meli Arce, our QA Lead here at 4Geeks, about all the entire QA (Quality Assurance) process.

You can comment always every single episode. Please rate / share to help us reach out more people. You can always send us your questions by voice 🙂

Happy listening!

Hosts: Allan Porras and Sergio Monge.