Skip to content

Give edge AI a page of its own in the Low Latency menu - #246

Merged
openipc-ai merged 2 commits into
masterfrom
edge-ai-page
Sep 21, 2026
Merged

openipc-ai merged 2 commits into
masterfrom
edge-ai-page

Conversation

@openipc-ai

Copy link
Copy Markdown
Collaborator

A whitepaper page that sells NPU inference engineering, third entry of the
Low Latency menu beside /low-latency and /teleoperation. It is written
for the engineering lead who has a trained model and a camera SoC and
cannot get the one to run on the other.

Rendered on dev: https://dev.openipc.org/edge-ai (also /ru/… and
/zh/…). Reviewed there by the maintainer before this PR was opened.

What is on the page

A cover with the thesis and a rendered image; three figures; the reader's
problem (the wall is the toolchain, not the model); four things the team
brings; results on real silicon stated in one number each; the platforms;
the engagement in three steps, starting with a fixed-scope feasibility
report; and the ask, ending on a mailto whose subject and body let the
mailbox count and triage enquiries without analytics.

By decision, the page carries no outbound links to the repositories behind
its claims and no model internals; those stay for the conversation.

How it is built

  • Shared components throughout. The rules the two whitepaper pages share
    (the eyebrow, the cover art, the figures strip, the pull quote) move out
    of pages/_teleoperation.scss into a new components/_whitepaper.scss;
    the teleoperation stylesheet keeps only its flywheel, and the edge-AI one
    adds only the row of platform pills.
  • The cover image is a 55 KB WebP cropped to its subject, with its edges
    faded and its darkest tones matched to the ink, served through the asset
    pipeline.
  • The Low Latency dropdown grows to three entries; the footer gains the
    entry; route, sitemap entry and a page-specific meta description.

Tests

The page joins relaunch_pages_test.rb (renders in three locales, title,
links resolve, exhibitions logo absent, closing band spaced). The menu test
now walks all three Low Latency pages and both footer entries in every
language.

Verification

check result
bin/rails test on the rebased tree 754 runs, 3390 assertions, 0 failures, 1 skip (the sitemap-catalogue test already on master)
i18n-tasks missing / unused none / no new
rubocop on touched Ruby files 34 offences against master's 35
dev.openipc.org, through the container /edge-ai ×3 locales, /teleoperation, /low-latency, /: 200, every asset 200; hero fingerprinted; 3 menu entries; footer; sitemap ×3

Still open for you

  • The Russian and Chinese copy was written alongside the English and has
    not been read by a native speaker. Chinese vendors are the subject of
    one sentence, so tone matters there.
  • The platforms sentence says we work under NDA with most camera-SoC
    vendors. Worth confirming each NDA allows being named as existing before
    this goes to production.

🤖 Generated with Claude Code

A whitepaper that sells NPU inference engineering: for the engineering lead
who has a trained model and a camera SoC and cannot get the one to run on
the other. It opens on that problem, says what the team brings (what each
NPU family can and cannot run, drivers where the vendor has none, models
fitted to the chip and the camera, the vision engine in CI under QEMU),
states results in one number each, names the platforms, and ends on a
fixed-scope feasibility report as the first step.

Built from the shared components and the rules the teleoperation page
introduced. Those rules -- the eyebrow, the cover art, the figures strip and
the pull quote -- move out of pages/_teleoperation.scss into
components/_whitepaper.scss, since two pages now share them; the flywheel
stays with teleoperation, and edge-ai adds only the row of platform pills.

The cover image is a WebP cropped to its subject, its edges faded and its
darkest tones matched to the ink so it sits on the dot grid without a
rectangle.

Low Latency's dropdown grows to three entries: the FPV video link,
Teleoperation, Edge AI. The footer gains the entry. The menu test now walks
all three, in every language.

Every string is in en, ru and zh; the Russian and Chinese were written
alongside the English and have not been read by a native speaker yet.
A headline zero reads as nothing or a mistake, and its label needed a
second read. The same fact stated the other way round: 100% of the model's
accuracy kept after fitting it to the chip.
@qodo-free-for-open-source-projects

Copy link
Copy Markdown

PR Summary by Qodo

Add localized Edge AI whitepaper to Low Latency navigation

✨ Enhancement 🧪 Tests 🕐 20-40 Minutes

Grey Divider

AI Description

• Adds a localized Edge AI whitepaper promoting camera-SoC NPU inference services.
• Exposes the page through routing, navigation, footer, metadata, and sitemap entries.
• Shares whitepaper styling with Teleoperation and expands multilingual integration coverage.
Diagram

graph TD
  NAV["Navigation links"] --> ROUTE["Edge AI route"] --> CTRL["Pages controller"] --> VIEW["Edge AI view"]
  VIEW --> COPY["Localized copy"]
  VIEW --> STYLE["Whitepaper styles"]
  VIEW --> ASSET["Hero image"]
  MAP["Sitemap catalog"] --> ROUTE
Loading
High-Level Assessment

