Hiring assignment 10–12 focused hoursPick 3 of 6 modules

Take any three modules end-to-end, 2–3x deeper

This is a live rental CRM used by a team that finds homes for people and closes bookings. Your job is not to redesign it. Your job is to pick three modules and make them actually finish the work they claim to do. Everything below tells you exactly what "finish" means, how you will be scored, and how to submit.

Start here — two minutes

1. Click through the product below so you know what exists.  2. Copy the GitHub repo and get it running.  3. Pick your three modules and build. The full order of operations is in Submit at the bottom.

What this product is

A customer comes in from WhatsApp. Someone calls them, understands what they need, matches a property, schedules a tour, gets a decision, takes the booking, collects the money and hands over the keys. Every screen here exists to move one customer one step forward, with a named owner and a deadline. The same customer is the same record everywhere — the list, the call screen, the work panel and the admin room all read one truth.

Pick any three

M-POWER CALL (Call Conversation Engine)

Runs a real call: why we are calling, what is already known, what to confirm, what to say, and what gets written back after the call.

/leads — open a lead, press M-POWER CALL

Movement CARE (daily draft + result promise)

A person promises a result for the day, picks 30 leads one by one, works them, and closes the day with a WhatsApp update.

/movement-care

Booking Flow Split (operator workspace)

One screen split for WhatsApp on one side and the CRM on the other: questions, answers, next step, deadline, closing promise.

/booking-flow-split

Movement OS

The full customer list with stages, owners, overdue work and the work panel beside it.

/movement-os

Admin Movement Control

Founder and team views: who is doing what, what is late, where money is leaking, and the full history.

/admin

Closing desk

Everyone past the tour: quote, decision, booking, money pending, check-in, with promised closing times.

/closing

Answer these for each module you pick

  1. 1. What result does this module produce?

    How: Name the outcome in one line, e.g. "more tours actually happen". Put that line on the screen so the person using it sees it.

  2. 2. Who is accountable, and by when?

    How: Every item must carry an owner and a deadline. Show what is late in red, on the same screen, not in a report.

  3. 3. What is the smallest number of clicks to finish one customer?

    How: Count the clicks today. Cut them at least in half. Typing should save itself; Enter should move forward.

  4. 4. What gets captured, and can I see it without scrolling?

    How: Everything already filled stays visible while working. Nothing should need a second page to read.

  5. 5. What happens after the work is done?

    How: Auto-write the customer message, the follow-up and the next step. The person should only copy and send.

  6. 6. Where does the data go?

    How: Save to the hosted backend, not just the browser, so the same state shows on another device and to the admin.

  7. 7. How do I prove it works?

    How: Walk one real customer through the whole module and show the trail: what changed, who changed it, at what time.

What 2–3x means here

  • Half the clicks for the same outcome, or less.
  • No empty screen and no screen that asks only one question.
  • Nothing silently lost — every edit shows who, what and when.
  • The customer message, the follow-up and the next step are written for the person, not by the person.
  • Admin can see the exact same state the operator is seeing.

How you will be scored

40%

Outcome depth on the three modules

Did each module actually finish the work it claims — end to end, not a coat of paint?

20%

Click and scroll reduction

Measured before/after on one real customer. Numbers, not adjectives.

20%

Nothing broken

Every existing button, option and page still works. Regression is disqualifying.

10%

Data integrity

Saves survive refresh and another device. One customer = one record everywhere.

10%

Clarity of your note

Can a non-technical founder understand what you did in 60 seconds?

Do this

  • Pick 3 modules and go deep — depth beats spread every time.
  • Count clicks on one real customer before you change anything. That number is your baseline.
  • Keep the app running at every step. A broken live link scores zero.
  • Reuse the patterns already in the codebase — semantic tokens, TanStack routes, the existing event trail.

Don't do this

  • Do not redesign the brand, colors or layout system — we judge outcomes, not taste.
  • Do not add new pages that duplicate an existing module.
  • Do not leave empty screens or decorative buttons. If it renders, it must work.
  • Do not submit code without a live link. We judge the live link, not the code style.

Suggested working rhythm

Hour 0–1

Open the app, click through all six modules, pick your three.

Hour 1–2

Copy the repo, run it locally, publish an empty deploy so the link works early.

Hour 2–10

Module by module: baseline clicks → build → verify in the browser.

Final hour

Regression pass on everything you didn't touch, write the note, send the link.

Submit

  1. Copy the project from GitHub into your own account.
  2. Build your changes on the three modules you chose. Keep the existing buttons and options working.
  3. Publish it and get a live link that we can open.
  4. Send us the live link plus a short note using the format below.

Repository

github.com/Gharpayytechy/lead-zen-cleaner

Your note — copy this format

Live link: <your published URL>
Modules picked: 1) … 2) … 3) …
For each module:
  - Before: <clicks/scrolls to finish one customer>
  - After:  <clicks/scrolls>
  - What I changed: <2 lines>
  - Where to see it: <exact page + what to click>
One customer walkthrough: <name, and the trail of who/what/when>

We judge the live link, not the code style. If it does not work in the browser, it does not count.

See the product first