Sean Foster
Email me

08 · Energy

One questionnaire engine, any process

Business teams kept asking for new questionnaires: go/no-go gates on early deals, ESG screens, a regulatory checklist on big opportunities. I built one data-driven engine instead. Questions, chapters, answer types and scores live as records, and the page renders whatever they say.

Client
Builds power and grid equipment for utilities worldwide
Built with
  • Salesforce
  • Lightning Web Components
  • Apex
  • Visualforce PDF
  • Lightning Message Service

Screens

Rendered from the real code with made-up data.

A bid go/no-go questionnaire: chapters down the left, scored single-choice questions, rich-text guidance and a help tip.

A bid go/no-go questionnaire: chapters down the left, scored single-choice questions, rich-text guidance and a help tip.

What it changed

  1. 01

    One engine runs three questionnaires, from a go/no-go gate to a regulatory checklist, with no code changes between them.

  2. 02

    Five answer types, scored per option. A multi-select takes its lowest score, so one red flag is never averaged away.

  3. 03

    The go/no-go chapter rolls up to a 0 to 100% score that is written to the project only after the user confirms it.

How it fits together

  • Built by me
  • Platform or outside system
  • People
Business adminsNo code neededQuestion recordsChapters, types, scoresPage settingsWhich questionnaireQuestionnaire engineOne LWC, any recordResponsesSaved per recordProjectGo score written backSummary reportScored PDFCompliance taskWhen a checklistcompletesAdd, reorder,scoreRendered asisSave answersAfter aconfirmAll checkedBusiness adminsNo code neededQuestionrecordsPage settingsWhich questionnaireQuestionnaireengineResponsesSaved per recordProjectGo score writtenbackSummary reportScored PDFCompliance taskWhen a checklistcompletesAdd, reorder,scoreRendered as isSave answers

More of my work

See all

Contact

Need something like this built?

I take on full-time roles and focused projects. Email is the fastest way to reach me.