Application layer on top of qqo-opp's decentralized communication platform.
  • JavaScript 77.6%
  • Shell 9.2%
  • HTML 8.5%
  • CSS 2.5%
  • Svelte 2.2%
Find a file
2026-05-11 22:53:25 +02:00
app v0.1.1: update .gitignore + repo audit 2026-05-11 22:51:00 +02:00
cln Initial commit: hippo-alpha dev environment on top of qqo-opp 2026-05-08 17:37:15 +02:00
docs Rewrite docs/QQO-OPP.md with all practical knowledge gained 2026-05-11 19:28:19 +02:00
profiles_files Add SvelteKit 5 + Tailwind 3 frontend with FR/EN i18n 2026-05-08 18:08:09 +02:00
qop Initial commit: hippo-alpha dev environment on top of qqo-opp 2026-05-08 17:37:15 +02:00
references MVP: SvelteKit app with qqo-opp vault auth, identities, contacts, feeds 2026-05-08 19:39:09 +02:00
scripts Fix infinite loop on protected pages + srv crash 2026-05-11 17:01:37 +02:00
srv Diagnostics: add console logs to vault unlock flow + srv ready marker 2026-05-11 18:11:49 +02:00
static MVP: SvelteKit app with qqo-opp vault auth, identities, contacts, feeds 2026-05-08 19:39:09 +02:00
www Initial commit: hippo-alpha dev environment on top of qqo-opp 2026-05-08 17:37:15 +02:00
.gitignore v0.1.1: update .gitignore + repo audit 2026-05-11 22:51:00 +02:00
.gitmodules Initial commit: hippo-alpha dev environment on top of qqo-opp 2026-05-08 17:37:15 +02:00
dev-server.js Initial commit: hippo-alpha dev environment on top of qqo-opp 2026-05-08 17:37:15 +02:00
package-lock.json MVP: SvelteKit app with qqo-opp vault auth, identities, contacts, feeds 2026-05-08 19:39:09 +02:00
package.json v0.1.1: update .gitignore + repo audit 2026-05-11 22:51:00 +02:00
postcss.config.js Add SvelteKit 5 + Tailwind 3 frontend with FR/EN i18n 2026-05-08 18:08:09 +02:00
profiles.htm Add SvelteKit 5 + Tailwind 3 frontend with FR/EN i18n 2026-05-08 18:08:09 +02:00
README.md Fixed clone command in README 2026-05-11 22:53:25 +02:00
README.pdf MVP: SvelteKit app with qqo-opp vault auth, identities, contacts, feeds 2026-05-08 19:39:09 +02:00
svelte.config.js MVP: SvelteKit app with qqo-opp vault auth, identities, contacts, feeds 2026-05-08 19:39:09 +02:00
tailwind.config.js Add SvelteKit 5 + Tailwind 3 frontend with FR/EN i18n 2026-05-08 18:08:09 +02:00
vite.config.js Add SvelteKit 5 + Tailwind 3 frontend with FR/EN i18n 2026-05-08 18:08:09 +02:00

hippo-alpha

Application layer on top of qqo-opp's decentralized communication platform.

Tech Stack

Layer Technology
Frontend SvelteKit 2 + Svelte 5
Styling Tailwind CSS 3
i18n Custom store-based (FR + EN), auto-detected via Accept-Language
Backend qqo-opp srv (Node.js/Express, KV store, IPFS proxy)
Storage IPFS/Kubo 0.36 (content-addressed blob storage)
Dev server Vite with HMR

Quick Start (WSL2)

git clone https://git.b0t.pm/sid/hippo-alpha
cd hippo-alpha
npm install         # SvelteKit + Tailwind
npm run setup       # srv deps + seed + IPFS/Kubo (auto-installs to bin/)

Run the app

npm run dev         # SvelteKit at http://localhost:5173

In another terminal, start the full qqo-opp backend (IPFS + srv + www + cln):

npm run dev:qqo
Service URL
hippo-alpha app http://localhost:5173
IPFS/Kubo API http://127.0.0.1:5001
qqo-opp srv http://localhost:13116
qqo-opp cln http://localhost:8081

Language

The UI auto-detects from Accept-Language header (defaults to en). Switch via the dropdown in the header — preference is stored in a cookie.

Add new strings in app/lib/i18n/en.js and app/lib/i18n/fr.js.

Project Structure

hippo-alpha/
├── app/                    # SvelteKit source
│   ├── app.html            # HTML shell
│   ├── app.css             # Tailwind directives
│   ├── hooks.server.js     # Language detection
│   ├── routes/
│   │   ├── +layout.svelte  # Root layout (nav, i18n switch)
│   │   ├── +layout.server.js
│   │   ├── +page.svelte    # Home page
│   │   └── profiles/       # Profile manager
│   └── lib/i18n/           # Translation files (en.js, fr.js)
├── srv/                    # qqo-opp server (vendored)
├── cln/                    # qqo-opp client (vendored)
├── www/                    # qqo-opp website (vendored)
├── qop/                    # qqo-opp sysops (vendored)
├── scripts/                # Dev tooling
├── docs/                   # Architecture & analysis
├── static/                 # Static assets (favicon)
├── svelte.config.js
├── tailwind.config.js
├── postcss.config.js
└── vite.config.js

qqo-opp Repositories

The qqo-opp source is vendored in-tree (unmodified from upstream). .gitmodules is prepared — run scripts/convert-submodules.sh when ready to switch to git submodules.

Dir Source Purpose
srv/ qqo-opp/srv Backend server
cln/ qqo-opp/cln Reference SPA client
www/ qqo-opp/www Landing page
qop/ qqo-opp/qop Deployment scripts

Documentation