Bragi SoftwareSoftware Solutions

Personal studio

BragiBytes

Build notes, shipped work, and open conversation.

Back to devblog

Last push Jul 5, 2026

devblog

No description on GitHub yet.

Astro0 stars0 forks

README

# Sam Bragge

Personal site and portfolio.

**Live site**: [sambragge.com](https://sambragge.com)

## Tech Stack

- Astro (UI generation)
- Rust + Axum (server)
- MDX + Content Collections
- Tailwind CSS
- Shiki (syntax highlighting)
- Pagefind (static search)

The UI is generated with Astro and served via a lightweight Rust web server.

## Featured Projects

- **Celio's Forge** — A virtual tabletop for Dungeons & Dragons 5th Edition  
  [https://celiosforge.com](https://celiosforge.com)

## Local Development

```bash
# Install deps
npm install

# Dev (Astro)
npm run dev

# Or build UI then run Rust server
npm run build
cd server
cargo run
```

## Building the Rust Server

```bash
npm run build
cd server
cargo build --release
```

## Deployment on Railway

This repo uses a multi-stage `Dockerfile` that:
1. Builds the Astro UI (keeping the exact same look and feel)
2. Builds the Rust Axum server
3. Produces a minimal image that serves the static site

Railway will automatically detect the Dockerfile. No special config needed beyond setting the domain to `sambragge.com`.

**Recommended Railway settings:**
- Healthcheck path: `/health`
- Custom domain: `sambragge.com`

Helpful routes exposed by the server:
- `GET /health`
- `GET /api/health`
- `GET /api/version`

## Writing

See the `scripts/new-post.ts` helper or just create a new file in `src/content/blog/`.

## License

MIT