Invoice #279028 to Aurelia

Aurelia 2 AOT/SSR (Nov 27 - Dec 24, 2025) - https://github.com/aurelia/aurelia-ls/pull/6

Paid
Invoice #279028
Maintenance and Development
Submitted by Fred KleuverApproved by Binh Vo

Dec 24, 2025

Expense Details

Invoice items
tooling: Built AOT compilation pipeline with plan/emit architecture and provenance tracking (4.5h)
Date: November 27, 2025
€213.75 EUR

tooling: Designed expression table manifest and implemented server-side string renderer (3h)
Date: November 29, 2025
€142.50 EUR

runtime: Implemented SSR marker system for hydration target identification (2h)
Date: November 29, 2025
€95.00 EUR

runtime: Added Aurelia.hydrate() API with core hydration infrastructure for repeat/if template controllers (6h)
Date: November 30, 2025
€285.00 EUR

tooling: Restructured codebase for AOT/SSR work (-29k lines, new test structure) (3h)
Date: November 30, 2025
€142.50 EUR

tooling: Created build package with SSR end-to-end slice and AOT wireup (6.5h)
Date: December 1, 2025
€308.75 EUR

tooling: Built SSR processor with path-based identification, marker stripping, compileWithAot API (3h)
Date: December 3, 2025
€142.50 EUR

tooling: Created todo-app example demonstrating SSR hydration end-to-end (1h)
Date: December 3, 2025
€47.50 EUR

tooling: Implemented Vite SSR plugin with dev middleware and SSRContext integration (5h)
Date: December 4, 2025
€237.50 EUR

tooling: Built SSR e2e test suite with lifecycle, nesting, and multi-render coverage (1.5h)
Date: December 4, 2025
€71.25 EUR

runtime: Implemented SSR recording API for repeat/if controllers with target indices (4h)
Date: December 4, 2025
€190.00 EUR

tooling: Developed resolution package with resource extraction and TypeScript program analysis (5.5h)
Date: December 5, 2025
€261.25 EUR

tooling: Completed resolution package with scope analysis and template discovery (5h)
Date: December 6, 2025
€237.50 EUR

tooling: Implemented child component SSR with Vite loader and cache invalidation (2h)
Date: December 6, 2025
€95.00 EUR

tooling: Fixed expression parser interpolation handling for runtime parity (1h)
Date: December 6, 2025
€47.50 EUR

tooling: Fixed AOT parity issues (else controller, portal, au-compose, au-slot, let) (3h)
Date: December 6, 2025
€142.50 EUR

tooling: Stabilized SSR rendering with multi-render consistency and form state sync (checked, value, selected) (4h)
Date: December 7, 2025
€190.00 EUR

runtime: Fixed component boundary detection in manifest recording, added dev instrumentation (3h)
Date: December 7, 2025
€142.50 EUR

tooling: Built tree-based manifest recorder with adopted target tracking and child scopes (3h)
Date: December 8, 2025
€142.50 EUR

runtime: Refactored to tree-based manifest structure for nested component boundaries (2h)
Date: December 9, 2025
€95.00 EUR

tooling: Optimized manifest wire format with expression deduplication and direct AST emission (4h)
Date: December 13, 2025
€190.00 EUR

tooling: Added router SSR support with viewport recording, multi-binding syntax, DI hooks (4h)
Date: December 14, 2025
€190.00 EUR

tooling: Created router-app example demonstrating multi-route SSR with navigation (1h)
Date: December 14, 2025
€47.50 EUR

runtime: Added router SSR hydration with ServerLocationManager and viewport element adoption (3h)
Date: December 14, 2025
€142.50 EUR

tooling: Built transform package for compile-time static $au injection into TypeScript (5h)
Date: December 15, 2025
€237.50 EUR

runtime: Added SSR hydration for with/switch template controllers, extracted view adoption helpers (2h)
Date: December 22, 2025
€95.00 EUR

tooling: Implemented entry point transform with dependencies/bindables extraction, import cleanup (3h)
Date: December 23, 2025
€142.50 EUR

tooling: Implemented SSG route discovery with @route decorator extraction and static generation (3h)
Date: December 24, 2025
€142.50 EUR

tooling: Fixed Vite production builds with virtual file system for .html imports (1h)
Date: December 24, 2025
€47.50 EUR

runtime: Aligned comment marker format and numeric instruction types with Aurelia core (1h)
Date: December 24, 2025
€47.50 EUR

runtime: Assisted with beta.27 release: changesets bootstrap, @latest tagging workflow, release docs (1h)
Date: December 24, 2025
€47.50 EUR

Total amount
€4,560.00 EUR
Accounted as (USD):
$5,360.73 USD
Additional Information

Collective

Aurelia@aurelia
Balance:
$2,261.31 USD

payout method

Bank account
Details  
********

on
Expense created
on
Expense approved
on
Expense paid

Amount Paid for Expense: $5,360.73

Payment Processor Fee (paid by Aurelia): $15.00

Net Amount for Aurelia: $5,375.73

Net Amount for Fred Kleuver: $5,360.73

Collective balance
$2,261.31 USD

Current Fiscal Host
Open Source Collective

Expense policies
File an invoice only when you are requesting payment for services you personally performed. We can only pay the individual who completed the work -- no third parties or friends. The person who performed the work must be the owner of the account receiving payment.

We have strict requirements for what we can and cannot process. Certain information is required on all invoices, and we cannot process payment if required information is missing. 
If your expense is missing required information or documentation, you will be asked to revise it before processing can begin.  

Processing and Payment: 
  • Expenses are processed twice weekly after approval by a Collective administrator and a secondary OSC review
  • Payments are made via PayPal or Wise (bank transfer)
  • Payments are limited to countries supported by these providers
  • If you use PayPal, you may be required to complete a KYC process

An uploaded invoice is not required -- the information entered in the expense form is sufficient.
If you choose to upload an invoice, address it to:

Collective/Project Name, Open Source Collective
440 N. Barranca Avenue #3939
Covina, CA 91723, USA

FAQ

How do I get paid from a Collective?
Submit an expense and provide your payment information.
How are expenses approved?
Collective admins are notified when an expense is submitted, and they can approve or reject it.
Is my private data made public?
No. Only the expense amount and description are public. Attachments, payment info, emails and addresses are only visible to you and the admins.
When will I get paid?
Payments are processed by the Collective's Fiscal Host, the organization that hold funds on their behalf. Many Fiscal Hosts pay expenses weekly, but each one is different.
Why do you need my legal name?
The display name is public and the legal name is private, appearing on receipts, invoices, and other official documentation used for tax and accounting purposes.

Collective balance

$2,261.31 USD