Skip to content
BigTree108

Case study: the company management portal

A new company in 2025 needed hiring, onboarding, contracts, time tracking, leave, invoicing and accounting from day one, on a budget that ruled out buying seven products. We built one platform for all of it, and we run the company on it.

The problem

Off-the-shelf HR, time-tracking and invoicing tools would each have cost more per month than the whole budget, and none of them understood Ukrainian contractor law, e-signature through a local bank, or the way hours flow from a time tracker into a client invoice. The alternative was spreadsheets, which stop working the week someone is on holiday.

The decision was to build the platform on the stack we sell, treat it as a real product with the same engineering rules we apply to client work, and let it be the reference our clients can ask about.

What it does

  • Hiring

    Vacancies published to job boards, candidate screening through a Telegram bot with a question library, technical and external interviews with booking, probation tracking.

  • Onboarding

    A guided flow that collects identity documents, verifies them with cloud AI services, confirms name spelling, gathers contacts and equipment, and opens accounts through the identity provider.

  • Contracts and documents

    Service contracts and NDAs generated from templates into PDF, sent for e-signature, stored as the signed record. Client agreements and statements of work follow the same path.

  • Time and leave

    Hours per project assignment, synced from external time trackers, editable by the specialist; vacation and sick leave with per-contract allowances and approvals.

  • Compensation and invoicing

    Monthly specialist invoices and client invoices produced from the same logged hours, currency rates from the central bank, rebilled one-time payments, a signed invoice archive.

  • Accounting and compliance

    Tax declaration and payment reminders, bank statement import, emergency contacts, and a permission model with row-level security and elevation requests for financial data.

  • Notifications

    Chat and messenger cards for every event a person needs to act on, with a rule that no message ever carries financial figures; those stay behind the login.

How it is built

  • Backend

    .NET 10 on Azure Functions, vertical slices with CQRS through a source-generated mediator, validation at every boundary, EF Core with versioned migrations.

  • Data

    Azure SQL with row-level security per client and Always Encrypted columns for personal and financial data, keys held in a managed vault.

  • Frontend

    Angular with standalone components, signals and zoneless change detection, a Tailwind design system, and an API client generated from the OpenAPI document.

  • Delivery

    GitHub Actions with federated credentials, Terraform for the whole estate, database changes shipped as migrations in the pipeline, CodeQL and dependency scanning.

Rules that shaped it

  • Priorities in a fixed order: cost, then security, then modern, then performant, then compliance alignment. Every conflict is settled by the higher rank.
  • The identity provider is the source of truth for people data; the database is a cache for it and the only home for salary, hiring data and permissions.
  • Sensitive data never lands in a plain column, not even briefly. Encryption is declared in more than one place and validated at startup.
  • Every bug fix ships with a test for its class, pushed to the broadest enforcement layer that can see it, often an architecture test rather than a unit test.
  • Chat is an untrusted display surface. Notifications name the event and link to the page behind authentication; amounts and rates never leave the product.

Why it matters to you

We are not describing a demo. This platform runs a real company every day, which means we have lived with our own architecture decisions, our own migrations and our own alerting for long enough to know which ones were right. That is the same judgement we bring to your product.

Want something like this for your company?

Describe the processes you run on spreadsheets today. You get a written plan, an architecture proposal and an estimate within one business day.