Stack & toolchain

What we build with.

Shipped in production. Picked for the constraint, not the trend.

Quick answer

What technologies does Seypro use? Seypro builds with React, Next.js, Vue, Nuxt, TypeScript, Node.js, and Python. Databases include PostgreSQL, MongoDB, and Redis. Infrastructure runs on AWS, Vercel, and Cloudflare with Docker containerization. AI integrations use OpenAI, Anthropic Claude, Google Gemini, AWS Bedrock, and Mistral AI with Ollama for private deployments. The full stack runs in production — see the MERJ Exchange case study for a concrete example.

Frontend

Interface technology follows rendering needs, product complexity, accessibility, and the client team that will maintain it.

React

Default for complex SPAs and projects requiring a large component ecosystem. Used when client teams already work in React or when Next.js SSR is needed.

Next.js

React metaframework for SEO-critical applications, static sites with dynamic sections, and projects that benefit from server components and edge rendering.

Vue.js

Preferred for rapid prototyping, admin dashboards, and projects where faster onboarding matters. Declarative templates and fine-grained reactivity keep components readable as state complexity grows.

Nuxt

Vue metaframework for full-stack applications with SSR/SSG. Chosen when Vue is the base and we need file-based routing, server routes, and SEO out of the box.

TypeScript

Used across current JavaScript projects to improve refactoring confidence and make application contracts explicit.

Tailwind CSS

Used where utility-first styling supports the project’s design-system and maintenance needs.

Backend

Runtime and framework selection is a first-week architecture call — driven by workload type, existing infrastructure, and throughput requirements, not by convention.

Node.js

Primary runtime for most web backends. Non-blocking I/O makes it ideal for API servers, real-time applications, and microservices with high concurrency.

Python

Used for data-heavy workloads, ML pipelines, scripting, and automation. First choice when the project involves AI/ML integration or scientific computing.

NestJS

TypeScript-first Node.js framework for enterprise backends. Chosen when projects need strict architectural patterns, dependency injection, and built-in module organization.

Express

Lightweight HTTP framework for simple APIs, webhooks, and middleware-heavy services. Used when NestJS would be overkill.

Databases

Start with the query pattern and consistency guarantee, then pick the store. SQL for transactional systems. Document when schema flexibility matters. Often both.

PostgreSQL

Default relational database. Used for transactional systems, complex queries, and anything requiring ACID compliance. Supports JSON columns, full-text search, and pgvector for embeddings.

MongoDB

Document store for content-heavy applications, flexible schemas, and rapid iteration phases. Chosen when data is naturally hierarchical or schema evolution is frequent.

Redis

In-memory store for caching, session management, rate limiting, and pub/sub messaging. Used alongside primary databases, not as a replacement.

Cloud & Infrastructure

Infrastructure decisions follow latency requirements, operational maturity, and delivery pace — not cloud logo preference.

AWS

Primary cloud for enterprise workloads. EC2, ECS, Lambda, S3, RDS, SQS. Chosen when projects need fine-grained infrastructure control or specific managed services.

Vercel

Deployment platform for Next.js and Nuxt applications. Zero-config CI/CD, edge functions, and preview deployments. Used when fast iteration matters more than infrastructure control.

Cloudflare

CDN, DDoS protection, DNS, and Workers for edge compute. Applied to nearly every production deployment for performance and security.

Docker

Containerization for all backend services. Ensures environment parity from development to production. Used with Docker Compose locally, ECS or Kubernetes in production.

AI & Machine Learning

We have shipped AI features across trading platforms and compliance tooling. Model selection is a technical call: task type, latency budget, data residency, and cost per inference.

OpenAI

Managed models for generation, extraction, classification, and tool-assisted workflows when the provider and data-processing terms fit the use case.

Anthropic Claude

Managed models used for document analysis, generation, and tool-assisted workflows after evaluation against the task and data boundary.

Google Gemini

Managed multimodal models considered for document, image, and large-context workloads where their evaluated behavior fits the task.

AWS Bedrock

Managed AI platform for enterprise deployments. Access to multiple foundation models with VPC isolation, fine-tuning, and IAM-based access control. Chosen for regulated environments.

Mistral AI

Open-weight models for private deployment. Strong reasoning at lower cost. Preferred when EU data residency matters or when fine-tuning on proprietary data.

Ollama

Local LLM runtime for running Llama, Mistral, and Qwen models on-premise. Used when data cannot leave the client environment or for development and testing.

pgvector

PostgreSQL extension for vector similarity search. Used for RAG pipelines and semantic search when the dataset fits in Postgres without needing a separate vector database.

Perplexity

AI-powered search API for building research and information retrieval features. Used when applications need real-time web-grounded answers with citations.

DevOps & CI/CD

Delivery pipelines, automated checks, monitoring, and rollback are selected according to the system’s risk and operating model.

GitHub Actions

CI/CD for all repositories. Runs linting, type checking, tests, and deployments on every push. Branch protection ensures nothing merges without passing checks.

Automated Testing

Vitest for unit tests, Playwright for E2E. Coverage thresholds enforced in CI. Testing strategy depends on project risk profile — critical paths always covered.

Monitoring & Observability

Sentry for error tracking, Datadog or Grafana for metrics and logs. Alerts configured for error rate spikes, latency thresholds, and resource exhaustion.

The stack follows the problem.

Bring your technology requirements or existing constraints and we scope around them. No requirements yet? We make the call and explain the reasoning.

Building for a regulated environment? See our regulated systems engineering practice.