Roger Campos

— What I make

Apps & Libraries.

All the products I run as side projects, plus the Ruby libraries I've authored and maintain. I work on all of these myself, outside of my day job at Factorial.

01 / Apps

Products I build, run and support personally.

  • 01
    Repartim

    Live

    Fair, fast and friction-free expense splitting for groups. Snap a receipt and AI extracts items and amounts; choose how each person contributes (equal split, fixed amount, group representative) and get clear settlement suggestions. Multi-currency, shareable links, no registration required for guests. Visit →

  • 02

    A comprehensive website auditing platform that runs 50+ automated checks across quality, performance, security, SEO and compliance. Pre-launch checklists, scheduled recurring audits, regression detection, team collaboration. Built for developers and site owners who need to keep their web properties healthy. Visit →

  • 03
    URLpipe

    Live

    URL analysis and content extraction API. Give it a URL, get back structured HTML, text, screenshots, performance metrics or AI-cleaned content. Designed as a drop-in building block for AI agents and automation pipelines. Visit →

  • 04

    Personal finance management and forecasting. Tracks spending patterns, detects recurring expenses, and connects to EU banks via PSD2 to import transactions automatically. Visit →

  • 05
    Alexandria

    Personal

    A personal knowledge base — a single searchable home for articles, PDFs, tweets, videos, images and notes. Automatic metadata extraction, full-text search across every format, hashtag-based tagging.

02 / Open Source

Ruby gems I've authored.

Most have been running in production for years.

  • escriba

    Rails I18n where the English source string is itself the translation key. Translations live in the DB and are edited through a mounted admin UI.

  • saviour

    Attaches files to ActiveRecord models through pluggable storages (local, S3) and uploader classes with processors and versions. Transactional-aware writes.

  • interpret

    Rails translations through a backoffice (tree view, in-place edit, YAML import/export), backed by I18n's ActiveRecord backend, with a deploy-time sync task.

  • wazowski

    Declarative ActiveRecord observers with transaction awareness. Handlers run on after_commit and coalesce multiple intra-transaction changes into a single invocation.

  • data_keeper

    Define named Postgres dumps (full, per-table, or per arbitrary SQL select), store them via local/scp/S3, and pull-and-apply the latest into your dev database.

  • toqua

    Independent Rails controller concerns for chaining ActiveRecord scopes, paginating with response headers, coercing params, and searching on top of Doure filters.

  • doure

    Tiny named-filter DSL for ActiveRecord, aimed at search forms. Declare filters per model, call them with params, get back a chainable scope.

  • pg_advisory_locking

    ActiveRecord wrapper around Postgres advisory locks, session and transaction scoped, with blocking and try_lock variants and rollback-safe release.

  • png_quantizator

    Thin Ruby wrapper around the pngquant binary that turns its exit codes into typed Ruby exceptions.

Full list → github.com/rogercampos

03 / For fun

Side experiments.

Projects built just to learn something new.

  • gameboy

    A Game Boy emulator written in Crystal. CPU, PPU, APU, MMU and MBC1/3/5 — enough to run Tetris.

  • 3d_play

    An exercise to play with basic 3D graphics from scratch, in Ruby on top of Gosu primitives.