diff --git a/static/techradar/radar.csv b/static/techradar/radar.csv index 4e740d1d..61cebf09 100644 --- a/static/techradar/radar.csv +++ b/static/techradar/radar.csv @@ -3,34 +3,47 @@ name,ring,quadrant,isNew,description TypeScript,adopt,languages and frameworks,false,"TypeScript provides an advanced type system on top of JavaScript. It also provides highly productive development tools for JavaScript IDEs and practices, like static checking. TypeScript makes code easier to read and understand." React,adopt,languages and frameworks,false,"Most of our frontend codebase is written in React. Arguably the safe choice." Svelte,adopt,languages and frameworks,true,"Some of our new frontend microservices are being written in Svelte. Many frontend engineers really seem to enjoy this." -AWS SAM,adopt,languages and frameworks,false,The AWS Serverless Application Model (SAM) is an open-source framework for building serverless applications. +AWS SAM,endure,languages and frameworks,false,The AWS Serverless Application Model (SAM) is an open-source framework for building serverless applications. "GitLab CI",adopt,platform,false,"GitLab CI is a powerful tool built into GitLab that allows us to apply various CI/CD (Continuous Integration, Delivery, and Deployment) strategies." "prettier",adopt,techniques,false,"We use prettier to lint and standardise code style across our projects" "Continuous Integration",adopt,techniques,false,"We use continuous integration pipelines to automate building, testing and analysis our codebase." "Continuous Deployment",adopt,techniques,false,"Each commit merged to the main branch is automatically deployed to production via a staging environment with automated e2e tests." "Datadog",adopt,platform,false,"We use Datadog as our central monitoring, observability and logging platform" +"Weaviate",explore,platform,true,"Vector database used for semantic search in GenAI workloads." "Terraform",adopt,languages and frameworks,false,"Terraform is the IaC solution of choice to manage the AWS environments. Re-usability is the central argument for adoption due to modular nature." "jest",adopt,tools,false,"Jest is a delightful JavaScript Testing Framework with a focus on simplicity." "vitest",adopt,tools,false,"A fast Vite-native testing framework. Only reruns the related changes, just like HMR for tests!" +"Vite",adopt,tools,true,"Modern frontend build tool and dev server with fast HMR." "Slack",adopt,tools,false,"Slack is used extensively as the communication tool, with experimental extensions for ChatOps." +"Claude Code",explore,tools,true,"Agentic coding assistant used for complex development tasks." +"Codex",explore,tools,true,"AI coding assistant for code generation and review workflows." +"LangChain",explore,tools,true,"Framework for building LLM-powered apps and retrieval pipelines." +"LangGraph",explore,tools,true,"Graph-based agent workflow framework (used in ai-agents-api/genai-foundation)." +"LangSmith",explore,tools,true,"LLM observability and evaluation tooling used in genai-foundation." "SDK",adopt,techniques,true,"We're building a public-facing SDK to help partners build on epilot" "Webhooks",explore,techniques,true,"We provide configurable webhooks to allow 3rd parties to subscribe to most epilot business events" "GitHub",explore,platform,false,"Our public open source SDK and libraries are hosted on GitHub." "AWS",adopt,platform,false,"AWS is the cloud provider of choice. The rich ecosystem for building serverless applications makes it a perfect fit for a SaaS solution." "AWS CDK",adopt,languages and frameworks,false,"AWS CDK is a software development framework for defining cloud infrastructure in code and provisioning it through AWS CloudFormation" +"SST",endure,languages and frameworks,true,"SST (Serverless Stack) is a framework for building and deploying serverless apps on AWS." "AWS Well-Architected Framework",adopt,techniques,false,"AWS Well-Architected helps cloud architects build secure, high-performing, resilient, and efficient infrastructure for their applications and workloads. See AWS Well-Architected" "Lambda",adopt,platform,false,"AWS Lambda is a serverless compute service that lets you run code without provisioning or managing servers, creating workload-aware cluster scaling logic, maintaining event integrations, or managing runtimes." "Step Functions",adopt,tools,false,"AWS Step Functions is a serverless function orchestrator that makes it easy to sequence AWS Lambda functions and multiple AWS services into business-critical applications." "Amazon EventBridge",adopt,tools,false,"Amazon EventBridge is a serverless event bus that makes it easy to connect applications together using data from your own applications, integrated Software-as-a-Service (SaaS) applications, and AWS services." "OpenAPI (Swagger)",adopt,languages and frameworks,false,"The OpenAPI Specification, originally known as the Swagger Specification, is a specification for machine-readable interface files for describing, producing, consuming, and visualizing RESTful web services." "GraphQL",adopt,languages and frameworks,false,"GraphQL is an open-source data query and manipulation language for APIs, and a runtime for fulfilling queries with existing data." -"Redux",endure,languages and frameworks,false,"Redux is an open-source JavaScript library for managing application state." "Storybook",adopt,tools,false,"Storybook is a tool for UI development. It makes development faster and easier by isolating components. This allows you to work on one component at a time. You can develop entire UIs without needing to start up a complex dev stack, force certain data into your database, or navigate around your application." +"ECharts",adopt,tools,true,"Charting library used in epilot360-highcharts for data visualizations." +"Biome",adopt,tools,true,"Fast formatter/linter for TypeScript/JavaScript." "Material UI",endure,languages and frameworks,false,"We use Material UI from Google as the basis of our design system and component libraries." +"Radix UI",explore,languages and frameworks,true,"Unstyled, accessible UI primitives for building custom component libraries." +"XYFlow (React Flow)",adopt,tools,true,"Graph/flow UI library used across epilot360 flows and editors." "Distributed Tracing",adopt,techniques,false,"We use correlation ids across our services to trace transactions within our distributed architecture." "DynamoDB",adopt,tools,false,"Amazon DynamoDB is a key-value and document database that delivers single-digit millisecond performance at any scale." "Elasticsearch",adopt,tools,false,"Elasticsearch is a distributed, RESTful search and analytics engine capable of addressing a growing number of use cases." "AWS Cognito",adopt,tools,false,"Amazon Cognito lets you add user sign-up, sign-in, and access control to your web and mobile apps quickly and easily." +"Amazon Bedrock",adopt,platform,true,"Managed foundation model service used in genai-foundation." +"Vertex AI",adopt,platform,true,"Google Vertex AI used via langchain-google-vertexai in genai-foundation." "single-spa",adopt,tools,false,"Single-SPA allows multiple frameworks in a single-page application, allowing you to split code by functionality with: Angular, React, Vue.js, etc." "Frontend Microservices",adopt,techniques,false,"The idea of Micro Frontends is to break down the frontend monolith into smaller, more manageable pieces, thus each team can own its own features." "RFCs",adopt,techniques,false,"RFCs are a transparent way to propose solutions, share knowledge and invite others in the company to collaborate on ideas. An RFC is a document describing a proposed approach for solving a problem." @@ -38,21 +51,19 @@ AWS SAM,adopt,languages and frameworks,false,The AWS Serverless Application Mode "Python",adopt,languages and frameworks,false,"Python is an interpreted high-level general-purpose programming language. Python's design philosophy emphasizes code readability with its notable use of significant indentation." "TanStack Query",adopt,languages and frameworks,false,"TanStack Query is a popular javascript library that offers hooks for fetching, caching and updating asynchronous data in React" "Jupyter Notebooks",explore,tools,false,"Jupyter Notebooks is an interactive programming environment great for exploring data e.g. for Business intelligence or prototyping" -"Snyk",endure,tools,true,"Snyk is a tool for automated security and vulnerability scanning." -"Data Lake",adopt,techniques,true,"We've built a Data Lake into our product leveraging AWS S3, Firehose, Glue, Redshift and more." "Jira",adopt,tools,false,"We use Atlassian JIRA for issue tracking and roadmap." "Confluence",adopt,tools,false,"We use Atlassian Confluence for internal product documentation and RFCs" -"Playwright",explore,tools,true,"We use Playwright test runner to run browser tests across multiple browsers and environments" -"msw",adopt,techniques,false,"MSW Mock service workers are used to mock backend APIs in tests" +"Corgea",adopt,tools,true,"Security/vulnerability scanning replacing Snyk." +"Playwright",adopt,tools,true,"We use Playwright test runner to run browser tests across multiple browsers and environments" "Mob Programming",adopt,techniques,false,"We use pairing mob programming and other teaming techniques in our product teams for effective remote work and knowledge sharing" "Monorepo",adopt,tools,false,"We use monorepos to ease our microservices development" "Turborepo",adopt,tools,false,"Our teams use Turborepo to set up their monorepos" +"pnpm",adopt,tools,true,"Fast, disk-efficient package manager used across multiple repos and CI workflows." "Lerna",endure,tools,false,"We initially used Lerna for monorepos, but since it's no longer maintained, we're switching to Turborepo" "Zod",adopt,tools,true,"We are using Zod for TypeScript-first schema validation with static type inference" "Tailwind CSS",adopt,languages and frameworks,false,"Tailwind CSS is an open-source CSS framework that allows users to rapidly build custom user interfaces." "CSS Modules",explore,languages and frameworks,true,"CSS modules are a CSS framework that allows you to write CSS classes and animations that are locally scoped by default." "TanStack Table",adopt,tools,true,"Headless UI for building powerful tables." "Handlebars",adopt,languages and frameworks,false,"Handlebars is extensively used on multiple projects to perform dynamic variable replacements on Document and Email Templates." -"Zustand",explore,languages and frameworks,false,"Zustand offers a robust and efficient state-management solution that simplifies setup by eliminating unnecessary boilerplate." "Speakeasy",adopt,tools,true,"API tooling for robust SDKs, Terraform Providers and End to End Testing. OpenAPI Native." "OpenAPI Stack",adopt,tools,false,"Collection of open source libraries and tools for full stack Typescript development inspired by modern alternatives like GraphQL and tRPC."