← Portfolio

DAEMON-ONE

ARCH

A Django architecture template built to eliminate structural drift across projects — deliberate tradeoffs, not a boilerplate.

Private repository · Available on request

Type Architecture template
Role Designer & sole author
Repository Private · available on request
Built on it Almaeng · SportsIQ
DjangoHTMXAlpine.jsPostgreSQLpgvectorPydanticDockerCoolify

Why It Exists

After 15+ side projects, the same structural problems kept reappearing: business logic scattered across views and signals, unclear domain boundaries, and every project starting from scratch with the same mistakes. DAEMON-ONE is the architecture I designed to fix that — a structured Django monolith template with deliberate decisions built in from the start.

Key Decisions

  • Modular Monolith over microservices

    Single deployable unit. Domain boundaries enforced via interface.py — the only file through which one domain can reach another. No cross-domain foreign keys. Complexity lives at the right boundary.

  • HTMX + SSR over React

    Server-driven UI state. No JS build step. LCP-first rendering by default. Alpine.js handles isolated client state only. The result: a full-stack product without a frontend build pipeline.

  • Vertical Slicing

    Logic, template, and style colocated per feature. Delete a folder and the feature is completely gone — no orphaned imports or lingering references. This also makes AI-assisted development tractable: scope the AI to one folder at a time.

  • PostgreSQL-First

    pgvector for semantic search, pgmq as message queue (replacing Redis), pg_search for full-text. One database, one deployment unit. No Redis or Elasticsearch complexity until the scale actually demands it.

Architecture

Folder Structure

backend/domains/
├── accounts/
│   ├── state/             ← DB Owner · models · migrations · admin
│   │   └── interface.py   ← only cross-domain exit
│   ├── logic/             ← Stateless · pure functions · Pydantic (frozen)
│   └── pages/             ← UI Slices · view + template colocated
│       └── profile/
│           ├── views.py
│           └── profile.html
└── core/                ← home · health · base models

Request Flow

HTTP Request
pages/views.py
thin handler
state/interface.py
only cross-domain boundary
logic/services.py
pure functions · Pydantic in/out · no DB access
state/models.py
Django ORM · django-lifecycle hooks
PostgreSQL
pgvector · pgmq · pg_search

Template Assessment

80%

Efficiency

One-command init, auto-domain discovery, full CI/CD pipeline wired.

90%

Effectiveness

Auth, AI integration, hybrid search, background jobs, smoke-tested deploys — production-grade out of the box.

CI pipeline: pytestsmoke-test (real PostgreSQL, health check) → GHCR build+push. The Docker image is never published if smoke fails — catches "tests pass but prod breaks" before it ships.

Related Writing

Built On DAEMON-ONE

  • Almaeng — AI supplement analysis service, live in production
  • SportsIQ — Sports knowledge platform, in development

Status

Private repository. The architecture evolves with each project built on it. Available on request.