Skip to content

Repository files navigation

Papyra

Crea un CV que se adapte a ti, no al revés.

Papyra es un editor de currículums gratuito y de código abierto para crear, organizar y personalizar CVs directamente desde el navegador.

El objetivo es sencillo: que cualquier persona pueda preparar un currículum profesional, dinámico y visualmente cuidado sin pagar por plantillas, exportaciones o funciones básicas.

Abrir Papyra · Ver el código

El origen de Papyra

Papyra nació de una necesidad personal: quería una herramienta gratuita con la que crear y personalizar mi propio CV sin encontrarme con suscripciones, marcas de agua o funciones bloqueadas.

El proyecto ha sido desarrollado íntegramente mediante vibe coding con Claude y Codex. La idea, la dirección del producto, las decisiones visuales y la validación de cada funcionalidad han sido guiadas durante todo el proceso para convertir esa necesidad inicial en una herramienta abierta que también pueda servir a otras personas.

Papyra es además una forma práctica de explorar hasta dónde se puede llevar una idea real utilizando herramientas de inteligencia artificial como compañeras de desarrollo, manteniendo el proyecto público, revisable y en constante evolución.

¿Por qué Papyra?

Muchas herramientas para crear currículums limitan la personalización, añaden marcas de agua o reservan la exportación a PDF para sus planes de pago. Papyra nace como una alternativa abierta y accesible:

  • Gratis, sin suscripciones ni funciones bloqueadas.
  • Sin cuentas ni procesos de registro.
  • Sin marcas de agua.
  • Con CVs ilimitados.
  • Con personalización visual y estructural.
  • Con los datos del currículum almacenados en el propio navegador.

Funcionalidades

Edición dinámica

  • Vista previa actualizada mientras escribes.
  • Secciones para experiencia, educación, habilidades, proyectos, idiomas y certificaciones.
  • Secciones personalizadas para contenido adicional.
  • Reordenación de elementos y secciones mediante arrastrar y soltar.
  • Posibilidad de mostrar, ocultar y distribuir secciones entre columnas.

Personalización

  • Siete plantillas: Clásica, Compacta, Moderna, Ejecutiva, Nórdica, Legal y Studio.
  • Trece paletas profesionales con colores y contrastes coordinados.
  • Diferentes familias tipográficas y niveles de densidad.
  • Habilidades en formato de burbujas, listas con puntos o separadas por |.
  • Tema claro y oscuro para la interfaz del editor.

Exportación y portabilidad

  • Exportación gratuita a PDF en formato A4 mediante la impresión nativa del navegador.
  • Sin límites de descarga ni marcas de agua.
  • Exportación de cada CV a JSON.
  • Importación de archivos JSON creados con Papyra.
  • Compatibilidad con CVs exportados desde versiones anteriores.

Privacidad

El contenido de los currículums se guarda en localStorage. Los datos personales introducidos en el editor no se envían a un servidor ni requieren una cuenta.

Esto también significa que los CVs pertenecen al navegador y dispositivo donde se crearon. Para conservar una copia o moverlos a otro equipo, es recomendable exportarlos periódicamente como JSON.

La aplicación realiza únicamente peticiones externas para cargar las tipografías y mostrar información pública del repositorio, como su contador de estrellas. Estas peticiones no incluyen el contenido de los currículums.

Cómo utilizar Papyra

  1. Abre papyra-app.vercel.app.
  2. Crea un currículum en blanco o carga el CV de ejemplo.
  3. Añade y organiza tus datos desde el editor.
  4. Elige una plantilla, una paleta y el formato de cada sección.
  5. Exporta el resultado con el botón PDF.
  6. Guarda también una copia en JSON si quieres editarlo más adelante en otro navegador.

Para obtener el mejor resultado al exportar, activa la impresión de gráficos o colores de fondo en el diálogo de impresión del navegador.

Desarrollo local

Requisitos

  • Node.js compatible con las dependencias definidas en el proyecto.
  • npm.

Instalación

git clone https://github.com/brunoviews/papyra.git
cd papyra
npm install
npm run dev

La aplicación estará disponible en la dirección local indicada por Vite.

Comandos

npm run dev      # Inicia el servidor de desarrollo
npm run lint     # Analiza el código con Oxlint
npm run build    # Comprueba TypeScript y genera la versión de producción
npm run preview  # Sirve localmente el build de producción

Antes de proponer un cambio, ejecuta:

npm run lint
npm run build

Tecnologías principales

  • React para construir la interfaz.
  • TypeScript para el tipado y el modelo de datos.
  • Vite para desarrollo y generación del build.
  • Zustand para el estado y la persistencia de los currículums.
  • React Router para la navegación.
  • dnd-kit para reordenar contenido y gestionar columnas.
  • nanoid para generar identificadores locales.
  • Oxlint para el análisis estático.

Estructura del proyecto

src/
├── components/          Componentes del editor y controles reutilizables
│   └── preview/         Plantillas y renderizado del CV
├── lib/                 Persistencia, paletas, importación y exportación
├── pages/               Dashboard y editor
├── store/               Estado global con Zustand
└── types/               Modelo de datos persistido

Papyra es una aplicación completamente frontend. No necesita una API propia ni una base de datos para funcionar.

Recursos y agradecimientos

Papyra utiliza o toma como referencia los siguientes proyectos y recursos:

  • Tabler Icons, creados por Paweł Kuna y su comunidad. Los iconos de la interfaz están adaptados como componentes SVG inline para React.
  • SVGL, creado por Pheralb, como biblioteca y referencia para recursos gráficos y logotipos SVG.
  • Google Fonts para las tipografías Inter y Fraunces.
  • JSON Resume como referencia conceptual para estructurar información de currículums. Papyra utiliza un modelo propio adaptado a su editor.
  • Claude y Codex como herramientas de desarrollo mediante vibe coding.
  • La comunidad de código abierto que mantiene React, Vite, TypeScript, Zustand, React Router, dnd-kit, nanoid y el resto de herramientas que hacen posible el proyecto.

Cada recurso conserva los derechos y licencias establecidos por sus respectivos autores.

Contribuir

Las propuestas, incidencias y mejoras son bienvenidas. Puedes:

  1. Abrir una incidencia explicando el problema o la propuesta.
  2. Crear un fork del repositorio.
  3. Trabajar en una rama independiente.
  4. Enviar un pull request con una descripción clara y, si hay cambios visuales, capturas del resultado.

Al modificar el modelo persistido, debe mantenerse la compatibilidad con los CVs guardados y con la importación de archivos JSON anteriores.

Despliegue

El proyecto se publica como una SPA estática. El build de producción se genera con:

npm run build

El contenido de dist/ puede desplegarse en Vercel o en cualquier servicio compatible con aplicaciones estáticas. El archivo vercel.json configura la redirección necesaria para las rutas internas.

Licencia

Papyra se distribuye bajo la licencia MIT.

About

Crea, personaliza y exporta tu CV desde el navegador. Un editor open source, privado y sin cuentas, construido con React y TypeScript.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages