From idea to production, cleanly.

Full-stack with Next.js, TypeScript and Supabase. Architecture, product and interface, with a focus on clarity, performance and code that stays maintainable.

Restrained systems. Considered decisions.

Based in Spain, working remotely. Available for new projects.

Next.jsTypeScriptSupabaseSanityTypesenseInngestshadcn/ui
Black-and-white portrait of Roberto Ríos, full-stack developer specialised in Next.js, Supabase and AI-assisted workflows.
Personal logomark — Roberto Ríos, full-stack developer.

Quietly steady.

About

How I work: judgement, structure and continuous improvement. Full-stack developer in Spain, working remotely for companies that build digital products.

I'm a full-stack developer with a way of working built on judgment, structure, and continuous improvement. I'm drawn to building systems that are understandable on the inside and pleasant on the outside: clean architectures, coherent data models, and interfaces that stay out of the user's way.

I see development as a craft: listening, ordering, deciding, shipping, iterating. Without dramatizing the process. Without adding unnecessary complexity.

  • Designing is making good decisions.
  • Building is reducing friction.
  • Iterating is improving with discipline.

Apps & libraries

My own projects, from design to code — each with its own identity, in real use.

macOS app · Open source

quill

Leave every meeting with the minutes done — and rewrite any text in the voice its reader expects.

Join a meeting — in Teams, Zoom, Meet or whatever app you use — and Quill transcribes it on your Mac, puts a name to every voice and translates it live if it's in another language. When you hang up: decisions, tasks with owner and date, risks and disagreements, weighted by each person's role. No bot in the call and no audio kept. And select any text and press ⌃⌥R to rewrite it for work, formal, friends or spelling only.

  • macOS 26
  • Apple Silicon
  • Free
  • MIT
  • Meeting minutes
  • Live translation
  • Rewriting
  • No account
A meeting in Quill once it ends: the people with their roles, the analysis with the options on the table and who argued for each, and the transcript.
Quill's live panel during a meeting in Spanish: each sentence with its English translation underneath, and the voices of Lucía (Tech Lead) and Andrés.

Live, voices by name and translated; when you hang up, the minutes.

macOS app · Open source

ámbar

Your clipboard history, and voice dictation that costs nothing and learns your words.

Everything you copy — text, images, files — comes back with ⌘⇧V, and it finds the text inside your screenshots. Hold the shortcut and talk: it uses the dictation engine macOS already has, so there is no subscription and no per-minute bill, and it keeps a dictionary of your own that learns every name you correct. Nothing leaves your Mac.

  • macOS 26
  • Apple Silicon
  • Free
  • MIT
  • Free dictation
  • Your own dictionary
  • No cloud
macOS app · Open source

tessera

A tiling window manager for macOS that never leaves holes.

Every window of each desktop tiled, by keyboard or by mouse. It measures what the window server really draws and learns what each app accepts.

  • v0.2.1
  • Swift 6
  • Free
  • MIT

Systems

Architecture, data modelling, reliability and security — real trade-offs, not theory.

Architecture

  • Clear responsibilities, no mixing layers just because.
  • Low coupling between modules, services, and components.
  • Manageable changes without rewriting half the system.

Data

  • Models faithful to the real domain.
  • Explicit rules where they prevent future bugs.
  • Simple queries and data that stays easy to maintain.

Reliability

  • Repeatable processes, especially for jobs and critical tasks.
  • Controlled errors — visible and easy to diagnose.
  • Fast recovery when something breaks.

DX & Security

  • Predictable environments, easy to spin up and reason about.
  • Clear validation at the points where it matters.
  • Well-defined permissions, with sessions and access handled carefully.

Work

Web platforms, design systems and Web3 products for clients in very different sectors. Expand each project for context, constraints and decisions.

Uriach You platform overview

Uriach You — B2B platform for pharmacies

B2B platform for pharmacies: training, updates, analytics.

Yuma component library and UI system

Yuma — ISDIN UI kit & design system

Design system and component library focused on consistency and accessibility.

Vinci Web3 token funding interface

Vinci — Web3 music funding with ERC-20 tokens

Web3 funding for artists with ERC-20 tokens and perks.

Selfcare B2B customer portal dashboard

Selfcare — Self-service portal for telecom customers

B2B self-service portal for lines, subscriptions, and usage insights.

Stack

Next.js, Supabase, Sanity, Typesense and the rest of the tools I ship production web applications with.

  • Next.js code snippet

    Next.js (App Router)

    • Server/client boundaries with predictable patterns
    • ISR and on-demand revalidation when content matters
    • Performance and accessibility by default
    Next.jsApp RouterRSCISR
  • Vercel deployment and preview dashboard

    Vercel

    • Serverless deployments with previews by default
    • Isolated environments, clean releases, one-click rollbacks
    VercelServerlessPreviewSecurity
  • shadcn/ui components example

    shadcn/ui

    • Composable primitives that live in your repo, not in a dependency
    • Fast builds, consistent visual language
    shadcn/uiRadixTailwindUI System
  • CMS content pipeline

    Sanity CMS

    • Structured content modeling
    • Editorial flow + webhook revalidation
    SanityWebhooksContent
  • Vercel AI SDK and OpenRouter logos

    Vercel AI SDK + OpenRouter

    • Streaming, tool calling and structured outputs, one API for every model
    • The right model for each task, swapped without touching the product
    • Outputs validated before they reach the user
    AI SDKOpenRouterStreamingStructured output
  • Postgres entity relationship diagram

    Supabase + Postgres

    • Relational schemas, constraints, ownership rules
    • Auth/storage patterns that ship fast
    • RLS and row-level permissions where they matter
    PostgresSupabaseRLS
  • Inngest logo

    Inngest

    • Durable workflows: steps that retry and survive a deploy
    • Queues, crons and fan-out without running infrastructure
    InngestWorkflowsCronsRetries
  • Typesense search dashboard interface

    Typesense

    • Fast, typo-tolerant search with instant results
    • Simple indexing and predictable relevance tuning
    TypesenseSearchIndexingRelevance

Contact

Open to new projects: web applications, design systems and AI integration. Tell me what you need.

roberto@rrios.dev