styles.rokojori.com
New asset and font hosting service at styles.rokojori.com. Hosts Google Fonts
(downloaded and self-served), CSS presets, components, and images for use
across all rokojori websites.
Auth via shared JWT cookie from rokojori-auth. Access gated by requireAccess
middleware (already designed and documented in rokojori-auth workspace).
PATCH /api/admin/users/:id/products is live in rokojori-auth — assign the
"styles" product to grant access.
Pages:
— / — logged-out or no-permission users see "STYLES" + login button linking
to account.rokojori.com/login?redirect=https://styles.rokojori.com;
logged-in users with access see list of available sections
— /list-fonts — preview-sentence input at top, then all font families rendered
with that sentence
— /add-fonts — preview-sentence input + font-family name input; downloads from
Google Fonts and generates a stylesheet
Access rules: role:admin, role:user + product:styles, role:user + product:premium
Local Git Repository Integration
Git integration inside the editor: file status indicators in the tree, staging,
commit, push, pull, diffs, and history. Depends on local filesystem access.
Once Roject can open an arbitrary local directory, the git repo is already there.
Implementation via simple-git (thin Node.js wrapper around the git CLI).
Internet Tunnel / Port Relay
Allow local devices — a Stable Diffusion instance, a local LLM, a GDScript language
server — to be accessible to authorised Roject users over the internet, routed through
the Roject server via a persistent WebSocket. Primary use case: phone as a thin client
while the main machine handles all heavy processing.
Real-Time Multi-User Collaboration
Multiple users editing the same file simultaneously with presence indicators
and conflict resolution. Likely via operational transforms or CRDTs.
Significant architecture work; not planned for the near term.
Mobile App (PWA first, native shell later)
Make Roject usable on a phone or tablet. Quickest path: PWA with a manifest
and service worker — works in Safari and Chrome on Android and iOS without an
app store. If native capabilities are later needed, Capacitor can wrap the same
web app. A React Native or Flutter rewrite is not planned.
The realistic mobile workflow is browsing files, reading output, and light edits
rather than heavy coding.