What I did
- Evaluated OpenClaw (contract management tool) but decided to hold off due to security concerns
- Explored Sentry and other error monitoring/logging tools for production readiness
- Queued up tasks: PDF export feature, animation improvements, PII masking in local dev environment
- Learned about stock options and share warrants from a colleague
- Contract work: Salesforce data sync comments, SMS behavior verification
- Discussed parallelizing local development environments
Learnings
Why Multi-Tenant Architecture Separates API Servers Too
I questioned why multi-tenant systems bother separating API servers when you could just add DB replicas behind a load balancer.
- The DB is a "warehouse" and the API server is a "factory"
- Adding warehouses doesn't help if there's only one factory -- processing still bottlenecks
- Load balancers distribute traffic, but if the API layer is CPU/memory-bound, DB replicas alone won't solve it
- In multi-tenant architecture, each tenant gets its own factory + warehouse
- Tenant isolation also provides security benefits -- one tenant's failure doesn't cascade to others
Stock Options (Share Warrants) Basics
Stock options (SO) are "the right to buy shares at a predetermined price in the future." They are not shares themselves.
Key concepts learned:
- Receiving compensation in stock can be more tax-efficient than salary in certain cases
- Trust SO: A trust company holds the options and distributes them based on conditions. Unauthorized individual exercise is illegal
- Qualified Stock Option: Options that meet specific tax requirements for preferential treatment
- Preferred shares: Unlike common shares, they require registration. Commonly used when startups raise from VCs
- Deemed preferred shares: Attaching preferred-share-like conditions to common shares. More flexible, no registration required
Parallelizing Local Development Environments
As data grows and parallel tasks increase, switching a single local environment between tasks becomes costly. You need a way to run multiple local environments side by side.
- Simple approach: clone the same repo into multiple directories, each running on different ports
- Prerequisite: the app must support configuring ports and IPs via environment variables
- Docker Compose project names can be varied to run multiple instances on the same machine
- In the AI era, reviewing code while implementing on a separate branch is increasingly common. Demand for parallel environments is real