# Hao Wu > Senior Software Engineer @ Woven by Toyota | Building 3D Tools for Safe Mobility Location: San Francisco Bay Area, United States Profile: https://flows.cv/haowu I work in the intersection of web and computer graphics and aim to bring web experiences as close to native app as possible. My skill set includes WebGL, 3D maths, WebAssembly, GPU computing and of course JavaScript. Love maths and physics. ## Work Experience ### Senior Software Engineer - Woven by Toyota @ Woven by Toyota Jan 2021 – Present | Palo Alto, California, United States Building web and native 3D visualization tools to support AV testing, simulations and triaging. -- Level 5, part of Woven Planet, is developing self-driving technology using a machine-learned approach to create safe mobility for everyone. Level 5 was acquired by Woven by Toyota in July 2021. ### Senior Software Engineer, Level 5 Self-Driving @ Lyft Jan 2019 – Jan 2021 | San Francisco Bay Area Building web and native 3D visualization tools to support AV testing, simulations and triaging. ### Senior Software Engineer @ Quid Jan 2019 – Jan 2019 | San Francisco Bay Area Coordinate with application teams to identify new visualization needs and create new visualizations for Quid using a combination of D3, Vega and custom made algorithms. Use C/WebAssembly to boost performance critical parts of visualization and computation. Iterate on visualization engine architecture and create tooling to ease development of new visualizations. ### Software Engineer @ Quid Jan 2016 – Jan 2019 | San Francisco Implement Quid's custom WebGL render engine Develop and maintain the visualization engine that builds on top of the render engine. Create UI for the visualization engine using React + Redux. Build backend services around the visualization engine. ### Senior Graphics Engineer @ HOVER Inc. Jan 2015 – Jan 2016 | San Francisco, CA Develop WebGL render engine based on three.js that specializes in residential building rendering, measurements and appearance editing. Customize and extend three.js for better shadow mapping and ambient occlusion rendering and compositing. Developed specialized texture atlas mipmapping and filtering technique that prevents tiling seams. Extended three.js parallax mapping to make use of this technique Worked to calibrate and standardize gamma correction in company's texture pipeline for multiple texture types. Developed HTML based texture viewer for internal texture authoring. ### Software Engineer @ PlayStation Jan 2014 – Jan 2015 | San Mateo, CA PlayStation VR: Developed several navigation demos in Unity that explored and determined several key factors in reducing the nauseating effects in VR; The sole programmer in developing a VR puzzle game prototype in Unity, taking care of shader code writing, gameplay programming (trigger/event system, animation and audio handling), visual effects and optimizations. ### Product Development Intern @ PlayStation Jan 2014 – Jan 2014 | San Mateo, CA Graphics programming and anti-aliasing techniques in PlayStation 4K gaming research team; Implemented SMAA T2X mode in Unity; Developed 2K/4K split screen mode with horizontal slider for adjusting the screen ratio of 2K/4K ### Game Developer @ Philadelphia Game Lab Jan 2014 – Jan 2014 | Philadelphia, PA Developed character controller, designed platform behaviors, generated and positioned platforms from Kinect input data in a platformer game which constructs level from real blocks placed on the wall and scanned by Kinect for type and position information. Used Perlin noise in vertex shader to generate the transforming, organic like characters in a virus-themed game. ### Teaching Assistant @ University of Pennsylvania Jan 2014 – Jan 2014 | Philadelphia, PA CIS660: Advanced Topics in Computer Graphics and Animation. Help students develop Maya and Houdini plugin. Grade assignments. Answer questions on Piazza. ### Teaching Assistant @ University of Pennsylvania Jan 2013 – Jan 2013 | Philadelphia, PA CIS568: Game Design Practicum. Held office hours, organized playtesting sessions and provided Unity Tutorial for those unfamiliar with Unity3d Game Engine ### Research Assistant @ SIG Center for Computer Graphics Jan 2013 – Jan 2013 | Philadelphia, PA Enable the SPREAD framework to propagate English words through transmitting each phoneme in the word and perceive words using Hidden Markov Model. Incorporated SPREAD framework into ADAPT, allowing for behavior animation upon word recognition using Behavior Tree. Rudimentary multi-source propagation support for SPREAD. SPREAD project: http://www.seas.upenn.edu/~mubbasir/projects-spread.html ## Education ### Master’s Degree in Computer Graphics and Game Technology University of Pennsylvania Jan 2012 – Jan 2014 ### Bachelor’s Degree in Electrical and Electronics Engineering Beijing Institute of Technology Jan 2008 – Jan 2012 ## Contact & Social - LinkedIn: https://linkedin.com/in/wuhao1117 - Website: http://www.wuhao.co --- Source: https://flows.cv/haowu JSON Resume: https://flows.cv/haowu/resume.json Last updated: 2026-03-22