158 changes shipped

What's new in JobPanel

Every change below is taken from the commit history, with the date it went out. We use JobPanel to run our own service business, so when something needs fixing it gets fixed.

October 2026

23 changes
  • Enforce plan access on pages and API
  • Growth plan: 6 users, inventory, vendors
  • Growth plan: 6 users, cleaner feature list
  • Add estimates to Starter plan
  • Starter: unlimited price list, team time clock, scheduling, dispatch board
  • Make sure the owner welcome email actually sends
  • Send new owners a welcome email from David
  • Remove all BeGreat references
  • Remove 'by BeGreat' from legal page headers
  • Shorten the homepage hero and drop the sample dashboard.
  • Marketing SEO and monthly-only pricing copy
  • Let the account owner subscribe from billing
  • Signup: redirect to dashboard, separate consent checkboxes
  • SEO: per-post blog pages, canonicals, full sitemap
  • Landing page fixes: pricing, testimonials, card wording, Stripe comparison, readability
  • Boards: fill the screen, and open the job picker quickly
  • Boards: stop a drag selecting the board instead of moving the card
  • Boards: track jobs through stages you name yourself
  • Crew uploads: ask which company, and take dragged files
  • Move the crew upload link to the top of the Photos page
  • A link crews can use to send photos and video from the job site
  • Record signup attempts, not just signups
  • Let people into the trial before they confirm their email

September 2026

63 changes
  • Drop the two months free claim from the pricing lines
  • Add a booking request to the customer list in one step
  • Page views: count the right pages, and add the last 24 hours
  • Put pricing above the dashboard mockup
  • Put pricing above the "Everything included" panel
  • Move pricing directly under the hero
  • Remove the demo from the marketing site
  • Route map sheet: readable values, and no raw ids on screen
  • Customer picker on invoices; fix the job sheet on a phone
  • Keep interface settings on the account; show the stops on the dashboard map
  • Route map: let the Stop Status key be closed
  • Restore timezone, clock-in and settings work; fix the blank dashboard map
  • Put the Route Map on the dashboard
  • Make the dashboard cards collapsible
  • Add a suggestion form for JobPanel improvements
  • Stop recording deliveries that never happened
  • Replace the app icons with the JobPanel grid mark
  • Stop email failures from passing as successes
  • Fix the tour rendering under the page on mobile
  • Add a demo schedule seeder for the admin account
  • Finish the Route Map panel controls for touch
  • Make the Route Map usable on a phone
  • Speed up the app: one request per calendar, lighter payloads, real indexes
  • Fix the route map jumping about, and add route tools
  • Add bulk select and delete to Ready to Send invoices
  • Rebuild the estimate view as a document rather than app cards
  • Calm down the Jobs and Customers lists
  • Fix a race that left the Turnstile box empty
  • Allow Turnstile and Google Analytics through the Content Security Policy
  • Block bot signups without depending on Turnstile
  • Wire up Edit Job and Complete on the route map
  • Make the Overdue and Active job lists collapsible on the dashboard
  • Give the estimate line-items table its own scroll container
  • Match the Settings menu screens to the grouped sidebar
  • Rename inventory and regroup the sidebar around Customers and Team
  • Move Help under Settings and drop the section counts
  • Group the sidebar into collapsible sections
  • Unlock the app on payment without depending on the webhook
  • Reword the annual billing line, which read as a 10-month cycle
  • List every active Stripe price in the Billing Setup Check
  • Show the correct Stripe price IDs in the Billing Setup Check
  • Show customers a usable message when checkout fails
  • Make the admin panel report why it failed to load
  • Add a plain-English billing setup check to the admin panel
  • Show why checkout fails instead of the button doing nothing
  • Redesign the trial-expired screen: light theme, full tier detail
  • Fix admin revenue figures built from prices that never existed
  • Fix pricing missed on the trial-expired page, billing mockup and social posts
  • Three-day grace on failed payment, then lock — with in-app reminders
  • Fix the webhook silently ignoring cancellations, and add a Stripe reconcile
  • New pricing: $25 / $98 / $165, and gate features by company shape
  • Apply role changes to a live session instead of waiting for re-login
  • Rebrand email and SMS to JobPanel, and drop the stale COMPANY_NAME variable
  • Assign trucks to team members, and pick a person on Truck Inventory
  • Work History to managers, Job Photos for everyone but scoped, checklist templates locked down
  • Tighten permissions: time cards, team editing, job visibility, PTO allowances
  • Rebuild the dashboard mockup to match the real app, and put it back on the hero
  • Add a Job Photos library, and fix the hero section's colors
  • Correct competitor pricing, fix a false promo-code claim, and replace the hero mockup with real content
  • Remove the Milwaukee tool giveaway
  • Add customer delete to the list, and say what delete actually destroys
  • Stop hiding nine pages from paying customers
  • Lock the app on an unpaid balance, and flag it in the admin panel

