Overview
Easybaer is a back office for small South African businesses. It brings timesheets, leave, payslips and invoicing into one portal, so a business can track its people's time, approve leave, and bill its clients without juggling spreadsheets, email threads and separate accounting tools. It's my own product. I designed and built both parts of it: the portal that businesses and their staff sign in to every day, and the marketing website that explains what it does and gets people to book a demo.RoleFounder, Product Designer and Full-Stack Developer
TimelineAugust 2026 to now
MarketSmall and medium businesses in South Africa
PlatformsWeb portal and marketing website
StackNext.js, React, TypeScript, Tailwind CSS, Node.js, Express, Prisma, MySQL
The problem
Small businesses in South Africa run their admin on a patchwork. Hours are tracked in spreadsheets. Leave requests arrive on WhatsApp and get lost. Payslips are typed up by hand every month. Invoices are built in Word or Excel, with VAT worked out on a calculator, and nobody is quite sure which ones have been paid. There are big HR and accounting platforms, but most are built for larger companies or for other countries. They don't know about South African public holidays, rand and 15% VAT, or the branch codes on a local bank account, and they're priced and designed for teams with a dedicated HR department.The question I had to answerHow can a small South African business go from logged hours to approved leave and paid invoices in one place, without needing an HR team to run it?
My role
I'm doing everything on this one: product strategy, UX and UI design, the website, the front end, the API and database, security, and deployment. I started with a product plan that mapped the features to the people who'd use them, then designed and built the product in small slices, testing each flow end to end with test companies and staff accounts before moving on. The portal's interface is built on TailAdmin, an open-source admin dashboard starter. I used it for the base layout and form controls, then designed every Easybaer screen, flow and state on top of it.Who I designed for
Business owners and admins
They set the company up, add staff and departments, and want to see what needs their attention without digging through every module.Managers and team leads
They approve timesheets and leave for their team. They need to do it quickly, ideally a whole week at once, and export the hours for payroll.Finance and accounts
They manage clients, send invoices and record payments. They need VAT done right, the PDF in the right inboxes, and a clear view of what's outstanding.Employees
They log their hours, request leave and download their payslips. They should never have to chase HR for a copy of last month's payslip.The portal
A dashboard that tells you what to do next
The first version of the dashboard had placeholder charts. I replaced them with what people actually open the portal for: a greeting, four numbers that matter (people, items awaiting approval, team hours this week, and money outstanding), and a Needs your attention list. Leave and timesheets waiting for approval appear there the moment they're submitted, most urgent first, and leave can be approved or rejected right from the list.Timesheets approved in minutes
People log hours against departments on a simple calendar. Managers get a team view with each person's pending, approved and rejected hours for the period, can filter by department and status, and approve a whole selection in bulk. The same view exports to PDF and Excel for payroll. South African public holidays are built in, so they show up without anyone setting them.Leave without the spreadsheets
Leave requests have a type, dates and an optional supporting document, like a doctor's note. Admins and managers see every request with its status and can approve or reject in place. When a request is approved, the employee is notified straight away, in the app and by email.Invoices that get paid
Invoices are built in rand, dollars, euros or pounds, with VAT worked out automatically. From an invoice, finance can download the PDF, email it to the client with copies to their accounts team, or share a secure link on WhatsApp, which is how a lot of South African small businesses actually talk to their clients. Payments are recorded against the invoice, so the balance due is always clear.Settings with local defaults
Every new invoice starts from the company's defaults: its own numbering prefix, ZAR as the currency, payment due after 30 days, and South Africa's 15% VAT rate. Bank details are added to invoices automatically, and the employee banking form uses a list of South African banks with their universal branch codes, so nobody has to look one up.Reminders, so nothing slips
I added in-app notifications and reminder rules that admins and managers can set up, like a nudge when a timesheet hasn't been submitted by Friday. They arrive in the app and by email, with a daily summary of anything still waiting.The website
The marketing website has one job: show a busy business owner, in a few seconds, that Easybaer handles the admin they're tired of, and get them to book a demo.Lead with the outcome"Run your people and your money. All in one place." The hero says what it is and who it's for, with "Rand, VAT and South African bank details built in" right under the buttons.
Show the real productInstead of illustrations, the page uses real screens from the portal, so visitors see exactly what they'd be using.
Speak to each roleBenefits and a "Made for the whole team" section talk to managers, finance, HR and employees separately, in their own terms.
One clear next step"Book a demo" is the main action throughout, with "Sign in" always close by for people who already use it.
Building it to be trusted
Easybaer holds salaries, bank details and client invoices, so security was part of the design from the start, not something added at the end.Invite-only accountsThere's no public sign-up. Admins invite their staff, who set their own password from the invite. Password reset works by email.
Role-scoped dataEvery request is checked against the user's role and company on the server, so people only ever get the data they're allowed to see.
Protected sign-inSessions are re-checked on every request, failed login attempts are limited, and "Keep me logged in" is the user's choice.
Encrypted settings and an audit trailCompanies can send email from their own mail server. Those credentials are stored encrypted, with a live connection test, and important changes are recorded in an audit log.
How it's built
Easybaer is a monorepo with three apps: the website, the portal and an API. The portal and website use Next.js, React, TypeScript and Tailwind CSS. The API is Node.js and Express with Prisma and MySQL, and it generates the payslip and invoice PDFs and the Excel exports. Every push to the main branch builds all three on GitHub and deploys them, then checks that each one responds.Challenges
Four products in oneTimesheets, leave, payroll and invoicing could easily feel like four apps stitched together. The role-aware dashboard and shared approval patterns tie them into one experience.
Local details matterPublic holidays, VAT, rand formatting, bank branch codes and WhatsApp sharing are small on their own, but together they're what make the product feel made for South Africa.
Simple for employees, powerful for adminsThe same portal has to be effortless for someone logging eight hours and complete for someone running payroll. Role-based views keep each one focused.
Designing and building aloneBeing both designer and developer meant I could test a flow in real code the same day I designed it, but also that every decision had to earn its place.
Outcome
Easybaer now covers the full loop for a small business: staff log time and request leave, managers approve in a few clicks, payslips are downloadable, and invoices go out with VAT worked out and come back as recorded payments. The website presents it with real product screens and one clear call to action. The product is getting ready for its first customers. Next up are guided demos with small businesses and the feedback that comes from real teams using it every day.Skills & deliverables
- Product strategy and feature planning
- UX and UI design for a multi-role web portal
- Marketing website design and copywriting
- Full-stack development with Next.js, Node.js, Prisma and MySQL
- PDF and Excel document generation
- Role-based access control and security design
- CI/CD and deployment
