Nathan Daitx — Full-stack Product Engineer
Nathan Daitx®
Brazil — GMT-3
Full-stack Product Engineer / Novo Hamburgo, Brazil

Nathan
Daitx.

Portrait — editorial, rectangular

I design and build software from product idea to production.

Currently building workspace management products at Deskbee and independently developing Eventtor since 2022.

{{ cap.n }}
{{ cap.label }}
Selected work
01 — BeeQR

QR + TOTP-based physical check-in system, designed and built from zero for Deskbee’s enterprise workspace platform.

Deskbee
2025
Product Engineering
Laravel · Vue · TOTP · Hardware integration
Product shot — BeeQR device listing & space mapping
Delivered as a complete vertical slice — backend, frontend and hardware integration, shipped by one engineer end to end.

The problem

Deskbee needed a physical check-in system — an employee arrives at a desk or meeting room, scans a QR code on a hardware device, and confirms occupancy. Nothing like this existed on the platform yet.

Context

Deskbee is a multi-tenant enterprise SaaS for workspace management, serving clients like Neon, Sicredi and BTG. Any new module has to respect per-customer permission rules and integrate with the existing booking system.

  • Constraints
  • Existing multi-tenant platform
  • Integrates bookings + Place model
  • Per-customer permission rules
  • Hardware on the other end
  • Low friction at check-in

The decision

Instead of relying on static QR codes, the check-in flow uses TOTP (time-based one-time password) tokens with a validation window — a static code could be photographed and reused; a rotating token can’t.

  1. Reservation
  2. QR code
  3. TOTP token generation
  4. Validation window
  5. Permission check
  6. Check-in

Trade-off: a rotating token means device and server have to agree on time, and a scan outside the window fails by design. That failure is the point — the alternative is a photograph of a QR code that never expires.

Engineering

Backend

Routes, OTP verification Action, QR hash decoding, check-in Action, integration with the Place model, permission seeders.

Frontend

Device listing page, space-mapping UI, settings panel, invalid-license state handling. Delivered with PHPUnit test coverage in the same branch.

Before
  • No physical check-in mechanism
  • No way to verify actual occupancy
  • Manual or no validation
After
  • QR code scan
  • TOTP time-bound token
  • Booking + permission validation
  • Controlled check-in

From the database migration to the Vue component and the tests — one engineer, one complete vertical slice.

Deskbee codebase context — 3,000+ PHP files, 600+ migrations, 10+ engineers.
563+ commits, 80+ Jira tickets.
Engineering note #02

The kiosk devices were emitting a bookings.update socket event every 2 seconds per device, whether or not anything had changed — WebSocket used as polling. As the fleet grew, redundant traffic overloaded the server. I re-architected it into a true event-driven model: the server pushes only on real state change, with a 5-minute refresh kept as a safety fallback rather than the primary flow. Redundant traffic dropped by roughly 99%, and the overload incidents stopped. Room Display — Deskbee

02 — Room Display

A React Native kiosk application (v1.10.0) deployed on Android tablets and iPads, running 24/7 as the physical interface for Deskbee’s real-time room booking display.

Deskbee
React Native · TypeScript · Socket.io · Android Native Module
Kiosk shot — room status screen
Engineering
  • Resilient Socket.io layer — Singleton pattern, infinite auto-reconnection with exponential backoff (1s → 5s), distinguishing server disconnect, stale device hash and generic error instead of one catch-all retry.
  • Custom responsive scaling system built from scratch, replacing a third-party library limited to landscape mode.
  • Custom Android Native Module (Java) integrating USB-connected LED indicators for room status, with an iOS platform guard.
  • Custom Android Kiosk Mode module — single-app lock, hardware back button interception, enforced keep-awake.
  • 4-environment Android multi-flavor build pipeline (dev/qa/beta/prod) with parallel install support.
  • Multi-timezone, multi-locale booking lifecycle engine with tolerance windows and status transitions (free / reserved / busy / waiting), recomputed every 2 seconds.
Happy path
  1. Room status update
  2. Backend
  3. Socket event
  4. Room Display
  5. UI update
Recovery
  1. Connection lost
  2. Backoff 1s → 5s
  3. Reconnect
  4. Resubscribe
  5. Recover state
{{ pct }}

