Technologies
Deliberately boring where it counts
We default to well-understood tools with large communities and long support horizons, and spend the novelty budget where your product actually differentiates.
Selection principles
How we decide what to build with
Your team comes first
The best stack is one your engineers can operate after we leave. Existing skills and hiring market outweigh technical elegance.
Support horizon matters
We avoid tools that will be unmaintained in three years. A dependency without a security update path is a liability.
One novel thing at a time
New database, new language and new deployment model in one project is how a delivery date slips. We change one at a time.
Reversible choices first
Where a decision is hard to undo, we spend longer on it. Where it is cheap to change, we decide quickly and move on.
Capabilities
What we build with, and why
Each entry includes the reason it is on the list. If a tool is here only because it is popular, it should not be.
Frontend
Interfaces built for performance, accessibility and long-term maintainability.
- TypeScript
- Default for all new frontend work
- React
- Primary component library
- Next.js
- App Router with React Server Components
- Remix
- Where a web-standards-first model fits better
- Vue and Nuxt
- Supported for existing Vue codebases
- Tailwind CSS
- Token-driven styling with design systems
- Storybook
- Component documentation and visual review
Backend
Services designed around clear boundaries, typed contracts and operational visibility.
- Node.js
- With NestJS or Fastify for structured services
- Python
- FastAPI and Django for APIs and data work
- Go
- For high-throughput and latency-sensitive services
- .NET
- For enterprise and existing Microsoft estates
- Java and Spring Boot
- Common in modernization engagements
- GraphQL
- Where multiple clients need flexible querying
- Temporal
- Durable execution for long-running workflows
Mobile
Cross-platform by default, native where the product genuinely requires it.
- React Native
- Shared codebase with native modules where needed
- Expo
- Faster delivery and over-the-air updates
- Flutter
- Where a single rendering engine is preferred
- Swift
- Native iOS for platform-intensive products
- Kotlin
- Native Android for platform-intensive products
AI and machine learning
Model-agnostic engineering with evaluation and guardrails as standard.
- Anthropic Claude
- Reasoning, extraction and agentic workflows
- OpenAI
- General-purpose generation and embeddings
- Google Gemini
- Multimodal and long-context workloads
- Open-weight models
- Llama and Mistral for self-hosted deployments
- pgvector and Qdrant
- Vector search alongside relational data
- LangGraph
- Structured agent and workflow orchestration
- Langfuse and OpenTelemetry
- Tracing, evaluation and cost telemetry
Data
Pipelines and warehouses with tested transformations and monitored quality.
- PostgreSQL
- Default relational database
- ClickHouse
- High-volume analytical workloads
- Snowflake and BigQuery
- Managed cloud warehousing
- dbt
- Version-controlled, tested transformations
- Airflow
- Scheduled orchestration
- Kafka and Debezium
- Streaming and change data capture
- Redis
- Caching, queues and rate limiting
Cloud and infrastructure
Everything defined in code, reproducible from a clean account.
- AWS
- Primary cloud for most engagements
- Google Cloud
- Strong fit for data and ML workloads
- Azure
- For Microsoft-centric enterprise estates
- Terraform
- Infrastructure as code across providers
- Kubernetes
- Where workload complexity justifies it
- Vercel and Cloudflare
- Edge delivery for web workloads
- Docker
- Consistent environments from laptop to production
Quality and security
Automated checks that make releases routine rather than eventful.
- Playwright
- End-to-end testing across browsers and devices
- Vitest and Jest
- Unit and component testing
- k6
- Load and performance testing
- axe-core
- Automated accessibility checks in CI
- Semgrep and Snyk
- Static and dependency analysis
- Trivy
- Container and image scanning
- Lighthouse CI
- Performance budgets enforced on every build
Staffing
Roles we staff across these stacks
- React and Next.js Developers
- Full-Stack Developers
- AI Engineers
- Python Developers
- Mobile Developers
- Data Engineers
- DevOps Engineers
- QA Automation Engineers
- UI/UX Designers
- Solution Architects
Questions
Questions about our technology choices
Start a conversation
Have an existing stack you want reviewed?
We will look at what you run today and give you a straight assessment — including where the honest answer is to leave it alone.
Prefer email? contact@xalicon.co