Danijar Hafner is a research scientist and machine learning engineer with 12 years of experience building world-model-based AI that makes autonomous decisions, currently located in San Francisco. He has a deep research and engineering track record at Google and DeepMind, progressing from multiple student and intern roles to senior and staff research scientist positions. His open-source work includes influential contributions to model-based RL projects such as DreamerV2 and Planet, improving benchmarks, visualization, and environment support. He blends strong software engineering (full-stack tooling like the handout project) with rigorous PhD-level research from the University of Toronto and visiting work at UC Berkeley. Known for practical experimentation—adding GIF summaries to TensorBoard and integrating Dopamine baselines—he focuses on temporal abstraction, curiosity-driven exploration, and latent dynamics. Quiet about LinkedIn, he prefers email contact and lets his code and papers speak for his work.
12 years of coding experience
10 years of employment as a software developer
Visiting PhD Student, Visiting PhD Student at University of California, Berkeley
BSc, IT Systems Engineering, BSc, IT Systems Engineering at Hasso Plattner Institute
PhD, Computer Science, PhD, Computer Science at University of Toronto
Turn Python scripts into handouts with Markdown and figures
Role in this project:
Full-stack Developer
Contributions:45 commits, 8 PRs, 52 pushes in 1 year 7 months
Contributions summary:Danijar primarily developed the `handout` project, a tool to turn Python scripts into handouts. Their work involved implementing a Python-based framework, including features for incorporating Markdown text, images, and videos. They refactored the code into separate files, added code highlighting using JavaScript, and improved the user experience with print styles and other enhancements.
Efficient Batched Reinforcement Learning in TensorFlow
Role in this project:
ML Engineer
Contributions:5 releases, 51 commits, 46 PRs in 1 year 4 months
Contributions summary:Danijar primarily contributed to the implementation and refinement of the PPO (Proximal Policy Optimization) reinforcement learning algorithm within a TensorFlow environment. Their work includes updating the setup file, refactoring algorithm functions, and modifying network interfaces. Furthermore, they focused on improving the training and evaluation scoring mechanisms, enhancing the overall performance and reporting capabilities of the PPO implementation. The user also addressed issues related to state management and memory operations.
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.