FullStack Labs

Please Upgrade Your Browser.

Unfortunately, Internet Explorer is an outdated browser and we do not currently support it. To have the best browsing experience, please upgrade to Microsoft Edge, Google Chrome or Safari.
Welcome to FullStack Labs. We use cookies to enable better features on our website. Cookies help us tailor content to your interests and locations and provide many other benefits of the site. For more information, please see our Cookies Policy and Privacy Policy.
Trusted By:
UberSiemensEricssonNFIBEkso BionicsCalifornia

Some of our expert React.js Developers.

By combining USA and Canada technical leads and project managers with Senior Developers in Latin America, we offer clients the quality, security, and convenience of onshore development paired with the cost savings of nearshore development.
Roberto Sawamura
Senior Software Engineer
Location icon
Latin America
Star icon
 Years of Experience

Senior Software Engineer, Roberto Sawamura, Latin America

Daniel Roma
Senior Software Engineer
Location icon
Latin America
Star icon
 Years of Experience

I became a developer not only to learn how computers work but also how to use them to build new things. This led me first to understand and work on the hardware, and after a few jobs in IT positions, I switched to software development to get the full picture.

Shawn Cheng
Software Architect
Location icon
Star icon
 Years of Experience

FullStack Labs, Senior Software Engineer‍

Mariano Genovese
Senior Software Engineer
Location icon
Latin America
Star icon
 Years of Experience

At FullStack Labs, I write quality code that takes into account all the intrinsic aspects of a project, using React, Node.js, and more.

Ben Carle
Location icon
Star icon
 Years of Experience

As the CIO of FullStack Labs I'm directly responsible for managing and contributing to our most critical client projects. I'm a senior software engineer with 15 years of experience building complex custom software and leading development teams.

Andres Pabon
Senior Software Engineer
Location icon
Latin America
Star icon
 Years of Experience

As a Senior Software Engineer at FullStack Labs, my goal is to provide quality software that can be intuitively and efficiently used by the intended audience.

Client Testimonials

We really appreciate FullStack’s expertise, and understanding of best practices, for React.js. Their team really is working at the bleeding edge of the technology. After implementing their recommendations we’ve been able to increase automation and decrease labor by 50% in our AR department, freeing up our people for more productive uses.

It’s not easy to get 5 stars from me but you guys have been great! You show up on time, you finish within the schedule. We’re doing accounting and financial systems which means that you have to learn the business side of it. It’s not only software, you have to understand the workflow. Our experience has been amazing.

- George Grant -
Director of IT, The Coding Network

Working with FullStack Labs (Gisselle and Charly) has been one of, if not THE, best work experiences I’ve had in my life - and I’ve built a lot of stuff in my 70+ years.

- Bill Estberg -
President, chill-n-go

How to Hire React Developers Through FullStack Labs

  • 1. Talk to us!

    We will work with you to understand your technical needs, team dynamics, and goals.

  • 2. Meet our available talent

    We’ll send you FullStack React developers that match your technical requirements, with links to their FullStack profile page which outlines their work experience and technical abilities, as well as their FullStack technical summary page, which includes a 60 minute video of the developer completing FullStack’s coding challenge, and a plethora of other technical information from their interview with us.

  • 3. 14 Day Risk-free trial

    Start the engagement. Work with your new React developers for a trial period, ensuring they're the right fit.

    Check icon

The Many Benefits Of Hiring FullStack's React.js Developers


A Team Approach

Our team of 90+ developers have deep institutional knowledge with React.js. So when your developer gets stuck on a hard problem, they can enlist the support of dozens of senior developers and architects.


A Proven Process

We've developed a detailed management process that measures the efficiency of our developers and accounts for every hour billed.


Daily Reporting

Each day you'll receive a detailed report showing all hours billed the previous day with a description of what was completed, as well as month-to-date and year-to-date totals.

flexible engagements

Flexible Engagements

