← BlokxRaw markdown

Blokx — technology stack

High-level map of what I use and what it's for.


Application platform

WhatTechnologyPurpose
LanguageTypeScript (strict)Type-safe UI, API routes, and shared logic end to end
RuntimeNode.js 20.9+Executes server-side code, local dev server, installs, and production builds (minimum required by this Next.js major)
UI libraryReact 19Components, state, and interactivity
Web frameworkNext.js 16 (App Router)Routing, rendering, API routes, and production builds
Package managernpmDependencies and scripts

Editor

WhatTechnologyPurpose
Rich text / blocksTipTap 3 (ProseMirror)Notion-style editing: paragraphs, headings, lists, tasks, tables, callouts, images, links, typography, and drag affordances supported by the product

Backend, data, and security

WhatTechnologyPurpose
DatabasePostgreSQL (via Supabase)Workspaces, page tree, and block document data
AuthenticationSupabase AuthSign-in and session identity used by the app and database
AuthorizationRow Level Security (RLS)Postgres policies so users only read/write their own workspace data; enforced at the database, not only in app code
Live updatesSupabase RealtimeKeeps open documents in sync when data changes on the server
File hostingSupabase StorageDurable URLs for assets such as imported images; bucket access controlled with storage policies (e.g. public read where needed, authenticated writes)
MigrationsVersion-controlled SQLSchema and policy definitions you apply to your Supabase project

Styling and visual design

WhatTechnologyPurpose
Styling systemTailwind CSS 4Layout, spacing, colors, and responsive behavior
Component layershadcn/ui (owned source)Accessible, Tailwind-styled primitives (Button, Input, Label, Textarea, Dialog, AlertDialog, DropdownMenu, Tooltip, Popover) copied into src/components/ui so we can customize them freely
Accessibility primitivesRadix UIHeadless, WAI-ARIA-compliant behavior for dialogs, menus, tooltips, and popovers underneath shadcn/ui
Toast notificationsSonnerStacked toasts with built-in light/dark theming, replacing the hand-rolled toast provider
TypographyGeistPrimary sans and monospace fonts
IconsLucideIcon set used across the UI

Integrations

WhatTechnologyPurpose
Notion importNotion REST API (versioned)Optional one-way import from Notion into Blokx; Notion is not required to use the app

Client experience and analytics

WhatTechnologyPurpose
Browser storageIndexedDBClient-side caching for snappier loads and resilience when offline or reconnecting
Product analyticsVercel AnalyticsAggregate, privacy-oriented usage in production on Vercel

Quality and standards

WhatTechnologyPurpose
LintingESLint 9 with Next.js presetsCatches common issues and keeps TypeScript/React usage consistent

Hosting

WhatTechnologyPurpose
HostingVercelProduction hosting, preview deployments, and the analytics integration above