Skip to content

Tech Stack

This page documents the core technologies, frameworks, and services that make up the Inkblot tech stack. The stack is built around a modern, performant, headless architecture optimised for content-driven websites.

TechnologyPurpose
AstroPrimary web framework. Used for static site generation (SSG) and server-side rendering (SSR). Component-based architecture with support for multiple UI frameworks.
HTML / CSS / JavaScriptCore web technologies. Astro components use standard HTML and CSS with scoped styles.
TypeScriptUsed for type-safe development, particularly in Sanity schema definitions and Astro components where strict typing adds value.
Tailwind CSSUtility-first CSS framework, used on select projects for rapid styling.

Astro is chosen for its performance-first approach. It ships zero JavaScript by default, generates static HTML where possible, and supports partial hydration (“islands architecture”) for interactive components. This results in extremely fast page loads, strong SEO, and a great content editing experience when paired with Sanity.

Inkblot primarily builds content-driven websites rather than complex backend applications. Where server-side logic is needed:

TechnologyPurpose
Astro SSRServer-side rendering for dynamic pages, API routes, and form handling
Sanity GROQQuery language for fetching content from Sanity — runs server-side during build or at request time
Vercel Serverless FunctionsLightweight server-side logic for form submissions, webhooks, and integrations
TechnologyPurpose
SanityPrimary headless CMS. Provides structured content modelling, real-time collaborative editing, and a powerful query API (GROQ). Each project gets its own Sanity Studio and dataset.
  • Studio — Custom-built content editing interface, deployed per project
  • Dataset — Content storage, one per project (production dataset, plus optional development datasets)
  • GROQ — Sanity’s query language, used to fetch content in Astro pages and components
  • Portable Text — Rich text format used by Sanity that allows structured, customisable rich content
ServicePurpose
VercelPrimary hosting platform. Handles builds, deployments, CDN, SSL, and preview environments. Connected to GitHub for automatic deployments on push.
GitHubVersion control and code collaboration. All project repositories are hosted under the Inkblot GitHub organisation.
Custom domainsClient domains are pointed to Vercel via DNS (CNAME or A records). SSL is automatically provisioned by Vercel.
Code Push → GitHub → Vercel Build → CDN Distribution → Live Site
  • Every push to main triggers a production deployment
  • Every pull request gets an automatic preview deployment
  • Build times are typically under 2 minutes for most projects
ServicePurpose
Google AnalyticsWebsite analytics and traffic tracking (used on select client projects)
ClickUpProject management, time tracking, and internal knowledge management
Google DriveFile storage and document collaboration
FigmaDesign tool — designs are referenced during development via Figma Dev Mode
SlackInternal team communication

Recommended local setup for developers:

  • Editor: VS Code with recommended extensions (Astro, ESLint, Prettier, Tailwind CSS IntelliSense)
  • Node.js: LTS version (check .nvmrc or package.json for project-specific requirements)
  • Package manager: npm (default with Astro projects)
  • Git: Latest stable version
  • Browser: Chrome (primary testing), plus Firefox and Safari for cross-browser testing