PRJ_004
004
Pro Forma — Frontend
Eagle Venture Lab · Houston, Texas · Sep, 2025 – Jun, 2026
Overview

Pro Forma is an all-in-one pitch competition management platform built for Eagle Venture Lab in Houston, Texas. I led the full frontend build — a complex multi-user SPA serving three distinct user types: startup founders creating and submitting company profiles, judges evaluating submissions against org-defined criteria, and admin-tier users (Org Admins and Pitch Admins) managing competition lifecycle. Built with React, Redux, Tailwind CSS and SCSS, the UI had to handle intricate state flows: competition creation, round progression, judging windows, custom question schemas, and finalist selection — all in one coherent interface.

The Problem

The core challenge was building a UI flexible enough to accommodate a constantly shifting product definition. Requirements changed frequently and significantly throughout the engagement — new user roles emerged mid-build, judging criteria structures were revised, and competition flow logic was repeatedly redefined. Building robust, composable components from day one was the only way to absorb these changes without rebuilding from scratch each time.

Key Metrics
3
Distinct user roles
SPA
Single-page React architecture
Redux
State management layer
1
Unified competition interface
Process & Timeline
Phase 1
Discovery & role mapping
Mapped the three user journeys — startups, judges and administrators — against a shifting product definition. Defined component boundaries resilient to frequent requirement changes.
Phase 2
Component architecture
Built a decoupled component system with Redux slices per domain. Established reusable primitives for forms, scorecards and dashboards to absorb scope changes cheaply.
Phase 3
Role workflows
Shipped startup profile creation, judge scorecards and admin competition management as a cohesive multi-role interface with shared state.
Phase 4
Round progression & polish
Implemented competition round progression, edge-case handling across roles, and UI refinements ahead of the live pitch events.
Tech Stack
ReactReduxTailwind CSSSCSSJavaScript
Critical Self-Evaluation
This project taught me that product requirements are a living document, not a contract. The frontend architecture I designed — decoupled components, Redux slices per domain, shared design tokens in SCSS — was the right call; it absorbed three major pivots without requiring rewrites. What I would do differently: push harder for a formal change request process earlier. The volatility was not malicious — it reflected a product still finding its shape — but naming that clearly from week two would have reduced context-switching and improved sprint predictability. The platform shipped functional and complete.