DIGITAL ARCHIVES · DH PORTAL

Digital Archives & DH Tech Portal

A portal aggregating tech resources — articles, videos, tutorials, and projects — on Digital Archives and Digital Humanities

Explore

Jump into whichever section fits what you're after.

Latest Articles

View all →

🗺️Notes from migrating an aggregation- and search-heavy app's data layer from Firestore to Postgres (Neon)

Notes on migrating the data layer of a map-based literary archive app from Firestore to Postgres (Neon) + Drizzle. Covers why we hit read-based billing limits, and how the question of fit looks once you frame it in terms of the workload shape: aggregation, faceting, and full-text search.

firestorepostgresneondrizzle

🔁Pitfalls of redirecting all paths to an external domain with vercel.json

A walkthrough of moving a Next.js (output: 'export') site from Vercel to GitHub Pages and turning the Vercel deployment into a redirect-only surface via vercel.json. Documents five or six attempts that failed for non-obvious reasons (framework detection, output validation, path-to-regexp quirks around trailing slashes) and the final config that actually works.

vercelnextjsgithub-pagesredirect

🔍Next.js 16: useRouter().push() silently no-ops in production — pushState workaround

Notes on a Next.js 16 + next-intl app where useRouter().push() silently becomes a no-op only in production builds, breaking interactivity on a search page, and a history.pushState + popstate workaround that restores it.

nextjsnext-intlreactdebugging

🔑An Upload-Only, Least-Privilege Key via Bucket Policy on DDN EXAScaler Access S3

A record of preparing an upload-only, least-privilege access key on the S3-compatible DDN EXAScaler Access S3. It covers how the bucket policy format differs from AWS and how to narrow down signature and permission issues.

s3ddnexascalerbucket-policy

📚DH Weekly Topics — 2026年5月24日週

DH Weekly Topics — 2026年5月24日週

dh-weeklydigitalhumanitiesデジタルアーカイブocr

📜Porting Kuzushiji Character Detection and Classical-Japanese OCR to JS/Next.js Without Python — ONNX Quantization and Library Extraction

A record of porting kuzushiji/historical-document character detection (YOLOv11) and NDL's koten-OCR-Lite (RTMDet + PARSeq) to JS/Next.js with onnxruntime-node — no Python. Covers ONNX export, SAHI, line detection, an int8 quantization accuracy comparison, why it is hard to run on Vercel, and extracting the core into a shared library.

kuzushijiocronnxonnxruntime