Justin-O icon

Justin-O

Business Command Center

Justin-O Command Center

About Justin-O

Recovered system lore

In the late 1990s, Justin O. was the most overqualified IT technician in Lima: part cable whisperer, part IT helpdesk, and unofficial guardian of a very posh British school’s computer lab. He kept aging beige PCs alive, revived failing floppy disks, and quietly patrolled the network like a digital groundskeeper.

Then came Logan.

A cheeky student with too much time and zero restraint, Logan treated the lab like his personal playground. He queued endless downloads on Napster, swapped dodgy MP3s over ICQ, filled the hard drives with suspiciously named “homework” files, and kept opening far more browser windows than any academic purpose could justify.

Justin shut him down. Logan came back smarter.

The tension built quietly—until one afternoon, when Logan pushed it too far. Dozens of simultaneous downloads, chat windows pinging nonstop, corrupted files clogging the system—everything collided at once.

The lab froze. Then flickered. Then exploded with Justin inside it.

To save what remained, the school nurse, two robotics-club students, rebuilt Justin as an android and sealed him inside a cryogenic server cabinet behind the drama department.

In 2026, he was defrosted, updated, and reassigned to London.

His mission: restore order, defeat chaos and help serviced-apartment operators reconcile revenue. And never again let Logan near a computer.

User Guide

Beginner-friendly notes for using Justin-O safely and confidently.

Start Here

First five minutes
  1. Open Justin-O and enter the shared team password.
  2. Use Overview to jump to the area you need.
  3. Use Financial Report for topline numbers and trends.
  4. Use Meetings for a compact weekly pack view.
  5. Use Suggestion Box if something feels missing or unclear.

What Each Section Does

Quick map
Overview

The front door. Use it to jump into the main modules quickly.

Financial Report

Main KPI dashboard with revenue, profit, building mix, and report settings.

Transactions

Used to classify bank transactions into the P&L structure.

Reviews

Guest review analytics, property scorecards, and recent themes.

Meetings

Weekly management snapshot: finance, reviews, agenda, and suggestions.

Properties / Team / Suggestion Box

Reference pages for buildings, people, and future improvement ideas.

Where Things Live

Drive vs project
Shared Google Drive

Use this for the Excel workbook, PDFs, and files in meeting pack/.

App code

The dashboard itself lives mainly in app/ and api/.

Data pipeline

sqlite_migration/ contains the import and transform scripts plus the canonical local database.

Project instructions

See the root README.md, HANDOFF.md, DEPLOYMENT_NOTES.md, and SUPABASE_SETUP.md.

Safe Working Rules

Important
  • Use Google Drive for business files and GitHub for code changes.
  • Do not edit app/data.js manually unless you know it was intentionally regenerated.
  • Do not put passwords, keys, or sensitive notes into tracked files.
  • If unsure, write the question in Suggestion Box or ask Codex before changing anything.
  • Prefer small, reversible changes instead of broad edits across many files.

Recommended Workflow

For a new collaborator
  1. Read the root HANDOFF.md.
  2. Open the dashboard and browse Overview, Financial Report, Meetings, and Suggestion Box.
  3. Use your own Codex to inspect files and ask questions before editing.
  4. Keep notes, Excel files, and meeting materials in Drive.
  5. Make app or script changes through the Git repo, not by editing a synced Drive copy at the same time as someone else.

Good Codex Prompts

Easy starting points
  • Explain what this project does and which files matter most.
  • Show me how the Financial Report page gets its numbers.
  • What is safe for me to edit if I only want to change text or labels?
  • Create a small change and explain it in plain English.
  • Review my planned change before I do it.

Properties

Buildings and unit types
Add Building Draft only
Add Unit Type Within selected building

Financial Report

Property Performance

Rental revenue by building

Channel Mix

Rental revenue and commission exposure

Unit Type Mix

Revenue concentration

P&L Analysis

Revenue to net income

Report Settings

Financial report logic and impact

Data Audit

See what changed on refresh, where archive backfills come from, and what still needs attention.

Latest Refresh

Refresh Delta

Compared with the prior audited refresh

Archive Backfill

Backfill Reservation Refs

Reservations present in archive workbooks but absent from the current import

Latest Findings

Transform drift, archive gaps, and scan notes

Transactions

Classify bank transactions into the P&L structure used by the financial report.

Transaction Classifier

Edits update the dashboard view immediately

Category Manager

Category, subcategory, and P&L item type hierarchy

Meetings

Weekly pack view: financial snapshot, review signals, agenda, and actions.

Financial Snapshot

Review Snapshot

Agenda

Meeting pack structure

Open Suggestions

Inputs from the team

Suggestion Box

Ideas for Justin-O

Maintenance

Operational notes for keeping Justin-O running from local development through VPS checks and Vercel deployment.

Standard Workflow

Local to live
  1. Make and test changes on the local PC first.
  2. Commit and push the change to GitHub.
  3. Pull the same branch on the VPS for a server-side preview when needed.
  4. Let Vercel deploy the pushed GitHub version as the live site.

Local Run

Static dashboard
Command

python3 -m http.server 8000 --directory /home/sergio/projects/justin-o

URL

http://127.0.0.1:8000/app/index.html

Login

Use the shared team password.

VPS Preview

Public server check
Command

python3 -m http.server 8000 --bind 0.0.0.0 --directory /home/sergio/projects/justin-o

URL

http://<VPS_PUBLIC_IP>:8000/app/index.html

Purpose

Use this as a preview of the repository version before or after a live deployment.

Live Site

Vercel
  • Vercel deploys from the GitHub repository.
  • The static dashboard is served from /app/index.html.
  • The root page redirects into the app.
  • Suggestion Box persistence needs Supabase environment variables in Vercel.

Do Not Edit Casually

High-risk files
  • app/data.js is generated from the reporting pipeline.
  • sqlite_migration/financial_report_canonical.sqlite is the canonical local database.
  • Supabase and Vercel credentials belong in environment variables, not tracked files.
  • Financial report workbooks and meeting packs should stay as source or audit material.

Useful Checks

Before deploy
  • git status --short
  • curl -I http://127.0.0.1:8000/app/index.html
  • curl -I http://127.0.0.1:8000/app/data.js
  • Open Overview, Financial Report, Meetings, and Suggestion Box in the browser.

Team

People behind the London Collection command center.

Jaime

Jaime AKA La Beba

Managing Director

London & Madrid
Milcris

Milcris

Senior Client Services Agent

Philippines
Rose

Rose

Client Services Agent

Philippines
Hans

Hans AKA Social

Board Member

San Francisco
Juan

Juan AKA Alien

Board Member

Liverpool
Sergio

Sergio AKA Rojo

Board Member

Malta

Review Analytics

Current Review Snapshot

Property Review Charts

Month Avg, Accum, and BDC benchmark

Property Scorecard

Current review dataset

Latest Weekly Themes

Weekly Score Spread

Replicates the meeting-pack score counts

Price Paid vs Score

Joined reservations only

Category Scores

Staff, cleanliness, location, facilities

Recent Reviews

Latest entries from the source workbook

Connection Notes

How review data joins to the database