Lightweight portfolio framework with contact form