Hire one or dozens of React developers at a time. Scale up and down as needed. Only pay for the hours we work... no weekly or monthly block billing.


We Eat, Breathe, and Sleep React.js

Our team is 100% focused on React.js and other javascript frameworks. Hire true experts who will quickly ramp up and contribute to your project.


No Freelancers, Subcontractors, or Outsourcing

Hiring freelancers for full time work is illegal in most jurisdictions. Don't risk an employee misclassification lawsuit. 100% of our developers are full-time employees of FullStack Labs, eliminating your legal risk.

Engagement Models for React.js Projects

New React.js Apps

We design and build greenfield apps of all shapes and sizes using React.js combined with a Python, Node, or Ruby on Rails backend.

Existing React.js Apps

Have a legacy React.js app? We’re here to help. From debugging and maintenance to feature development and DevOps, we'll tailor a development plan to meet your needs.

React.js Team Augmentation

Need to add React.js developers to your existing team? We'll seamlessly integrate as many React developers as needed, to help you go faster and level up your team's skills.

FullStack Labs iconFullStack Labs Icon

FullStack Labs is proudly remote.

We have an ever growing team of incredible people currently located in these countries.
Meet our Leadership Team
America continent map with Fullstack Labs members' locations highlighted in green spot.
United States flag
United States
Mexico flag
Guatemala flag
Dominican Republic flag
D. Republic
Honduras flag
Costa Rica flag
Costa Rica
El Salvador flag
El Salvador
Panama flag
Nicaragua flag
Venezuela flag
Colombia flag
Ecuador flag
Peru flag
Brazil flag
Paraguay flag
Argentina flag
Uruguay flag
Meet our Leadership Team

Our Clients Love Us, And You Will Too.

  • Yelp Logo
  • Thumbtack Logo
  • Clutch Logo
  • Good Firms Logo
  • Glassdoor Logo
FullStack Labs Icon

Let's Talk!

We’d love to learn more about your project.
Engagements start at $75,000.

Django + Graphene: Intro to the Basics
Accessing Mailbox Using the Gmail API and Node.js
Creating an Express and GraphQL Server from Scratch

How to Hire React.js Developers: A Practical Guide for Non-technical Professionals

React.js is rapidly becoming the standard javascript framework for modern, single-page web applications. Why? Because developers love React, mostly due to the component hierarchy, data flow structure, and adoption of the ES spec. Not to mention that it’s backed and supported by Facebook.

But while selecting React.js is an obvious choice, it’s important to select the right React developer or consultancy for your project, which requires consideration of a number of factors including experience, expertise, dependability and cost. This choice can require a significant time investment to research and analyze how a developer stacks up against the competition.

Here at FullStack Labs, we understand how difficult this is, and how important this process can be. This document is our collective knowledge on how to find the best React.js developer, not simply the most convenient or inexpensive option. We hope this guide will aid you in selecting the best developer or software consultancy to build your React.js app.

Do I Hire a Freelance React.js Developer, or a Small / Medium / Large React.js Consultancy?

Determining whether to hire a freelance developer or a consultancy, and what size consultancy, are critical decisions that can have a significant impact on the cost, quality, and overall success of your project. Options are numerous, with widely-varying levels of pricing and skill. How to obtain the best results in the most cost-effective manner requires consideration of a number of factors.

Hiring a React.js development consultancy, as opposed to a freelance or individual React.js developer, results in certain known benefits. An established company will be more likely to have a verifiable track record of successful projects. They will often be more reliable than a freelancer, and will usually have proven protocols in place to ensure success. Their developers will likely be full time employees of the consultancy, and will be assigned to work only on your project, whereas freelancers will often try to work on multiple projects at once. However, the size of the consultancy selected can make a big impact in regards to cost, responsiveness and the overall efficiency of the project.

Large React.js Consultancy

