Evidence Report · Software Valuation

EmberHouse

Non-profit community project website for The Ember House Project — mission-driven public resource serving at-risk and homeless populations. Includes a 24/7 AI SMS crisis hotline landing page, a 6-substance evidence-based addiction taper guide with interactive charts and auto-rotating recovery testimonials, and a youth boxing empowerment program. Live at emberhouseproject.org.

$159K – $309K Traditional build cost
·
1.7 person-years Engineering effort
·
Built in ~3 weeks Calendar span (file mtime basis)

The Defensible Quartet

Traditional Build Cost

$159K – $309K

Low: $158,625  ·  Mid: $234,000  ·  High: $309,375
What a normal web-software shop charges to research, design, and build a public-service site of this scope and content depth.

Engineering Effort

1.7 person-years

Mid estimate from two independent models (productivity model + COCOMO II post-architecture). Reflects 7,643 lines of real PHP, JavaScript, and CSS — not filler or boilerplate.

Team & Schedule Replaced

2 × 9 mo

2 engineers working for ~9 months — the conventional staffing to produce content of this depth, interactivity, and polish on a normal agency schedule.

Build Speed

~14.6× faster

Shipped in ~3 calendar weeks vs the 9-month conventional schedule. Fully deployed and live, with 5 distinct pages, 6-substance content depth, and animated interactive features.

The Hard Evidence — counts straight from the codebase (no git repo; file mtime basis)

Source: cloc on /var/www/emberhouseproject.org (akconnect), file system mtimes — reproducible on demand.
Code (LOC, non-blank, non-comment) 7,643
↳ PHP 6,362
↳ CSS 3,270
↳ JavaScript 1,281
↳ HTML 871
↳ JSON / config 198
Files 17
Git commits n/a — not a git repository
Calendar span (file mtimes) ~0.59 months (~3 weeks)
Defects tracked / resolved 0 / 0 (not tracked in console)
Regression tests 0
Data files (JSON) 6 per-substance success story datasets

What's Actually in It — feature enumeration from the source

Pages & Site Structure

  • Homepage (index.php) — multi-section single-page structure with anchored navigation
  • Clara.ai page (clara.php) — standalone dedicated page for the SMS crisis hotline initiative
  • Addiction Taper Guide (addiction-taper-guide.php) — standalone deep-content page, 127KB of evidence-based protocol text
  • House of Brass (house-of-brass.php) — standalone youth boxing & empowerment program page
  • About page (about.php) and Contact page (contact.php) — supporting pages sharing the global nav and stylesheet
  • GTA Street Survival Guide section — built inside index.php, staged (display:none), with four sub-sections ready for launch

Homepage Content Modules

  • Hero with 14-step sequenced fade-in mission copy — each line enters independently on a CSS animation chain
  • 7-particle floating animation system — CSS keyframe particles, visually distinct, persistent in hero background
  • Active Projects sidebar panel — project cards for Clara.ai and Taper Guide with SVG icons, descriptions, tags, and arrows
  • Projects in Development panel — House of Brass card with pilot status badge
  • Full Mission section — 5 mission "cards" with reveal-on-scroll text blocks
  • Future Impact section — 4 structured cards: Global Replication, Complete Spectrum of Care, Changing the Paradigm, Lifelong Community
  • Get Involved section — 3 tracks: Support, Volunteer, Advocate — each with description and CTA
  • A New Model for the Unreachable section — accountability-care program description
  • School of Brass section — boxing / youth empowerment community program overview
  • Scroll indicator — animated down-arrow prompting users to scroll

Clara.ai Crisis Hotline Page

  • Dedicated page for the AI-powered 24/7 SMS crisis support line targeting Toronto's homeless community
  • Ambient animation hero — dual radial-gradient overlay with floating-ambient + pulse-hero CSS keyframe animations
  • Animated logo glow effect — logo-glow keyframe pulsing the Clara brand mark
  • Clara AI badge with live-status indicator and initiative branding elements
  • Hotline details, how-it-works content, and community-focused CTAs