The current approach fits the existing Rails site architecture: use the established localized PagesController pattern, reuse shared page components, and extract presentation rules now shared by two whitepapers. Duplicating Teleoperation styles or introducing a separate rendering system would increase maintenance without providing meaningful architectural benefit.

Files changed (17) +391 / -56

Enhancement (5) +158 / -3
_edge_ai.scssStyle the Edge AI platform list +16/-0

Style the Edge AI platform list

• Adds a responsive pill layout for displaying supported camera-SoC platforms.

app/assets/stylesheets/pages/_edge_ai.scss

pages_controller.rbAdd the Edge AI page action +6/-0

Add the Edge AI page action

• Adds an action that sets localized title and meta-description values before rendering the Edge AI whitepaper.

app/controllers/pages_controller.rb

_footer.html.erbLink Edge AI from the footer +1/-0

Link Edge AI from the footer

• Adds a locale-aware Edge AI link alongside the existing Low Latency and Teleoperation entries.

app/views/layouts/_footer.html.erb

_navbar.html.erbAdd Edge AI to the Low Latency dropdown +4/-3

Add Edge AI to the Low Latency dropdown

• Expands the Low Latency menu from two to three destinations and updates its structural documentation.

app/views/layouts/_navbar.html.erb

edge_ai.html.erbBuild the Edge AI service whitepaper +131/-0

Build the Edge AI service whitepaper

• Creates the full-width localized page with a hero, performance figures, service capabilities, silicon results, supported platforms, engagement steps, and conversion calls to action. Uses a structured mailto template to support enquiry triage without page-specific analytics.

app/views/pages/edge_ai.html.erb

Refactor (2) +46 / -43
_whitepaper.scssExtract reusable whitepaper presentation rules +43/-0

Extract reusable whitepaper presentation rules

• Introduces shared eyebrow, hero artwork, statistics-strip, and pull-quote styles used by the Teleoperation and Edge AI whitepapers.

app/assets/stylesheets/components/_whitepaper.scss

_teleoperation.scssRetain only Teleoperation-specific styling +3/-43

Retain only Teleoperation-specific styling

• Removes whitepaper rules moved into the shared component stylesheet, leaving the Teleoperation flywheel styles page-local.

app/assets/stylesheets/pages/_teleoperation.scss

Tests (1) +12 / -9
relaunch_pages_test.rbCover Edge AI rendering and discoverability +12/-9

Cover Edge AI rendering and discoverability

• Adds the page to multilingual rendering, title, internal-link, layout, spacing, and logo-exclusion coverage. Extends navbar and footer assertions to verify all Low Latency destinations in every supported locale.

test/controllers/relaunch_pages_test.rb

Other (9) +175 / -1
application.bootstrap.scssRegister shared whitepaper and Edge AI styles +2/-0

Register shared whitepaper and Edge AI styles

• Imports the extracted whitepaper component stylesheet and the page-specific Edge AI stylesheet into the application bundle.

app/assets/stylesheets/application.bootstrap.scss

sitemaps_controller.rbAdvertise Edge AI in the sitemap +1/-1

Advertise Edge AI in the sitemap

• Adds '/edge-ai' to the sitemap page catalog so localized variants are discoverable by search engines.

app/controllers/sitemaps_controller.rb

en.ymlAdd the English Edge AI navigation label +1/-0

Add the English Edge AI navigation label

• Defines the English navigation text used by the navbar and footer.

config/locales/en.yml

pages.en.ymlAdd English Edge AI page content +56/-0

Add English Edge AI page content

• Defines the complete English whitepaper copy, metadata, accessibility text, platform names, results, engagement details, and calls to action.

config/locales/pages.en.yml

pages.ru.ymlAdd Russian Edge AI page content +56/-0

Add Russian Edge AI page content

• Provides the complete Russian translation of the Edge AI whitepaper and its metadata.

config/locales/pages.ru.yml

pages.zh.ymlAdd Chinese Edge AI page content +56/-0

Add Chinese Edge AI page content

• Provides the complete Chinese translation of the Edge AI whitepaper and its metadata.

config/locales/pages.zh.yml

ru.ymlAdd the Russian Edge AI navigation label +1/-0

Add the Russian Edge AI navigation label

• Defines the Russian navigation text used to expose the new page.

config/locales/ru.yml

zh.ymlAdd the Chinese Edge AI navigation label +1/-0

Add the Chinese Edge AI navigation label

• Defines the Chinese navigation text used to expose the new page.

config/locales/zh.yml

routes.rbRegister the localized Edge AI route +1/-0

Register the localized Edge AI route

• Maps '/edge-ai' and its supported locale-prefixed variants to the new controller action.

config/routes.rb

@qodo-free-for-open-source-projects

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Tip of the day
💡 Did you know, you can add REVIEW.md to your repo root and Qodo follows it on every PR

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

@openipc-ai
openipc-ai merged commit f8e7ea7 into master Sep 21, 2026
2 checks passed
@openipc-ai
openipc-ai deleted the edge-ai-page branch September 21, 2026 11:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant