Hello, world
This is the first post on lucasfe.com. The plan is small and concrete: a place to share the projects I'm building and weekly notes from my AI research, mostly so my team has one canonical link to reach for instead of digging through Slack.
What you'll find here
Two flavors of content, all in a single feed:
- Writing — short notes, half-finished thinking, and longer essays as they come.
- Projects — what I'm shipping, with links to the work itself.
I don't plan to optimize for traffic. The audience is my team first, search engines a distant second.
Stack notes
The site is built on a deliberately small stack:
- Next.js 16 with the App Router and React Server Components.
- TypeScript everywhere.
- Tailwind 4 with the Geist font family.
- Velite for type-safe MDX content collections — frontmatter validated by Zod at build time, so a missing
titleordatebreaks the build instead of shipping a broken page. - Plain Markdown + MDX for posts, sitting in
content/posts/. - Deployed on Vercel.
A simple smoke test for the code-rendering pipeline — the Post type is what Velite hands to every page:
type Post = {
title: string;
date: string;
tags: string[];
};
const hello: Post = {
title: "Hello, world",
date: "2026-04-27",
tags: ["meta"],
};And the build pipeline is just two scripts wired through prebuild:
npm run velite # parse content/ → .velite/
npm run build # next build, picks up the generated collectionsInline code like velite build should still get a subtle background even without a language fence.
That's the whole thing for now. More to come.