← All projects

Domestic Services Platform

My first real full-stack project, warts and all

Archived 2020 (school project) Student developer

A platform connecting homeowners with domestic service professionals, built as a university project. It works, and it is also a museum of things I now know not to do. I keep it here because pretending I started out competent would be a strange thing to claim.

Highlights

  • Passwords hashed with MD5, which was wrong even in 2020, and is the single clearest marker of how much I did not know.
  • Almost no component separation: most of the logic lived in a handful of enormous files.
  • It did ship, and it did work, which at the time was the only thing I was measuring.

Built with

Vue.js Bootstrap Laravel PHP MySQL

What it is#

A platform connecting homeowners with domestic service professionals: cleaners, babysitters, cooks, gardeners. A worker builds a profile and a reputation, a client finds someone reliable, and there is a requisition flow and a review system in between.

I built it as a university project in 2020. It works. It is also the oldest thing on this site by four years, and I keep it here deliberately.

Why it is still listed#

Because pretending I started out competent would be a strange thing to claim, and because the specific mistakes are useful.

Passwords hashed with MD5. This was wrong in 2020, not just wrong in hindsight. MD5 was broken for password storage long before I typed it. I used it because a tutorial did, and because I did not yet understand that “it works” and “it is correct” are different tests. The whole category of mistake, copying a pattern without understanding its threat model, is one I now watch for constantly, including when the thing producing the pattern is an AI rather than a tutorial.

Almost no component separation. Most of the logic lived in a handful of enormous files. I did not yet have the instinct that a file getting long is information.

No authorization worth the name. Access control was whatever the UI happened to show.

Every one of those has a direct line to something I do now. Authorization lives in the database. Files that grow get split. Patterns get understood before they get used.

What is in it#

  • User authentication and profile management.
  • A service requisition flow.
  • Reviews and ratings, so providers accumulate reputation.
  • Availability tracking.

How it is built#

Vue.js with Bootstrap on the frontend, Laravel and PHP on the backend, MySQL for storage. The frontend is on GitHub Pages and the source is public, which makes this the one project on this list where you can read the code and judge for yourself.

It is also the last PHP I wrote. Not out of principle, just because the work went elsewhere.

Status#

Archived, and the frontend is still reachable. There was a plan to relaunch it properly with a modern stack, which has not happened and probably will not, because the interesting version of this idea is now a mobile-first product with mobile money payments, and that is a different project.

Screenshots

Domestic Services Platform Project Screenshot