The stack we build on
Everything below is a tool Magic Ship works with on real client work. This is not a partner directory and it is not a list of logos we like: it is what one shop in Vancouver, BC, reaches for, grouped by the job it does.
There are 51 of them. Each has a page saying what it is, how we use it, and where it is the wrong choice. The last part is the one worth reading.
Product names and trademarks belong to their owners. Naming a tool here implies no partnership, certification, or endorsement in either direction.
Model providers
The labs whose models we call, hosted or run on hardware you own.
- ClaudeAnthropicAnthropic's models, and our default for agent work.
- GeminiGoogleLong-context models, and the default inside Google Cloud.
- LlamaMetaOpen-weight models you can run inside your own network.
- MistralMistral AIEuropean model vendor with strong open-weight releases.
- OllamaOllamaRun open-weight models locally with one command.
- GPTOpenAIOpenAI's models and the API most tooling assumes.
- vLLMvLLM projectServing stack for open-weight models on your own GPUs.
Agent frameworks
The harnesses that turn a model into something that takes actions.
- Claude Agent SDKAnthropicAnthropic's harness for agents that run tools in a loop.
- Claude CodeAnthropicTerminal coding agent that works in a real checkout.
- LangGraphLangChainAgents written as an explicit state graph.
- Model Context ProtocolAnthropicOpen standard for giving models tools and context.
- Pydantic AIPydanticTyped agent framework from the Pydantic maintainers.
- AI SDKVercelOne TypeScript interface across model providers.
Retrieval and vector
Ingestion, indexing, and search over a company's own documents.
- ElasticsearchElasticLexical search engine that also stores vectors.
- LlamaIndexLlamaIndexIngestion and retrieval plumbing for document corpora.
- pgvectorpgvectorVector search as a Postgres extension.
- PineconePineconeManaged vector database with nothing to operate.
- QdrantQdrantVector database built for filtered search at scale.
- UnstructuredUnstructuredTurn PDFs and office documents into clean chunks.
- WeaviateWeaviateOpen-source vector database with hybrid search built in.
Data and backend
The databases, languages, and services under everything we ship.
- Drizzle ORMDrizzle TeamTypeScript query builder that stays close to SQL.
- FastAPIFastAPITyped Python web framework with generated OpenAPI.
- PostgreSQLPostgreSQL Global Development GroupThe default database under almost everything we build.
- PrismaPrismaSchema-first TypeScript ORM with generated types.
- PythonPython Software FoundationWhere the model, data, and document libraries live.
- RedisRedisIn-memory store for caches, queues, and rate limits.
- SupabaseSupabasePostgres with auth, storage, and APIs attached.
- TypeScriptMicrosoftTypes across the product, Node services included.
Application and frontend
The interfaces people actually touch, and what we build them with.
- AstroAstro Technology CompanyStatic-first web framework for content sites.
- Next.jsVercelReact framework for apps with server-rendered routes.
- ReactMetaThe component model the rest of the stack assumes.
- shadcn/uishadcn/uiCopy-in React components you own after install.
- Tailwind CSSTailwind LabsUtility classes so styling stays next to the markup.
Evaluation and observability
How we tell whether a change made the system better or worse.
- LangfuseLangfuseTracing and eval storage for LLM applications.
- OpenTelemetryCloud Native Computing FoundationVendor-neutral traces, metrics, and logs.
- PlaywrightMicrosoftBrowser automation for tests and for real verification.
- PromptfooPromptfooConfig-driven evals and red-teaming for prompts.
- SentrySentryError tracking with the stack trace and the release.
Infrastructure and deploy
Where the code runs, and how it gets there.
- AWSAmazonThe cloud many clients have already standardized on.
- Cloudflare TunnelCloudflarePublish a private service without opening a port.
- Cloudflare WorkersCloudflareEdge runtime for APIs, webhooks, and small services.
- DockerDocker, Inc.The same stack on a laptop, in CI, and in production.
- Fly.ioFly.ioRun containers close to users without cloud paperwork.
- GitHub ActionsGitHubCI that runs the same checks a developer runs locally.
- VercelVercelDeploy target that matches how Next.js is built.
Automation and integration
Workflow tools and the APIs of the systems a client already runs.
- Linear APILinearGraphQL API and webhooks for issue tracking.
- n8nn8nSelf-hostable workflow automation with a code escape hatch.
- Notion APINotionRead and write Notion pages and databases from code.
- Slack APISlackWhere an internal tool meets the people using it.
- TemporalTemporal TechnologiesDurable workflows that survive crashes and restarts.
- ZapierZapierFast glue between SaaS tools nobody has to host.
Checking our stack against yours
If the thing you are building runs on something above, say so and we can skip the introductions. If it runs on something we have never touched, say that too - it is a shorter conversation either way.
Start a project