Dinsor About Technology

Technology

Notes on the stack behind these sites — what I reach for now, and why it stays enjoyable to ship with.

The default stack

Most new work lands on the same small set of tools. Astro for the site, TypeScript everywhere it matters, Tailwind CSS for styling, and React only where the UI actually needs a client runtime. Hosting is static assets on S3, a CloudFront edge, and AWS CDK for the whole surface — DNS, certificates, CDN, and deploy in one language.

That’s the shape of this site, The Lucid Lens, Falling Tree Studio, Timezone Guru, Visa Cheat Sheet, and several others. Same ideas, different content.

Astro

Astro is the centre of gravity now. Content and portfolio sites want real HTML in the first response, clean metadata, and as little JavaScript as you can get away with. Astro delivers that without ceremony: file-based routes, content collections, image pipelines, and a build that stays fast as the site grows.

The island model is the part I love. Most of the page is static. When a gallery lightbox, a geometry playground, or a meeting comparator needs interactivity, you mount a small island and leave the rest alone. Ship less JS by default; keep the clever bits where they earn their keep. For SEO and time-to-interactive on a portfolio, that split is hard to beat.

React, when it counts

React still wins for rich UI. Hooks made it a joy: useState, useEffect, and custom hooks for logic you want to reuse without inventing a framework. On Astro sites, React shows up as islands — Lucid Geometry’s 3D playground is a good example — not as a full-page SPA tax.

For denser apps I still reach for solid component systems. HeroUI gives polished, accessible React components with strong TypeScript support out of the box. shadcn/ui is wonderful when you want ownership of the code: copy the components in, restyle with Tailwind, keep full control. Older projects still run happily on Chakra UI — cohesive tokens, great accessibility, and a theme system that stays coherent as the app grows. I don’t rewrite working software for fashion; Chakra earned its place on those codebases.

TypeScript & Tailwind

TypeScript is non-negotiable for anything that will live longer than a weekend. IntelliSense, safe renames, and compile-time catches make ambitious UIs feel calm. Gradual typing means you can move fast early and tighten types as the design settles — the best of static and dynamic without the drama.

Tailwind is how most new UI gets styled. Utility classes keep design decisions next to the markup, purge cleanly, and make pixel-sensitive layouts faster than hunting through CSS files. On this site the visual system is Kami: parchment canvas, ink-blue accent, serif headings.

AI in the product

AI shows up where it removes friction, not as decoration. Brand and theme tools use assistants to ideate names, domains, and palettes; news and research surfaces use models to help structure and explore large corpora. Anthropic Claude has been an excellent partner for those product surfaces — careful defaults, strong instruction following, and APIs that fit cleanly behind a small backend.

Lucid Musician goes further: a custom harmony model trained on centuries of composition, with PyTorch in the training loop and ONNX when you need portable inference. The marketing site is Astro; the interesting bit is the model and the plugin.

Audio plugins

Desktop audio is a different world. JUCE is the serious toolkit for cross-platform plugins — VST, AU, the hosts musicians actually open. The DSP and host integration are first-class. You still pay the C++ tax for real-time audio, and that’s fine: the alternative is plugins that never load. Where it helps, Rust joins the pipeline for safer systems code around the edges of that stack. JUCE is excellent; shipping something a DAW will load is the goal.

Cloud & infrastructure

AWS is home base: S3 for static hosting and files, CloudFront for the CDN, Route 53 for DNS, Certificate Manager for TLS, Lambda when something needs to run without a server to babysit, and DynamoDB when a simple, fast data store is enough. A little Azure appears where enterprise identity needs it.

AWS CDK is how infrastructure stays sane. Real language bindings mean type safety, modules, and the same review habits as application code. IAM permissions, DNS, certificates, CloudFront, and S3 deployments live in one stack — domain, cert, CDN, and deploy as a single story. Invalidating the edge when content ships is part of that story, not an afterthought.

AWS Amplify is still a pleasure when a product needs auth, APIs, and storage without assembling every piece by hand. Under the covers it’s CDK, AppSync, API Gateway, Cognito, DynamoDB — the boring reliable building blocks, wired so you can focus on the product.

Docs & older friends

Baremetal Help is Docusaurus — still one of the best ways to ship versioned technical docs with search and a structure readers understand. Not every site needs a custom design system; sometimes you want a documentation engine that already solved navigation and MDX.

A few long-lived apps still run on Gatsby and Chakra — Brand Boffin, Chakra Themes, Retire Guru among them. Gatsby taught a generation of React sites how to be fast and SEO-friendly; those codebases still work. New greenfield work prefers Astro for lighter defaults, and I migrate as I touch things — without scorning the tools that already serve people well.

Build tooling

Vite made front-end builds feel modern again: native ES modules in dev, reliable HMR, and production builds measured in a breath rather than a coffee break. Astro sits on that ecosystem; standalone React apps use it directly. Either way, the feedback loop stays tight enough that design exploration stays fun.

Principles

Prefer static where static is enough. Add a runtime only when the interaction needs it. Keep infrastructure in code next to the app. Use AI to remove drudgery, not to obscure the product. Choose boring cloud pieces that scale quietly. And leave room for craft — photography sites, furniture galleries, and music tools deserve the same engineering care as the “serious” apps.

If you want the human side of this story, it’s on the about page. If you want to see the output, the homepage portfolios are the demo.

Contact

Email dinsor@dinsor.org

Scan to start chat

QR code

Open the app and scan this code.