Addiction Taper Guide

  • 6 substance-specific taper protocol sections with dedicated anchor IDs: Alcohol, Benzodiazepines, Opioids, Stimulants, Cannabis, Nicotine
  • Per-substance taper tables — week-by-week dose reduction schedules with medical context
  • Safety warnings per substance — benzo seizure risk callouts, DTs emergency criteria, medical supervision guidance
  • Valium substitution guide for short-acting benzo tapers — micro-tapering protocol detail
  • Interactive Chart.js line charts — per-substance taper visualization using ember amber theme, custom tooltips, responsive canvas
  • Per-substance crisis resource directories — local detox, withdrawal management, 24/7 support contacts
  • 6-substance drug navigation tab bar — click-to-anchor JS scrolling between sections
  • Why Tapering Works intro section — Brain Chemistry, Minimize Withdrawal, Higher Success Rate, Personalized Plans cards
  • Medical disclaimer panel — harm reduction framing, non-substitute-for-care notice
  • Download section for offline reference

Success Stories Auto-Carousel

  • 6 per-substance JSON datasets in /data/ — alcohol, benzos, cannabis, nicotine, opioids, stimulants — each with quote, author, sober_time, life_after fields
  • Async fetch() loading from JSON at runtime — no inline data, fully decoupled content from code
  • Fisher-Yates shuffle on load — randomizes story order so no two visits are the same
  • IntersectionObserver auto-play/pause — carousel only rotates when visible in viewport, halts when scrolled away
  • 8-second auto-rotation with CSS fade animation (fadeIn 0.5s) between stories
  • Prev/next manual controls per carousel instance
  • Graceful fallback message on JSON load failure

House of Brass Youth Program Page

  • Dedicated program page — boxing + youth empowerment initiative description
  • Facility description section — physical space overview
  • Champions roster section — Kyle "The Caveman" McLaughlin and Sara Bailey with bios
  • What We Offer grid — 6 pillars: Boxing Training, Physical Conditioning, Leadership Development, Mentorship, Competition, Community
  • Program vision narrative — national network of community centres for at-risk youth and formerly incarcerated individuals

Contact Form & Validation

  • Contact form — 4 fields: name, email, inquiry-type (dropdown), message
  • Client-side field-level validation — per-field error messages injected into DOM on invalid submit
  • Email format validation via regex
  • Inquiry-type select required validation — blocks submit without a selection
  • Typed success message — confirms the specific inquiry type the user selected
  • Form reset after successful validation pass

Navigation, UX & Animation

  • Multi-level dropdown nav — Community Resources mega-dropdown with Drug Taper sub-menu linking to 6 substance anchors
  • Hover + click dropdown support — desktop hover open, click toggle fallback, outside-click and Escape-key close
  • Sticky header with scroll-triggered style change — .scrolled class added at 50px scroll threshold, debounced via requestAnimationFrame
  • Responsive mobile hamburger menu — JS toggle for nav on small screens
  • Reveal-on-scroll text animations — IntersectionObserver drives .reveal-text class additions for staggered content entrance
  • Custom dark ember theme — CSS custom properties (--ember-glow, --ember-light, etc.), Cormorant Garamond + Montserrat typeface pair, warm amber palette
  • Full responsive layout — distinct breakpoints at 768px and 480px covering nav collapse, card reflow, taper table overflow handling

How We Costed It — methodology

Model. The same model with the same constants is applied to every project in this portfolio — there are no per-project complexity multipliers and no schedule compression applied. The generator is console/backend/tools/evidence_merge.py.

Low bound. Productivity model — 7,643 lines of production code ÷ 25 finished LOC per developer-day ÷ 21.7 work-days per month = 14.1 person-months (1.2 person-years). The 25 LOC/day figure is the conservative industry baseline for finished, tested, reviewed code (McConnell, Code Complete); it excludes generated scaffolding and build artifacts.

High bound. COCOMO II post-architecture — PM = 2.94 × (7.64 KLOC)1.0997 = 27.5 person-months (2.3 person-years). Applied nominally, with no effort-adjustment multipliers, so the ceiling is not inflated.

Mid (reported). The arithmetic mean of the two models: 20.8 person-months = 1.7 person-years. This is the figure quoted throughout this report.

Rate assumption. $135,000/year fully-loaded blended developer (salary, benefits, overhead) = $11,250 per person-month. Applied uniformly to all three effort bounds: low $159K, mid $234K, high $309K.

Calendar. No git history; calendar taken from file mtimes = 0.59 months. COCOMO's schedule equation gives the calendar a conventional team would need: TDEV = 3.67 × 20.80.28 = 8.6 months at a sustainable 2.4 engineers. Speed advantage = 8.6 ÷ 0.59 = 14.6×.