Building

leat-leat

Freelance tasks designed around the realities of working with PTSD.

Liat-Liat is a freelance task marketplace designed around the realities of working with PTSD. It connects clients who have short, well-scoped jobs with workers who need to earn flexibly, at their own pace, without being overwhelmed. Predictable flows, calm visuals, protected recovery time and forgiving error handling are treated as product requirements, not styling choices.

The platform is live in production at https://liat-liat.com/. It is delivered as an installable progressive web app, with no native mobile apps.

At a glance

  • Status:  In development
  • Last full audit: 2026-04-26.
  • Languages: 19, including right-to-left layout for Hebrew.
  • Currency: US dollars.
  • Quality: 662 automated tests passing (1,628 assertions), plus 55 browser end-to-end tests.
  • Licence: Proprietary. All rights reserved.

Who it serves

  • Workers with PTSD. They earn flexibly, control their own pace, avoid overwhelm, and can document their functioning over time.
  • Clients. Small businesses and individuals get short tasks done quickly, with predictable pricing, escrow-backed payment and a route to dispute resolution.
  • Healthcare providers. With a worker’s consent, they can receive a report of that worker’s functioning history.
  • Platform administrators. They moderate content, resolve disputes, and can adjust safety limits for an individual user when there is a justified reason.

Design principles

  • Trauma-informed first. There are no surprise pop-ups, no jarring colour changes, no aggressive copy and no dark patterns. The experience stays calm, predictable and forgiving.
  • Worker safety is non-negotiable. The platform enforces limits on workload and requires recovery time, and these protections may only be relaxed by an administrator for a specific user.
  • Money is exact. All financial calculations use fixed-precision arithmetic, never floating point, and the database refuses states that would put a balance below zero.
  • The task lifecycle is a strict state machine. A task can only move between states through one authoritative set of allowed transitions.
  • No surveillance. The product carries no tracking pixels or behavioural analytics, and it has no public leaderboards or race-to-claim interfaces that would add pressure.

Core capabilities

Accounts and sign-in. Email and password sign-in with brute-force protection, two-factor authentication (required for administrators), email verification and password reset. Sessions can be revoked, and revocation is designed to fail closed.

Task lifecycle. A task moves through a defined set of states from draft to open, claimed, in progress and submitted. It then ends as approved, rejected, cancelled or disputed, or returns for revision. Comments have a short edit window and staff can leave internal-only notes. Deliverables are uploaded as files under strict type checks. Reviews carry a star rating and update each user’s average.

Escrow and wallet. Funds are held when a task is created and released when the client approves. They are refunded on cancellation, or when a dispute is resolved against the worker. Clients can deposit and workers can withdraw through PayPal, and wallet history can be exported.

Worker safety guardrails. Daily task limits, a cap on consecutive working time and a mandatory cooldown after a limit is reached. Workers can also start a voluntary wellness pause of their own choosing at any time. Worker activity is logged so it can feed the functioning-history report.

AI Launchpad. Clients describe a goal and AI helps break it into well-scoped tasks. It can also slice an existing task into subtasks, refine its wording and estimate effort. Requests are served by more than one AI provider with automatic failover, run in the background, and are subject to a per-user daily quota.

Disputes and moderation. A task can have one open dispute at a time. Administrators resolve it by splitting escrow, with notes recorded. A moderation queue handles approvals, rejections and appeals.

Functioning history. Each worker can generate a report of their own work patterns, self-care indicators, performance, financial activity and social interactions. It is private by design: only the user can pull their own report, and it exports as printable HTML.

Internationalisation. 19 languages, with the language chosen from the address, a saved preference, the browser setting or a default, and full right-to-left layout.

Discovery and search visibility

Public pages are built to be found by conventional search, answer engines and generative search alike. They carry structured data such as organisation, website search, FAQ, breadcrumb and job-posting markup. The site’s crawler rules explicitly allow the major AI and answer-engine crawlers. Only honest, verifiable fields are published.

Quality, security and operations

The automated suite must stay fully green with zero deprecation warnings before any change is considered done. The work is backed by a living audit record and a documented definition of done, and it is enforced in continuous integration together with dependency audits.

Security follows the OWASP top ten. A file-integrity monitor checks the code on a short cycle for tampering, and critical paths trigger alerts. Backups run daily with rotation, and the platform monitors itself and restarts failed services automatically. Accessibility targets WCAG 2.2 AA, with browser tests covering landmarks and labels.

Technology summary

The stack is deliberately plain, with few moving parts and no build-heavy framework, so that every line is auditable:

  • HP 8.5 behind Nginx, without an ORM and without microservices.
  • MariaDB for durable data, with constraints that enforce financial rules.
  • Redis for rate limiting, sessions, caching and the job queue.
  • Tailwind CSS v4 and Alpine.js on the front end, with a service worker for offline fallback.

Intellectual property notice

Liat-Liat is proprietary software. Its source code, safety model, escrow and financial logic, AI prompts and provider configuration, data model, documentation and branding are the property of the project owner. This description is a summary for portfolio purposes only. It intentionally leaves out source code, the specific limits, thresholds and quotas used by the safety and payment systems, database schema, infrastructure and host details, credentials and configuration, security controls, operational procedures and forward-looking plans. It grants no licence to use, copy or reproduce any part of the product. Any use beyond reading this summary needs written permission from the owner.

Building SPARK

Spark: SEO Agency Dashboard

Single pane of glass for a wholesale SEO operation.

  • pgvector
  • PHP 8.5
  • PostgreSQL 17
  • Tailwind
v0.6.0
Live

GenX Tribe

A social platform for people who remember the web before infinite feeds.

  • NGINX
  • PHP 8.5
  • PostgreSQL 17
  • Tailwind CSS
v0.16.1
Live EZMart

Makolet.store

One flat-fee platform for the corner-store economy.

  • Alpine.js
  • MariaDB 10.11
  • NGINX
  • PHP 8.4
v1.1.0