← All work 04 · Decision support system

SPK PKH

Social-aid recipient selection with auditable PSI and CODAS.

PSI + CODAS · auditable results

Role Team Lead · Full stack Team 3 people Period 2025
Vue 3 Vite Tailwind
SPK PKH — Decision support system
2 Methods
3 Team members
1 Single source of truth
Role
Team Lead
Team
3 people
Duration
One semester
Methods
PSI + CODAS

Context & problem

Selecting social assistance recipients often relies on undocumented judgement: a meeting, a verbal agreement, then a name list. That is hard to defend when residents object. What is needed is not an app smarter than humans, but a tool that keeps criteria, weights, and calculation open.

Role & responsibilities

I led a team of three and worked across the whole application. My main role was not maximum code output but ensuring criteria came from the requirement, formulas were implemented correctly, and results could be explained to non-technical people.

Planning

Work split three ways: data and criteria, calculation engine, then interface. Data came first because a wrong criteria structure propagates everywhere. Each stage had its own check — cases with known answers, and manual arithmetic.

Coordination

With three people the main obstacle is dependency, not communication. I defined the data contract between parts first — the input and output of each — so work could run in parallel.

Progress monitoring

Progress meant passing test cases, not a finished-looking screen. Each part had to prove its output was correct before counting as done — slower visually, but it prevented building an interface on wrong calculations.

Risks & responses

Risk Mis-translating the method formula into code.
Response Verified against manual calculations on small cases before running on full data.
Risk Criteria not matching real requirements.
Response Criteria derived from the requirement, not chosen because they are easy to compute.
Risk Ranking results hard to explain to decision makers.
Response Every number displayed alongside how it was derived.

Outcomes

  • The app helps decision makers assess candidates measurably.
  • Weights and rankings can be re-inspected, making the result defensible.
  • Replaced undocumented manual judgement with a documented process.

What I would do differently

My biggest mistake here was delaying the interface until the calculations were finished. Technically safe, but decision makers only saw the final shape at the end and asked for fundamental changes. Going forward I will show a rough version earlier so feedback arrives before it is too late.

Artifacts

Documentation reconstructed from project archives for portfolio purposes.