August 2026

14 changes
  • Add Time Off (PTO) with owner-set allowances
  • Fix Menu Order card dropping role-gated pages
  • Fix low-stock alert colors and add an overdue-jobs shortcut
  • Extract navigation into a single shared source of truth
  • Replace inventory table with cards on mobile
  • Add +/- quantity steppers to each inventory row
  • Enforce Manager-and-up on Shop Inventory server-side
  • Group inventory list into category sections
  • Add refresh button to shop inventory
  • Support QR codes in the inventory scanner
  • Make barcode scanner far more reliable
  • Add Inventory, Truck Inventory, and Route Map to mobile nav
  • Add barcode scanning to shop inventory
  • Fix transparent modal background on Inventory and other pages

July 2026

3 changes
  • Fix signup button permanently disabled when Turnstile widget fails to load
  • Make test-email public and return clear Resend diagnostic info
  • Update test-email route to send to begreatfacility@gmail.com

June 2026

55 changes
  • Add shop inventory page (admin/manager only)
  • Add plan-based feature gating across all tiers
  • Add Why JobPanel link to home page nav (desktop and mobile)
  • Add why-jobpanel landing page and link in marketing nav
  • Add truck inventory spotlight section to features page
  • Add truck inventory spotlight section to landing page with live mockup
  • Fix pricing page footer: replace techboard branding with JobPanel
  • Add inventory tracking marketing page at /inventory-tracking-software
  • Fix TypeScript error: remove invalid style prop from Stat component
  • Fix P3009: resolve failed migration before deploying
  • Fix migration SQL: use DO/BEGIN block for idempotent ADD CONSTRAINT
  • Upgrade truck inventory to expert-level tracking system
  • Run prisma migrate deploy automatically on every Vercel build
  • Add truck inventory tracking page
  • Fix calendar overflow link and customer delete FK errors
  • Fix job save/update failing due to unknown fields sent to Prisma
  • Fix job file attachments not opening in browser
  • Fix slow email sending: reuse Resend singleton, fire-and-forget on job creation
  • Show Milwaukee kit product image in giveaway popup
  • Fix giveaway popup not showing: bump storage key, raise z-index
  • Delay giveaway popup to 3 seconds
  • Giveaway: set July 1–31 (30 days), remove AMOE form from popup
  • Add GiveawayPanel to admin page
  • Add Milwaukee tool giveaway — popup, admin tracker, winner picker
  • Fix build failure: guard blog DB queries when DATABASE_URL unavailable at build time
  • Remove scrolling marquee banner from landing page
  • Add unlock-user admin API endpoint
  • Fix email from-address fallback to use getjobpanel.com domain
  • Fix mobile layout of landing page
  • Add delete customer button with confirmation dialog
  • Force light mode + add topbar to match professional mockup
  • Update schema default colors to white sidebar and blue accent
  • Apply professional white-sidebar design theme
  • Overhaul FAQ page — search, category filters, accordions, 50+ answers across 8 sections
  • Add auto-publishing blog system — 30 posts seeded, daily cron publishes one per day
  • Fix build error — remove duplicate help page conflicting with dashboard help
  • Add delete button to photos in schedule edit modal
  • Redesign landing page nav — logo badge, pill nav, stronger CTA
  • Add Help tab to sidebar + comprehensive in-app help center
  • Add real blog post pages with full written content
  • Fix blog build error — remove server component event handlers, use Tailwind hover
  • Rebrand blog page from TechBoard dark to JobPanel light theme
  • Nav + dashboard mockup overhaul
  • Full SEO overhaul — structured data, metadata, sitemap, robots
  • Landing page: new features, trade sections, improved SEO
  • Bias address suggestions toward user's local area
  • Fix address autocomplete dropdown clipped by overflow:hidden modals
  • Replace property radio buttons with dropdown on job forms
  • Add Cloudflare Turnstile disclosure to privacy policy
  • Add Cloudflare Turnstile CAPTCHA to signup form
  • Fix address autocomplete — route through server proxy with proper headers
  • Add property selector to schedule quick-add job modal
  • Add address autocomplete to estimates new customer form
  • Upgrade service address picker on new job form
  • Add document uploads to job detail and new job form

Want something on this list?

There is a suggestion form inside the app. A fair number of the changes above started there.