reduction in redundant real-time traffic after re-architecting Room Display’s WebSocket layer at Deskbee.

Things I’ve shipped

{{ row.year }}
{{ row.name }}
{{ row.what }}
{{ row.stack }}
03 — Eventtor · Independent Product

Operating software for inflatable equipment rental businesses.

Product, design and engineering by Nathan Daitx. Founder since 2022 — active customers, real infrastructure decisions.

Independent Product
2022 → Present
Node.js · TypeScript · React · React Native · MySQL · Stripe
Product shot — Eventtor bookings & inventory
Modules
  • Customers
  • Bookings & scheduling
  • Digital contracts & e-signature
  • Quotes
  • Inventory (per-unit tracking)
  • Financial operations & subscription billing
  • Employees / roles

From codebase
to product.

Owning the product changes the engineering. I decide the architecture and I take the call when something breaks in production — so the decisions below are about what the business can survive, not what is interesting to build.

Decision 01 — Structural multi-tenancy

Instead of relying on developers remembering to scope every query by tenant, I use Node.js AsyncLocalStorage to inject the tenant’s company_id into the request context at the infrastructure layer. Every query is tenant-scoped implicitly — data isolation is guaranteed by architecture, not by discipline.

Decision 02 — Inventory as physical units

Most systems model a product type and track quantity. Eventtor separates product type (Plaything) from individual physical unit (PlaythingItem) — each inflatable has its own record and schedule. You can’t double-book unit #3 of the bounce house even if unit #1 is free, because availability is tracked per unit, not per type.

Decision 03 — Quote to contract

A rich-text contract template builder (Tiptap), server-side PDF generation (Puppeteer), and tokenized public links that let customers view and sign contracts without creating an account.

Decision 04 — Billing

Stripe subscription billing with full webhook lifecycle handling (creation, renewal, cancellation), gating features by role (MASTER / ADMIN / EMPLOYEE).

04 — Care Intelligence

Building a real-time translation system for a live international summit — and safety-critical tooling for clinical data.

South Summit is a large international event with thousands of attendees. Care Intelligence needed a real-time translation system to run live during the event, translating simultaneously between Portuguese, English and Spanish. Latency was critical — this ran live, in front of an audience, with no chance to redo it.

Built from scratch in React and TypeScript under a compressed deadline, designed specifically for minimal latency and reliability in an environment where any failure would be immediately visible. Ran without incident during the event.

Also developed safety algorithms (PHP/jQuery) for detecting drug interactions and allergies within clinical records — mitigating a real patient-safety risk in a medical prescription context.

And contributed to two internal platforms: a no-code visual workflow builder for composing AI assistant pipelines (React + ReactFlow), including leading a CRA-to-Vite migration that removed roughly 20,000 lines of build configuration with zero reported regressions; and a semantic search dashboard over medical datasets built on Vectara RAG and GPT-4.

Care Intelligence · Feb — Jul 2024
React · TypeScript · Vite · ReactFlow · Vectara · PHP

Engineering notes

{{ note.id }}

{{ note.text }}

{{ note.source }}
0 1

BeeQR — from concept to production, one engineer end to end.

2022 Now

Eventtor — independently designed, built and operated.

20+

junior developers mentored during the training program at 3035Tech.

How I approach products

{{ p.n }}

{{ p.title }}

{{ p.body }}

Working with

DAILY
PHP / Laravel
TypeScript
Vue
React
Node.js
PRODUCT / MOBILE
React Native
NestJS
Prisma
INFRASTRUCTURE
AWS
Azure
Docker
MySQL / PostgreSQL

Experience

{{ job.company }}
{{ job.role }}
{{ job.impact }}
{{ job.dates }}

Alongside every position above, I have built and operated Eventtor — my own multi-tenant SaaS — since 2022.

Portrait — editorial, rectangular
About

I’m a full-stack developer from Brazil focused on building real products — from backend architecture to interfaces used by customers every day.

Since starting in 2022, I’ve worked across SaaS, healthcare and workspace technology — Deskbee, Care Intelligence, Darkflix — while independently building and operating Eventtor, a SaaS platform for equipment rental businesses, the whole time.

I’m especially interested in teams where engineering and product thinking overlap.

Faculdades QI — Systems Analysis & Development, 2018 — 2022
English — B2