jeanrojas.com

Footer

jeanrojas.com

Boosting remote teamwork and improving systems architecture focusing on team communication patterns.



jrojastechnology@gmail.com
+1 (929) 2245443

Links

  • About
  • Experience
  • Blog
  • Contact

Social

  • Github
  • Codepen
  • Linkedin
  • Twitter
  • Behance
  • Quora
  • AdpList

Subscribe to my newsletter

The latest news, articles, and resources, sent to your inbox weekly.

© Jeanrojas.com All rights reserved.

← All articles

May 4, 2026 · 1 min read

Welcome to the new blog

A short tour of the new MDX-powered writing setup, complete with syntax-highlighted code blocks rendered by Shiki at build time.

On this page

This site now uses an MDX-based blog system. Every post lives in content/blog/*.mdx, and the rendering pipeline is wired up through @next/mdx + rehype-pretty-code. The result: zero client-side JavaScript for syntax highlighting, perfect dark/light theming, and full Markdown + Github-flavored Markdown support — including tables, footnotes, and task lists.

Why MDX

MDX lets me mix prose and React components in the same file. So I can drop in an interactive widget mid-article without leaving Markdown behind.

components/example.tsx
import { useState } from "react";
 
export function Counter({ start = 0 }: { start?: number }) {
  const [count, setCount] = useState(start);
  return (
    <button
      onClick={() => setCount((c) => c + 1)}
      className="rounded bg-stone-900 px-3 py-1 text-white"
    >
      Clicked {count} times
    </button>
  );
}

Highlighted lines and inline code

You can call out specific lines by appending {1,3-4} to the language hint, mention a token like useEffect inline, or highlight a phrase with /useState/:

import { useEffect, useState } from "react";
const [value, setValue] = useState("");
useEffect(() => console.log(value), [value]);

Tables and task lists work too

FeatureStatus
Frontmatter✅
Reading time✅
Per-post OG images✅
RSS feed✅
JSON-LD BlogPosting✅
  • Set up MDX
  • Add syntax highlighting
  • Write the next post

Good engineering writing is just code review with more context.

That's it for now — more soon.

Comments

Tags in this post

  • #meta
  • #next.js
  • #mdx

Keep reading

  • Making AI feel realtime with hybrid segmentation

    Segmentation is the substrate for nearly every AI photo workflow worth shipping in 2026 — inpainting, object swaps, controlled generation. Here is how to make it feel instant on the web by splitting SAM2 across a notebook on the user's hardware and a decoder in their browser.

    23 min · May 5, 2026

  • A design file you can diff is harder than it sounds

    Why readable FNX was not enough: Fanta's 25,311-line diff, overwritten source edits, and the move to project files as the authority.

    6 min · Sep 30, 2026

  • What 40,000 nodes taught us about Fanta's canvas

    We opened a 128 MB, 40,141-node Figma file in Fanta, then followed the copies, image decodes, saves, and agent responses that made large designs hard to use. Here are the measurements and the work still left.

    7 min · Sep 30, 2026

All tags

  • #ai
  • #blender
  • #build-in-public
  • #cubemap
  • #design-tools
  • #diamond
  • #environment-art
  • #expo
  • #fanta
  • #file-formats
  • #git
  • #graphics
  • #houdini
  • #huggingface
  • #image-generation
  • #licensing
  • #macos
  • #mdx
  • #meta
  • #next.js
  • #ocr
  • #onnx
  • #open-source
  • #pdf
  • #performance
  • #procedural
  • #python
  • #r3f
  • #ray-tracing
  • #react-native
  • #rendering
  • #replicate
  • #revenuecat
  • #rust
  • #sam2
  • #segmentation
  • #shaders
  • #shipaton
  • #technical-art
  • #three.js
  • #vercel
  • #wasm
  • #web-worker
  • #webgl
  • #webgpu
← Back to all articles

Tags in this post

  • #meta
  • #next.js
  • #mdx

Keep reading

  • Making AI feel realtime with hybrid segmentation

    Segmentation is the substrate for nearly every AI photo workflow worth shipping in 2026 — inpainting, object swaps, controlled generation. Here is how to make it feel instant on the web by splitting SAM2 across a notebook on the user's hardware and a decoder in their browser.

    23 min · May 5, 2026

  • A design file you can diff is harder than it sounds

    Why readable FNX was not enough: Fanta's 25,311-line diff, overwritten source edits, and the move to project files as the authority.

    6 min · Sep 30, 2026

  • What 40,000 nodes taught us about Fanta's canvas

    We opened a 128 MB, 40,141-node Figma file in Fanta, then followed the copies, image decodes, saves, and agent responses that made large designs hard to use. Here are the measurements and the work still left.

    7 min · Sep 30, 2026

All tags

  • #ai
  • #blender
  • #build-in-public
  • #cubemap
  • #design-tools
  • #diamond
  • #environment-art
  • #expo
  • #fanta
  • #file-formats
  • #git
  • #graphics
  • #houdini
  • #huggingface
  • #image-generation
  • #licensing
  • #macos
  • #mdx
  • #meta
  • #next.js
  • #ocr
  • #onnx
  • #open-source
  • #pdf
  • #performance
  • #procedural
  • #python
  • #r3f
  • #ray-tracing
  • #react-native
  • #rendering
  • #replicate
  • #revenuecat
  • #rust
  • #sam2
  • #segmentation
  • #shaders
  • #shipaton
  • #technical-art
  • #three.js
  • #vercel
  • #wasm
  • #web-worker
  • #webgl
  • #webgpu