{"id":26221,"date":"2021-10-14T06:08:36","date_gmt":"2021-10-14T06:08:36","guid":{"rendered":"https:\/\/codeandpepper.com\/?p=26221"},"modified":"2022-05-27T05:35:51","modified_gmt":"2022-05-27T05:35:51","slug":"our-technology-stack","status":"publish","type":"post","link":"https:\/\/codeandpepper.com\/our-technology-stack\/","title":{"rendered":"Technology Stack &#8211; What Is It? Technology at Code &#038; Pepper"},"content":{"rendered":"\n<p>A <strong>technology stack<\/strong> is a full set of technologies that companies use to build a digital product or run a project. In it, you have everything ranging from programming languages, frameworks, databases, frontend and backend tools to services accessed via an API. Code &amp; Pepper also has its technology stack. With it, you can quickly build your minimum viable product (MVP) or a full-blown application. <strong>How exactly and what comes with our tech stack?<\/strong><\/p>\n\n\n\n<!--more-->\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/10\/Technology-Stack.jpeg\" alt=\"Technology stack\" class=\"wp-image-26440\" width=\"864\" height=\"450\" srcset=\"https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/10\/Technology-Stack.jpeg 864w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/10\/Technology-Stack-300x156.jpeg 300w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/10\/Technology-Stack-768x400.jpeg 768w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/10\/Technology-Stack-80x42.jpeg 80w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/10\/Technology-Stack-119x62.jpeg 119w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/10\/Technology-Stack-361x188.jpeg 361w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/10\/Technology-Stack-433x226.jpeg 433w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/10\/Technology-Stack-192x100.jpeg 192w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/10\/Technology-Stack-720x375.jpeg 720w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/10\/Technology-Stack-432x225.jpeg 432w\" sizes=\"auto, (max-width: 864px) 100vw, 864px\" \/><\/figure><\/div>\n\n\n\n<p><h4>Table of contents<\/h4><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"#Different tech stacks for different needs\">Different tech stacks for different needs<\/a><\/li><li><a href=\"#Our technology stack is (deceptively) short yet very effective\">Our technology stack is (deceptively) short yet very effective<\/a><\/li><li><a href=\"#Start a tech stack with a cloud in mind\">Start a tech stack with a cloud in mind<\/a><\/li><li><a href=\"#Amazing Web Services\">Amazing Web Services<\/a><\/li><li><a href=\"#It\u2019s a matter of national security\">It\u2019s a matter of national security<\/a><\/li><li><a href=\"#Our tech stack meaning for your business\">Our tech stack meaning for your business<\/a><\/li><li><a href=\"#Tech in our technology stack\">Tech in our technology stack<\/a><\/li><li><a href=\"#Our way AND the highway\">Our way AND the highway<\/a><\/li><li><a href=\"#Tech stack comes from what you need\">Tech stack comes from what you need<\/a><\/li><\/ul>\n\n\n\n<section id=\"Different tech stacks for different needs\" class=\"hidden-block\"><\/section>\n\n<style type=\"text\/css\">\n  #Different tech stacks for different needs {\n    visibility: hidden !important;\n  }\n<\/style>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-different-tech-stacks-for-different-needs\">Different tech stacks for different needs<\/h2>\n\n\n\n<p>A <strong>technology stack can be broken down into different tools for frontend, backend, and infrastructure<\/strong>. Each one needs a specific approach and toolset to best utilize the company\u2019s approach to creating digital products and also the client&#8217;s needs. What is important on each frontline?<\/p>\n\n\n\n<p>Technology stack is not only shaped by specific requirements or goals. You have to take into account the popularity and maturity of selected technologies or solutions. You don\u2019t want to choose technologies for which it will be hard to find engineers keen to use them. You also want to avoid solutions without a vibrant community of supporters and developers.&nbsp;<\/p>\n\n\n\n<section id=\"Our technology stack is (deceptively) short yet very effective\" class=\"hidden-block\"><\/section>\n\n<style type=\"text\/css\">\n  #Our technology stack is (deceptively) short yet very effective {\n    visibility: hidden !important;\n  }\n<\/style>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-our-technology-stack-is-deceptively-short-yet-very-effective\">Our technology stack is (deceptively) short yet very effective<\/h2>\n\n\n\n<p>We use the following technologies:<\/p>\n\n\n\n<p><strong>Frontend<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>React for web development<\/li><li>React Native for mobile development<\/li><li>TypeScript\/JavaScript<\/li><\/ul>\n\n\n\n<p><strong>Backend<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Node.js for classic applications<\/li><li>Amazon Web Services (AWS) for serverless architecture<\/li><li>TypeScript\/JavaScript<\/li><\/ul>\n\n\n\n<p><strong>Infrastructure<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Amazon Web Services&nbsp;<\/li><li>AWS Cloud Development Kit (CDK)<\/li><li>GraphQL<\/li><\/ul>\n\n\n\n<p>This is the basic toolset which we will expand later on in the text. For now, let\u2019s just say it covers all the needs of modern digital products. With it, you can <strong>build applications quickly and modify them according to the market\u2019s demands<\/strong>.<\/p>\n\n\n\n<p>You may wonder <strong>why our tech stack is restricted to few technologies<\/strong>. As you will see later on, it\u2019s not short at all. We complement and support it with frameworks, databases and other necessary components. All in the name of creating reliable digital products. For further details, please scroll to the section \u201cOur tech stack meaning for your business\u201d. For now, let\u2019s just say that our approach to creating a tech stack is characterized by nothing too special. It\u2019s just a conscious decision about <strong>technologies that we consider the most effective<\/strong>. Including cloud, which we will tackle in a second.&nbsp;<\/p>\n\n\n\n<p><strong>We go deep into our set of technologies<\/strong>. By doing projects mainly in them, we understand tools better than many other companies out there. We can develop quicker, implement additional security measures and fix bugs with extra attention to detail. <strong>That\u2019s an undisputed advantage over companies that create anything through everything<\/strong>.&nbsp;<\/p>\n\n\n\n<section id=\"Start a tech stack with a cloud in mind\" class=\"hidden-block\"><\/section>\n\n<style type=\"text\/css\">\n  #Start a tech stack with a cloud in mind {\n    visibility: hidden !important;\n  }\n<\/style>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-start-a-tech-stack-with-a-cloud-in-mind\">Start a tech stack with a cloud in mind<\/h2>\n\n\n\n<p>The number of companies keeping a server infrastructure to support products melts with each passing year. <a href=\"https:\/\/codeandpepper.com\/services\/cloud-computing-software-development-and-consulting\">Cloud computing<\/a> proved itself to be a much more affordable solution. It offers stability, flexibility and advanced security measures. Serverless approach (which eliminates costly and complicated infrastructure from the equation) is often seen on a market. Serverless eliminates the necessity of managing the infrastructure, grants agility and costs are present only if you actually use something.<\/p>\n\n\n\n<p>Our belief at Code &amp; Pepper is that it\u2019s easier to build a performing technology stack when you start with a cloud and go from there. That way you will have <strong>even more control over the process of picking and choosing<\/strong>. You will have the best-suited elements of the puzzle as well.&nbsp;<\/p>\n\n\n\n<p><strong>Through our technology stack, we create cloud-native applications, which by nature:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>allow faster market release (true for a minimum viable product \u2013 MVP and full products as well)<\/li><li>allow more efficient disaster recovery<\/li><li>guarantee high reliability and availability<\/li><li>are more cost-efficient<\/li><li>are highly scalable<\/li><li>deliver easier management options<\/li><li>avoid vendor lock-in (if you use Kubernetes, Docker or containers)<\/li><li>are based on microservices which provide many major benefits from the get-go<\/li><li>are event-driven (which means faster development reaction to any potential challenges)<\/li><\/ul>\n\n\n\n<p>We do develop products with serverless in mind but it\u2019s not always the case. Some products rely on raw computing power and need time to process tasks. In this case, going for the cloud (infrastructure as a service, IaaS) would be counter-intuitive. <strong>We always think about the cloud but fit the tech to serve a product, not the other way around<\/strong>.&nbsp;<\/p>\n\n\n\n<p>The other important assumption is working with <strong>infrastructure as a code (IaC)<\/strong> in mind. With it, you can easily manage files and keep track of the infrastructure changes. You also have advanced options for deployment, like centralized and one-command control, minimized downtime, the ability to embrace concurrent deployments, etc.&nbsp;<\/p>\n\n\n\n<p><strong>Infrastructure as a code gives us enhanced control over what is set up in a cloud and eliminates manual processes that are prone to human error<\/strong>. We can often benefit from blue-green deployments which, with just a click away, turns a release application model into a production model. With user traffic, data and version of the app intact and identical. Magic, that doesn\u2019t require a wand, cat, or a hat. We don\u2019t have to manually set up and control everything, which translates into a cost-effective process for you as our client. Less time spent on mundane actions, more time in a sprint for real development, higher cost-effective rate.&nbsp;<\/p>\n\n\n\n<p>Infrastructure as a code isn\u2019t a part of the technology stack per se. It lands in a different category. When it comes to software development, we have:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>technology stack<\/li><li>characteristic of an architecture&nbsp;<\/li><li>best practices of development (plus individual company approach)<\/li><\/ul>\n\n\n\n<p>IaC is a part of the last one. All three categories are inseparable parts of the same thing, which is product development. The important part is that they are, while connected, different things.<\/p>\n\n\n\n<section id=\"Amazing Web Services\" class=\"hidden-block\"><\/section>\n\n<style type=\"text\/css\">\n  #Amazing Web Services {\n    visibility: hidden !important;\n  }\n<\/style>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-amazing-web-services\">Amazing Web Services<\/h3>\n\n\n\n<p>We have chosen Amazon Web Services (AWS). With its amazing market share reaching around 40% and vast toolset available for use, we are comfortable with the decision. AWS gives us a powerful range of bigger and smaller applications that, while running in the background or being used per use case, secure the application and its performance. Since AWS has the longest track record, its offer is the most complete and best suits our needs. A good argument for its usability is one number \u2013 15+. That\u2019s how many AWS has specialized databases. For nearly every need, suitable for many, widely different projects.&nbsp;<\/p>\n\n\n\n<p>There is, for example, the Quantum Ledger Database which has a very rich history mode. You can browse through version history and track data versions for every single entry, which is very useful in keeping tabs on who changed what and when. The number of innovations available in AWS is unmatched on the market.&nbsp;<\/p>\n\n\n\n<section id=\"It\u2019s a matter of national security\" class=\"hidden-block\"><\/section>\n\n<style type=\"text\/css\">\n  #It\u2019s a matter of national security {\n    visibility: hidden !important;\n  }\n<\/style>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-it-s-a-matter-of-national-security\">It\u2019s a matter of national security<\/h2>\n\n\n\n<p>If the company is a country, your users are your nation. The security of the app itself and its data should have a priority for a software development company. Since we went with the serverless approach, ensuring the application\u2019s security is easier.<\/p>\n\n\n\n<p>For example, nobody will get access to AWS Lambda (more on that below) or its underlying operating system because it\u2019s tightly guarded by Amazon Web Services.&nbsp;<\/p>\n\n\n\n<p>If you want to know more, stay tuned. Soon we will publish a separate and very detailed article on security in AWS. What is guaranteed by Amazon, what is on our side? A lot of practical knowledge!<\/p>\n\n\n\n<p>An interesting and important topic that spawns out of security, is <strong>reliability<\/strong>. Under the cloud, especially in AWS, it\u2019s a lot easier to go through the disaster recovery process. There are multiple regions for data management but you need to use at least two of them to have multi site active\/active disaster recovery. If something happens, we can reconstruct the database because there is constant data replication between two regions. This is possible through a DNS (Amazon Route 53) and takes only a second. Naturally, it can also be done automatically, via health checks.<\/p>\n\n\n\n<section id=\"Our tech stack meaning for your business\" class=\"hidden-block\"><\/section>\n\n<style type=\"text\/css\">\n  #Our tech stack meaning for your business {\n    visibility: hidden !important;\n  }\n<\/style>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-our-tech-stack-meaning-for-your-business\">Our tech stack meaning for your business<\/h2>\n\n\n\n<p>For the communication between frontend and backend, we use GraphQL. One of the reasons behind choosing this technology was flexibility. A client can always pick and choose what he wants to squeeze off the backend, and GraphQL delivers in spades. Streaming data is highly optimized, which is great for business. Let\u2019s say you want to pull only the names of all app\u2019s users. With GraphQL it\u2019s possible \u2013 you won\u2019t get their entire bios, with surnames, lists of friends, social security numbers, etc. The data is filtered, sorted and ready for further action.&nbsp;<\/p>\n\n\n\n<p>The other argument comes in the form of built-in features like strong typification and an out-of-the-box scheme with which you can define an API. You no longer need additional tools like OpenAPI. GraphQL also defines operations like queries, mutations and subscriptions \u2013 real-time communication between frontend and backend, initialized by a backend. When something happens there (like a new post on a blog), it will automatically appear on the frontend side of things. Sure, you can achieve the same result with, for example, WebSockets but with GraphQL data and communication are more structured.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-libraries-and-frameworks\">Libraries and frameworks<\/h3>\n\n\n\n<p>We like to use <a href=\"https:\/\/aws.amazon.com\/amplify\" rel=\"nofollow\">Amazon Amplify<\/a> which allows communicating with different services like Cognito or S3. We also utilize the Apollo Client which is a library used for frontend, to communicate with GraphQL. It makes inquiries easier \u2013 we send them to AWS AppSync in which we directly work with databases (DynamoDB for example) or utilize a relational database (in AWS it\u2019s called <a href=\"https:\/\/aws.amazon.com\/rds\/aurora\/?aurora-whats-new.sort-by=item.additionalFields.postDateTime&amp;aurora-whats-new.sort-order=desc\" rel=\"nofollow\">Aurora<\/a>).<\/p>\n\n\n\n<p>Another useful tool is <a href=\"https:\/\/www.elastic.co\/elasticsearch\" rel=\"nofollow\">Elasticsearch<\/a> which is great for searching automatically. When you have a large database, you can\u2019t afford to do everything manually.&nbsp;<\/p>\n\n\n\n<p>For business logic and databases that are not directly supported by App Sync, we use <a href=\"https:\/\/aws.amazon.com\/lambda\/features\" rel=\"nofollow\">AWS Lambda<\/a>.&nbsp;<\/p>\n\n\n\n<p>For user authorization and identification, we use <a href=\"https:\/\/aws.amazon.com\/cognito\" rel=\"nofollow\">Amazon Cognito<\/a>.&nbsp;<\/p>\n\n\n\n<p>For content delivery, our teams use <a href=\"https:\/\/aws.amazon.com\/cloudfront\" rel=\"nofollow\">Amazon CloudFront<\/a>. Because it\u2019s easier to download content from your local server, rather than a distant location, half across the globe.&nbsp;<\/p>\n\n\n\n<p>To work with containers and build scalable web applications, we use <a href=\"https:\/\/nestjs.com\/\">NestJS<\/a>.&nbsp;<\/p>\n\n\n\n<p>For the library of net components, we use <a href=\"https:\/\/mui.com\" rel=\"nofollow\">MUI<\/a>. (previously Material UI). This is an implementation of Google\u2019s <a href=\"https:\/\/material.io\/design\" rel=\"nofollow\">Material Design<\/a>, crafted especially for React. This is a complete and feature-full library that fully supports TypeScript. Another advantage of Material UI comes from components for Sketch and Figma, which benefit our user experience and user interface designers.&nbsp;<\/p>\n\n\n\n<p>We have chosen AWS <a href=\"https:\/\/aws.amazon.com\/amplify\" rel=\"nofollow\">Amplify<\/a> to support the frontend with GraphQL inquiries. It\u2019s the most mature and feature-heavy tool that provides scalability and options. It speeds up the deployment of any web application. We can even set up an environment to test only the fresh code added by a given developer. The setup vanishes after the merge with the master branch, leaving no artifacts behind but giving us additional options on the way to the merge.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-analytics\">Analytics<\/h3>\n\n\n\n<p>The matter of analytics and business intelligence is also very important. To know what\u2019s going on in your app and how you can leverage data, we use <a href=\"https:\/\/aws.amazon.com\/pinpoint\" rel=\"nofollow\">Amazon Pinpoint<\/a> for reporting events. For storage, we use <a href=\"https:\/\/aws.amazon.com\/s3\" rel=\"nofollow\">Amazon S3<\/a> (Simple Storage Service). With it, we can throw data into the mix and what comes out is an interesting mix of lists, graphs, etc. We also use <a href=\"https:\/\/aws.amazon.com\/quicksight\" rel=\"nofollow\">Amazon QuickSight<\/a>, <a href=\"https:\/\/aws.amazon.com\/redshift\/?whats-new-cards.sort-by=item.additionalFields.postDateTime&amp;whats-new-cards.sort-order=desc\" rel=\"nofollow\">Amazon Redshift<\/a>.&nbsp;<\/p>\n\n\n\n<p>With all these tools we can run complete analytics throughout the whole application. We can pull currently needed information as well as do a complete diagnostic.<\/p>\n\n\n\n<p>Another interesting software we use is called Amazon EventBridge. It\u2019s designed to spot and filter events based on their importance and occurrences.<\/p>\n\n\n\n<p>We also use <a href=\"https:\/\/aws.amazon.com\/cloudwatch\" rel=\"nofollow\">CloudWatch<\/a> for monitoring events in applications (for example what happens in Lambdas). Cloud Watch is also good for checking database response time.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-microservices\">Microservices<\/h3>\n\n\n\n<p>Since we use cloud computing for our operations and product building, we have adopted microservices. They have many advantages but to utilize them all, we have adopted polyglot persistence \u2013 it\u2019s a best practice for building microservices. Each microservice should have its own data store. That way you won\u2019t have a close relationship between them on a database level. A positive side effect is that we can choose the best database for the job \u2013 either a NoSQL or relational database. And that\u2019s for every microservice or even a use case.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-quality-assurance\">Quality assurance<\/h3>\n\n\n\n<p>Since we are an agile company, we have decided on a specific approach to tools. We prefer tools over rules adopted by testers. We don\u2019t want to stick to the same toolset every single time, since some of them don\u2019t meet the requirements needed for a given project. This approach gives us the flexibility to choose the best software out there while staying true to the client\u2019s needs.&nbsp;<\/p>\n\n\n\n<p>We write unit tests and integration tests. Usually, we assume that we want to have at least 70% coverage for the code. Our runtime for the test is called <a href=\"https:\/\/jestjs.io\" rel=\"nofollow\">Jest<\/a>. It can not only launch tests but also mock features which are very useful; this trick saves developers some time.<\/p>\n\n\n\n<p>For our web end-to-end tests, we use <a href=\"https:\/\/www.cypress.io\/\" rel=\"nofollow\">Cypress<\/a> and <a href=\"https:\/\/playwright.dev\/\" rel=\"nofollow\">Playwright<\/a>. The second tool is developed by Microsoft. It\u2019s not fully matured but its features are very interesting and complement Cypress in a good way. We decided to give it a go in a few projects and since then, the company has stuck with both for better occurrences coverage, yet we don\u2019t use them at the same time. With it, we can also test additional things like service workers for progressive web apps.&nbsp;<\/p>\n\n\n\n<p>For mobile testing, we have a framework called <a href=\"https:\/\/github.com\/wix\/Detox\" rel=\"nofollow\">Detox<\/a>. It can be easily integrated with any React Native app. Additional benefit \u2013 it\u2019s almost effortless. We have compared Detox with other tools like <a href=\"https:\/\/appium.io\/\" rel=\"nofollow\">Appium<\/a> and decided to stick with it. It makes our work simpler by relieving the team from heavy lifting. We can write tests quicker and easier; that is what the testing process should look like.&nbsp;&nbsp;<\/p>\n\n\n\n<section id=\"Tech in our technology stack\" class=\"hidden-block\"><\/section>\n\n<style type=\"text\/css\">\n  #Tech in our technology stack {\n    visibility: hidden !important;\n  }\n<\/style>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-tech-in-our-technology-stack\">Tech in our technology stack<\/h2>\n\n\n\n<p>We decided on <strong>TypeScript<\/strong> because of its popularity. Popularity means fewer bugs, more tools, better support in frameworks. That translates into stability and predictability for your project. Probably the most important argument though, is that <strong>we can use TypeScript in all aspects of our technology stack<\/strong>. We can utilize it on the frontend, backend (through Node.js) and use it in defining our approach to infrastructure (infrastructure as a code).&nbsp;<\/p>\n\n\n\n<p>By using TypeScript as the main language for everything, we as software developers, have natural benefits. The code is clear and highly readable, developers are prone to adopt a full-stack approach for their professional career choice. This makes development smoother because some engineers like to work on the frontend and backend; with the same language for both, it&#8217;s just simpler.&nbsp;<\/p>\n\n\n\n<p>Another argument for TypeScript is AWS\u2019s native support for the language and something called the \u201cCloud Development Kit\u201d (CDK &#8211; it\u2019s a library that grants access to widgets necessary to write user interfaces). This, as a result, is very important to us because it gives an additional level of safety net and strengthens arguments for the future nature of the tool itself.<\/p>\n\n\n\n<p>And speaking about support\u2026 TypeScript was developed by Microsoft but enhanced by Google. The collaboration of these two giants shows that TypeScript won\u2019t go anywhere, at least in the foreseeable future. It will be supported, it will be expanded. That means if something changes, we as a software development company, have a few years to react and choose an alternative language. For the time being though, Typescript is thriving (more on that in a bit). It\u2019s backed by giants and it\u2019s open-source, which gives a compelling advantage over alternatives.<\/p>\n\n\n\n<p>After we have decided on TypeScript, we immediately went for <strong>Node.js<\/strong>. It\u2019s a natural choice for writing for the backend. This is a running environment for JavaScript and TypeScript. With a large variety of frameworks (like NestJS), libraries and vibrant community, it\u2019s the only choice available on the market but also the choice. Backed with solid arguments, not with the lack of an alternative.&nbsp;<\/p>\n\n\n\n<p>For Infrastructure as Code, we have adopted AWS CDK (that\u2019s compiling to <a href=\"https:\/\/aws.amazon.com\/cloudformation\" rel=\"nofollow\"><strong>Cloud Formation<\/strong><\/a>). It gives us an easy way to create a collection of AWS-related and third-party-related resources, needed for a serverless approach. We can spend less time managing resources and keeping them updated. That means more time for what your project really needs: code. With Cloud Formation providing options like automatic rollback, we can perform even more efficiently.&nbsp;<\/p>\n\n\n\n<p>Our approach to <strong>API<\/strong> supports a serverless mindset. With a previously mentioned GraphQL, we have already touched the subject a little. With our approach, we can scale and change microservices according to needs and current vision for the project but the API itself stays the same. This means that we can even start a project in a monolith architecture and then transform it to support microservices. A huge advantage down the road for everyone involved.&nbsp;<\/p>\n\n\n\n<p>We chose <strong>React <\/strong>for its popularity. Choosing the right technology is not a miss congeniality contest but if you look for the entire ecosystem (libraries, additional tools, etc.) then React seems to be a natural choice. It also has very good support for TypeScript. We also can use our skills in creating mobile applications under React Native. We can also reuse parts of the code, which is beneficial for time and the project\u2019s budget. It\u2019s true for many areas but especially for communications with API and business logic.&nbsp;<\/p>\n\n\n\n<p>An argument for <strong>React Native<\/strong> \u2013 one codebase for iOS and Android. This significantly simplifies the work and shortens time, which is invaluable in any project. Plus, you don\u2019t have to pay for additional development. Aside from that, the technology is so intuitive that we can use our web development skills in React and even reuse parts of the code for business logic, services communicating with API, etc. We can also view changes with a \u201clive reloading\u201d feature. This real-time feedback gives information about any changes to the code and their impact on what has been done to date.&nbsp;<\/p>\n\n\n\n<p><strong>Continuous integration\/continuous development (CI\/CD).<\/strong> We wanted to have a seamless pipeline. That\u2019s why we share resources between Amplify and GitHub Actions. Under them, we fire up tools like <a href=\"https:\/\/prettier.io\/\" rel=\"nofollow\">Prettier<\/a> for code formatting. We also use <a href=\"https:\/\/eslint.org\/\" rel=\"nofollow\">ESLint<\/a> for static code analysis. We also run integration and end-to-end tests (simulating ways the user interacts with the product.) That\u2019s not all &#8211; we use SonarCloud and Lighthouse as well as run tests.<\/p>\n\n\n\n<p><strong>In general, there is a lot to do before we run with the deployment<\/strong>. As Code &amp; Pepper, we want to make sure our code is valid, application stable and integration seamless. That everything works as intended and bugs are minor, and easily fixable. We always check for new versions of tools, frameworks and libraries to make sure everything is up to date and doesn\u2019t have a negative impact on the app, especially for security and optimization.&nbsp;<\/p>\n\n\n\n<p>We also use <a href=\"https:\/\/codeandpepper.com\/google-lighthouse-tool-guide\">Google\u2019s Lighthouse<\/a>. It\u2019s a tool that can scan a web application for potential problems with SEO, security and performance.<\/p>\n\n\n\n<p>Another interesting tool is <a href=\"https:\/\/www.bitrise.io\/\" rel=\"nofollow\">Bitrise<\/a>, which we use as our CI\/CD pipeline for mobile applications.&nbsp;<\/p>\n\n\n\n<section id=\"Our way AND the highway\" class=\"hidden-block\"><\/section>\n\n<style type=\"text\/css\">\n  #Our way AND the highway {\n    visibility: hidden !important;\n  }\n<\/style>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-our-way-and-the-highway\">Our way AND the highway<\/h2>\n\n\n\n<p>Although we listed a bunch of tech we work with on a daily basis, we are opened to different languages and tools as well. If there\u2019s a need of creating a high-performing microservice, we would go with Go or Rust. If there\u2019s something to do in the machine learning area, we would stick with Python. It\u2019s all a matter of the task at hand and the nature of the product itself.<\/p>\n\n\n\n<p>For most projects, we recommend TypeScript. It\u2019s elastic, highly reliable and has momentum among developers, which only proves our point. According to <a href=\"https:\/\/octoverse.github.com\/\" rel=\"nofollow\">multiple reports by GitHub<\/a>, TypeScript\u2019s popularity is on the rise. Ruby, on the other hand, popular a decade ago, now experiences a dramatic decrease in interest. An interesting <a href=\"https:\/\/insights.stackoverflow.com\/survey\/2021#technology-most-loved-dreaded-and-wanted\" rel=\"nofollow\">survey taken by Stack Overflow<\/a> shows how different languages are now dealing with the market. TypeScript is among the most valued ones.&nbsp;<\/p>\n\n\n\n<p>If you bet on the wrong horse, the development process will be longer, more difficult from a technical point of view and more expensive. If you do this right, you increase the chance for creating a performing product. This footnote is important not only for us but for clients as well. We always try to talk and persuade you. Explain what impact different languages, tools, and frameworks have on what you want to achieve.<\/p>\n\n\n\n<section id=\"Tech stack comes from what you need\" class=\"hidden-block\"><\/section>\n\n<style type=\"text\/css\">\n  #Tech stack comes from what you need {\n    visibility: hidden !important;\n  }\n<\/style>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-tech-stack-comes-from-what-you-need\">Tech stack comes from what you need<\/h2>\n\n\n\n<p>Sometimes needs and the current popularity of tools coexist, as we mentioned here or there in this article. For the most part, it\u2019s all about your business needs and approach to making software. Do you want it to be future-proof? Easy to enhance and maintain?&nbsp;<\/p>\n\n\n\n<p>Is there the <a href=\"https:\/\/codeandpepper.com\/best-technology-for-fintech-1\">best technology for FinTech<\/a> or any other area of software development for that matter? <a href=\"https:\/\/codeandpepper.com\/select-technology-in-fintech\">How to select technology in FinTech<\/a>? These are not easy questions and the answer is even more complicated. No, there is no perfect technology that fits all. Software development is not about the perfect fit that suits all projects, it should not be about compromises either. It should be about thinking what is the best on the market and what can benefit you as the customer.<\/p>\n\n\n\n<p>This calls for another fit \u2013 between you and the software development company. You can choose Code &amp; Pepper \u2013 the team that cherry-picks only the best, not necessarily low-hanging fruits.\u00a0\u00a0<\/p>\n\n\n\n\n\n<section id=\"contact\" class=\"contact-block block common-block \">\n  <div class=\"container\">\n\n\n    \n  <svg class=\"wave\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"280\" height=\"9\" viewBox=\"0 0 280 9\">\n    <path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M0 3.6c2.88 0 4.18-.668 5.824-1.515C7.724 1.108 9.879 0 13.998 0c4.12 0 6.274 1.108 8.175 2.085 1.644.847 2.943 1.515 5.823 1.515 2.88 0 4.179-.668 5.824-1.515C35.72 1.108 37.874 0 41.995 0c4.12 0 6.274 1.108 8.174 2.085 1.645.847 2.945 1.515 5.824 1.515 2.88 0 4.18-.668 5.826-1.515C63.719 1.108 65.873 0 69.993 0c4.12 0 6.274 1.108 8.174 2.085 1.645.847 2.945 1.515 5.823 1.515 2.88 0 4.18-.668 5.825-1.515C91.715 1.108 93.87 0 97.99 0c4.12 0 6.273 1.108 8.174 2.085 1.645.847 2.945 1.515 5.823 1.515 2.88 0 4.178-.668 5.824-1.515 1.9-.977 4.054-2.085 8.173-2.085 4.12 0 6.273 1.108 8.174 2.085 1.646.847 2.945 1.515 5.825 1.515 2.88 0 4.18-.668 5.826-1.515 1.9-.977 4.055-2.085 8.175-2.085 4.12 0 6.273 1.108 8.174 2.085 1.646.847 2.945 1.515 5.825 1.515 2.88 0 4.179-.668 5.824-1.515 1.9-.977 4.054-2.085 8.175-2.085 4.12 0 6.274 1.108 8.175 2.085 1.646.847 2.946 1.515 5.826 1.515 2.88 0 4.18-.668 5.826-1.515 1.9-.977 4.054-2.085 8.175-2.085 4.12 0 6.273 1.108 8.174 2.085 1.646.847 2.945 1.515 5.825 1.515 2.881 0 4.18-.668 5.827-1.515 1.9-.977 4.056-2.085 8.176-2.085 4.121 0 6.276 1.108 8.177 2.085 1.646.847 2.946 1.515 5.827 1.515s4.181-.668 5.828-1.515C259.718 1.108 261.873 0 265.995 0c4.121 0 6.275 1.108 8.177 2.084 1.645.848 2.946 1.516 5.828 1.516V9h-.007l-5.252-.793c-1.129-.382-2.056-.848-2.919-1.291-1.646-.847-2.946-1.516-5.827-1.516-2.882 0-4.183.669-5.829 1.516-1.9.977-4.056 2.084-8.177 2.084-4.12 0-6.275-1.107-8.176-2.084-1.647-.847-2.947-1.516-5.828-1.516-2.88 0-4.18.669-5.827 1.516-1.9.977-4.055 2.084-8.176 2.084-4.12 0-6.273-1.107-8.175-2.084-1.645-.847-2.944-1.516-5.824-1.516s-4.18.669-5.826 1.516c-1.9.977-4.055 2.084-8.175 2.084-4.12 0-6.275-1.107-8.176-2.084-1.644-.847-2.945-1.516-5.825-1.516-2.88 0-4.18.669-5.825 1.516-1.9.977-4.054 2.084-8.174 2.084-4.12 0-6.274-1.107-8.176-2.084-1.644-.847-2.943-1.516-5.823-1.516-2.88 0-4.18.669-5.826 1.516-1.9.977-4.054 2.084-8.175 2.084-4.12 0-6.274-1.107-8.174-2.084-1.646-.847-2.946-1.516-5.825-1.516s-4.179.669-5.824 1.516c-1.9.977-4.053 2.084-8.173 2.084s-6.273-1.107-8.173-2.084c-1.645-.847-2.945-1.516-5.824-1.516-2.88 0-4.179.669-5.824 1.516C90.265 7.893 88.11 9 83.99 9c-4.12 0-6.273-1.107-8.173-2.084-1.645-.847-2.944-1.516-5.824-1.516s-4.18.669-5.825 1.516C62.268 7.893 60.113 9 55.993 9c-4.12 0-6.274-1.107-8.174-2.084-1.645-.847-2.945-1.516-5.824-1.516-2.88 0-4.18.669-5.825 1.516C34.27 7.893 32.116 9 27.996 9c-4.12 0-6.273-1.107-8.174-2.084-1.645-.847-2.945-1.516-5.824-1.516s-4.179.669-5.824 1.516C7.311 7.359 1.127 8.618 0 9\"\/>\n<\/svg>\n\n<h2 class=\"block-title section-title\">\n  Let&#8217;s talk about your project!<\/h2>\n\n\n  <div class=\"block-description typography-body\">\n    <p>Technology stack lies at the core of a product&#8217;s success. I can help you implement our solutions into your vision.<\/p>\n  <\/div>\n\n    \n          <div class=\"contact-block-person\">\n        <img loading=\"lazy\" decoding=\"async\" width=\"90\" height=\"90\" src=\"https:\/\/codeandpepper.com\/wp-content\/uploads\/2019\/09\/jacek-kosciesza-web.jpg\" class=\"contact-block-person-image\" alt=\"Jacek Kosciesza portrait\" srcset=\"https:\/\/codeandpepper.com\/wp-content\/uploads\/2019\/09\/jacek-kosciesza-web.jpg 1200w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2019\/09\/jacek-kosciesza-web-300x300.jpg 300w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2019\/09\/jacek-kosciesza-web-1024x1024.jpg 1024w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2019\/09\/jacek-kosciesza-web-150x150.jpg 150w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2019\/09\/jacek-kosciesza-web-768x768.jpg 768w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2019\/09\/jacek-kosciesza-web-209x209.jpg 209w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2019\/09\/jacek-kosciesza-web-140x140.jpg 140w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2019\/09\/jacek-kosciesza-web-250x250.jpg 250w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2019\/09\/jacek-kosciesza-web-100x100.jpg 100w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2019\/09\/jacek-kosciesza-web-700x700.jpg 700w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2019\/09\/jacek-kosciesza-web-864x864.jpg 864w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2019\/09\/jacek-kosciesza-web-432x432.jpg 432w\" sizes=\"auto, (max-width: 90px) 100vw, 90px\" \/>        <div class=\"contact-block-person-text\">\n          <div class=\"typography-title-m\">\n            Jacek          <\/div>\n          <div class=\"typography-body-medium\">\n            CTO          <\/div>\n        <\/div>\n      <\/div>\n    \n\n    <form class=\"contact-form\" method=\"POST\" action=\"https:\/\/codeandpepper.com\/wp-admin\/admin-ajax.php\">\n            <amp-recaptcha-input layout=\"nodisplay\" name=\"recaptcha_token\" data-sitekey=\"6LeEo8cqAAAAABpahzrYQeEsO-xoutAjoIkrKpTB\" data-action=\"contact_block\"><\/amp-recaptcha-input>\n            <input type=\"hidden\" name=\"action\" value=\"contact_block_submit\" \/>\n      <input type=\"hidden\" name=\"block\" value=\"smallContactForm\" \/>\n      <input id=\"contact-email\" type=\"email\" name=\"email\" placeholder=\"Email\" class=\"gtm_form_input\" required>\n      <label for=\"contact-email\" class=\"contact-block-hidden-label\">Email<\/label>\n      <input id=\"contact-name\" type=\"text\" name=\"name\" placeholder=\"Full name\" class=\"gtm_form_input\" required>\n      <label for=\"contact-name\" class=\"contact-block-hidden-label\">\n        Full name      <\/label>\n\n      <input type=\"submit\" name=\"submit\" value=\"GET A QUOTE\" class=\"gtm_form_submit btn-big\">\n\n      <div submitting>\n      <\/div>\n      <div id=\"TYPSmallForm\" class=\"submit-msg submit-success\" submit-success>\n        <template type=\"amp-mustache\">\n          <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"26\" height=\"26\" viewBox=\"0 0 26 26\">\n    <g fill=\"none\" fill-rule=\"evenodd\">\n        <g stroke=\"#FFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" transform=\"translate(1 1)\">\n            <path d=\"M17 8.5l-7.5 7L7 13\"\/>\n            <circle cx=\"12\" cy=\"12\" r=\"11.5\"\/>\n        <\/g>\n        <path d=\"M1 1h24v24H1z\"\/>\n    <\/g>\n<\/svg>\n          Your message has been sent. We will get back to you as soon as possible.\n        <\/template>\n      <\/div>\n      <div id=\"ErrorSmallForm\" class=\"submit-msg submit-error\" submit-error>\n        <template type=\"amp-mustache\">\n          <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"25\" height=\"25\" viewBox=\"0 0 25 25\">\n    <g fill=\"none\" fill-rule=\"evenodd\">\n        <g stroke=\"currentColor\" stroke-linejoin=\"round\">\n            <path stroke-linecap=\"round\" stroke-width=\"2\" d=\"M23.498 12.31c.105 6.075-4.923 11.086-10.998 11.192-6.074.104-10.893-4.734-10.998-10.81C1.396 6.619 6.426 1.606 12.5 1.502c6.074-.106 10.893 4.734 10.998 10.808zM12.5 14V7\"\/>\n            <path fill=\"currentColor\" stroke-width=\"1.5\" d=\"M13 17.5a.5.5 0 0 1-1 0 .5.5 0 0 1 1 0z\"\/>\n        <\/g>\n        <path d=\"M1 0h24v24H1z\"\/>\n    <\/g>\n<\/svg>\n          Oops! Something went wrong. Please try again later.\n        <\/template>\n      <\/div>\n    <\/form>\n\n\n  <\/div>\n<\/section>\n<style type=\"text\/css\">\n  #contact {\n    background: #009fe3;\n    color: #FFFFFF;\n  }\n\n  #contactsvg {\n    color: #ffffff;\n  }\n<\/style>\n\n<section id=\"related-posts-block_62906194729a7\" class=\"related-posts-block block common-block \">\n  <div class=\"container\">\n\n\n    \n  <svg class=\"wave\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"280\" height=\"9\" viewBox=\"0 0 280 9\">\n    <path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M0 3.6c2.88 0 4.18-.668 5.824-1.515C7.724 1.108 9.879 0 13.998 0c4.12 0 6.274 1.108 8.175 2.085 1.644.847 2.943 1.515 5.823 1.515 2.88 0 4.179-.668 5.824-1.515C35.72 1.108 37.874 0 41.995 0c4.12 0 6.274 1.108 8.174 2.085 1.645.847 2.945 1.515 5.824 1.515 2.88 0 4.18-.668 5.826-1.515C63.719 1.108 65.873 0 69.993 0c4.12 0 6.274 1.108 8.174 2.085 1.645.847 2.945 1.515 5.823 1.515 2.88 0 4.18-.668 5.825-1.515C91.715 1.108 93.87 0 97.99 0c4.12 0 6.273 1.108 8.174 2.085 1.645.847 2.945 1.515 5.823 1.515 2.88 0 4.178-.668 5.824-1.515 1.9-.977 4.054-2.085 8.173-2.085 4.12 0 6.273 1.108 8.174 2.085 1.646.847 2.945 1.515 5.825 1.515 2.88 0 4.18-.668 5.826-1.515 1.9-.977 4.055-2.085 8.175-2.085 4.12 0 6.273 1.108 8.174 2.085 1.646.847 2.945 1.515 5.825 1.515 2.88 0 4.179-.668 5.824-1.515 1.9-.977 4.054-2.085 8.175-2.085 4.12 0 6.274 1.108 8.175 2.085 1.646.847 2.946 1.515 5.826 1.515 2.88 0 4.18-.668 5.826-1.515 1.9-.977 4.054-2.085 8.175-2.085 4.12 0 6.273 1.108 8.174 2.085 1.646.847 2.945 1.515 5.825 1.515 2.881 0 4.18-.668 5.827-1.515 1.9-.977 4.056-2.085 8.176-2.085 4.121 0 6.276 1.108 8.177 2.085 1.646.847 2.946 1.515 5.827 1.515s4.181-.668 5.828-1.515C259.718 1.108 261.873 0 265.995 0c4.121 0 6.275 1.108 8.177 2.084 1.645.848 2.946 1.516 5.828 1.516V9h-.007l-5.252-.793c-1.129-.382-2.056-.848-2.919-1.291-1.646-.847-2.946-1.516-5.827-1.516-2.882 0-4.183.669-5.829 1.516-1.9.977-4.056 2.084-8.177 2.084-4.12 0-6.275-1.107-8.176-2.084-1.647-.847-2.947-1.516-5.828-1.516-2.88 0-4.18.669-5.827 1.516-1.9.977-4.055 2.084-8.176 2.084-4.12 0-6.273-1.107-8.175-2.084-1.645-.847-2.944-1.516-5.824-1.516s-4.18.669-5.826 1.516c-1.9.977-4.055 2.084-8.175 2.084-4.12 0-6.275-1.107-8.176-2.084-1.644-.847-2.945-1.516-5.825-1.516-2.88 0-4.18.669-5.825 1.516-1.9.977-4.054 2.084-8.174 2.084-4.12 0-6.274-1.107-8.176-2.084-1.644-.847-2.943-1.516-5.823-1.516-2.88 0-4.18.669-5.826 1.516-1.9.977-4.054 2.084-8.175 2.084-4.12 0-6.274-1.107-8.174-2.084-1.646-.847-2.946-1.516-5.825-1.516s-4.179.669-5.824 1.516c-1.9.977-4.053 2.084-8.173 2.084s-6.273-1.107-8.173-2.084c-1.645-.847-2.945-1.516-5.824-1.516-2.88 0-4.179.669-5.824 1.516C90.265 7.893 88.11 9 83.99 9c-4.12 0-6.273-1.107-8.173-2.084-1.645-.847-2.944-1.516-5.824-1.516s-4.18.669-5.825 1.516C62.268 7.893 60.113 9 55.993 9c-4.12 0-6.274-1.107-8.174-2.084-1.645-.847-2.945-1.516-5.824-1.516-2.88 0-4.18.669-5.825 1.516C34.27 7.893 32.116 9 27.996 9c-4.12 0-6.273-1.107-8.174-2.084-1.645-.847-2.945-1.516-5.824-1.516s-4.179.669-5.824 1.516C7.311 7.359 1.127 8.618 0 9\"\/>\n<\/svg>\n\n<h2 class=\"block-title section-title\">\n  Related posts<\/h2>\n\n\n\n    <div>\n      <div class=\"related-posts\">\n                  <div class=\"related-post\">\n            <h3 class=\"related-post-title typography-title-m\">\n              <a href=\"https:\/\/codeandpepper.com\/insurance-technology-fintech\/\" title=\"Technologies for FinTech Industry\">\n                Technologies for FinTech Industry              <\/a>\n            <\/h3>\n                          <a class=\"related-post-thumbnail\" aria-label=\"Technologies for FinTech Industry\" href=\"https:\/\/codeandpepper.com\/insurance-technology-fintech\/\">\n                <img loading=\"lazy\" decoding=\"async\" width=\"360\" height=\"189\" src=\"https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/05\/Modern-FinTech-Industry.jpg\" class=\"attachment-blog-thumbnail size-blog-thumbnail wp-post-image\" alt=\"\" srcset=\"https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/05\/Modern-FinTech-Industry.jpg 864w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/05\/Modern-FinTech-Industry-768x400.jpg 768w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/05\/Modern-FinTech-Industry-192x100.jpg 192w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/05\/Modern-FinTech-Industry-720x375.jpg 720w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/05\/Modern-FinTech-Industry-432x225.jpg 432w\" sizes=\"auto, (max-width: 360px) 100vw, 360px\" \/>              <\/a>\n                        <p class=\"related-post-description typography-body-smaller\">\n              Insurance technology and other solutions for FinTech sector are rapidly growing. They will help develop and secure your application.            <\/p>\n            <a class=\"plus-link\" href=\"https:\/\/codeandpepper.com\/insurance-technology-fintech\/\">\n              <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"17\" height=\"17\" viewBox=\"0 0 17 17\">\n    <path d=\"M7 0h3v17H7z\"\/>\n    <path d=\"M17 7v3H0V7z\"\/>\n<\/svg>\n              <span>Full Article<\/span>\n            <\/a>\n          <\/div>\n                  <div class=\"related-post\">\n            <h3 class=\"related-post-title typography-title-m\">\n              <a href=\"https:\/\/codeandpepper.com\/blockchain-uses-who-is-using-blockchain-technology-today\/\" title=\"Who Uses Blockchain?\">\n                Who Uses Blockchain?              <\/a>\n            <\/h3>\n                          <a class=\"related-post-thumbnail\" aria-label=\"Who Uses Blockchain?\" href=\"https:\/\/codeandpepper.com\/blockchain-uses-who-is-using-blockchain-technology-today\/\">\n                <img loading=\"lazy\" decoding=\"async\" width=\"360\" height=\"189\" src=\"https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/09\/Who-is-Using-Blockchain.jpeg\" class=\"attachment-blog-thumbnail size-blog-thumbnail wp-post-image\" alt=\"who is using blockchain technology\" srcset=\"https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/09\/Who-is-Using-Blockchain.jpeg 864w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/09\/Who-is-Using-Blockchain-768x400.jpeg 768w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/09\/Who-is-Using-Blockchain-80x42.jpeg 80w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/09\/Who-is-Using-Blockchain-119x62.jpeg 119w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/09\/Who-is-Using-Blockchain-433x226.jpeg 433w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/09\/Who-is-Using-Blockchain-192x100.jpeg 192w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/09\/Who-is-Using-Blockchain-720x375.jpeg 720w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/09\/Who-is-Using-Blockchain-432x225.jpeg 432w\" sizes=\"auto, (max-width: 360px) 100vw, 360px\" \/>              <\/a>\n                        <p class=\"related-post-description typography-body-smaller\">\n              Not every company should use it. There are a list of big and small companies utilizing the technology. Find out how can you benefit.            <\/p>\n            <a class=\"plus-link\" href=\"https:\/\/codeandpepper.com\/blockchain-uses-who-is-using-blockchain-technology-today\/\">\n              <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"17\" height=\"17\" viewBox=\"0 0 17 17\">\n    <path d=\"M7 0h3v17H7z\"\/>\n    <path d=\"M17 7v3H0V7z\"\/>\n<\/svg>\n              <span>Full Article<\/span>\n            <\/a>\n          <\/div>\n                  <div class=\"related-post\">\n            <h3 class=\"related-post-title typography-title-m\">\n              <a href=\"https:\/\/codeandpepper.com\/software-development-process\/\" title=\"Software Development Process in 12 Steps\">\n                Software Development Process in 12 Steps              <\/a>\n            <\/h3>\n                          <a class=\"related-post-thumbnail\" aria-label=\"Software Development Process in 12 Steps\" href=\"https:\/\/codeandpepper.com\/software-development-process\/\">\n                <img loading=\"lazy\" decoding=\"async\" width=\"360\" height=\"189\" src=\"https:\/\/codeandpepper.com\/wp-content\/uploads\/2020\/01\/Code-Peppers-Development-Process-and-Approach.png\" class=\"attachment-blog-thumbnail size-blog-thumbnail wp-post-image\" alt=\"Software development process cover image\" srcset=\"https:\/\/codeandpepper.com\/wp-content\/uploads\/2020\/01\/Code-Peppers-Development-Process-and-Approach.png 1200w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2020\/01\/Code-Peppers-Development-Process-and-Approach-768x400.png 768w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2020\/01\/Code-Peppers-Development-Process-and-Approach-192x100.png 192w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2020\/01\/Code-Peppers-Development-Process-and-Approach-720x375.png 720w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2020\/01\/Code-Peppers-Development-Process-and-Approach-864x450.png 864w, https:\/\/codeandpepper.com\/wp-content\/uploads\/2020\/01\/Code-Peppers-Development-Process-and-Approach-432x225.png 432w\" sizes=\"auto, (max-width: 360px) 100vw, 360px\" \/>              <\/a>\n                        <p class=\"related-post-description typography-body-smaller\">\n              If you want to know what to expect from software development at Code &#038; Pepper, this is where you\u2019ll find the answers to many questions.            <\/p>\n            <a class=\"plus-link\" href=\"https:\/\/codeandpepper.com\/software-development-process\/\">\n              <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"17\" height=\"17\" viewBox=\"0 0 17 17\">\n    <path d=\"M7 0h3v17H7z\"\/>\n    <path d=\"M17 7v3H0V7z\"\/>\n<\/svg>\n              <span>Full Article<\/span>\n            <\/a>\n          <\/div>\n              <\/div>\n    <\/div>\n\n\n  <\/div>\n<\/section>\n\n<style type=\"text\/css\">\n  #related-posts-block_62906194729a7 {\n    background: ;\n    color: ;\n  }\n\n  #related-posts-block_62906194729a7 .block-title {\n    color: ;\n  }\n<\/style>","protected":false},"excerpt":{"rendered":"<p>A technology stack is a full set of technologies that companies use to build a digital product or run a project. In it, you have everything ranging from programming languages, frameworks, databases, frontend and backend tools to services accessed via an API. Code &amp; Pepper also has its technology stack. With it, you can quickly<a class=\"moretag\" href=\"https:\/\/codeandpepper.com\/our-technology-stack\/\"> Read the full article&#8230;<\/a><\/p>\n","protected":false},"author":20413,"featured_media":26440,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1647],"tags":[1603,173,1638],"class_list":["post-26221","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-development","tag-business-management","tag-software-development-process","tag-software-testing"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Technology Stack - What Is It? Technology at Code &amp; Pepper | Code &amp; Pepper<\/title>\n<meta name=\"description\" content=\"Decision on what technology stack to pick for your app is very important. At Code &amp; Pepper we offer scalable and performing technology set.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/codeandpepper.com\/our-technology-stack\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Technology Stack - What Is It? Technology at Code &amp; Pepper | Code &amp; Pepper\" \/>\n<meta property=\"og:description\" content=\"Decision on what technology stack to pick for your app is very important. At Code &amp; Pepper we offer scalable and performing technology set.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/codeandpepper.com\/our-technology-stack\/\" \/>\n<meta property=\"og:site_name\" content=\"Code &amp; Pepper\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/codeandpepper\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-10-14T06:08:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-05-27T05:35:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/10\/Technology-Stack.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"864\" \/>\n\t<meta property=\"og:image:height\" content=\"450\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jaros\u0142aw \u015aci\u015blak\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@codeandpepper\" \/>\n<meta name=\"twitter:site\" content=\"@codeandpepper\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jaros\u0142aw \u015aci\u015blak\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/codeandpepper.com\/our-technology-stack\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/codeandpepper.com\/our-technology-stack\/\"},\"author\":{\"name\":\"Jaros\u0142aw \u015aci\u015blak\",\"@id\":\"https:\/\/codeandpepper.com\/#\/schema\/person\/4d99a36115b17f10860637a13b3b3885\"},\"headline\":\"Technology Stack &#8211; What Is It? Technology at Code &#038; Pepper\",\"datePublished\":\"2021-10-14T06:08:36+00:00\",\"dateModified\":\"2022-05-27T05:35:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/codeandpepper.com\/our-technology-stack\/\"},\"wordCount\":3696,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/codeandpepper.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/codeandpepper.com\/our-technology-stack\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/10\/Technology-Stack.jpeg\",\"keywords\":[\"Business management\",\"Software development process\",\"Software testing\"],\"articleSection\":[\"Software Development\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/codeandpepper.com\/our-technology-stack\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/codeandpepper.com\/our-technology-stack\/\",\"url\":\"https:\/\/codeandpepper.com\/our-technology-stack\/\",\"name\":\"Technology Stack - What Is It? Technology at Code & Pepper | Code &amp; Pepper\",\"isPartOf\":{\"@id\":\"https:\/\/codeandpepper.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/codeandpepper.com\/our-technology-stack\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/codeandpepper.com\/our-technology-stack\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/10\/Technology-Stack.jpeg\",\"datePublished\":\"2021-10-14T06:08:36+00:00\",\"dateModified\":\"2022-05-27T05:35:51+00:00\",\"description\":\"Decision on what technology stack to pick for your app is very important. At Code & Pepper we offer scalable and performing technology set.\",\"breadcrumb\":{\"@id\":\"https:\/\/codeandpepper.com\/our-technology-stack\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/codeandpepper.com\/our-technology-stack\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/codeandpepper.com\/our-technology-stack\/#primaryimage\",\"url\":\"https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/10\/Technology-Stack.jpeg\",\"contentUrl\":\"https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/10\/Technology-Stack.jpeg\",\"width\":864,\"height\":450,\"caption\":\"Technology stack at Code and Pepper\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/codeandpepper.com\/our-technology-stack\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/codeandpepper.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Technology Stack &#8211; What Is It? Technology at Code &#038; Pepper\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/codeandpepper.com\/#website\",\"url\":\"https:\/\/codeandpepper.com\/\",\"name\":\"Code & Pepper\",\"description\":\"FinTech Developers\",\"publisher\":{\"@id\":\"https:\/\/codeandpepper.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/codeandpepper.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/codeandpepper.com\/#organization\",\"name\":\"Code & Pepper\",\"url\":\"https:\/\/codeandpepper.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/codeandpepper.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/codeandpepper.com\/wp-content\/uploads\/2019\/06\/logo.png\",\"contentUrl\":\"https:\/\/codeandpepper.com\/wp-content\/uploads\/2019\/06\/logo.png\",\"width\":319,\"height\":144,\"caption\":\"Code & Pepper\"},\"image\":{\"@id\":\"https:\/\/codeandpepper.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/codeandpepper\/\",\"https:\/\/x.com\/codeandpepper\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/codeandpepper.com\/#\/schema\/person\/4d99a36115b17f10860637a13b3b3885\",\"name\":\"Jaros\u0142aw \u015aci\u015blak\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/codeandpepper.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ab028da5fc780b19966f305918b0045520176e8bc7c265540adcce45ab2cd0c9?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ab028da5fc780b19966f305918b0045520176e8bc7c265540adcce45ab2cd0c9?s=96&d=mm&r=g\",\"caption\":\"Jaros\u0142aw \u015aci\u015blak\"},\"description\":\"Branding, marketing, business scaling, content &amp; company culture specialist. Over 20 years of experience in marketing, strategy, and writing. Learn more by visiting: scislak.com\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/jaroslawscislak\"],\"url\":\"https:\/\/codeandpepper.com\/author\/jarek-scislak\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Technology Stack - What Is It? Technology at Code & Pepper | Code &amp; Pepper","description":"Decision on what technology stack to pick for your app is very important. At Code & Pepper we offer scalable and performing technology set.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/codeandpepper.com\/our-technology-stack\/","og_locale":"en_US","og_type":"article","og_title":"Technology Stack - What Is It? Technology at Code & Pepper | Code &amp; Pepper","og_description":"Decision on what technology stack to pick for your app is very important. At Code & Pepper we offer scalable and performing technology set.","og_url":"https:\/\/codeandpepper.com\/our-technology-stack\/","og_site_name":"Code &amp; Pepper","article_publisher":"https:\/\/www.facebook.com\/codeandpepper\/","article_published_time":"2021-10-14T06:08:36+00:00","article_modified_time":"2022-05-27T05:35:51+00:00","og_image":[{"width":864,"height":450,"url":"https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/10\/Technology-Stack.jpeg","type":"image\/jpeg"}],"author":"Jaros\u0142aw \u015aci\u015blak","twitter_card":"summary_large_image","twitter_creator":"@codeandpepper","twitter_site":"@codeandpepper","twitter_misc":{"Written by":"Jaros\u0142aw \u015aci\u015blak","Est. reading time":"16 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/codeandpepper.com\/our-technology-stack\/#article","isPartOf":{"@id":"https:\/\/codeandpepper.com\/our-technology-stack\/"},"author":{"name":"Jaros\u0142aw \u015aci\u015blak","@id":"https:\/\/codeandpepper.com\/#\/schema\/person\/4d99a36115b17f10860637a13b3b3885"},"headline":"Technology Stack &#8211; What Is It? Technology at Code &#038; Pepper","datePublished":"2021-10-14T06:08:36+00:00","dateModified":"2022-05-27T05:35:51+00:00","mainEntityOfPage":{"@id":"https:\/\/codeandpepper.com\/our-technology-stack\/"},"wordCount":3696,"commentCount":0,"publisher":{"@id":"https:\/\/codeandpepper.com\/#organization"},"image":{"@id":"https:\/\/codeandpepper.com\/our-technology-stack\/#primaryimage"},"thumbnailUrl":"https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/10\/Technology-Stack.jpeg","keywords":["Business management","Software development process","Software testing"],"articleSection":["Software Development"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/codeandpepper.com\/our-technology-stack\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/codeandpepper.com\/our-technology-stack\/","url":"https:\/\/codeandpepper.com\/our-technology-stack\/","name":"Technology Stack - What Is It? Technology at Code & Pepper | Code &amp; Pepper","isPartOf":{"@id":"https:\/\/codeandpepper.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/codeandpepper.com\/our-technology-stack\/#primaryimage"},"image":{"@id":"https:\/\/codeandpepper.com\/our-technology-stack\/#primaryimage"},"thumbnailUrl":"https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/10\/Technology-Stack.jpeg","datePublished":"2021-10-14T06:08:36+00:00","dateModified":"2022-05-27T05:35:51+00:00","description":"Decision on what technology stack to pick for your app is very important. At Code & Pepper we offer scalable and performing technology set.","breadcrumb":{"@id":"https:\/\/codeandpepper.com\/our-technology-stack\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/codeandpepper.com\/our-technology-stack\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/codeandpepper.com\/our-technology-stack\/#primaryimage","url":"https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/10\/Technology-Stack.jpeg","contentUrl":"https:\/\/codeandpepper.com\/wp-content\/uploads\/2021\/10\/Technology-Stack.jpeg","width":864,"height":450,"caption":"Technology stack at Code and Pepper"},{"@type":"BreadcrumbList","@id":"https:\/\/codeandpepper.com\/our-technology-stack\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/codeandpepper.com\/"},{"@type":"ListItem","position":2,"name":"Technology Stack &#8211; What Is It? Technology at Code &#038; Pepper"}]},{"@type":"WebSite","@id":"https:\/\/codeandpepper.com\/#website","url":"https:\/\/codeandpepper.com\/","name":"Code & Pepper","description":"FinTech Developers","publisher":{"@id":"https:\/\/codeandpepper.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/codeandpepper.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/codeandpepper.com\/#organization","name":"Code & Pepper","url":"https:\/\/codeandpepper.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/codeandpepper.com\/#\/schema\/logo\/image\/","url":"https:\/\/codeandpepper.com\/wp-content\/uploads\/2019\/06\/logo.png","contentUrl":"https:\/\/codeandpepper.com\/wp-content\/uploads\/2019\/06\/logo.png","width":319,"height":144,"caption":"Code & Pepper"},"image":{"@id":"https:\/\/codeandpepper.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/codeandpepper\/","https:\/\/x.com\/codeandpepper"]},{"@type":"Person","@id":"https:\/\/codeandpepper.com\/#\/schema\/person\/4d99a36115b17f10860637a13b3b3885","name":"Jaros\u0142aw \u015aci\u015blak","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/codeandpepper.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ab028da5fc780b19966f305918b0045520176e8bc7c265540adcce45ab2cd0c9?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ab028da5fc780b19966f305918b0045520176e8bc7c265540adcce45ab2cd0c9?s=96&d=mm&r=g","caption":"Jaros\u0142aw \u015aci\u015blak"},"description":"Branding, marketing, business scaling, content &amp; company culture specialist. Over 20 years of experience in marketing, strategy, and writing. Learn more by visiting: scislak.com","sameAs":["https:\/\/www.linkedin.com\/in\/jaroslawscislak"],"url":"https:\/\/codeandpepper.com\/author\/jarek-scislak\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/codeandpepper.com\/wp-json\/wp\/v2\/posts\/26221","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/codeandpepper.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codeandpepper.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codeandpepper.com\/wp-json\/wp\/v2\/users\/20413"}],"replies":[{"embeddable":true,"href":"https:\/\/codeandpepper.com\/wp-json\/wp\/v2\/comments?post=26221"}],"version-history":[{"count":14,"href":"https:\/\/codeandpepper.com\/wp-json\/wp\/v2\/posts\/26221\/revisions"}],"predecessor-version":[{"id":36694,"href":"https:\/\/codeandpepper.com\/wp-json\/wp\/v2\/posts\/26221\/revisions\/36694"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/codeandpepper.com\/wp-json\/wp\/v2\/media\/26440"}],"wp:attachment":[{"href":"https:\/\/codeandpepper.com\/wp-json\/wp\/v2\/media?parent=26221"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codeandpepper.com\/wp-json\/wp\/v2\/categories?post=26221"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codeandpepper.com\/wp-json\/wp\/v2\/tags?post=26221"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}