I build production web systems end to end —from the data layer up.

Jorge Álvarez, full-stack developer in Barcelona, Spain. Mostly TypeScript monorepos — e-commerce, CMS-driven sites and real-time apps — assembled as layered systems and shipped to real users.

Location
41.39° N · 2.17° E
Languages
ES · CA · EN
Discipline
Full-stack · monorepos
Status
Open to work
01

Commissioned

Paid client work — platforms and sites shipped for real businesses. Most live in private repositories; the plates below section each one into its real layers.

C·01 / 04In development

Cartobol

A B2B storefront and back office for machinery spare parts.

Sector
Industrial supply
Year
2026
Role
Full-stack developer — sole build

The backend is a strict four-layer stack — routers → controllers → services — cleanly separated by responsibility and by access level, so the shape of the codebase mirrors the shape of the system.

  1. Presentation
    • React 18
    • Vite (SWC)
    • React Router 7
    • MUI v7
    • TanStack Query
    • React Hook Form
    • Stripe React
    • i18next
  2. Logic
    • Express 5 (ESM)
    • JWT auth
    • Server-side validation
    • Layered routers → controllers → services
  3. Data
    • Prisma
    • PostgreSQL
  4. Infrastructure
    • Turborepo + pnpm
    • Docker Compose
    • Stripe
    • Cloudinary
    • Transactional email
    • Security hardening
  • ES · EN · FRLocales
  • 2Workspaces
  • storefront · adminAreas
C·02 / 04In development

Señorío de Líbano

A winery, its shop and its CMS — three apps in one monorepo.

Sector
Wine & spirits
Year
2025
Role
Full-stack developer — sole build

Three deployable apps — landing, shop and Sanity Studio — share a single @repo/ui package that ships raw .tsx and is compiled by each app through transpilePackages, so the design tokens in theme.css are the one source of truth.

  1. Presentation
    • Next.js 16 (App Router)
    • React 19
    • Tailwind CSS 4
    • next-intl (ES/EN)
    • @repo/ui design tokens
  2. Logic
    • React Server Components
    • Route handlers
    • Stripe Payment Element
  3. Data
    • Sanity (headless CMS)
    • Neon Postgres
    • Drizzle ORM
  4. Infrastructure
    • Turborepo + pnpm
    • Vercel
    • Playwright E2E
  • 3Apps
  • 5Shared packages
  • ES · ENLocales
C·03 / 04Live

RAUXA

An editorial, bilingual site for a Barcelona experiences company.

Sector
Hospitality & culture
Year
2025
Role
Full-stack developer — sole build

A full OKLCH design-token system — electric blue holding steady across light and dark, pearl and black swapping roles — aliased through shadcn's semantic slots so the theme is one coherent language, not scattered hex values.

RAUXA experience photography
RAUXA · specimen
  1. Presentation
    • Next.js 16
    • React 19
    • Tailwind CSS 4
    • Radix UI (shadcn)
    • next-intl
    • next-themes
  2. Logic
    • Route handlers
    • react-hook-form + Zod
    • Honeypot-guarded contact flow
  3. Data
    • Upstash Redis (rate limiting)
  4. Infrastructure
    • Vercel
    • Vercel Analytics & Speed Insights
  • CA · ESLocales
  • rauxa.catLive at
C·04 / 04Live

Nano1Health

A corporate site built twice — Express first, then rebuilt in Astro.

Sector
Biotech
Year
2025
Role
Full-stack developer — sole build

Shipped once as a server-rendered Express + EJS app, then rebuilt in Astro — trading a running Node server for static HTML at the edge, and a much faster site for the same content.

Genome-sequencing imagery from Nano1Health
Nano1Health · specimen
  1. Presentation
    • Astro
    • TypeScript
    • SCSS
    • Swiper
    • AOS
  2. Logic
    • v1 — Node.js + Express SSR
    • EJS templates
    • Nodemailer contact
  3. Data
    • Build-time static content
    • Bilingual routing (ES/EN)
  4. Infrastructure
    • Cloudflare Pages
    • Sitemap + SEO tuning
    • v1 — SCSS + Gulp, Cypress E2E
  • 2Versions
  • ES · ENLocales
  • nano1health.comLive at
02

Studies