Larger software consultancies - those with 100+ employees - often will have numerous developers to work on your project, so there can be a larger array of skills available. However, such companies almost always charge considerably higher fees than smaller consultancies, so projects can be expected to cost more...$250,000 at a minimum at an hourly rate of anywhere from $150 to $300+ per hour. Additionally, when working with a larger consultancy it can be difficult to receive the kind of personal attention and interaction that can be provided by the leaner, small-to-medium size consultancies.

Small React.js Consultancy

Small React.js consultancies can offer certain benefits, but also can raise some concerns. Their cost will usually be considerably less than a larger consultancy, and they might be more responsive since they have fewer clients and employees demanding their time. But downsides can include their inability to handle larger projects, questions regarding the financial stability of such a company, and the likelihood that they will not have all of the different professionals you’ll need for your project (design, project management, quality assurance, technical architects, and development operations).

Medium-Size React.js Consultancy

A medium-sized, or “mid-market” React.js consultancy can offer many of the benefits of the large and small consultancies, while reducing the risks. Generally considered to have somewhere between 25-100 employees, a medium-sized consultancy offers the best of all worlds -- the cost savings and responsiveness of smaller consultancies combined with the resources and stability of a larger consultancy.

Freelance React.js Developer

A freelance React.js developer can provide some benefits if you can find the right one, including lower costs / lower hourly rates, and direct, one-on-one communication. However, they may lack the overall knowledge necessary to complete an entire project. For example, they may be highly skilled in front-end development, but have little experience with design, project management, back-end development, and development operations. Using a freelancer can also be risky, since you’re dealing with an individual and not a company. We’ve had several past clients who’ve been burned when freelancers built their app incorrectly, failed to deliver on time or at all, disappeared half way through the project, or took off with the code.

How Do I Confirm the Developer’s Reputation and Competence?

Once you’ve narrowed things down, and decided on the type of React.js developer you’d like to hire, the next step is to confirm the reputation and general competence of the developers on your short list. A good way to start is often the simplest...do a Google search and look for reviews / complaints from previous clients. Here are some websites we recommend checking:



Yelp can provide valuable information from a React.js developer’s former clients, both good and bad. Yelp tends to me more of a consumer driven platform, so B2B consultancies often don’t have Yelp profiles -- but sometimes they do, so it’s worth checking.

As an example, here’s FullStack’s Yelp reviews.



Clutch is a review site for B2B agencies focused on software development, graphic design, marketing, PR, and similar professional services. Consultancies submit former clients to Clutch, and Clutch calls them and conducts an interview, then writes up the review. The reviews tend to be very long and in-depth which is great -- but since the consultancies choose the clients to provide the reviews, there’s a selection bias, which results in most reviews being five stars.

As an example, here’s FullStack’s Clutch reviews.

Google Plus


Google+ is another place to look. In the last few years Google has started displaying large summaries of Google+ pages and their related reviews in search results. Because of this, a lot of companies have made a push to get customer reviews on their Google+ page, making it a valuable vetting tool for hiring professional service providers.

As an example, here’s FullStack’s Google+ reviews.

Btter Business Burau

Better Business Bureau

Better Business Bureau — The Better Business Bureau is a good source to determine whether your prospective developer has any unresolved complaints or unhappy clients. In our opinion, the Better Business Bureau isn't nearly as effective as it used to be, and the BBB rating can't be relied upon for much. But disgruntled customers will still file complaints with the BBB, which will be displayed on their website. So it's worth checking to make sure there aren't negative reviews or open issues.

As an example, here’s FullStack’s BBB reviews.

Ripoff Report

Ripoff Report

Ripoff Report — Ripoff Report allows users to post complaints of being ripped off or scammed by a company. Its provides a quick and easy way to find out if the developer you’re considering working with has attempted to defraud former clients. The accusations are not always verified so some caution should be used here.


Good Firms

Good Firms

GoodFirms — Designed specifically to review software development consultancies, GoodFirms provides detailed information on development consultancies, including client demographics, pricing, services, and reviews.

