app.webhill.net: SaaS for Clients, Invoices and Website Monitoring
About the project
app.webhill.net is our own product: a multi-user web panel for freelancers and small agencies that replaces spreadsheets, reminders and a dozen separate services. Users sign up with an email address and see only their own data. There are no paid plans or limits.
Sections
- Dashboard: unpaid invoices, upcoming payments, websites that are down and recent notifications
- Clients: client records with statuses (active, paused, archived), contacts and notes
- Invoices: one-time, monthly and quarterly. Recurring invoices are created automatically, with due-date reminders
- Tasks: statuses, priorities, deadlines, cost and a link to a client
- Services: hosting, domains and subscriptions, with reminders before each charge
- Monitoring: HTTP response and SSL certificate checks for websites every 4 hours
- Backups: automatic backups of VPS projects over SSH/SFTP, with archive verification
- Finance: income and expenses linked to clients, invoices, tasks and services, with a balance and a breakdown by category
Notifications
- Three channels: Telegram (the user's own bot), MAX and email, including extra addresses
- Events: a website is down, a service payment is coming up, an invoice is overdue or due soon, a task deadline is near, a backup has failed
- A log of sent notifications, plus a test send from the settings
- Built-in instructions for connecting a Telegram bot
Security and architecture
- Record-level data isolation: an
is-ownerpolicy and automatic owner assignment - JWT in an httpOnly cookie, protected routes and rate limiting
- Bot tokens are masked in API responses
- New sections are added from a shared template without changing the core
- The landing page is managed from the CMS and updates without a redeploy
Tech stack
- Next.js 16 (App Router), React 19, TypeScript
- shadcn/ui, Tailwind CSS 4, TanStack Table, react-hook-form + zod, light and dark themes
- Strapi 5 (REST, Document Service API), SQLite
- Strapi Cron for monitoring, recurring invoices, reminders and backups
- Nodemailer (SMTP), Telegram Bot API, MAX API