Self-directed builds and experiments — where ideas get tested before they earn a place in client work, and where the foundations were laid.

S·01 / 04Live

DivvyUp

Real-time shared-expense splitting, typed end to end.

Sector
Personal finance
Year
2025
Role
Full-stack developer — sole build & maintenance

Every monetary value is computed with decimal.js and never a native float — the one rule you cannot break in an app whose entire job is telling people how much they owe.

DivvyUp group balances and expense list
DivvyUp · specimen
  1. Presentation
    • React 18
    • Vite
    • React Router 7
    • MUI
    • TanStack Query v5
    • Socket.io client
    • CSS Modules
  2. Logic
    • Node.js + Express
    • TypeScript (strict)
    • Better Auth (cookie sessions)
    • decimal.js money math
    • Shared typed API contract
  3. Data
    • MongoDB
    • Mongoose (InferSchemaType)
  4. Infrastructure
    • Turborepo + pnpm
    • Docker
    • GitHub Actions → ghcr.io → Coolify
    • Cloudflare Pages
    • MongoDB Atlas
  • 3Workspaces
  • decimal.jsMoney type
  • divvyup.jorgeaf.devLive at
S·02 / 04Research

Cognitive Memory Engine

A memory layer for AI that reasons instead of retrieving.

Sector
AI infrastructure
Year
2025
Role
Solo research project

It derives beliefs that appear nowhere in the input — "fullstack_developer" is concluded from a chain of leaf beliefs, not stated — and each conclusion keeps a causal trail back to the rule and parents that produced it.

  1. Logic
    • FastAPI
    • Forward-chaining engine (fixpoint iteration)
    • 13 declarative rules · 6 categories
    • Noisy-OR + Yager's rule
    • Trend / volatility analysis
  2. Data
    • Async SQLAlchemy
    • PostgreSQL
    • Belief graph — 5 typed edge relations
    • Derivation log with full provenance
  3. Infrastructure
    • Python
    • Pydantic v2
  • 13Inference rules
  • 5Edge relations
  • 4Max passes
03

Approach

One of the studies below is a reasoning engine that turns raw observations into higher-order conclusions and keeps the trail between them. Turned on itself, the work derives a handful of traits — each one verifiable in the projects above.

  1. Observation · 01

    Cartobol, Señorío de Líbano and DivvyUp are all Turborepo + pnpm monorepos of separately deployable apps sharing typed packages.

    Trait

    Builds systems, not pages — composed apps over one monolith.

  2. Observation · 02

    Every backend separates routers, controllers and services, and mirrors them by role; the data layer is split by the job each store does best.

    Trait

    Layered architecture is a default, not an afterthought.

  3. Observation · 03

    RAUXA ships CA/ES, Señorío and Nano1Health ship ES/EN, Cartobol ES/EN/FR — internationalisation is wired in from the first commit.

    Trait

    Bilingual and trilingual by design — i18n is load-bearing.

  4. Observation · 04

    It started with hand-rolled PHP MVC in 2023, moved through a 2024 full-stack bootcamp, and is now production TypeScript monorepos.

    Trait

    Learns downward — understands the layer beneath the one being used.

04

Stack

The toolkit, laid out as the same four planes every project is drawn on — not a wall of logos, but where each tool actually sits in a system.

  1. Presentation
    • Next.js
    • React
    • Astro
    • TypeScript
    • Tailwind CSS
    • Radix / MUI
    • Sass
    • Vite
  2. Logic
    • Node.js
    • Express
    • REST APIs
    • JWT / Better Auth
    • Zod
    • Socket.io
    • Stripe
    • PHP
  3. Data
    • PostgreSQL
    • MongoDB
    • Prisma
    • Drizzle ORM
    • Sanity
    • MySQL
    • Redis
  4. Infrastructure
    • Turborepo
    • pnpm
    • Docker
    • Vercel
    • Cloudflare
    • GitHub Actions
    • Playwright

05 · Contact

Building something with real users behind it?

I'm open to full-stack work — especially products people actually depend on. The fastest way to reach me is email.

Set in
Fraunces & IBM Plex Mono
Built with
Astro · static-first · pnpm
Concept
Cross-section of a system
Location
41.39° N · 2.17° E

© 2026 Jorge Álvarez · JorgeAFdev. No trackers beyond hosting analytics.