Roadmap, programming bible, metadata and matching design and asset inventory, as approved by Paul on 1 November 2026. Keeps both source briefs and the line-up concept sheet in the project, since their only copies were in Codex's working folders. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
43 KiB
ORBIT — Creative Direction, Product Evolution & Incremental Development Brief
Project: Orbit
Status: Existing application under active development
Development environment: Codex desktop
Purpose: Establish the next creative and architectural direction for Orbit without rebuilding or destabilising existing functionality.
1. Important instructions — Read first
Orbit is NOT a new application proposal.
Orbit already exists and has working functionality, including:
- Emby connectivity.
- Media library discovery and metadata access.
- Generated television channels.
- Clock-driven linear television scheduling.
- A working Toonami channel.
- An existing application interface and development architecture.
These are existing foundations, not features to recreate.
Before proposing or implementing anything:
- Inspect the existing repository and documentation.
- Understand the application stack, component structure, styling, data models and current UI.
- Identify how Emby connectivity, metadata discovery, channel generation and playback currently operate.
- Identify the existing schedule engine and how playback offsets are calculated.
- Inspect the existing navigation, dashboard, settings and any theme systems.
- Identify existing tests, build processes and development conventions.
- Determine which capabilities described below already exist, which can be extended, and which require new modules.
- Document current functionality before designing changes.
Do not assume the project needs a new framework, database, frontend architecture or playback engine.
Preserve existing working behaviour. Do not replace it simply to accommodate new ideas.
This brief represents the intended long-term direction. It does not authorise immediate implementation of every feature.
All significant changes should be proposed, reviewed and approved before implementation.
2. Product vision
What Orbit is
Orbit is a modern, personal television experience inspired by the British satellite and cable television era of the 1990s and early 2000s.
It combines:
- Traditional linear television schedules.
- Modern media-server integration.
- Automatically generated channels.
- Customisable channel presets.
- Recognisable channel branding.
- Box Office-style movie events.
- Family profiles and parental controls.
- Optional interactive games.
- Future teletext-style information services.
Orbit is not simply another media-library browsing application.
It restores the experience of turning on a television and discovering something already playing.
Emotional direction
"Had enough of today's world. Take me back."
Secondary creative direction:
"All the convenience of today. A little of the magic of yesterday."
The nostalgic inspiration includes:
- 1990s and 2000s Sky Digital.
- Cartoon Network.
- Fox Kids.
- Toonami.
- BBC Three.
- Sky Box Office.
- Video rental shops.
- Drive-in cinemas.
- Sky interactive games.
- Ceefax and Teletext.
These are references for the emotional experience, not brands or creative assets to reproduce directly.
Orbit must establish its own distinctive identity.
Product philosophy
- User ownership and control.
- No content lock-in.
- No mandatory cloud account.
- No forced recommendations.
- No unnecessary telemetry.
- No unwanted external AI dependency.
- The user's connected media remains under their control.
- Modular capabilities rather than a bloated application.
- A simple television experience first, advanced customisation second.
Orbit provides the broadcasting experience. The user provides their authorised media sources.
3. Preserve the linear television foundation
Orbit must retain its existing clock-driven scheduling model.
Example:
Dragon Ball Z begins at 09:00.
The viewer tunes in at 09:12.
Playback begins approximately twelve minutes into the scheduled episode.
This is essential to the product identity.
Do not unintentionally replace this behaviour with conventional playlist playback.
Investigate how the existing system handles:
- Schedule creation and persistence.
- Programme duration.
- Channel switching.
- Playback offset calculations.
- Programme boundaries.
- Application restarts.
- Time zones and daylight-saving changes.
- Missing or inaccessible media.
- Schedule continuity.
- Seeking and playback errors.
Preserve the existing implementation wherever it works correctly.
Any new channel preset or event feature must integrate with the established scheduling engine.
4. Orbit visual identity
Overall design direction
Orbit should resemble an alternative history of television: what if the colourful, experimental satellite TV experience of 1999 had continued evolving into modern technology?
The interface should retain:
- Warm nostalgia.
- Strong channel personalities.
- Futuristic metallic surfaces.
- CRT and VHS-inspired details.
- Bold colours.
- Recognisable visual identities.
- Playful 90s typography.
- Premium cinema-inspired presentation.
- Modern responsiveness and usability.
Avoid making the application feel like a generic streaming service.
Avoid excessive visual noise in functional screens.
The goal is retro personality combined with contemporary usability.
Existing UI compatibility assessment
Before designing or changing components, review the current UI and answer:
- Does the existing layout accommodate the proposed branding?
- Can the current EPG display different channel logos effectively?
- Can the existing player support optional logo overlays?
- Can channel transitions be added without interfering with media playback?
- Can the existing dashboard support featured events and programme highlights?
- Can the navigation grow without becoming crowded?
- Are existing fonts, spacing, contrast and components compatible with these designs?
- Which existing UI elements should be preserved?
- Which visual changes could be implemented incrementally?
Do not redesign the application until this compatibility review is complete.
The supplied channel concept artwork should be treated as visual references, not necessarily final production assets.
5. Approved channel lineup and programming identities
These are Orbit's current proposed default presets.
The channel definitions are creative targets. Actual programme availability must be determined from the connected user's media library.
VORTEX — Action Anime
Inspiration: 1990s/2000s Toonami action programming.
Programming references:
- Dragon Ball Z.
- Naruto.
- Gundam Wing.
- Yu Yu Hakusho.
- Samurai Jack.
- Batman Beyond.
- The Powerpuff Girls.
Branding:
- Brushed chrome typography.
- Metallic blue and silver surfaces.
- Electric purple highlights.
- Space vortices.
- Dynamic angular lettering.
- High-energy futuristic presentation.
Suggested ident:
A rotating cosmic vortex forms behind the logo. Metallic letters assemble while blue and purple energy travels around the screen.
Suggested channel bug:
Compact chrome V emblem, with subtle blue or purple accents.
TOONZ — Classic Cartoons
Identity: Traditional animated comedy across generations.
Programming references:
- Looney Tunes.
- Tom & Jerry.
- The Flintstones.
- The Jetsons.
- Popeye.
- Hanna-Barbera classics.
Branding:
- Bright yellow.
- Electric cyan.
- Hot pink.
- Comic-book bursts.
- Graffiti-inspired typography.
- A prominent oversized graffiti Z.
- Energetic doodles and cartoon shapes.
Suggested ident:
Paint splashes appear across the screen as letters bounce into place, finishing with a dramatic pink graffiti Z.
Suggested channel bug:
The distinctive pink Z, or a compact ToonZ wordmark.
REWIND — Cartoon Network Gold / After-School Classics
Programming references:
- Dexter's Laboratory.
- Johnny Bravo.
- Scooby-Doo.
- Courage the Cowardly Dog.
- Ed, Edd n Eddy.
- Recess.
Branding:
- Warm orange and yellow.
- Retro purple.
- Analogue television imagery.
- VHS tracking effects.
- Rainbow streaks.
- Familiar, comfortable, after-school atmosphere.
Suggested ident:
An old CRT television powers on, briefly displays static, and reveals the Rewind logo.
Suggested channel bug:
A miniature retro television featuring a rewind emblem.
ORBIT X — 90s Action Cartoons
Inspiration: Fox Kids-era action and adventure.
Programming references:
- Digimon.
- Biker Mice from Mars.
- Gargoyles.
- Power Rangers.
- Medabots.
- Transformers.
- He-Man.
- ThunderCats.
Branding:
- Metallic silver.
- Aggressive red X.
- Black backgrounds.
- Sharp motion graphics.
- Extreme 90s action styling.
Suggested ident:
A red X slices through the screen, revealing the channel logo through sparks and energetic motion.
Suggested channel bug:
A strong red X with a small Orbit identifier where appropriate.
HEROES — Superhero Animation
Programming references:
- Batman: The Animated Series.
- Superman: The Animated Series.
- Spider-Man (1994).
- X-Men: The Animated Series.
- Batman Beyond.
- Spider-Man Unlimited.
Branding:
- Metallic silver.
- Deep red.
- Royal blue.
- Heroic shield imagery.
- City skylines.
- Searchlights.
- Classic comic-book confidence.
Suggested ident:
Searchlights move across a night-time skyline before converging to reveal the Heroes emblem.
Suggested channel bug:
A simplified shield or H emblem.
Programming overlap rule
Some titles legitimately fit multiple channels.
For example, Batman Beyond belongs to Heroes but also fits the Vortex programming identity.
Support channel priorities and permitted crossovers rather than forcing every title into one exclusive category.
The matching algorithm must avoid accidental excessive repetition while allowing intentional crossover programming.
WONDER — Magical Family Cinema
Identity: Disney-style animated family films and other magical family cinema.
Programming references:
- Aladdin.
- The Lion King.
- Beauty and the Beast.
- Toy Story.
Branding:
- Midnight blue.
- Lavender clouds.
- Warm gold typography.
- Stars.
- Magical trails.
- Dreamlike cinema atmosphere.
Suggested ident:
A trail of stars sweeps through a magical night sky and reveals the Wonder logo.
Suggested channel bug:
A golden W with a small star.
ORBIT VHS — Nostalgic Cinema
Programming references:
- The Goonies.
- Back to the Future.
- Gremlins.
- The Lost Boys.
Branding:
- VHS tape labels.
- Retro rental-shop imagery.
- Rainbow stripes.
- Analogue distortion.
- Chunky 1980s/1990s lettering.
Suggested ident:
A VHS cassette enters a player. Tracking lines briefly roll across the screen before the Orbit VHS logo appears.
Suggested channel bug:
A simplified VHS cassette or VHS wordmark.
ORBIT GOLD — Classic British Comedy
Programming references:
- Only Fools and Horses.
- Father Ted.
- Blackadder.
- Fawlty Towers.
Branding:
- Warm gold.
- Dark charcoal.
- Heritage-inspired lettering.
- Familiar and comfortable presentation.
Suggested ident:
Gold lettering appears with a subtle sweep of light.
Suggested channel bug:
Compact gold wordmark.
ORBIT THREE — Alternative and Scottish Comedy
Inspiration: BBC Three-era alternative comedy and Scottish television favourites.
Programming references:
- Still Game.
- Limmy's Show.
- The Mighty Boosh.
- Two Pints of Lager and a Packet of Crisps.
- Gary: Tank Commander.
- Family Guy.
Branding:
- Magenta.
- Purple.
- Bold geometric typography.
- Playful asymmetry.
- Alternative youth-channel energy.
Suggested ident:
Large geometric shapes and playful lettering animate into the number three.
Suggested channel bug:
Stylised number 3.
ORBIT 1 — Flagship Entertainment
Identity: Relaxed, broad-appeal television.
Programme direction:
- Family favourites.
- Familiar sitcoms.
- Easy-watching classics.
- General entertainment.
- Comfort television.
Branding:
- Orbit blue.
- Silver.
- Soft cyan.
- Simple satellite-inspired design.
This should feel like the flagship general entertainment channel.
ORBIT 2 — Discovery and Variety
Approved direction: General entertainment with an emphasis on cult television, forgotten favourites and unexpected discoveries.
Potential programming:
- Cult TV series.
- Game shows.
- Documentaries.
- Lesser-known sitcoms.
- Forgotten 1990s/2000s television.
- Interesting library discoveries.
Branding:
- Metallic silver.
- Purple.
- Dark blue.
- Orbit 1 visual family with a more experimental personality.
Suggested programming principle:
"Something you might never have chosen yourself."
Avoid making Orbit 2 simply a duplicate of Orbit 1.
6. Additional movie channels
| Channel | Programming | Visual identity | Transition |
|---|---|---|---|
| Orbit Sci-Fi | Science-fiction films and series | Chrome, blue, cyan, planets | Planet orbit and hyperspace |
| Orbit Horror | Slashers, supernatural and creature features | Crimson, black, eerie moonlight | Scratched lettering and dark reveal |
| Orbit After Dark | Adult-oriented late-night films and cult cinema | Purple, magenta, neon skyline | Midnight neon illumination |
| Orbit Premiere | Featured films and premium movie nights | Gold, black, marquee lights | Cinema spotlights and curtain reveal |
| Orbit Romance | Romantic films and feel-good cinema | Pink, rose, sunset gold | Soft glowing cursive reveal |
| Orbit Action | Action, martial arts, thrillers and adventure | Red, orange, steel | Impact flashes and motion streaks |
Keep genre-specific Horror distinct from the broader late-night programming identity of After Dark.
7. Channel branding asset system
Create a reusable specification for channel artwork.
Each channel should eventually support:
Primary logo
Full-resolution channel identity for menus, promotional artwork and screens.
Compact EPG logo
Simplified logo designed for readability at small dimensions.
On-screen channel bug
Small, transparent branding placed in the bottom-left corner during playback.
Animated ident
Optional transition between scheduled programmes.
Programme title card
Optional visual introducing a programme or themed block.
Channel colour palette
A channel-specific set of colours that can be used consistently throughout Orbit.
Asset requirements
Investigate suitable formats including:
- SVG for scalable logos where appropriate.
- Transparent PNG or WebP alternatives.
- WebM with transparency where supported.
- Compact video or animation assets for idents.
Determine actual asset requirements from the current rendering engine and supported playback environments.
Do not assume every format will work.
Important
The branding system should be driven by reusable configuration, not hardcoded separately into every channel component.
A custom user-created channel should be able to use the same asset system.
8. Bottom-left channel logo overlay
Investigate adding an optional television-style logo overlay during playback.
Requirements:
- Bottom-left placement by default.
- User-configurable visibility.
- Suitable opacity.
- Appropriate sizing.
- Safe margins.
- Respect subtitles and accessibility.
- Avoid covering playback controls.
- Minimal performance impact.
- No unnecessary re-rendering.
- Compatible with fullscreen playback where possible.
Suggested settings:
- Off.
- Always visible.
- Briefly visible when changing channels.
- Visible when playback begins.
Consider additional positioning options if needed.
Important: Do not burn the channel logo into the original media.
The overlay belongs to Orbit's presentation layer.
The overlay must never interfere with media streaming, seeking or the existing scheduling engine.
9. EffectCraft animated transitions
EffectCraft is the intended creative tool for producing optional channel transitions and idents.
Investigate how rendered EffectCraft assets could fit into the current application.
Do not introduce EffectCraft as a mandatory runtime dependency.
Prefer exporting compatible animation assets that Orbit can play independently.
Possible transition behaviour:
- Scheduled programme ends.
- If enabled and scheduling permits, play the channel ident.
- Begin the next programme at the correct clock-relative playback position.
- If the ident is unavailable, continue directly to the programme.
Do not allow animations to break schedule synchronisation.
Consider whether idents should occupy explicitly scheduled time or whether short visual effects can be presented during an existing transition without changing the programme start time.
Provide a recommendation based on the current scheduling architecture.
Transition settings should include:
- Enabled/disabled.
- Per-channel settings.
- Reduced-motion support.
- Optional audio.
- Fallback when an asset fails.
Create one proof-of-concept transition before expanding to the full channel lineup.
10. Library connectivity and first-run onboarding
When another user installs Orbit, the application should introduce them to the available connection options.
Potential providers:
- Emby.
- Plex.
- Silo, subject to its actual API and capabilities.
- Other compatible servers.
- Custom supported server connections.
- Optional M3U playlists for authorised live television sources.
Do not assume every proposed provider has the same authentication model or functionality.
Investigate integrations individually.
The existing Emby connector is the starting point and should be preserved.
Proposed first-run flow
Step 1 — Welcome to Orbit
Introduce the user to the idea of creating a personal television network from their own connected media.
Offer a simple setup experience.
Step 2 — Connect your media
Display available media providers.
Allow the user to connect an authorised library.
Securely handle credentials and tokens.
Avoid storing unnecessary personal information.
Step 3 — Discover your library
Read available programme metadata and identify suitable content.
Show:
- Total recognised shows and films.
- Categories discovered.
- Content availability.
- Any incomplete or unrecognised metadata.
Step 4 — Choose your experience
Offer:
Orbit Presets
"Let Orbit suggest channels based on your library."
Create your own
"Build your television channels from scratch."
Allow users to combine both approaches.
Step 5 — Review suggested channels
Present the available Orbit presets.
Each preset should show:
- Channel name and logo.
- Programming identity.
- Matching titles.
- Available episode count where applicable.
- Missing suggested titles.
- Potential alternatives.
- An enable/disable checkbox.
Do not imply missing titles are available.
Step 6 — Customise your lineup
Allow users to:
- Remove channels.
- Rename channels.
- Change branding.
- Add or remove programmes.
- Create channels.
- Assign channel numbers.
- Accept suggested alternatives.
Step 7 — Create profiles
Offer profile creation and optional family controls.
Step 8 — Enter Orbit
The user arrives at the main dashboard with their selected channels, events and preferences.
Onboarding principles
- Keep the process simple.
- Support going back and editing choices.
- Allow setup to be revisited in Settings.
- Avoid requiring users to configure everything before watching television.
- Provide helpful defaults.
- Preserve existing configured users when adding onboarding to the application.
11. Orbit channel recommendation algorithm
Design a transparent, metadata-driven matching engine.
Avoid mandatory AI or cloud-based recommendation services.
The first version should use structured metadata and explainable rules.
Inputs
Potential metadata fields:
- Title.
- Original title.
- Release year.
- Media type.
- Genres.
- Actors.
- Directors.
- Production studio where available.
- Collections and franchises.
- Series and episode information.
- Content ratings.
- Runtime.
- Provider-specific identifiers.
- Stable external identifiers where legitimately available.
- User preferences and exclusions.
Metadata normalisation
Design an internal provider-independent media representation.
Emby, Plex and other sources should map their metadata into a common model.
Do not rely on one provider's internal media IDs as universal identifiers.
Preserve provider-specific playback references separately.
Matching approach
Use a layered process.
Layer 1 — Known programme matching
Each Orbit preset maintains a curated set of preferred programmes.
Match exact recognised titles and verified aliases first.
For example:
Vortex prefers Dragon Ball Z, Naruto and Gundam Wing.
Rewind prefers Dexter's Laboratory, Scooby-Doo and Recess.
Layer 2 — Similarity matching
If titles are unavailable, score candidate programmes using:
- Genre.
- Decade.
- Animation style or programme category where metadata supports it.
- Franchise associations.
- Audience suitability.
- User-selected interests.
- Relevant thematic tags.
Layer 3 — Suitability filtering
Exclude content that:
- Cannot currently be played.
- Violates profile restrictions.
- Is explicitly excluded by the user.
- Conflicts with channel content rules.
- Has insufficient identification confidence.
Layer 4 — Recommendations
Show the user suggested additions.
Explain each suggestion, for example:
"Suggested for Rewind because it is a 1990s animated comedy."
Layer 5 — User confirmation
The user decides what gets added.
User changes override preset defaults.
Do not silently add unwanted content after the initial setup.
Potential scoring model
Investigate an initial weighted scoring system:
- Known title match: highest priority.
- Genre and category relevance.
- Era relevance.
- Audience suitability.
- User preference.
- Series and franchise compatibility.
Weights should be configurable and testable.
Do not treat this example as a fixed implementation requirement.
Cross-channel behaviour
Allow content to appear across multiple channels when appropriate.
However:
- Prefer the most relevant primary channel.
- Avoid excessive duplication in default presets.
- Allow intentional special programming and crossover events.
- Respect explicit user placement.
Explainability
The application should be able to explain why a title was suggested.
Keep matching decisions inspectable during development.
12. OrbitOffice — The personal Box Office
OrbitOffice is a major part of the long-term experience.
It is inspired by:
- Sky Box Office.
- 1980s/1990s video rental shops.
- Classic cinema marquees.
- Drive-in movie theatres.
- Movie marathons.
- Seasonal film programming.
It should not feel like another generic VOD catalogue.
OrbitOffice is about creating an occasion around watching something.
Visual direction
Imagine a nostalgic drive-in theatre at dusk.
A line of cars faces a large cinema screen beneath a starry sky.
Nearby is an illuminated cinema marquee displaying:
TONIGHT'S PRESENTATION
The scene might show:
- Classic parked cars.
- A retro cinema sign.
- Warm lights.
- A large outdoor projection screen.
- A ticket-booth motif.
- Film posters.
- A programme board.
- Upcoming movie events.
The aesthetic should be charming, nostalgic and recognisably Orbit.
Keep the presentation navigable and efficient rather than requiring users to interact with a complicated 3D environment.
A visually rich background with practical, accessible event cards may be the better initial implementation.
OrbitOffice programming
Examples:
Arnie Triple Bill
- Total Recall.
- Terminator 2.
- Twins.
Tremors Marathon
A sequence of available Tremors films from the user's library.
Late Night Spooks
A selection of horror and supernatural films.
Seasonal Events
- Halloween horror.
- Christmas family films.
- Summer blockbusters.
- Winter comfort cinema.
Director or Actor Nights
Films organised around a director, actor or creative theme.
OrbitOffice algorithm
Use the connected user's library.
Generate potential events from:
- Existing collections.
- Recognised franchises.
- Shared actors.
- Shared directors.
- Similar genres.
- Decades.
- Seasonal relevance.
- User preferences.
- Channel identities.
When an event cannot be completed, suggest alternatives.
Never invent playable titles.
Never modify a user's schedule without their approval.
Event creation
Allow users to:
- Accept a suggested event.
- Reject it.
- Change the movies.
- Reorder the programme.
- Name the event.
- Select a date and time.
- Create their own marathon.
- Hide events from the dashboard.
Scheduling
Consider using the existing clock-driven schedule engine to support event channels or scheduled takeovers.
Do not duplicate scheduling logic unnecessarily.
Investigate how an event could temporarily replace regular programming and then return to the existing schedule.
A scheduled event should have clear start times and remain synchronised.
Dashboard integration
Enabled events should appear on the dashboard.
Potential displays:
- Tonight at OrbitOffice.
- Coming this weekend.
- Seasonal specials.
- Recommended for you.
- Upcoming marathons.
The user controls which recommendations are displayed.
13. Main dashboard and navigation
Review the current interface before altering its layout.
The intended direction is a television-style main menu.
Left navigation
Potential content categories:
- Entertainment.
- Movies.
- Kids.
- Animation.
- Documentaries.
- Comedy.
- Sports, where supported.
- Other categories based on enabled channels.
The categories should reflect the user's actual channel lineup.
Do not show empty categories unnecessarily.
Dashboard presentation
Include an interactive programme-highlight area showing:
- What's on now.
- What's on next.
- Featured channels.
- Programme artwork.
- Upcoming OrbitOffice events.
- Seasonal recommendations.
The slideshow should feel like a television promotional carousel, not a crowded streaming-service homepage.
Keep remote-control and keyboard navigation straightforward.
Suggested primary navigation
- Home.
- TV Guide.
- OrbitOffice.
- Catch Up.
- Games.
- Settings in the top-right.
Adapt this to the existing navigation structure rather than forcing a replacement.
Settings access
A visible settings control should be available in the top-right area.
Settings should eventually include:
- Connected media sources.
- Channel creation and editing.
- Categories.
- Channel ordering.
- Preset management.
- Profile management.
- Parental controls.
- Themes.
- Branding and overlays.
- Transitions.
- Customisation.
- Data import/export.
14. Catch Up — What you may have missed
Introduce a future section inspired by classic television catch-up services.
The experience should remain connected to the user's linear channels.
Potential sections:
- Recently aired.
- Missed yesterday.
- Earlier this week.
- Continue watching.
- Popular on your channels.
- Recommended catch-up.
Important technical distinction
Orbit may not be recording television broadcasts.
Catch Up can initially work by referencing the episodes or films that previously appeared on the user's generated channels.
Example:
A programme aired yesterday at 18:00.
The user missed it.
If the same media item remains accessible through their authorised provider, Orbit offers direct on-demand playback from the beginning.
Do not imply Orbit recorded the programme unless a genuine recording capability exists.
Visual direction
Use the look of early digital catch-up television:
- Clean programme tiles.
- Channel branding.
- Broadcast dates.
- A "Previously on Orbit" presentation.
- Nostalgic but uncluttered navigation.
Reuse existing media playback where possible.
15. Profiles and parental controls
Orbit should eventually support multiple profiles.
Examples:
- Adult.
- Child.
- Guest.
- Custom profile.
Profile art
Create optional profile avatars with playful, original 90s-inspired characters.
Potential themes:
- Retro television mascot.
- Space explorer.
- Cartoon robot.
- Friendly alien.
- Astronaut bee.
- Arcade-style pixel characters.
Users should also be able to choose simple icons or customise a profile.
Adult profiles
Support an optional four-digit PIN.
Investigate secure PIN storage, rate limiting and protections against trivial bypasses.
A four-digit PIN is a household convenience control, not strong authentication.
Child profiles
Support:
- Age-appropriate content filtering.
- Restricted channels.
- Restricted media visibility.
- Protected adult profile switching.
- Protected access to settings.
- Preventing direct playback of restricted titles.
Filtering must apply beyond the dashboard.
The recommendation engine, search results and playback access should consistently enforce the active profile's rules.
Profile preferences
Profiles may eventually have independent:
- Channel favourites.
- Recommendations.
- Watch history.
- Dashboard preferences.
- Theme choices.
Assess the scope of existing application state before designing profile persistence.
16. Themes and customisation
Themes are part of Orbit's long-term flexibility.
Potential included themes:
Orbit Classic
The primary late-90s/early-2000s television identity.
Orbit Modern
A clean contemporary presentation using the same underlying functionality.
Orbit Retro
An intentionally older CRT, analogue or early digital-TV aesthetic.
Theme settings
Potential customisations:
- Colour palette.
- Typography.
- Background.
- Logo presentation.
- Channel bug position and visibility.
- Transition settings.
- Navigation styling.
- Animation intensity.
Custom CSS imports
Investigate whether optional user-supplied CSS can be supported safely.
Requirements:
- Must be opt-in.
- Must not damage the application permanently.
- Must have a reset-to-default option.
- Should support preview before applying.
- Should preserve access to essential controls.
- Must respect the actual application's rendering environment.
If the app uses an embedded web interface, assess CSS isolation and security boundaries.
Do not promise support before inspecting the current architecture.
17. Games — Orbit Arcade
Orbit may eventually include a small optional games section.
The games area should feel inspired by early interactive satellite television.
First game: OrbitHive Bedlam
An original space-themed puzzle game inspired by the experience of classic television puzzle games.
Visual direction
- Deep-space background.
- Planets.
- Colourful stars.
- Floating puzzle arena.
- Honeycomb-style arrangements.
- Bright puzzle pieces.
- Friendly bee character wearing an astronaut helmet.
- Orbit visual identity.
Skins
Classic
A restrained nostalgic television-game presentation using original Orbit assets.
Retro
A polished early-2000s interactive-TV-inspired appearance.
Orbit
A full cosmic theme with planets, futuristic honeycombs and the astronaut bee.
The game should use original code, artwork, audio, level design and branding. Inspiration should not require copying original protected assets.
Controls
Prioritise:
- Remote-control navigation.
- Arrow keys.
- Select/confirm.
- Back.
- Controller support where practical.
The game should remain simple to understand and play.
Modular installation assessment
Investigate two strategies.
Option A — Small bundled game
Suitable if the game has a small, self-contained footprint and minimal dependencies.
Option B — Optional downloadable game module
Suitable if game engines, graphical assets or other dependencies significantly increase application size.
Do not choose solely on assumptions.
Measure:
- Installed size.
- Memory use.
- Startup cost.
- Packaging complexity.
- Update complexity.
- Security implications.
- Supported platforms.
Recommend the simplest maintainable approach.
The Games menu should degrade gracefully if no games are installed.
18. Future feature — OrbText
OrbText is a future optional information module inspired by Ceefax and Teletext.
It is not an immediate development priority.
Potential pages
- 100 — Main Index.
- 101 — News.
- 200 — Entertainment.
- 300 — Sports.
- 302 — Football Scores.
- 400 — Weather.
- 500 — Games.
- 600 — TV Listings.
- 700 — OrbitOffice Events.
Visual direction
- Classic blocky teletext typography.
- Black background.
- Bright primary colours.
- Numbered pages.
- Coloured navigation keys.
- Retro text layout.
Potential data sources
Investigate authorised APIs or feeds for:
- News.
- Football scores.
- Fixtures.
- League tables.
- Weather.
- Orbit's own schedule.
- Upcoming events.
Avoid unnecessary network requests.
Cache information appropriately and respect third-party data licences.
OrbText should be a separate module and should not complicate the main playback engine.
19. Media-source and licensing boundaries
Orbit must not bundle copyrighted television programmes or films as part of its public software distribution without appropriate rights.
Default channel definitions should describe intended programming and matching rules, not promise particular media is included.
The user's authorised connected media library determines availability.
External playlists must be user-supplied or otherwise appropriately authorised.
Do not include piracy directories, unauthorised streaming endpoints or credentials.
Do not use third-party channel logos, music or idents as bundled default branding without permission.
The Orbit channel identities should use original assets.
Investigate API terms, metadata licences and redistribution constraints before implementing integrations for public distribution.
20. Technical architecture principles
The long-term capabilities should remain modular.
Suggested conceptual boundaries:
Media Providers
Emby, Plex and future supported sources.
Media Catalogue
Normalised library metadata and playback references.
Preset Engine
Curated channel definitions, matching and suggestions.
Schedule Engine
Existing linear television functionality.
Branding Layer
Channel artwork, overlays and idents.
OrbitOffice
Movie events, marathons and recommendations.
Profiles
User preferences, visibility and parental controls.
Catch Up
Previously scheduled content discovery.
Games
Optional interactive entertainment.
OrbText
Optional information service.
These are conceptual responsibilities, not instructions to create ten services or rewrite the repository.
Prefer adapting existing modules and abstractions.
Avoid unnecessary infrastructure.
Keep the application lightweight and maintainable.
21. Incremental development roadmap
Do not attempt to deliver everything in one implementation.
Analyse the existing codebase and propose the smallest practical sequence of changes.
Phase 0 — Existing application audit
Goal: Establish the current technical baseline.
Tasks:
- Inspect architecture.
- Review working Emby connection.
- Review channel discovery.
- Review the schedule engine.
- Review the current interface.
- Review configuration and persistence.
- Review relevant tests.
- Identify implementation gaps.
Deliverables:
- Current-state report.
- Architecture summary.
- Existing-feature inventory.
- Risk assessment.
- Proposed incremental roadmap.
Acceptance:
The team understands how the existing application works without having modified its behaviour.
Phase 1 — Reliable media catalogue and channel presets
Goal: Build upon existing metadata discovery to support the approved Orbit channel definitions.
Tasks:
- Audit metadata completeness.
- Normalise relevant fields as needed.
- Define channel preset configuration.
- Implement or extend matching rules.
- Support missing-title suggestions.
- Support user approval and exclusions.
- Preserve existing channels and data.
Acceptance:
A connected Emby library can be matched against Orbit presets, showing accurate matches and suggested alternatives without disrupting existing channels.
Phase 2 — Channel selection and editing
Goal: Give users control over their generated channels.
Tasks:
- Enable/disable presets.
- Add/remove programmes.
- Create a custom channel.
- Rename and reorder channels.
- Persist user changes.
- Support programme overlap where intended.
Acceptance:
A user can customise the recommended lineup and retain the changes after restarting the application.
Phase 3 — Channel branding foundation
Goal: Introduce channel identities within the existing UI.
Tasks:
- Define branding asset configuration.
- Test logo formats.
- Implement compact EPG logos.
- Apply channel colours where suitable.
- Validate readability.
- Assess compatibility with current themes.
Acceptance:
Orbit can display distinct channel identities without affecting playback or making navigation harder.
Phase 4 — Optional player overlays
Goal: Add the bottom-left channel logo option.
Tasks:
- Implement the overlay layer.
- Add visibility settings.
- Test fullscreen and subtitles.
- Test playback performance.
- Test channel switching.
Acceptance:
Channel logos can be enabled or disabled without interrupting playback.
Phase 5 — Animated idents
Goal: Integrate optional EffectCraft-produced transitions.
Tasks:
- Determine compatible exported formats.
- Test one transition.
- Confirm playback timing behaviour.
- Add graceful fallback.
- Add reduced-motion and on/off settings.
Acceptance:
One channel can play an optional ident without altering scheduled programme timing unexpectedly.
Phase 6 — Dashboard evolution
Goal: Improve the main menu while preserving existing navigation.
Tasks:
- Add programme highlights.
- Add channel artwork.
- Add what-is-on-now/next presentation.
- Refine left-side categories.
- Prepare space for featured events.
Acceptance:
The dashboard makes it easy to begin watching immediately, while communicating the distinctive Orbit identity.
Phase 7 — OrbitOffice foundation
Goal: Introduce themed events using existing media.
Tasks:
- Define event configuration.
- Match event titles against connected libraries.
- Suggest alternatives.
- Support user approval.
- Display upcoming events.
- Investigate schedule integration.
Acceptance:
A user can create a three-film event from available media and see it displayed without automatic unwanted schedule changes.
Phase 8 — Additional media providers and first-run onboarding
Goal: Support a broader audience without destabilising Emby.
Tasks:
- Define a minimal provider interface from actual existing requirements.
- Assess Plex and Silo integrations.
- Implement one additional provider at a time.
- Build connection selection.
- Build preset-selection onboarding.
- Support existing installations without forcing reconfiguration.
Acceptance:
New users can connect a supported provider and configure recommended channels, while existing users retain their setup.
Phase 9 — Profiles and parental controls
Goal: Support household use.
Tasks:
- Profile creation.
- Avatars.
- PIN protection.
- Child-safe visibility.
- Playback restrictions.
- Profile-based preferences.
Acceptance:
Restricted content cannot be accessed from a child profile through ordinary navigation, search, recommendations or direct playback.
Phase 10 — Themes and user customisation
Goal: Allow users to personalise Orbit.
Tasks:
- Theme selection.
- Channel appearance preferences.
- Branding options.
- Transition settings.
- Investigate optional custom CSS.
- Import/export of suitable configuration.
Acceptance:
Users can customise Orbit while retaining a safe and recoverable default interface.
Phase 11 — Catch Up
Goal: Surface recently scheduled content for on-demand playback.
Tasks:
- Use scheduling history.
- Link to accessible media.
- Add missed-programme views.
- Preserve channel attribution.
Acceptance:
A user can find a recently aired programme and play it on demand when the connected provider still makes it available.
Phase 12 — Optional Games
Goal: Add OrbitHive Bedlam without bloating the television application.
Tasks:
- Assess game packaging.
- Build a minimal original playable prototype.
- Test remote and controller input.
- Add optional themes.
- Measure resource use.
Acceptance:
Games can run independently without negatively affecting the television experience.
Phase 13 — OrbText research
Goal: Explore a teletext-inspired information service.
Tasks:
- Review possible data providers.
- Investigate rendering.
- Define a minimal page model.
- Assess resource use and licensing.
Acceptance:
A small standalone proof of concept demonstrates numbered teletext-style pages using appropriately sourced data.
22. Important development rules
Codex should follow these rules throughout the project.
- Do not rebuild functioning systems unnecessarily.
- Inspect before modifying.
- Use existing architectural conventions.
- Avoid installing heavy dependencies without justification.
- Prefer incremental changes.
- Add tests for new logic where appropriate.
- Never silently migrate or discard user data.
- Maintain separation between proposals and approved work.
- Protect media-server credentials.
- Avoid introducing mandatory cloud services.
- Ensure optional modules remain optional.
- Keep settings reversible.
- Preserve accessibility and remote-control navigation.
- Prioritise performance on modest hardware.
- Keep the channel schedule reliable.
- Maintain current functionality throughout development.
- Document significant architectural decisions.
- Obtain approval before destructive changes or broad refactoring.
23. What I want Codex to do NOW
Do not implement this entire brief.
Start by inspecting the existing Orbit project.
Then produce the following:
A. Current-state assessment
Explain what Orbit currently has, including the Emby connection, scheduling engine, channel creation, interface and settings.
Distinguish verified functionality from assumptions.
B. Compatibility assessment
Explain whether the new branding, channel presets, dashboard, overlays and transition ideas fit the current application architecture and UI.
Identify what can be achieved through small extensions.
C. Channel preset proposal
Propose how the approved channel lineup could be represented using the existing data structures.
Include a recommendation for metadata matching and user-controlled alternatives.
D. Visual integration proposal
Explain how channel logos, EPG artwork, optional bottom-left overlays and EffectCraft idents could be integrated with minimal changes.
Use the supplied visual references as inspiration.
E. Incremental roadmap
Review the suggested phases and adjust them based on actual project dependencies.
Separate:
- Existing functionality.
- Immediate priorities.
- Near-term enhancements.
- Future modules.
- Research-only ideas.
F. First implementation recommendation
Recommend one small, low-risk next step.
Include:
- Why it should come first.
- Files or components likely to be affected.
- Dependencies.
- Risks.
- Acceptance criteria.
- Testing strategy.
- Rollback approach.
Do not begin implementation until the proposal is reviewed and approved.
Final creative principle
Orbit should feel like travelling back to a better-loved era of television without losing the freedom modern technology provides.
It should combine the magic of old broadcasting with the convenience of modern media libraries.
The original television experience is the foundation. Everything else builds around it.
The goal is not an endless catalogue of thumbnails.
The goal is switching on the television, finding something interesting already playing, and feeling like you've travelled back to 1999.
Orbit — All the convenience of today. A little of the magic of yesterday.