Skip to main content

Selected work · 2023 → 2025

ABE MetaSystems · Prodigy & Hub

Corporate site · B2B/B2C ops · licensing & infra control

ABE METASystems logo
Next.jsTypeScriptTailwind CSSZustandPostgreSQLPrismaWebSocketMQTTGrafanaOpenLayersDockerKubernetesAngularFigma

Context

ABE MetaSystems operates in collective self-consumption — a solar-energy model still being defined in law and pushed by the French state as part of the wider energy transition. Consumers and operators alike need clarity: what it is, why it matters, and what it costs.

Over two and a half years I owned the engagement end-to-end: co-shaping the roadmap with the CEO, designing in Figma, and shipping every layer from the corporate website to Prodigy, ABE's operational platform.

Corporate website — abe-metasystems.com

I built the site from scratch in Next.js — not a template hand-off, but the whole product surface: brand, content, interactive tools, commercial framing and legal pages.

Brand & visual identity

The visual charter was shaped in close collaboration with the CEO. The goal was a site that felt like him and matched how he sees his product — not a generic energy template. We iterated in Figma on typography, colour, motion and page rhythm until the public face aligned with his vision before a single production component shipped.

Typography

Display · Inter 700

Crafted interfaces, delivered on time

UI body · Inter 400

Building products that work well for the people who use them every day.

UI emphasis · Inter 600

OVERVIEW · PROCESS · DELIVERY

Data · Inter 500 · tabular nums

3 missions · 24 months · 100%

Colour

Primary

#DC2626

--primary · hsl(0 72.2% 50.6%)

Signature ABE red — hero backdrop, CTAs, links and progress accents.

Background

#FAFAFA

--background · hsl(0 0% 98%)

Light canvas for product and offer pages.

Foreground

#1A1A1A

--foreground · hsl(0 0% 10%)

Primary text on light surfaces.

Muted

#737373

--muted-foreground · hsl(0 0% 45%)

Secondary copy, footer links and supporting labels.

Surface

#FFFFFF

--card · hsl(0 0% 100%)

Cards, panels and form fields on the light theme.

Ink

#000000

Footer / cinematic frames

Deep black for footer bands and high-contrast editorial sections.

Shape & motion

  • Radius

    0.5rem base (--radius) — rounded cards, inputs and chips consistent with shadcn/ui primitives.

  • Hero rhythm

    Full-bleed primary-red loading frame, bold white display type with soft shadow — brand energy before first navigation.

  • Scroll

    Lenis smooth scroll + Framer Motion page transitions; motion kept purposeful, not decorative.

Visual system co-defined with the CEO — shipped on abe-metasystems.com as Tailwind tokens and CSS variables.

Savings simulator

The site includes an interactive savings simulator. I designed the underlying algorithm to translate ABE's product logic into numbers visitors can grasp — helping educate and reassure consumers entering a regulatory and commercial landscape that is still new to most households. The simulator turns abstract policy (collective self-consumption, solar self-production) into tangible projected savings.

Commercial framing & growth

Beyond engineering, I worked with the CEO to define tariffs and service offers from his cost structure and business plan — pricing logic wired into the site so prospects see consistent, defensible numbers. That work supported ABE's growth narrative and fundraising preparation: the public site doubles as a credible commercial front for investors and partners, not only end consumers.

Legal & compliance

Collective self-consumption sits at the intersection of state-driven regulation and B2B operations. A substantial part of the corporate build was legal content: terms, disclosures and pages aligned with the regulatory context so ABE could communicate confidently within a framework still evolving in law.

  • Product surface

    Home, about, software product pages (Prodigy, Thunder), contact flows, and a professional portal entry point tied to hub.abe-metasystems.com.

  • Design & motion

    Figma-first UI, scroll choreography with Lenis, Framer Motion transitions, and a loading experience that carries the brand from first paint to navigation.

  • SEO & performance

    Metadata, sitemap, robots, and a mobile-first layout tuned for keywords around collective self-consumption and energy savings.

  • Delivery

    Deployment pipeline so marketing, pricing and legal updates could ship without an external agency loop.

100

Performance

97

Accessibility

100

Best Practices

100

SEO

Lighthouse audit on the production corporate site — built and tuned in Next.js from the ground up.

Stack: Next.js, TypeScript, Tailwind CSS, Framer Motion, Lenis, Radix UI primitives.

Prodigy — B2B / B2C operations platform

On the other side of the corporate site sits Prodigy — ABE's B2B and B2C application for running collective self-consumption day to day. Collectivities, enterprises and operators use it to manage every operation in a community: from onboarding households to billing the energy they share.

The platform connects Linky smart meters for individual consumers — whether or not they are fully equipped with the ABE ecosystem — so operators can supervise real consumption and production data across a whole collective.

From POC to production

Before the full build, I shipped an Angular proof of concept with the CEO to validate the product need and vision — core flows, operator vs household views, and the value of tying Linky data to collective operations. Once the direction was proven, Prodigy was rebuilt and scaled in Next.js for SSR, performance and long-term maintainability.

