/ engineering
Engineering
How I approach production software — from API and data design through Linux deploys and security. Low-level OS/CLI work is hobby experimentation, not job history.
Backend architecture
Services should match the domain: modules, clear boundaries, and boring operational paths.
OpenClose
Backend architecture
Services should match the domain: modules, clear boundaries, and boring operational paths.
- At HawkEyes I worked on NestJS backends for merchandising automation and a multi-module e-governance platform — identity, incidents, and operational workflows as separate concerns rather than one catch-all API.
- At GoKundu I worked across application code and the systems that run it: multi-tenant dashboards, pipelines, and production hosts.
- I prefer explicit module boundaries, predictable request/response contracts, and deployment that the same engineer can reason about at 2am.
API design
HTTP APIs that other products, dashboards, and operators can actually consume.
OpenClose
API design
HTTP APIs that other products, dashboards, and operators can actually consume.
- REST is the default in the systems I have shipped: listings, CRM-style workflows, reporting, and admin modules.
- Contracts should be stable enough for clients (web dashboards, automation, third-party APIs) without leaking internal collection shapes.
- Authn/authz belongs in the API, not only in the UI.
Database design
Pick the store for the access pattern: documents and aggregations, or relational integrity.
OpenClose
Database design
Pick the store for the access pattern: documents and aggregations, or relational integrity.
- MongoDB at HawkEyes included aggregation pipelines for field-data reporting — the query shape drove the model, not the other way around.
- MySQL at MNTECH supported classified listings, search/filter, and seller flows.
- PostgreSQL and Prisma are in use on Bhalobasha for listing data.
- Indexes, aggregations, and migrations are part of the job, not afterthoughts.
Authentication and authorization
Who is calling, and what are they allowed to do?
OpenClose
Authentication and authorization
Who is calling, and what are they allowed to do?
- JWT for API authentication.
- RBAC on multi-module platforms (e-governance and similar admin surfaces).
- Authorization is a backend concern. UI hiding is not access control.
Realtime systems
Use sockets when the product needs live state — not as decoration.
OpenClose
Realtime systems
Use sockets when the product needs live state — not as decoration.
- WebSocket and Socket.IO are part of how I build live events, presence, and messaging when the domain needs them.
- Realtime reporting at HawkEyes was driven by aggregation and field data; transport choice should follow freshness requirements.
- Redis sits next to this work for caching and coordination. Named production socket topologies are TODO if you want them written up as diagrams.
Caching and Redis
Cache what is expensive and safe to reuse. Invalidate on purpose.
OpenClose
Caching and Redis
Cache what is expensive and safe to reuse. Invalidate on purpose.
- Redis is in my core stack for caching and realtime-adjacent work.
- I treat cache as an optimization with an explicit invalidation story, not as a second source of truth.
Queues and background jobs
Move slow, retryable, or fan-out work off the request path.
OpenClose
Queues and background jobs
Move slow, retryable, or fan-out work off the request path.
- GoKundu work included automated data collection and form-to-CRM workflows — work that does not belong inline with a single HTTP request.
- I prefer explicit job boundaries, retries, and observable failures over hidden cron in a web process.
- TODO: name the exact queue library used in each production system if you want that listed.
Deployment
Ship on Linux with a reverse proxy, a process manager, and a rollback path.
OpenClose
Deployment
Ship on Linux with a reverse proxy, a process manager, and a rollback path.
- Typical path: Linux VPS, Nginx, SSL, Docker and/or PM2, domain and DNS, then CI/CD.
- Independent contract work covered Node.js and Next.js production deploys, reverse proxies, load balancing, and firewall rules.
- GoKundu included a focus on reliable and zero-downtime releases.
Linux and VPS
I operate the box, not only the framework.
OpenClose
Linux and VPS
I operate the box, not only the framework.
- Provisioning, Nginx, SSL, Docker, PM2, backups, monitoring, domains.
- This is how several production apps I worked on actually ran — not a slide about Kubernetes I have not operated here.
CI/CD
Repeatable builds and deploys, not manual SSH as the happy path.
OpenClose
CI/CD
Repeatable builds and deploys, not manual SSH as the happy path.
- GitHub Actions for pipelines on application and infrastructure work.
- The goal is a known path from main to production, including backups and host configuration where I owned that layer.
Security
Assume the API is public. Design and test accordingly.
OpenClose
Security
Assume the API is public. Design and test accordingly.
- RBAC, JWT, and API security on backend systems at HawkEyes.
- Penetration testing was part of that role — not a certification claim, a working practice alongside delivery.
- PDF generation for compliance/audit documents sat next to access control, not instead of it.
Performance
Measure the slow query and the hot path before adding layers.
OpenClose
Performance
Measure the slow query and the hot path before adding layers.
- Aggregation pipelines and reporting queries are where I have spent time making data usable in near-real-time.
- Caching (Redis) is a tool after the query and index are honest.
- I do not publish unverified latency or throughput numbers.
Scalability
Scale the bottleneck you have, not the one in a blog post.
OpenClose
Scalability
Scale the bottleneck you have, not the one in a blog post.
- Multi-tenant publishing at GoKundu is a scale-of-operations problem: many client sites from one control plane.
- Load balancing and process management showed up in contract infrastructure work.
- I would rather document real constraints than invent user counts.
System design
Start from the workflow, then the data, then the deploy.
OpenClose
System design
Start from the workflow, then the data, then the deploy.
- Lead gen: collect → CRM → report.
- Merchandising: field data → aggregate → report / PDF.
- E-governance: identity → incident → operational modules, with RBAC.
- Classified commerce: listing → search → seller → payment.
- Those shapes come from shipped work, not from interview trivia.
Low-level experimentation
Hobby work: OS concepts, CLIs, networking, and packages. Not presented as production job history.
OpenClose
Low-level experimentation
Hobby work: OS concepts, CLIs, networking, and packages. Not presented as production job history.
- I experiment with operating-system related ideas, CLI tools, developer tooling, npm packages, and networking/realtime systems.
- C, C++, Linux, and assembly show up in this hobby track.
- Named experiment write-ups, repos, and dates are TODO — this section is a direction, not a fake changelog.