As an example, here’s FullStack’s GoodFirms reviews.



Upwork — Upwork provides reviews for freelancers (if you feel like taking a risk), but they also have a section for agencies with customer reviews...although few consultancies are on Upwork.




Glassdoor compiles company reviews by current and former employees, which can offer valuable insights into the internal culture of the company, and employees perspectives on what the company is doing right, and what they are doing wrong.

As an example, here’s FullStack’s GlassDoor reviews.

What Experience Counts?

Once you’ve confirmed their online reputation, you’ll want to ask for examples of previous work and confirm their experience, specifically with React.js.

Most React.js developers will provide examples of past projects on their website. This is a good starting point, but you’ll want to get access to the apps and use them for yourself to make your quality assessments. How’s the UI / UX? Do you enjoy using the app? Is it easy to use and intuitive? Is it pleasing to look at? Does it have an up-to-date, modern feel?

Once you're satisfied with the look and feel, it's time to take a look under the hood and confirm code quality. There’s a few ways to do this. The first step is to ask the developer to share the code repository with you via GitHub or BitBucket. If you have a technical person on your team you can have them review the code and make sure it’s up to industry standards. Is the code clean and easy to understand? Is there adequate documentation? Can it be easily maintained? Is there sufficient test coverage? Is it overly complex?

If you don’t have a technical person on your team to perform such a review, you can hire a consultant to perform a code review for you on an hourly basis.

As a final step, ask to speak with the client for whom the app was built, to confirm their experience working with the developer / consultancy. Ask detailed questions about their experience. Did the developer meet their needs? Was the project brought in on time and within the anticipated budget? If not, was the developer transparent about the need for additional time and resources? Were they fully communicative? Is there anything that they wish the developer had done differently? Have they ever referred the developer to others?

They should be eager and willing to share their references with you -- if they're not it’s a red flag. At FullStack we make it simple and easy to check our references by posting them on our website for everyone to see: https://www.fullstacklabs.co/references.

Project Management

So at this point you’ve decided on either a freelance React.js developer or a small / medium / large React.js consultancy, you’ve reviewed their reputation online, you’ve reviewed and used a couple React.js apps they’ve built, you’ve reviewed their code, and you’ve spoken with a reference. As a final step, you’ll want to understand their project management process, and figure out which professionals specifically will be working on your project.

In regards to project management, the first question to ask is what type of project management method does the developer / consultant utilize? Generally, developers will use one of two approaches -- Agile or Waterfall. Agile is often considered to be a more flexible, adaptable, and user-friendly process while Waterfall can result in less efficiency as it is a sequential system, which can make it difficult to respond to problems arising in areas of production that were thought to have been previously completed. So we generally recommend and follow an Agile approach.

You’ll also want to determine what type of project management software they use. Jira, Trello and Pivotal Tracker are acceptable choices. Confirm that you’ll have access to the project management software so you can stay on top of the project. If they don’t use project management software, that’s a major red flag.

Next, ask about the timeline. Will there be project milestones? What’s the expected release date? Do they run sprints? If so, how long are the sprints and how will you know if the sprints are being completed or not? Do they have daily standups and can you attend these standups?

Finally, make sure to confirm exactly who will be working on your project and what their role will be. If you’re hiring a freelance developer, this is easy. But additional care should be taken when hiring a consultancy. Will there be a project manager, quality assurance professionals, business analyst, or backend developer on your team? What are the names and titles of each of the professionals who will be working on your project and how much experience do each of them have? Are you getting senior developers / professionals with years of successful projects under their belts, or junior developers / recent college grads who are just getting started? Also, when hiring a consultancy, make sure to confirm that they won’t be outsourcing the work to another company -- the last thing you want is to hire an expensive consultancy in the USA, and later find out that they sent the work overseas to try and save on cost and maximize profits.


