← Back to articles

Hello World

This is the first post from One Who Makes. It confirms that mdsvex is working — markdown compiled to Svelte at build time.

Why this exists

I built this site to share what I learn while building with AI. Not theory — the actual workflows, tools, and decisions that go into shipping real projects.

The site itself is proof of concept. It was built with SvelteKit, styled with Tailwind CSS and a custom design token system, and developed almost entirely through agentic coding with Claude Code.

What the stack looks like

Here’s a quick overview of what’s under the hood:

  • SvelteKit for the framework and routing
  • Tailwind CSS v4 with custom CSS tokens for styling
  • mdsvex for writing posts in markdown
  • Shiki for syntax highlighting
  • Lenis for smooth scrolling

Code highlighting

The blog supports syntax-highlighted code blocks. Here’s an example:

const posts = import.meta.glob('/src/posts/*.md', { eager: true });

for (const path in posts) {
  const file = posts[path] as { metadata?: Post };
  const slug = path.split('/').at(-1)?.replace('.md', '');
  console.log(`Found post: ${slug}`);
}

Inline code also works: bun run build produces a static site.

A note on craft

The tools changed. The standards didn’t. — That’s the thread running through everything I build and write about here.

This is just the beginning. More posts coming soon on workflows, tools, and the thinking behind the work.