A personal blog focusing on the technical aspects of my life.
  • Elixir 75.7%
  • HTML 16.5%
  • CSS 4.4%
  • JavaScript 3.4%
Find a file
2026-04-07 12:58:43 -06:00
assets First commit 2026-02-28 16:16:19 -07:00
config First commit 2026-02-28 16:16:19 -07:00
lib feat: Add post routes to router 2026-04-02 17:20:19 -06:00
priv feat: Add data layer for blog posts 2026-03-14 21:38:36 -06:00
test First commit 2026-02-28 16:16:19 -07:00
.formatter.exs First commit 2026-02-28 16:16:19 -07:00
.gitignore First commit 2026-02-28 16:16:19 -07:00
AGENTS.md First commit 2026-02-28 16:16:19 -07:00
LICENSE Add LICENSE 2026-04-07 12:58:43 -06:00
mix.exs First commit 2026-02-28 16:16:19 -07:00
mix.lock First commit 2026-02-28 16:16:19 -07:00
README.md docs: Update README with project overview 2026-04-02 17:27:14 -06:00

Blog

A technical blog built with Phoenix 1.8 and LiveView 1.1, backed by SQLite and styled with Tailwind CSS v4.

This is a learning project -- each feature is built incrementally to explore Phoenix and Elixir patterns from the ground up.

Stack

  • Elixir + Phoenix 1.8
  • Phoenix LiveView 1.1 for real-time, server-rendered UI
  • SQLite via Ecto for persistence
  • Tailwind CSS v4 for styling

Getting Started

mix setup        # install deps, create db, run migrations
mix phx.server   # start the dev server at localhost:4000

Or run inside IEx for interactive debugging:

iex -S mix phx.server

Project Structure

lib/
  blog/            # Business logic (contexts, schemas)
    posts/         # Post schema and changesets
    posts.ex       # Posts context (CRUD operations)
  blog_web/        # Web layer
    components/    # UI components and layouts
    controllers/   # Traditional controller-based pages
    router.ex      # Route definitions

Repository

Hosted on Forgejo at forge.coltco.net/austin/blog.