Senior Fullstack Engineer, Java / Angular
May 2026 to PresentMapersive · Immersive spatial-data platform · Casablanca
- Integrated an AWS Bedrock-powered AI code reviewer into GitHub Actions CI/CD, with guardrails to detect logic bombs and flag risky changes, posting review comments directly on pull requests and sending findings to Slack for regular pushes.
- Sped up loading on a data-heavy global map by slimming the payload the backend returns to only the fields the map renders, and fetching just the features inside a buffer zone around the user's current view rather than the whole global dataset.
- Integrated Potree point clouds into the platform end to end: dense photogrammetry clouds are converted into level-of-detail octrees by a Dockerized PotreeConverter job on AWS Batch, tracked through EventBridge status events on an SQS queue with a dead-letter queue, and streamed to the viewer through presigned range requests, so very large clouds render over the panoramas fast and reliably instead of being downloaded whole.
- Wrote the Python conversion job (boto3, numpy, laspy) that turns PLY into LAS in fixed-size chunks so memory stays flat on huge clouds, and reruns overwrite the same S3 keys, which makes retries safe; its ECR, Batch and SQS infrastructure is in Terraform and the image ships through GitHub Actions with OIDC authentication to AWS.
- Resolved a production outage caused by heap exhaustion: nested JPA projections were loading whole entity graphs, including geometry and eagerly loaded relations, for every row. I replaced them with flat projections, so the listing now runs as a single query of 13 columns.
- Stopped a map listing endpoint from loading full entities: 6 entities per row down to 0, with related geometry fetched in exactly one query and protected by regression tests.
- Built point cloud measurement tools in Angular (point, distance, height, vertical and horizontal surface) that convert local coordinates to WGS84, so results are stored as real geographic positions.
- Added background prefetching of the point cloud octree so it streams in before the user opens it, plus a point-budget control from 500k to 8M points.
- Run sprint planning and retrospectives, turning requests from Moroccan and overseas clients into scoped, prioritized work and committed timelines; delivered their full feature requests on short timelines.
- Improved the visual quality of the KRPano viewer and built a report on top of the platform's photogrammetry output.
- Led technical interviews to hire engineers for the team, assessing coding and system design skills against the product's long-term technical needs.
- Java
- Spring Boot
- JPA
- Angular
- Python
- AWS Bedrock
- GitHub Actions
- Terraform
- AWS Batch
- EventBridge
- SQS
- Potree
- KRPano