Overview
The Jember Regency government runs an annual public service competition. Government offices compete to show who delivers the best service to citizens. It's part accountability, part motivation. Winners get recognition and budget incentives.
They needed a web platform to manage the competition — registration, submission tracking, judging, and results. The old process was manual. Submissions came in via email. Judges used spreadsheets. Results took weeks to compile. They wanted something faster and more transparent.
I built KIPP as a competition management system. Offices register online, submit their documentation, and track their status. Judges log in, review submissions, and score them. The system calculates rankings and publishes results. Everything in one place.
The timeline was tight. They needed it ready before the competition started. I kept the scope narrow — only the features they actually needed, nothing extra. No fancy dashboards, no analytics, just a clean workflow from registration to results.
Client
The Jember Regency government wanted to modernize their public service competition. They cared about transparency — making sure the process was fair and the results were defensible. They also cared about efficiency — reducing the administrative burden on their team.
This was a government project, which meant bureaucracy. But the team I worked with was pragmatic. They knew what they needed and didn't ask for unnecessary features. That made the project manageable.
Features
Registration lets government offices sign up for the competition. They fill out basic info, upload required documents, and submit. The system validates file types and sizes to prevent issues later.
Submission tracking shows each office's status — pending, under review, scored, or rejected. Offices can see feedback from judges. Admins can see the full pipeline and identify bottlenecks.
Judging interface gives judges a clean view of submissions. They review documents, assign scores based on criteria, and leave comments. The system prevents duplicate scoring and enforces scoring rules.
Results calculation aggregates scores and generates rankings. The system handles ties and applies weighting rules defined by the competition guidelines. Results are published on the public-facing page once finalized.
Tech Stack
CodeIgniter 3 for the backend. MySQL for data storage. Bootstrap for the UI. Nothing fancy, but it worked. The stack was chosen for speed — I could build it fast and the client's hosting environment supported it.
File uploads with validation and virus scanning. Role-based access control for offices, judges, and admins. Session management with CSRF protection. Basic security measures, but enough for the threat model.
My Role
Solo developer. I built the entire system — backend, frontend, database design, and deployment. I also worked with the client to define the workflow and scoring rules.
The hardest part was the judging logic. Different categories had different criteria. Some criteria were weighted more heavily. Judges could score independently, but the system had to aggregate their scores fairly. I built a flexible scoring engine that could handle the variations without hardcoding every rule.
I also handled deployment and training. Showed the admin team how to manage the system, explained how to troubleshoot common issues, and documented the workflows. They ran the competition successfully and used the system again the following year.
It's not the most exciting project I've built, but it solved a real problem. The client got what they needed, on time, and it worked. Sometimes that's enough.
