Muhan Li

← All experience

Software Engineer Intern - Apera AI

My most recent role, I worked at Apera AI for 8 months before my graduation in May 2026. Apera’s main product is a compupter vision system designed for a manufacturing automation context. My team’s responsibility was two things: the asset pipeline, which was used primarily for synthetic data generation, simulation, and model training; and the Forge web app, which was centered around providing a simulated production environment so sales, support team, and even customers could experiment with their setup virtually before undergoing the costly process of full production deployment.

Forge is built with Typescript (React), and Redux, in the frontend, and Python (Flask) in the backend. It was deployed on AWS through Elastic Beanstalk, and used S3 and DynamoDB for data persistence.

The asset pipeline consisted of a couple of job orchestration services in Python, centered around the DAG (directed acyclic graph). Each node in the DAG represents a job, and a DAG would be used to define the collection of jobs required to train a model, or to run a simulation of production environment.

The bulk of my work involved Forge, and sometimes the asset pipeline itself. For the most part, I owned feature development for Forge alongside my manager/senior (startup environment = my manager wearing like 4 different hats). During my 8 months, our broad goal was to make the user experience on Forge more intuitive, and to create a more streamlined process for users deploying their virtual setup on Forge to their real life production environment.

Two main features I worked on were an asset deployment, and a new logic for data sharing between user accounts, both of which I shipped end-to-end. The process was fairly straightforward, forming requirements, design doc and design review, implementation, testing, shipped.

Asset Deployment: