Skip to content
View rurumiru's full-sized avatar
🌴
On vacation
🌴
On vacation

Block or report rurumiru

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
rurumiru/README.md
rurumiru — full-stack engineer · BEAM · PHP · TypeScript

Demo Telegram Repositories

English  ·  Русский


whoami

I build reading and publishing platforms — and everything they stand on: the schema, the backend, the reader UI, the deploy pipeline, and the panel the operator actually logs into.

The same product, built properly on three different stacks, because each one earns its place:

  • Elixir · Erlang/OTP · Phoenix LiveView — when the product is live: streaming logs, real-time metrics, presence, long-running supervised work.
  • PHP · Laravel · WordPress — when it has to land on someone else's hosting today, with an admin panel and an editorial workflow that non-developers can run.
  • TypeScript · Next.js — when it has to be fast, SEO-visible and carry a rich editor.

Everything ships bilingual or trilingual (RU / EN / PT-BR), documented, with screenshots in the repo.


Stack

 BEAM  Elixir Erlang/OTP Phoenix LiveView Ecto Oban Bandit Telemetry
 PHP  PHP Laravel Filament Livewire Blade WordPress Composer
 Web  TypeScript Next.js React Tailwind Radix UI TipTap Vanilla JS
 Data  PostgreSQL MySQL / MariaDB SQLite Redis Prisma Eloquent ETS
 Infra  Linux Docker nginx systemd GitHub Actions S3 Git

Under the hood

 Erlang/OTP & Phoenix — what I actually use it for
  • Supervision trees instead of retry loops: let the process crash, let its parent restore the invariant.
  • GenServer, DynamicSupervisor, Task.Supervisor, Registry for per-server and per-job state.
  • ETS as a working tool, not a curiosity — ring buffers for live metrics, rate limiting, hot caches.
  • LiveView for everything that streams: journalctl tail, deploy logs, CPU/RAM charts, presence.
  • Oban for background work — queues, retries, uniqueness, cron — backed by Postgres, no Redis.
  • OTP introspection in production: schedulers, memory by type, process/port/atom counts, the supervision tree itself, :rpc into a remote console on a live node.
  • Clustering with dns_cluster, telemetry pipelines, Bandit as the HTTP server.
  • Shipped as OTP releases under systemd, with health checks and automatic rollback.
 Laravel & WordPress
  • Laravel 12 on PHP 8.2+: Eloquent, policies, queues, form requests, a real service layer, Blade + Livewire.
  • Filament 3 admin panels; spatie/laravel-permission for roles, permissions and staff scopes.
  • Money paths done carefully: purchases, subscriptions, donations, payouts and withdrawals on a ledger, not on a balance column.
  • Media and formats: Intervention Image, Flysystem to S3, DOCX/EPUB/FB2 import and export.
  • WordPress as a platform, not a blog: custom post types, taxonomies, WP_Query tuning, roles and capabilities, REST endpoints, i18n — and themes that install by upload, with zero npm and no build step.
 Next.js & the front end
  • Next.js 16 / React 19: App Router, server components, route handlers, streaming, middleware.
  • Auth without a vendor: argon2 + iron-session, device/session tracking, e-mail confirmation flows.
  • Prisma over PostgreSQL, zod at every boundary, S3 presigned uploads, MaxMind GeoIP for territory rules, TipTap editors, Radix UI + Tailwind design systems.
  • Readers built for people who read for hours: multiple themes, persisted typography, text-to-speech, glossary popovers, keyboard navigation and no layout shift.
 Databases
  • PostgreSQL by default: schema design, migrations, composite and partial indexes, full-text search, JSONB where it earns its place, and job queues that live in the database.
  • MySQL / MariaDB wherever WordPress lives — including the query plans behind large catalogues.
  • SQLite for single-node and demo installs; Redis for cache and sessions when it pays for itself.
  • Schemas at real scale: 118 Prisma models on one platform, 89 migrations and 52 Eloquent models on another.
  • Three ORMs, one habit — read the generated SQL. Ecto, Eloquent and Prisma each hide a different N+1.

Selected work

Project What it is Stack
BEAM Control Panel Self-hosted control panel for Linux servers with first-class BEAM support: an SSH-reachable fleet, live metrics, an 11-step deploy pipeline with automatic rollback, OTP introspection, clean-Ubuntu provisioning, TOTP + RBAC + full audit trail. Elixir LiveView Postgres ETS
XI Novels / XI Aurora Free GPL WordPress theme that turns a plain install into a light-novel platform: catalogue, full-screen reader with glossary and text-to-speech, EPUB/FB2 export, rankings, front-end author studio, on-site control panel, bulk import. No npm, no build step. RU/EN/PT-BR. PHP WordPress MySQL
Shiori Reading platform for web novels built on the BEAM — reader, ingest pipeline and translation studio. Design and prototyping phase; source drop in 2027. Elixir Phoenix Postgres
Craftlane Project-first freelance marketplace: scoped projects, contracts, milestones, secured payments, real-time messaging, reputation earned from delivered work. Elixir LiveView Postgres
ER.IIIBA Full novel-publishing platform — author studio, chapter reader, forum, reviews, monetisation, moderation. Archived source of a site that ran in production. Laravel 12 Filament Livewire
longhand-blog A writing blog and the dependency-free static site generator that builds it. Markdown in, static HTML out, published by GitHub Actions on every push. Node.js Zero deps
novel-reader-ui HTML design kit for serialised fiction: library, series page and a chapter reader with three themes and persisted type settings. HTML CSS JS

In progress, not yet public

Project Scale Stack
Solomonster — the platform in full: translation teams with revenue shares, a ledger for purchases, subscriptions, promo campaigns and payouts, a forum, events and achievements, moderation queues, support desk, GeoIP territory rules and an import pipeline. 118 database models · 257 API endpoints · 141 pages Next.js 16 React 19 Prisma Postgres
XI Community (Laravel) — the same product with an editorial back office non-developers can run. 52 models · 89 migrations · 26 Filament resources · 133 Blade views Laravel 12 Filament 3 Postgres
baxi.community — the BEAM rewrite: LiveView front to back, Oban jobs, Floki-based importers, magic-link auth, ETS rate limiting. Phoenix 1.8 · LiveView 1.2 Elixir Phoenix Postgres
Work-order registry — a Phoenix LiveView app replacing a shared Google Sheets workbook, with the roles and audit trail a spreadsheet never had. Internal tool, in production use Elixir LiveView Postgres

How I build

Ship the product, not a layer. Schema, backend, UI, deploy and the operator's panel are one job.

No build step where none is needed. A WordPress theme should install by upload, not by npm ci.

Let Postgres do Postgres things. Queues, search and locks before another moving part.

Supervise, don't retry. If a process can fail, give it a parent that knows what to do about it.

Money goes on a ledger. Never on a balance column.

Bilingual from commit one. RU / EN / PT-BR, not a translation sprint later.

The repo is the documentation. Screenshots, plans, and a README that answers "what does it do".


Stats

GitHub stats Top languages



Contribution graph

Get in touch

Telegram Website GitHub

Built for people who read for hours.

Pinned Loading

  1. novel-site-platform novel-site-platform Public

    Современная платформа чтения новелл и ранобэ / A modern platform for reading novels and light novels

    PHP 2 1

  2. shiori shiori Public

    Shiori - a reading platform for web novels and light novels, built on Erlang/OTP, Elixir and Phoenix LiveView. Source drop in 2027.

  3. wordpress-novel-themes wordpress-novel-themes Public

    Free GPL WordPress theme that turns a plain install into a light-novel platform: catalog, full-screen reader with glossary and text-to-speech, EPUB/FB2 export, rankings, reader hub, front-end autho…

    PHP 4 2

  4. Craftlane Craftlane Public

    A project-first freelance marketplace built with Elixir, Phoenix, LiveView, and PostgreSQL.