Skip to content

dtamez/jotto

Repository files navigation

Jotto

A server-rendered word game built with Django and HTMX.

This project explores backend-driven UI patterns where application state lives on the server and interactivity is handled through incremental HTML updates instead of a heavy client-side SPA framework.


Overview

Jotto is a simple word game implemented to demonstrate:

  • Server-managed application state
  • HTMX-driven partial template updates
  • Minimal client-side JavaScript
  • Clean Django application structure

The goal was to show that modern interactive web applications can be built with clarity and maintainability using server-side rendering.


Architecture Notes

  • Game state validated and managed server-side
  • Incremental UI updates using HTMX hx-* attributes
  • Redis-backed session storage (if enabled)
  • TailwindCSS + DaisyUI for styling
  • No custom frontend framework

This project emphasizes backend ownership of logic and predictable state transitions.


Why Server-Driven UI?

Modern web development often defaults to heavy client-side frameworks. This project explores an alternative approach:

  • Business logic lives entirely on the server
  • The browser is a thin rendering layer
  • State transitions are explicit and testable
  • HTMX enables interactivity without duplicating logic client-side

This results in a simpler mental model, fewer synchronization bugs, and a backend-owned architecture that scales with complexity.


Key Technical Decisions

  • No SPA framework — avoided duplicating state client-side
  • Redis-backed session storage to demonstrate scalable state handling
  • Incremental HTML updates via HTMX instead of JSON APIs
  • Tailwind + DaisyUI for rapid but consistent styling

Tech Stack

  • Python
  • Django
  • HTMX
  • Redis
  • TailwindCSS

Running Locally

git clone https://github.com/dtamez/jotto
cd jotto
uv sync
source .venv/bin/activate
python manage.py runserver

About

Single player version of the jotto game. Built with Django, HTMX, TailwindCSS, DaisyUI, Redis

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors