Open infrastructure for local hiring

Community software, without the machinery.

Wogopogo is a focused job board for the Okanagan Valley: free to browse, free to post, moderated by people, and built on technology a small community can operate.

Accounts
None required
Runtime
React + PHP
Licence
MIT

wogopogo.ca

Wogopogo
BrowseManage

OKANAGAN VALLEY · FREE JOB BOARD

Local jobs.

Search jobs, companies, keywords…
All jobsHospitalityTrades
FULL-TIME · KELOWNA Community operations coordinator

Help a growing local organization keep projects clear and people connected.

SEASONAL · PENTICTON Visitor experience team

Project principles

Small by design.
Serious in practice.

The project favours understandable systems and considerate defaults over growth mechanics, mandatory profiles, and unnecessary data collection.

01

Local first

Categories, locations, moderation, and language are shaped around the Okanagan's actual employment community.

02

Low friction

People can browse and post without creating an account. A one-time management token keeps listing control private.

03

Human moderation

Submissions wait in a moderation queue by default. Rate limits and a honeypot reduce noise without replacing judgment.

04

Portable operations

A static React build and compact PHP API run on ordinary shared hosting, with SQLite available for local development.

How it works

One clear path from post to discovery.

No profile funnel. No application tracking. No hidden publishing state.

  1. 1
    Submit

    An employer adds a listing and receives a private management token.

  2. 2
    Review

    The listing enters a human moderation queue before publication.

  3. 3
    Publish

    Approval starts the listing lifetime and makes the job publicly searchable.

  4. 4
    Maintain

    The poster can close or remove the listing; moderators can renew or feature it.

Architecture

A modern interface on durable infrastructure.

Each layer has a narrow job. The result is easy to inspect locally and practical to host without a persistent Node server.

Experience

01
React + ViteResponsive interface, themes, search and management flows
02
Static assetsFast delivery from Apache or another ordinary web server

Application

03
PHP APIValidation, moderation, rate limits and listing lifecycle
04
Job rendererCrawlable HTML, canonical metadata and JobPosting JSON-LD

Data

05
MySQLProduction listings, categories, state and rate-limit records
06
SQLiteZero-setup local development with the same API contract
React 19Vite 8PHP 8.2+MySQLSQLiteApache

Capabilities

Useful foundations are already in place.

Read the technical guide

Focused discovery

Live search, category counts, location and employment-type filters, plus stable pagination.

Accessible appearance

Dark and light modes, restrained accent choices, semantic controls, focus management, and narrow-screen layouts.

Moderation controls

Approve, reject, feature, renew, close, and delete listings from a protected operator view.

Search-ready pages

Server-delivered job content, canonical URLs, social metadata, JobPosting JSON-LD, and a dynamic sitemap.

#

Defensive defaults

Prepared statements, input validation, hashed management tokens, rate limits, and approval before publication.

Recoverable lifecycle

Clear listing states, automatic expiry, moderator renewal, and poster-controlled close or removal actions.

Open contribution

Bring a careful improvement.

Accessibility reviews, focused interface refinements, PHP hardening, documentation, contract tests, and Okanagan-specific insight are welcome.

interface demo
$ git clone https://github.com/crypto-frog/wogopogo.git
$ cd wogopogo/frontend
$ npm ci
$ npm run dev:mock

Community utility

A job board can be modest infrastructure—and still be thoughtfully built.

Open Wogopogo