Almost There
June 4, 2026
We are almost to mid-year and are in genuinely good shape. Revenue has nearly doubled year-over-year, we’re profitable on both a cash and accrual basis, and we’ve sustained that profitability over the past five months. At this pace, we’ll match all of last year’s total revenue before summer ends!
WHAT’S GOING WELL
Revenue nearly doubled year-over-year. We’re only ~$225K away from matching all of last year’s total revenue - and we still have 7+ months to go.
Transaction feess are gaining ground and are already at 84% of all transaction fees earned in 2025. The transaction fees are almost all from CPC.
Customers are paying on time. We collected 121% of invoices issued this month (collecting some older balances too). The 3-month collection average is 86%, which is within range of our 85%-90% monthly collection goal.
We’re spending less than we earn on both a cash and accrual basis, and have been accrual profitable every month for the past 5 months. We are now cash profitable as well. Spend is growing, but slower than revenue.
ONE THING TO WATCH
Customer concentration remains a risk. Our 2026 revenue is concentrated around two customers Willdan (NYCA and ConEd) and HPD, who together represent ~81% of revenue. The end of any of these agreements would have an outsized impact on revenue and operations.
It’s also worth nothing that subscription fees more than doubled year-over-year but from a slightly smaller number of customers. Subscription revenue shifted toward larger, enterprise-style agreements rather than a broader base of smaller accounts -it’s boosting revenue today, but reinforces the concentration dynamic above.
More details in the monthly metrics section below.
Erika
Metrics
Section titled “Metrics”- Annual Run Rate: $3.43M (-0.3% MoM)
Monthly Metrics
| Metric | Value | Takeaway |
|---|---|---|
| Revenue (YTD) | $1,405,293 | YTD revenue is up 117.45% YoY and ~$225K from FY 25 revenue |
| Transaction fees | $54,788 (3.9% of YTD revenue) | YTD transaction fees are 84% of FY 25 fees |
| Annual run rate | $3.43M (-0.3% MoM) | Slight decline due to churn from Urban American/Tower Road |
| Cash | $612,840 (+16.3% MoM) | Cash increase is positive |
| YTD Cash In / Out | $1,427,940 in / $1,214,162 out | More money in than out = good |
| Accounts receivable | $349,344 (-14.8% MoM) | Collections continue to improve |
| Net burn (monthly, accrual) | $169,657 (+394% MoM) | Positive - we’re not burning, this is profit |
| Net burn (YTD-to-last-month, cash) | $71,259 (+57% MoM) | Positive - we’re not burning, this is profit |
Details:
- Cash The increase in cash on hand is positive and we want to see this increase over the coming months. We are slowly rebuilding equity on a quarterly basis and continuing to spend efficiently to shelter against the lean months that inevitably arise every year.
- AR Collection is improving with 121% of outstanding invoices collected in May. Our goal is to collect 85%-90% of outstanding invoices each month and if we take an average of the past three months, we are at 86%. We want to maintain this average through year-end.
Current expenses by department
| Department | Spend | Explanation of MoM Change |
|---|---|---|
| COGS | $24,892 (+22.5% MoM) | Increase due to Fly.io expenses |
| G&A | $55,538 (-33.1% MoM) | Decrease in legal fees and no retirement contribution |
| R&D | $139,838 (-5.1% MoM) | Expected decrease in consulting fees |
| Sales | $21,740 (+0.6% MoM) | Small increase in software spend |
Development
Section titled “Development”- Bug Count (P-0 and P-1): 4, and all are ready for testing
- Shipped this week:
- Faster load times across the platform. We optimized how program information is fetched behind the scenes, reducing repeated database queries on nearly every page load. Users should notice snappier response times throughout the app.
- Snapshot history for project milestones. The platform now automatically captures a point-in-time record whenever a project advances through a key phase or an RFP is published or awarded. This gives teams a reliable audit trail of where a project stood at each major decision point.
- Upgraded our core framework to Laravel 13, the latest version of the web framework that powers Momentum. This keeps us current on security patches and performance improvements.
- Adding the ability to set how much of the building a measure covers for room heat pumps, which lets us condense the 10-20-30% heat pump measures with the 100% ones.
- Lots of other bug fixes too
This Week’s Highs and Lows
Section titled “This Week’s Highs and Lows”- We had a 30m incident on 6/3 caused by Calcs CI/CD not catching a BKB incompatibility issue. Silver lining: we got to test our revert procedures, and already hardened our testing to prevent a repeat. (FH)
- We rebuilt the energy end uses data flow in the BKB and Calc Service, for better heating, cooling, and baseload estimates. Whole building energy estimate is critical to evaluate the impact of rate changes, and rate changes are critical to show the value of some electrification and sub-metering measures. (FH)
- It’s always good to see and chat with building nerds, like we did at the Urban Green Council annual conference on Wednesday. (JMB)
Any missing highlights? Please share in Discord comments.
On Deck for Next Week
Section titled “On Deck for Next Week”- I think we’ll be turning on the new building lobby, scope builder, and scope comparison pages! (JMB)
- We should also be ready to migrate CPC CFHF over! (JMB)
- 2H budget and outlook (EP)
Please Leave Feedback
Section titled “Please Leave Feedback”Please note your reaction to this update in the Discord channel. It helps us to know what is resonating, what is unclear, etc. Thanks!
- What are your highlights / low-lights?
- Did we miss a highlight? Something else you want to react to?
