A multi-tenant LIMS, with one technical lead
Architecture, backend, frontend and AWS for a lab information system used by research institutions in several countries.
- Role
- Senior Full-Stack Engineer & Technical Lead
- Where
- Quipnex
- When
- Sep 2023 – Oct 2025
Context
Quipnex builds a laboratory information system (LIMS) for chemical and biological research institutions in multiple countries. I was the sole technical lead and the technical decision-maker for the wider development team, covering architecture, backend, frontend, DevOps and AWS.
Problem
Each institution needs its own data kept strictly apart from every other’s, while the product still ships and upgrades as one platform. It also had to run reliably in production.
What I did
- Chose PostgreSQL schema-per-tenant isolation (django-tenants), so tenant data is separated at the database level instead of by a filter in every query.
- Built the Qxcore backend (Django 4.2, DRF) with an in-house OAuth 2.1 + PKCE authorization server, RS256/HS256 JWTs and RBAC across 10 Django apps.
- Delivered 8 production services across backend, frontend and infrastructure.
- Codified the infrastructure in AWS CDK (Python) and CloudFormation across environments (S3, RDS, EC2), and ran production on Docker with Nginx/TLS at 99.9%+ uptime.
- Maintained the Angular 15/18 frontend (Angular Material, Plotly.js) and the Celery/Redis pipelines for scheduled jobs, Postmark notifications and document generation.
I still run the AWS infrastructure I built there.
Stack