Skip to content
JobOnIt.com

Case study · AI-assisted development

How I built JobOnIt. With Claude Code and Codex as development tools.

JobOnIt is a mobile-first platform for short-term work in Florida. From the idea to the live system, I shaped the product, set the development direction, and made the final product, technical and release decisions. Claude Code helped with implementation, and Codex with independent code review.

  • Since Jun 28, 2026
  • 354 commits
  • EN / ES from day one

One change, start to finish

Example: the four-crop photo editor

  1. IDefine the goalI record what needs to change, and why.
  2. Claude CodeImplements the changeWrites the code, tests and documentation on a separate branch.
  3. CodexReviews it independentlyChecks the code, the edge cases and the tests.
  4. IDecide on the releaseI sign off on the solution, then we merge and deploy it.

Build record

The project in brief

The product, the way it was built, and the key numbers.

Owner

Péter Szeles

Founder & product owner

I am responsible for the product's direction and priorities, and for the final product, technical and release decisions.

[email protected]

Development tools

Claude Code AI coding assistant

Helps write the code, tests and documentation against the goals and acceptance criteria I set.

Codex Independent AI code reviewer

Reviews the implementation, the edge cases and the tests before I decide on a release.

Visit the live product
First commit
Jun 28, 2026
The first prototype commit
Commits
354
June to September 2026
Test suites
165
11,000+ checks on every PR
Database migrations
47
MySQL, versioned with the code
Market
Florida · USD
Built so other states are easy
Languages
EN / ES
Job ads translated automatically
Server-rendered pages
60
PHP on the server, no SPA
Security
Strict CSP
No inline script, style or handlers

Repository snapshot, Sep 19, 2026.

Workflow

I set the direction. Claude Code implements. Codex reviews.

AI speeds up the work; the responsibility and every final decision stay with me.

  1. 01

    Plan

    I define the problem, the scope, and what "done" means for the task.

    brief · acceptance criteria
  2. 02

    Implement

    Claude Code builds the change on a separate branch, together with its tests.

    branch · tests
  3. 03

    Review

    Codex reviews the code, the edge cases and the test coverage.

    code review · CI
  4. 04

    Decide and release

    I review the result and decide what can go live.

    release gate · exact SHA
Always my call: Product decisions Priorities Pricing Legal content Release decisions

Milestones

I built it in small, reviewed steps

The first prototype commit landed on Jun 28. By Sep 11 the basics of production operations were in place too, 75 days later.

June – July 20263 milestones

  • Jun 28 First prototypeA mobile swipe card, desktop jobs and an availability calendar, as reference screens. Shipped
  • Jul 7 Worker-first front doorGuests land on real open jobs instead of a role chooser. Shipped
  • Jul 22 Real Google sign-inOpenID Connect with PKCE; the email sign-in link stays as the fallback. Shipped

August 20264 milestones

  • Aug 12 Four-crop photo editorEmployers set a separate, previewed crop for each surface their photo appears on. Shipped
  • Aug 14 Job ads in SpanishJob ads are translated automatically for Spanish-speaking workers. Shipped
  • Aug 17 Push notifications on workers' phonesReminders and job updates arrive as the phone's own notifications. Shipped
  • Aug 24 New map and a continuously loading feedServer-side pagination behind Cards, List and Map, all three from one feed. Shipped

September 20262 milestones

  • Sep 5 CI on a clean Linux machineEvery pull request runs the full test suite on a clean Linux machine. Shipped
  • Sep 11 Operations basics liveNightly backups, a proven restore and wider alerting, all in production. Shipped

Engineering

Real problems, verified fixes

I ran into each of these during development. In every case we found the root cause, fixed it, and checked the result with a test or a measurement.

Scheduling

No double-booking, even under simultaneous approvals

Problem
Two employers could approve the same worker for overlapping shifts at the same moment.
Fix
A strict server-side overlap guard, plus a test that simulates simultaneous approvals and names the cause when it fails.

Security

A strict CSP with zero exceptions

Problem
Inline scripts, styles and event handlers are always the easy path.
Fix
PHP sends the security headers on every entrypoint, with no unsafe-inline and no inline style. All behaviour lives in same-origin scripts.

Media

The crop shows exactly what goes live

Problem
The same photo appears on four surfaces with four different aspect ratios.
Fix
A separate crop for each surface, a large draggable preview, and no setting hidden behind a tab.

Layout

Measured at 390px, not guessed

Problem
The background browser used for testing gave wrong answers about phone overflow.
Fix
Real device-size emulation, click-tested controls, and a test that pins the result.

Language

Longer Spanish text no longer breaks the layout

Problem
Longer Spanish copy pushed the mobile job list sideways.
Fix
Changing a single CSS rule fixed it, measured on the deployed stylesheet rather than a local copy.

Operations

Releases with no missing dependencies

Problem
A live release once shipped without its Composer dependencies (the vendor folder).
Fix
Dependencies now arrive as a separately verified release package, and every deploy uses exactly the pushed, tested version (SHA).

Security & operations

For me, security is a product requirement, not an afterthought

I set these rules before the first screen shipped, and we check them again after every larger change.

A+

SecurityHeaders

All 6 security headers present

View report

A+ · 135

Mozilla Observatory

12 of 12 tests passed

View report

A+

SSL Labs

On all 4 server endpoints

View report

96%

Internet.nl

Website test

View report

Last measured on Sep 19, 2026 (UTC).

  • Security headers sent by PHP on every entrypoint
  • CSP without unsafe-inline or unsafe-eval
  • CSRF protection on every state-changing POST
  • No raw card data stored, ever
  • No personal data, tokens or secrets in logs
  • Employer contact details are shown only to workers the employer has selected
  • Nightly off-site backups with a tested restore
  • The full test suite runs on a clean Linux machine for every PR

AI tools

How I work with AI tools

I use them like two thorough colleagues who follow my decisions and document everything.

  • Keep the context
  • Flag a wrong direction
  • Catch their own mistakes
  • Document the fix

ContextKit

The workflow I use for JobOnIt, packed for your repo

A backlog, a work log, a log of finished work, product rules and security checklists. Works with Claude Code and other development tools.

Get ContextKit

See it. Swipe it. Get on it.

For workers

Looking for work?

Browse nearby shifts in Florida. JobOnIt is always free for workers.

Find jobs

For employers

Need workers?

Post a shift in seven short steps, then choose who works it.

Post a shift