You need to hire the right React.js freelance developer or React.js consultancy to ensure the success of your project. By choosing the right type of developer or consultancy, checking their online reputation, using apps they’ve built previously, reviewing their React.js code and speaking with previous clients, understanding their project management process, and getting to know the professionals who will be working on your project, you can rest assured that you’ve made the correct choice, and give your project every chance of success.


FullStack Labs is a leading team of React.js developers, engineers, programmers, coders, and architects. Uber, Siemens, and hundreds of other companies have chosen us for their mission-critical software development projects. React.js is a crucial tool to develop your project, here are a few React.js Interview Questions you can use to screen your React.js candidates:

Q: What are React Hooks?


  1. Hooks are functions that let you use react state and life cycle features without a class.
  2. Hooks don’t work in classes
  3. React has a few built-in hooks like useState and useEffect to accomplish this 
Q: What are some of the benefits of using hooks?


Lots of possible answers:

  • Simpler than classes
  • More reusable than classes
  • Promote creating smaller components
  • Because of smaller size, on average, they are easier to test
Q: What are some of the rules for using hooks?


  • Only Call Hooks at the Top Level
    - Don’t call Hooks inside loops, conditions, or nested functions.
  • Only Call Hooks from React Functions
    - Don’t call Hooks from regular JavaScript functions
Q: How would you implement getDerivedStateFromProps with hooks?


Something like this:

-- CODE language-jsx keep-markup --
function ScrollView({row}) {
  const [isScrollingDown, setIsScrollingDown] = useState(false);
  const [prevRow, setPrevRow] = useState(null);

  if (row !== prevRow) {
    /* Row changed since last render. Update isScrollingDown.*/

    setIsScrollingDown(prevRow !== null && row > prevRow);


return `Scrolling down: ${isScrollingDown}`;


Where you store the previous state on the component using  `useState` and check if it’s value is different from the current state. 

Q: How would you implement shouldComponentUpdate with hooks?


Wrap a function component with React.memo to shallowly compare its props. React.memo is equivalent to PureComponent, but it only compares props.

Q: What is React Context and what problem does it solve?


Context provides a way to pass data through the component tree without having to pass props down manually at every level.

It solves the problem of prop drilling, i.e., having to pass a prop down from a parent component to a deeply nested component and passing it through each of the components in between.

Q: Where does React Context store the state?


On the component where the Provider is used

Q: What is the difference between a controlled component and an uncontrolled component?


  1. A controlled component is a component where React is in control and is the single source of truth for the form data
  2. An uncontrolled component is where your form data is handled by the DOM, instead of inside your React component.
Q: What is Redux and when might you use it?


Redux gives components direct access to data they need(Data flow). You use redux when you have a complex component tree structure and where props are being forwarded down through many layers, if you need to cache data between views or if your app will be large, maintaining large data.

Q: Give an example of when you might need to use a ref.


Lots of options:

  • Integrating with third party libraries that don’t use react for accessing the dom
Q: How would you handle loading and error states with hooks?


Something like this

const [error, setError] = useState(null);
  const [isLoaded, setIsLoaded] = useState(false);
  const [items, setItems] = useState([]);

  useEffect(() => {
      .then(res => res.json())
        (result) => {
        (error) => {
  }, [])

But basically that they create a state value for loading and error and set them based on the results of the fetch or ajax request

Q: What might you use to render a component outside the DOM hierarchy of the parent component?


They should mention React Portals somewhere

Q: How might you handle triggering that component to display from a deeply nested component?


Because React Portals allows you to define a component in a deeply nested component, you can just use component-level state.

But if the component is a global pop over, like a global error model or snackbar, then they could use React Context or Redux to store the state of when the component should appear and trigger

Q: What is the difference between shallow rendering and fully mounting a component when testing components?


Shallow rendering doesn’t render all the nested components

Q: What are some libraries or techniques you use to manage forms in React?


Open ended:

  • formik 
  • redux-form 
  • React-forms
  • By hand, but with validations or a specific methodology they follow