Operator surface (B2B)

  • Onboarding

    User registration and enrolment workflows — bringing households into a collective, with or without full ABE hardware.

  • Supervision

    Live visualisation of consumption and import/export flows across the collective; WebSocket- and MQTT-driven telemetry with Grafana-backed operational views.

  • Optimisation

    Tools to balance production and consumption within the community — reducing waste and maximising local self-consumption.

  • Billing

    End-to-end billing workflows tied to measured flows — so operators can invoice fairly from meter data, not spreadsheets.

Consumer surface (B2C)

Households get their own view inside the same product:

  • Consumption — what they draw from the grid and from the collective, down to per-device breakdown where metering allows.
  • Production — output from solar panels or solar carports delivered and operated by ABE.
  • Optimisation — visibility into self-production vs consumption so residents can adjust behaviour and get more from their installation.
  • Geospatial context — collective sites and installations mapped with Google Maps and OpenLayers so operators and users can situate production and consumption in space.

SSR, state & real-time

Prodigy carries meaningful SSR complexity in Next.js — tenant-scoped routes, role-aware pages and data that must render correctly on first paint without leaking context across collectives. Client state is organised in Zustand stores; live equipment and meter flows arrive over WebSockets and MQTT, with Grafana for operational monitoring behind the scenes.

GDPR & legal compliance

The product handles customers' electricity consumption data — among the most sensitive datasets an energy operator holds. Compliance was not a footer checkbox:

  • Lawful basis & consent — enrolment flows and in-product copy aligned with why data is collected and how long it is kept.
  • Data minimisation — household views scoped to what each role needs; operator access bounded by tenant and address.
  • Retention & subject rights — architecture designed around export and deletion expectations, not retrofitted after launch.
  • Legal pages & disclosures — privacy policy, terms and regulatory framing consistent with the corporate site and the ACC context.

Security posture

Security had to be visible and reassuring to operators signing up collectivities and households sharing meter data:

  • Tenant isolation

    Strict separation between collectives at the API and data layer — an operator never crosses into another tenant's households or meter history.

  • Role-based access

    Granular roles for admins, operators and end users; each screen and export gated to the minimum surface required.

  • Transport & sessions

    Encrypted transport end-to-end; session handling hardened so authenticated context cannot bleed across addresses or accounts.

  • Auditability

    Sensitive actions — enrolment changes, billing adjustments, admin overrides — traceable for operator accountability and incident review.

  • Secrets & infra

    Credentials and integration keys kept out of client bundles; Docker-based deployment with environment-scoped configuration across the ABE stack.

Delivery

  • PostgreSQL + Prisma as the persistence layer for multi-tenant entities, meter history and billing artefacts.
  • CEO-aligned roadmap and Figma validation before sprints; releases orchestrated through ABE Hub (see below).

Stack: Next.js, TypeScript, Tailwind CSS, Zustand, PostgreSQL, Prisma, WebSocket, MQTT, Grafana, Google Maps, OpenLayers, Docker · POC: Angular.

ABE Hub — licensing, billing & platform control

The third product is ABE Hub — a full B2B control plane for ABE itself. Where Prodigy serves collectivities and households, Hub is how ABE licenses Prodigy, bills end clients and keeps the whole platform economically viable at the infrastructure layer.

ABE's model includes revenue on energy resale alongside software — so billing, licensing and delivery accuracy are not back-office nice-to-haves; they directly affect margin.

Hub centralises every application in the ABE ecosystem:

  • App registry

    All ABE-linked applications in one place — Prodigy and sister products — with version, tenant and deployment state visible at a glance.

  • Licensing

    Prodigy licence lifecycle for operators: what is active, for which collective, and under which commercial terms.

  • Billing

    ABE-side invoicing to end clients — software fees plus the ABE share on energy resale — tied to measured usage and contract rules.

  • Configuration

    Environment variables and per-client settings pushed into deployed apps without hand-editing each instance.

  • Plugins

    Insertable plugin modules wired into customer-facing apps — extend behaviour without forking the core product for every operator.

  • Observability

    Fleet-wide view of infrastructure health and client status — who is live, what is failing, where cost is accruing.

Automated delivery pipeline

Hub is paired with CI that generates and configures applications automatically — container images, env wiring and release artefacts produced from defined templates rather than one-off ops runbooks.

  • CI generation

    Pipeline builds app instances from configuration — consistent images, injected variables and tenant-scoped settings on every release.

  • Runtime

    Docker locally and Kubernetes in production — repeatable deploys, horizontal scaling and isolated client workloads.

  • Tracking

    Every generated instance registered in Hub so licensing, billing and infra cost stay aligned with what is actually running.

Stack: Next.js, TypeScript, Zustand, Docker, Kubernetes, automated CI for app generation and configuration.

Impact

ABE MetaSystems went from needing an external agency for every web touchpoint to owning a live corporate site, Prodigy (GDPR-aware B2B/B2C operations, Angular POC → Next.js production) and ABE Hub (licensing, client billing, plugin/config injection and infra-aware automated delivery). One product-minded engineer, in the room with the CEO from brand charter through platform economics and shipped code.

Fullstack engineer · Freelance