Skip to content
Mega MediaManagement · NJ

↑↓ move · Enter open · Esc close

15 suggestions

Private system, In production

Office software for a home-exterior contractor

One phone app for leads, estimates, customers, the calendar and the crew time clock, plus storm alerts that plan when roof ads run.

Concept animation with sample data. These aren't the client's screens.
Client
A home-exterior contractor
Features live
23
In development
8
Updated
October 7, 2026

Why

Why it was built

A contractor's office has to follow every lead from the first call to the finished job, know which crew member is on which site, and react the moment a storm comes through. When that lives in text threads, a paper calendar and the owner's memory, things slip: a lead nobody called back, a forgotten punch at payroll time, an ad still running after the weather has cleared. The owner wanted one app on the phone that holds all of it, and that the crew can use on their own phones for clocking in.

Features

What it does

Everything in this list is built and running in the client's business.

  1. 01

    Owner home screen

    Four live panels on one phone screen: who needs a call back right now (with a call button), who is on the clock and what is booked today, how many leads came in through the website, and the value of open estimates and jobs won this month.

  2. 02

    Sales pipeline

    Every job moves through new lead, contacted, estimate scheduled, estimate sent, won, scheduled, in progress and completed. Marking a job lost asks for the reason, such as price or no response, so lost estimates can be counted and followed up later. A quick-add form saves a new lead in about 15 seconds.

  3. 03

    A customer list that keeps everything

    Customers are archived, never deleted, and each one shows every job, note and change over time. Filters split leads, customers, lost deals and archived records, with tap-to-call and tap-to-email.

  4. 04

    Full history on every job

    Every stage change, note and update is time-stamped and kept, so the office can scroll back through the whole story of any customer or job.

  5. 05

    Calendar with phone reminders

    A month view for estimates, installs, meetings and follow-ups, linked to the customer and the job. Reminders arrive as phone notifications at the lead time the owner picks, and a reminder that failed to go out is marked overdue instead of quietly disappearing.

  6. 06

    Crew time clock that checks location

    Workers sign in on their own phone. Clocking in is limited to the job site or the shop (the phone's GPS confirms it), clocking out works anywhere, and nobody can have two shifts open at once.

  7. 07

    Timesheets and payroll export

    A live view of who is on the clock and the hours per worker for any date range, with shifts that cross the start or end of the range split correctly. Forgotten punches are fixed in one tap, and the hours download as a CSV file (a plain spreadsheet file) that is cleaned so nothing typed into the app can run as a spreadsheet formula.

  8. 08

    Sign-in problems fixed from the owner's phone

    When a crew member cannot get into the time clock, the owner gets an alert with a one-tap button to restore their access. The alert names the worker only by a short code.

  9. 09

    Receipts, job photos and notes from the field

    Workers who are clocked in can snap a receipt (amount and type, such as materials, fuel or tools), job photos and notes. Photos are shrunk on the phone before upload so they go through on a weak signal. The owner approves, rejects or marks each receipt paid back.

  10. 10

    Website leads arrive on their own

    Chats and booking requests from the contractor's website turn into customers and jobs automatically, labeled with tags such as Wants a call or Urgent. Repeat requests from the same person within a day join the same job, which shows what the customer sent and the ad click the lead came from.

  11. 11

    Every website lead in one list

    A separate screen lists every lead the website collected, including the ones that never became a job, with the full record of each one and a plain note on anything the system chooses not to store.

  12. 12

    Installs like an app, with instant lead alerts

    It sits on the home screen like an app and sends notifications for website requests left half-finished, urgent requests at any hour and call-back requests. Lock-screen alerts never show a customer's name, phone number or address, urgent alerts are capped per hour without losing any, and a notification that fails is sent again.

  13. 13

    Leads arrive once, and only from the website

    Lead forms are verified before they reach the system, so only the real website can add a lead. Each lead is recorded once, so a re-send never creates a duplicate, and a lead type the system doesn't recognize yet is held and retried instead of dropped.

  14. 14

    Search that forgives typos

    One search bar finds phone numbers however they were typed, dollar amounts, dates written like 'next Tuesday', and names with small typos.

  15. 15

    Trash with a 30-day undo

    Anything deleted sits in the Trash for 30 days and can be restored before a nightly cleanup removes it. Website leads are never deleted automatically.

  16. 16

    Health checks in Settings

    Settings lists the devices that get alerts, whether the website connection is working, the last 50 deliveries from the website and what happened to each, and shows a red or amber warning if the reminder or cleanup jobs stop running.

  17. 17

    Storm alerts on the owner's phone

    Every 5 minutes the system checks National Weather Service alerts for the company's service area and sends a phone notification and an email as soon as a warning or watch is issued, day or night. Imminent warnings, heads-ups and all-clears are sent in different ways, and the owner is told if the weather feed itself goes down.

  18. 18

    Storm page

    One screen shows the alerts in force and how each was sent, the severe-weather outlook for the next three days, wind-gust forecasts for the next 72 hours and recent storm damage reports.

  19. 19

    A roof ad plan that follows the weather

    Area by area, the system works out when roof repair and roof replacement ads should run, based on weather warnings and confirmed damage reports such as high winds, tornadoes or large hail, and when they should stop once the weather clears. The owner can pause or restart the plan for any area with one tap.

  20. 20

    Tells real damage from fallen trees

    The text of each storm report is read to tell real damage to a home, like a tree on a house or a roof blown off, apart from trees down on roads or wires, so longer ad runs only follow storms that actually damaged houses.

  21. 21

    Rules tested on ten years of storms

    The alert and ad rules were replayed against every weather alert for the service area from 2016 to 2026, to see how many alerts and ad days each rule would have produced.

  22. 22

    Stays signed in on work phones

    Office and crew phones stay logged in without forced timeouts, so the app is ready the moment someone opens it on a job.

  23. 23

    Private by default

    Customer and crew records can only be seen by signed-in staff, and the code's add-on libraries are checked for known problems every week.

In development

In development

Not live yet. This work is built or being built on our side and isn't part of the running system.

  1. 01Not live

    Estimate requests with the details attached

    Requests from a planned estimate tool on the website will arrive as jobs with the customer's answers, the price range they were shown and the best time to call. A second request for the same house is matched to the first without overwriting what the office already entered.

  2. 02Not live

    One-tap follow-up buttons

    Buttons for called, no answer (adds a note and a call-back reminder for the next business morning), call back on a date, inspection booked (opens a calendar entry already filled in), quote sent and not interested.

  3. 03Not live

    Do-not-contact handling

    Marking a customer as asked not to be contacted records the request for good and moves any planned call-backs to the Trash, so nobody calls them by mistake.

  4. 04Not live

    Open a job from an office email

    Each lead email to the office gets a button that opens that job in the app, asking the person to sign in first when needed and landing back on the job afterward.

  5. 05Not live

    Leads with odd characters still save

    A lead with characters the database can't store, such as half of an emoji, will be cleaned and saved instead of rejected.

  6. 06Not live

    Fix website requests from the app

    From the app, the owner will be able to correct what the website's chat recorded, retry stuck deliveries and see a log of who changed what. Part of this is built; the settings screens are still to come.

  7. 07Not live

    Ads that switch on and off by themselves

    A Google Ads script reads the roof ad plan every hour and applies it to the campaigns. It ships in a preview mode that only reports what it would change, so the live ads aren't touched yet. Once switched on, it pauses the campaigns if it can't reach the system, stops a campaign that keeps spending without a lead, and keeps ads off low-quality partner sites.

  8. 08Not live

    Ad bids by area and a monthly ad cap

    Bid adjustments for each area and a monthly spending cap for the whole ad account, set in the app and applied by the ads script. The code is finished; it isn't confirmed live yet.

Under the hood

Under the hood

The tools it is built with, and what each one does.

Next.js
The framework the screens and the server code are written in.
React
Draws the screens and updates them as the data changes.
TypeScript
JavaScript with types, so many mistakes are caught before the code runs.
Tailwind CSS
Styles the screens, with large tap targets for use on a phone.
PostgreSQL
The database where every record is kept.
File storage
Keeps uploaded photos and images.
Cloud hosting
Hosts the app.
Scheduled jobs
Runs the reminder, storm and cleanup jobs on a schedule.
Web Push
Sends notifications to phones and browsers without an app store.
Resend
Sends the storm and ad emails.
Google Ads Scripts
A script inside the Google Ads account that reads the system's ad plan every hour.
National Weather Service API
The government weather feed the storm alerts and damage reports come from.
Zod
Checks every piece of incoming data before it is used.
PGlite
A copy of the PostgreSQL database that runs inside the tests, so database rules are checked against the real setup.

Privacy

Why the client isn't named

The client isn't named and nothing here comes from their data. The animation is a concept with sample data.

Next step

Need software that fits how your business runs?

Tell us what you keep track of today and where it breaks down. We reply with questions or a written proposal that lists each screen and feature with its price.

(972) 804-6209megamediamgmtteam@gmail.com