Decision: Tech stack — Go web framework and frontend approach #4

Closed
opened 2026-08-20 13:59:03 +02:00 by gaetan · 1 comment
Owner

Part of #1

Question

What Go web framework and frontend approach should be used?

Key decisions:

  • Backend framework: Standard library net/http, chi, gin, fiber, echo, or something else?
  • Frontend approach:
    • Go HTML templates + vanilla JS + CSS (simplest, single binary)
    • Go API + separate SPA (React, HTMX, Alpine.js, or vanilla)
    • HTMX-only (minimal JS, server-rendered)
  • Static assets: Embedded in binary (embed.FS) or served separately?

Considerations:

  • "Small web app" suggests keeping things simple
  • Go templates + vanilla JS is the simplest path (single binary, no build step for frontend)
  • HTMX could provide interactivity without a full SPA
  • The SRS review flow needs smooth UX — how much interactivity is needed?

This decision shapes the entire project structure and developer experience.

Part of #1 ## Question What Go web framework and frontend approach should be used? Key decisions: - **Backend framework**: Standard library net/http, chi, gin, fiber, echo, or something else? - **Frontend approach**: - Go HTML templates + vanilla JS + CSS (simplest, single binary) - Go API + separate SPA (React, HTMX, Alpine.js, or vanilla) - HTMX-only (minimal JS, server-rendered) - **Static assets**: Embedded in binary (embed.FS) or served separately? Considerations: - "Small web app" suggests keeping things simple - Go templates + vanilla JS is the simplest path (single binary, no build step for frontend) - HTMX could provide interactivity without a full SPA - The SRS review flow needs smooth UX — how much interactivity is needed? This decision shapes the entire project structure and developer experience.
Author
Owner

Superseded by #9

This ticket was created during the initial map charting phase. The tech stack decision was properly resolved in #9 (Tech stack — net/http + Go templates + Alpine.js).

This ticket is closed as out of scope — superseded by #9.

## Superseded by #9 This ticket was created during the initial map charting phase. The tech stack decision was properly resolved in #9 (Tech stack — net/http + Go templates + Alpine.js). This ticket is closed as out of scope — superseded by #9.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
gaetan/knowledgify#4
No description provided.