Computer Engineering @ UBC · Vancouver, BC

Dariell
Sugiaman

I build across the stack, from FPGA audio hardware to full-stack web platforms.

See the work

Experience

2 roles

January 2026 – September 2026

Vancouver, Canada

Current

Strata Engineering Inc

Computer Engineering Co-op

  • Built and field-tested a Kotlin Android app that detects building components, annotates findings and assists depreciation reports, entirely offline, because inspectors work in buildings without signal.
  • Trained a multimodal classifier on a pretrained YOLO architecture reaching 75% accuracy across 409 component classes, using confusion matrix analysis to find and fix ambiguous class boundaries.
  • Led an in-house web app for authoring depreciation reports, with collaborative document editing modelled on Google Docs and bulk image operations behind it.
  • Assembled a GPU workstation and set up cron-scheduled training runs to keep it saturated, exporting to TF-Lite for on-device inference.
  • Kotlin
  • Jetpack Compose
  • MVVM
  • TensorFlow
  • YOLO
  • CI

September – December 2025

Jakarta, Indonesia

Asta Protek Jiarsi

AI Software Engineer Intern

  • Architected a modular RAG pipeline with multi-agent coordination and hybrid search, driven by prompt engineering and adaptive metadata generation.
  • Improved chatbot answer correctness by 96% through hybrid chunking and retrieval strategies.
  • Built a RAGAS evaluation suite so retrieval changes could be A/B tested instead of argued about.
  • Python
  • LangChain
  • RAG
  • RAGAS
  • AWS Bedrock
  • MCP
Bar chart of RAGAS evaluation metrics comparing experiment A and experiment B across factual correctness, context recall and context precision, with B scoring higher on all three.
RAGAS evaluation, old retrieval pipeline (A) against the hybrid one (B), scored on factual correctness, context recall and context precision.
Large group photo of the team standing together in the Jakarta office at the end of the day.
The team in Jakarta.

Selected work

6 projects

Strata Engineering

AI Assisted Depreciation Report Web App

January – September 2026WebPython · YOLO · CI/CD · Linux

Engineers author depreciation reports by hand, matching hundreds of site photographs to building science components one at a time. The tool cuts that work without lowering the quality of a report a client pays for.

One decision: The YOLO classifier suggests components rather than assigning them. An engineer confirms or overrides every prediction, so being wrong costs one click instead of quietly corrupting a deliverable. Anything above chance is useful under that constraint, which is what makes 75% worth shipping.

Result: 75% classification accuracy across the component set, shipped through a CI pipeline with separate development and production environments on two local Linux machines. Scope stayed tied to how reports are actually written through regular reviews with the engineers using it.

Strata Engineering

BQE Core and CollageHR Integration

2026AutomationREST APIs · Web scraping · Scheduled jobs

Employee records lived in two systems that did not talk to each other, BQE Core and CollageHR. Reconciling them was manual, so nobody had a single view of time off balances or accumulated overtime until it was already a problem.

One decision: Vendor APIs wherever they were exposed, scraping only for the fields they were not. Scraping is what breaks when a page changes, so confining it to the narrowest set of fields limits how much of the sync a supplier redesign can take down.

Result: A microservice that reconciles both systems on a schedule and sends HR managers a weekly summary, keeping time off and overtime visible while there is still time to act on them.

Bearsi.co

January 2026WebTypeScript · Cloudflare Workers · D1 · R2 · JWT

A startup needed a real storefront with products, cart, orders and inventory. I owned the whole thing: frontend UX, backend APIs, and cloud infrastructure end to end.

One decision: Everything runs on Cloudflare's edge: Pages, Workers, D1 for the relational schema, R2 for product assets. One platform, no servers to operate, and requests are served from wherever the customer is.

Result: REST APIs with JWT auth protecting orders, inventory and uploads. Environment-based configs and logging in place for debugging in production.

The Bearsi.co homepage: four crocheted bear keychains laid on fabric behind the site title and a Shop Blind Boxes button.
The storefront. Product photography carries the whole visual identity.
Shopping cart page showing a line item with quantity controls, contact fields, three pickup locations and a month calendar for choosing a date.
Cart and checkout. Orders are placed against a pickup location and date rather than a shipping address.
The same checkout flow at mobile width, showing the confirm button and order summary stacked in a single column.
The same flow at phone width.

Building Defect Detection

December 2025Machine LearningPython · TensorFlow · Transfer learning

Detect cracks in concrete from photographs reliably enough that a building inspector would trust the output.

One decision: Transfer learning over training from scratch, paired with a tf.data pipeline doing geometric augmentation, caching and prefetching. The data loader, not the model, was the bottleneck.

Result: 99.7% accuracy across 40,000 concrete images, and 40% faster training. Evaluated with confusion matrix, precision-recall and error-case visualisation.

Music Player on FPGA

June – July 2025HardwareSystemVerilog · VHDL · PicoBlaze · Quartus

Build an iPod out of an FPGA: stream 16-bit audio at 22 kHz from flash memory to the onboard DAC, with real playback controls.

One decision: Playback controls are finite state machines communicating over handshaking signals rather than shared flags. That made synchronizing across multiple clock domains tractable and kept metastability out of the audio path.

Result: Play/pause, reverse, restart and speed toggle all working, plus a live LED bar graph of average audio strength driven by a PicoBlaze interrupt routine.

crash

March 2025SystemsC · UNIX syscalls · GDB

Write a shell with real job control (foreground and background jobs, process spawning, signal forwarding) directly on raw syscalls.

One decision: Signal handlers do almost nothing. Asynchronous signals get masked and the job table is only mutated at known-safe points, because a SIGCHLD arriving mid-update is a race you will not reproduce on demand.

Result: Correct job lifecycle reporting via status macros, with fork, execvp, waitpid, kill and setpgid underneath.

About

Who you'd be working with

Dariell Sugiaman, portrait

I'm a computer engineering student at UBC, currently on co-op at Strata Engineering building Android apps and computer vision models for building inspection.

My favourite projects sit where hardware meets software. I spent a summer turning an FPGA into a music player: clock domain crossings, DAC timing, an LED bar graph driven by an interrupt routine. Mostly because I wanted to hear something I'd built from the register level up.

That's not a coincidence. I play violin, guitar and bass, produce and mix music, and teach violin to a dozen students on weekends. Audio is the thing that keeps pulling my engineering work in interesting directions.

University of British Columbia
B.A.Sc. Computer Engineering · Expected September 2028

  • Python
  • TypeScript
  • C / C++
  • Kotlin
  • SystemVerilog
  • React
  • TensorFlow
  • AWS
  • Cloudflare