nauran ES

Full-stack developer

I build websites, mobile apps and the infrastructure that holds them up.

I'm Arnau. I sign as nauran. I design and build products end to end: from the API contract to the phone screen, and from the container to the backup.

01

What I do

Websites and web apps

Sites and applications with Next.js or SvelteKit and TypeScript. Headless CMS so clients edit their own content, internationalisation, and forms that land where they should.

Mobile apps

Native clients with React Native and Expo for iOS and Android, built to work offline and to share the data contract with the server.

Self-hosted infrastructure

Docker, Cloudflare Tunnel, CI/CD on self-hosted runners, backups and monitoring. Services that run on a Raspberry Pi at home and are reachable from anywhere.

Automation and AI agents

Workflows built on language models: extracting data from images, bots, and coding-agent sessions coordinated under clear rules.

02

Projects

What I have going on. Some are for clients, others are personal products I use every day and that double as my testing ground.

Lade Faction

In production

Multilingual website with a CMS for a tattoo artist

Sales landing for her online course, gallery, blog, booking and contact in four languages (EN, RU, HY, JA). The artist manages every piece of content from an embedded Sanity Studio, no code involved.

  • Next.js 15
  • TypeScript
  • Sanity CMS
  • next-intl
  • Tailwind
  • Resend
Visit

Gastos Nauran · Naufull

Personal use

Personal expense manager with receipt OCR and bank reconciliation

Replaces a years-old spreadsheet. Snap the receipt, a vision model extracts the data and you review it before saving; bank statements are imported and matched against what was logged. Naufull is the native mobile client, sharing an API contract across repos.

  • SvelteKit
  • PostgreSQL
  • Drizzle
  • React Native
  • LLM de visión

Gym Tracker · Pyreon

Personal use

Real-time workout logging with stats

Sets, reps, weight and technique notes from your phone, with rest timer, supersets and a plate calculator. Keeps working on flaky gym Wi-Fi thanks to an idempotent write queue. Pyreon is the Expo app consuming the same API.

  • Next.js
  • Hono
  • Prisma
  • PostgreSQL
  • Expo
  • PWA offline-first

Guardrail

In progress

A personal digital self-control platform

A Raspberry Pi signs blocking policies and native agents on Windows and Linux enforce them locally. The server is never on the browsing path: no VPN, no proxy, no history collected, and blocking keeps working offline.

  • Rust
  • Windows service
  • systemd
  • Firmas criptográficas
  • CI/CD

Mercator

In progress

Maritime trade simulator set in the 3rd-century-BC Mediterranean

Cities, goods, markets, ships and routes in a pure Rust simulation core with no graphics engine, consumed by the UI layer. In the spirit of Patrician and Port Royale.

  • Rust
  • Godot
  • Simulación económica

Rasp Downloader

Personal use

Downloads and an ebook library, self-hosted

Self-hosted app on the Raspberry Pi to download from hosters and keep a classifiable book library, served with Calibre-Web. Spec-driven and Docker-first from day one.

  • Next.js
  • Prisma
  • Docker
  • Calibre-Web

Agent Platform

In progress

Control plane for autonomous coding agents

A deterministic orchestrator, not an LLM, that hands out tasks to agent sessions, demands a green gate before integrating and leaves a trail of everything it does.

  • Python
  • Orquestación
  • Agentes de programación

Shinzo

Personal use

Music bot for Discord

Playback with audio filters, genre autoplay and sticky messages. Runs on the Raspberry Pi and deploys from the home runner.

  • Discord
  • Node.js
  • Docker

03

How I work

  1. Spec first

    Every non-trivial change starts with a short document: what, why and how it is verified. Architecture decisions are written down as ADRs.

  2. Green gate

    Nothing gets integrated without typecheck, lint, tests and build passing on the actual commit. Linear history, one task per branch.

  3. Secure by default

    No secret in a commit or on the command line. One identity per machine, keys in hardware, and an audit trail of what goes in and out.

  4. Documentation people read

    Every repo states where it stands and what is missing, so anyone, human or agent, can pick up where it was left.

04

Contact

Have a project, or want to talk about one of these? Drop me a line.