Static personal site for backend notes, public tools, and work traces from Túlio Ribeiro dos Anjos.
The site is intentionally small: writing first, built things second, work history as context. No résumé funnel, no contact form, no analytics, no client framework runtime for pages that do not need it.
- Astro for static site generation
- Tailwind CSS v4 through
@tailwindcss/vite - Bun for package management and scripts
- Sharp for generated images and icons
- GitHub Pages for hosting
bun install
bun run devThe dev server runs at:
http://localhost:8000bun run dev # start local dev server
bun run check # run Astro diagnostics and type checks
bun run build # build the static site
bun run preview # preview the production build locally
bun run icons # regenerate favicon, app, and manifest icons
bun run clean # remove generated Astro/build output/
Homepage: writing, built work, and a short work trace.
/writing/
Notes and essays.
/writing/[slug]/
Individual writing pages.
/built/
Public tools, libraries, and small projects.
/built/[slug]/
Individual built/project pages.
/work/
Full work trace.
/rss.xml
RSS feed for writing.
/og.png
Default generated Open Graph image.
/writing/[slug]/og.png
Generated Open Graph image for each writing page.
/built/[slug]/og.png
Generated Open Graph image for each built page.Published writing and built items are handled through Astro content collections.
Shared content helpers live in:
src/lib/content.ts
src/lib/dates.tsSite metadata lives in:
src/data/site.ts
src/data/nav.ts
src/data/timeline.tsThe design is deliberately restrained:
- serif display type for major titles
- monospace only for metadata and small interface text
- dark static-site palette
- minimal navigation
- no project cards where a plain entry is enough
- no portrait in the hero
- no analytics or marketing funnel
Global design tokens live in:
src/styles/global.cssOpen Graph images are generated at build time from site/content data.
Icon assets are generated with:
bun run iconsGenerated icon outputs include:
public/favicon.svg
public/favicon.ico
public/apple-touch-icon.png
public/icons/icon-192.png
public/icons/icon-512.png
public/icons/icon-512-maskable.pngThe site is deployed to GitHub Pages from the main branch using the workflow in:
.github/workflows/deploy.ymlThe build command is:
bun run buildThis is a personal site, not a theme. The code is public for reference, but the content, writing, design direction, and identity are specific to tulio.org.