bruno@cabado:~$ cat projects/albricias.md

← projects/

Albricias

Up (live demo)

  • Flask
  • Product Design
  • Full Stack

A vintage broadsheet-style publishing app that turns markdown content into weekly issues and a browsable digital newspaper archive.

Context

Most digital archives are functional but visually generic. Albricias was designed to recreate the feeling of reading a weekly broadsheet while keeping navigation practical for modern web users.

What I built

Albricias provides:

  • A Current Issue front page with newspaper-like hierarchy and typography
  • A content pipeline where markdown articles are loaded into a structured issue model
  • Two archive modes: browse by issues or by articles
  • Issue and article detail routes with clear editorial navigation
  • A private composition/admin flow to publish new pieces into the feed

Technical approach

I implemented Albricias with Flask, SQLAlchemy, and a file-first content workflow. Article markdown files with frontmatter are parsed and synchronized into a SQLite-backed data model, then rendered through template variants that rotate per issue week. The app is containerized and served with Gunicorn for reproducible deployment and stable runtime behavior.

Outcome

Albricias turns a standard CMS-like experience into a differentiated reading product with clear personality. It combines editorial UX with maintainable publishing mechanics, making it easy to keep shipping new issues without losing consistency.

## Project gallery

Albricias current issue front page in broadsheet layout
Albricias archive in issue-browsing mode
Albricias archive in article-browsing mode
Albricias article detail page with vintage editorial styling
1/4Albricias current issue front page in broadsheet layout

bruno@cabado:~$ mail hi@brunocabado.com# I share work, research and product experiments in AI systems

$ send-message$ wget cv.pdf$ open linkedin$ open github

© 2026 Bruno Cabado · designed & developed in Galicia with Astro

↑↓ navigate · Enter open · Esc close

key bindings

0–8select window
n / pnext / previous window
ctalk to the agent pane
% / " or -split side by side / stacked (up to 3 panes, each shows a window)
Spacenext layout (side by side → stacked → main + stack → main + row)
qshow pane numbers, then press one to jump there
{ / }swap the focused pane with the main one
Shift+←↑↓→resize (main pane smaller / larger)
o · Ctrl+b ←↑↓→focus next pane · pane in that direction
zzoom the focused pane (again to restore)
xclose the focused pane (closing the main one promotes the split)
ttoggle theme (dark ⇄ latte) · :theme next cycles gruvbox, nord, tokyo, dracula
/ · Ctrl+ksearch the whole site
:command prompt
:set keys offdisable single-key shortcuts (the prefix still works)
Ctrl+bprefix — every key above also works after it; % " x and arrows need it

commands: search · select-window <name|n> · open <query> · ask <question> · split-window [-h|-v] [name] · kill-pane · zoom · swap-pane · layout · theme [mocha|latte|gruvbox|nord|tokyo|dracula] · ls · exit · help
agent: type /clear to reset the conversation