Building since 2024 • Dhaka & Toronto

We build the systems businesses run on.

Not brochure sites. ERP, hospital management, HR and payroll, point-of-sale and banking — platforms in production, built and maintained by one team across Dhaka and Toronto.

apps/api/src/shared/utils/funcs/request-company-scope.util.tszetta-hrm
export const requireCompanyContextScope = (request: any): string => {	// The RolesGuard resolves the active company AND confirms	// the caller's membership, then stamps the validated id onto	// the request. Trust THAT — never re-derive tenant scope	// from a forgeable cookie.	const stamped = asSingleValue(request?.activeCompanyId)?.trim()	if (stamped) return stamped 	const header = asSingleValue(request?.headers?.['x-company-id'])	const cookie = asSingleValue(request?.cookies?.[activeCompanyIdName]) 	if (header && cookie && header !== cookie)		throw new BadRequestException(			'Company scope mismatch between context cookie and header.'		) 	const companyId = header ?? cookie	if (!companyId) throw new BadRequestException(		'Company context is required. Set an active company first.'	) 	return companyId} 
$ tsc --noEmit
✓ no errors
Normaltypescriptimported by 19 platforms
Systems in production
8

Government, banking, healthcare, HR and payroll, retail and hospitality.

Web, mobile and desktop
3

Next.js on the web, React Native for iOS and Android, and Rust with Tauri on the desktop — all three on one NestJS API.

Countries, two entities
2

ZettaByte Technology Limited, Dhaka. ZettaByte Technology Incorporation, Toronto.

In every platform we ship

CI/CD

Tested on every commit.

Observability

You see it before we do.

RBAC

Field-level, re-checked server-side.

Audit logs

Who changed what, a year on.

Realtime

No refresh button.

Job queues

Long work off the request.

Built with

Next.jsReact NativeSolidJSSvelteNestJS.NETPythonPostgreSQLPrismaRedisRustTauriTurborepoDocker

The company

Who we are

ZettaByte is a product engineering company, not an agency that hands a project on at launch.

The work started in Dhaka and now runs from two offices and two registered companies: ZettaByte Technology Limited in Bangladesh and ZettaByte Technology Incorporation in Canada. Same team, same codebase, two time zones.

The catalogue

Every platform. One architecture.

Every platform here is software we have already designed, built and shipped — and every one of them stands on the same foundations. A project that matches one of these skips the months it takes to get a system to version one.

Choose a foundation to see everything built on it, or a platform to see what it is built from

Money & operations

  • BankingBuilt on Tenancy & access control, Audit trail, Billing & payments and Documents & records.
  • ERPBuilt on Tenancy & access control, Audit trail, Billing & payments, Stock & inventory, Payroll & attendance and Documents & records.
  • Wholesale & InventoryBuilt on Tenancy & access control, Audit trail, Billing & payments and Stock & inventory.
  • Point of SaleBuilt on Tenancy & access control, Audit trail, Billing & payments and Stock & inventory.
  • Agro ERPBuilt on Tenancy & access control, Audit trail, Billing & payments, Stock & inventory and Payroll & attendance.

Property & hospitality

  • Real EstateBuilt on Tenancy & access control, Audit trail, Billing & payments, Scheduling & bookings and Documents & records.
  • Landlord & TenancyBuilt on Tenancy & access control, Audit trail, Billing & payments and Documents & records.
  • Hotel ManagementBuilt on Tenancy & access control, Audit trail, Billing & payments, Stock & inventory, Scheduling & bookings and Payroll & attendance.
  • Food DeliveryBuilt on Tenancy & access control, Billing & payments, Stock & inventory and Scheduling & bookings.

Health

  • Hospital ManagementBuilt on Tenancy & access control, Audit trail, Billing & payments, Stock & inventory, Scheduling & bookings, Payroll & attendance and Documents & records.
  • Pharmacy ManagementBuilt on Tenancy & access control, Audit trail, Billing & payments, Stock & inventory and Documents & records.
  • Doctor & AppointmentsBuilt on Tenancy & access control, Audit trail, Billing & payments, Scheduling & bookings and Documents & records.

People & public sector

  • HR & PayrollBuilt on Tenancy & access control, Audit trail, Payroll & attendance and Documents & records.
  • School PlatformBuilt on Tenancy & access control, Audit trail, Billing & payments, Scheduling & bookings, Payroll & attendance and Documents & records.
  • GovernmentBuilt on Tenancy & access control, Audit trail, Payroll & attendance and Documents & records.

Travel & media

  • Flight BookingBuilt on Tenancy & access control, Billing & payments and Scheduling & bookings.
  • Ticket BookingBuilt on Tenancy & access control, Billing & payments and Scheduling & bookings.
  • GMS / VMSBuilt on Tenancy & access control, Audit trail, Billing & payments, Stock & inventory and Scheduling & bookings.
  • News PortalBuilt on Tenancy & access control and Documents & records.

Don't see yours? Most of what we build is custom anyway — the platforms just mean we have probably solved half your problem already. Tell us what you need →

The case

Why teams choose us

Three reasons, none of which are adjectives.

A head start, not an empty repository

Most agencies begin every project at zero; we usually begin at version one. You pay for the part that makes your business different, not for rebuilding the tenancy, the permissions and the audit trail that every system of this kind needs and no client ever sees.

Two entities, two continents

ZettaByte Technology Limited in Dhaka and ZettaByte Technology Incorporation in Toronto. Whichever market you are in, you contract with a company registered in it — a local invoice, under law you already work under, rather than an offshore supplier agreement.

The person who scopes it builds it

Nothing is handed to a junior after the pitch, nobody learns on your budget, and there is no account manager who has to go and ask someone else. The same people stay with the system afterwards, so whoever picks up the phone two years later already knows why it was built that way.

One working day, both offices

Dhaka is 10 hours ahead of Toronto today, so an ordinary working day in one sits across the night in the other. A question asked at the end of yours is picked up 6 hours later at the start of ours — which is still the same night where you are. Nobody is working unusual hours; the planet is doing it.

Toronto

ZettaByte Technology Incorporation

Dhaka

ZettaByte Technology Limited

Toronto time

00:0006:0012:0018:0000:00

Toronto works 9 to 18 in its own time. Dhaka's working day begins at 09:00 local, which is 23:00 in Toronto —6 hours after a question asked at 17:00.

The method

How we work

Six stages, three-week sprints. At the end of every sprint you get working software you can click through — not a status report. Below: what we take on, and what we build it with.

The cyclerunning · loops
✓ passed
git push origin main
✓ deployed
# client: overtime is wrong on the 31st
pnpm test payroll
✓ reproduced — month-end boundary
git push origin main
✓ deployed
The routelive
  1. this machinegit push
  2. githubmain
  3. runnerssh
  4. serverbuild · swap · pm2

The work, between the conversations

Deployment, data migration, and training your team so nobody is guessing on day one.

The last three steps are the ones that repeat. A system a business cannot switch off is not finished at launch — it is fixed, deployed and fixed again, by the people who built it.

What we do

Six things, done properly, rather than a list of thirty

If it is not here, we will tell you honestly and point you at someone who does it well.

Custom platform development
The big builds — ERP, hospital systems, banking, payroll. Architected to still make sense when your team has tripled.
Industry platforms, customised
Start from one of our existing production systems and adapt it to how your business actually works — your integrations, your reports, your rules.
Mobile & desktop applications
iOS and Android from one React Native codebase, and native desktop apps in Rust with Tauri. Our Banani DOHS app is live on the Play Store.
Web design & development
Sites and web apps that load fast, rank, and do not need a developer every time you want to change a sentence.
UI/UX design
Interface work grounded in what your staff actually do all day. We design the boring screens properly, because those are the ones people live in.
Cloud, hosting & support
Deployment, monitoring, backups, file storage, and the phone number you call when something breaks at 2am.

The stack, and why

Boring, proven and hireable

When you eventually bring engineering in-house, you will be recruiting for skills people actually have.

InterfacesNext.jsServer-rendered pages that load fast and are readable by search engines, without giving up a modern React codebase.
APIsNestJSStructure enforced by the framework, so a backend still makes sense at fifty thousand lines and a new engineer can find things.
MobileReact NativeOne codebase for iOS and Android, sharing types and business rules with the web app so a change to a calculation does not have to be made three times.
DesktopRust + TauriNative desktop apps for Windows, macOS and Linux. Tauri uses the system webview instead of bundling a browser, so builds ship in megabytes rather than hundreds of them, and the Rust core handles the work that has to be fast and cannot crash.
DataPostgreSQLYour data will outlive every framework decision on this page. Postgres is the one choice here we would still make in ten years.
Schema & migrationsPrismaSchema changes that are reviewed, versioned and reversible, rather than someone running SQL against production by hand.
Caching & queuesRedisBackground jobs and cached reads, so the slow work happens away from the request the user is waiting on.
DeploymentDockerWhat we test is what you run. The same image moves from a laptop to staging to production.

When it is not ours to choose

The table is what we reach for on a new build. Where the environment is already Microsoft — an existing .NET codebase, SQL Server, IIS, or a procurement rule that requires it — we build on .NET instead. C# is where this team came up: the oldest repositories on our GitHub are C# from 2015, and they predate every JavaScript entry above.

Two of them are public: dotnet-cms-api, a REST API on .NET 10 with EF Core, JWT auth and Swagger, and DevGo, a Windows desktop tool in C#.

The record

What is running right now

Everything above this line is what we say. Everything below it is checked: live client systems, the screens they actually show, and two figures read from our commit history and from asking those systems whether they answer.

Measured, not written

Still being built

Changes in ninety days

210

Last shipped .

  • CONTENT
  • CONTENT
  • CONTENT
  • CONTENT
  • DOCS

The area of each change is shown, not the message — those are written for us, not for you.

Live client systems

8/8

responding when this page was built

Checked , when this page was last built. It is a reachability check, not an uptime percentage — we would rather publish the smaller number we actually measure than a figure over a window nobody recorded.

The people

Messages from our leadership

The two people who answer for the work, in their own words. Both are reachable at the addresses on this page.

We build lasting partnerships, not deliverables. I’m proud of what we’ve shipped, and more interested in what comes next — a way of working where technology doesn’t just support a business but moves it forward. Being part of this team is something I’m genuinely proud of, and I’m glad you’re here to see where it goes.

Salman A Rahman

Founder & Chief Executive Officer

More about Salman
I built the foundation our platforms stand on — tenancy, permissions, audit and payroll, written once and running in production underneath all of them. When a client asks who designed the system they’re buying, the answer isn’t a department, and I’ll walk you through any layer of it.

Joy Ahmed

Founder & Chief Technology Officer

More about Joy
Writing

Insights

Notes on the things we keep being asked about — what a platform costs to run, why a data model is the expensive decision, and what actually breaks in year two.

No Posts available.

The close

Talk to us

You do not need a specification, or even a settled idea of scope — a question is a fine place to start. Below: the answers we give most often, the form, and both addresses.

Before you ask

The questions we get most

What does a project cost?
We price fixed when the scope is clear and time-and-materials when it is not. Starting from one of our existing platforms costs substantially less than a ground-up build. Either way you get a written estimate before work begins, and we tell you early if something is going to exceed it.
How long does it take?
It depends on whether we are building from scratch or adapting an existing platform. Either way you see working software at the end of every three-week sprint, so you are never waiting until the end to find out where it stands.
What happens to my data?
It is yours. We can export it in a standard format whenever you ask, and we will not hold it as leverage. Ask us about licensing terms for the software itself — we will put them in writing before you commit to anything.
What happens after launch?
We stay on for support and improvements. The systems we build are ones a business cannot switch off, so we plan for the years after launch rather than just the launch.
How do you ensure quality?
Automated tests on every change, code review before anything merges, a staging environment you can check yourself, and manual QA before release. On payroll specifically we run a golden-master suite — known-good payslips that must reproduce exactly, so a change that would shift a figure fails the build instead of reaching someone’s salary.
Can you work with our existing system?
Usually. We do integrations, migrations, and rescues of half-finished projects. We will audit what you have and tell you honestly whether it is worth building on or replacing — including when the answer costs us the bigger job.
Do you work with clients outside Bangladesh and Canada?
Yes. Being registered in both countries means a client in either one can contract locally; from anywhere else you contract with whichever of the two entities suits you. The work is remote in every case — the question is which company signs, not where we are.
Who will I actually be talking to?
The engineers building it, plus one point of contact who knows the whole project. You will not be handed to an account manager who has to go and ask.

Start here

Tell us what you are trying to build

Fill in the form and one of the two people above answers it. There is no sales team to route it through.

Or email us directly at info@zettabyteincorp.com

The addresses

Where to find us

Asia

Dhaka

Registered name
ZettaByte Technology Limited
Address
Road # 19, House # 268, Mohakhali DOHS, Dhaka -1212
Local time

North America

Toronto

Registered name
ZettaByte Technology Incorporation
Address
24 Scarborough, Toronto, Ontario, Canada
Telephone
+12153150281
Local time
Registered officeMohakhali DOHS, Dhaka. Toronto is a registered address, not a mapped one.