Praneeth Suresh
I am an ML engineer and a computer science and mathematics student at NUS. I build tools that make AI-assisted software development checkable, and publish my study notes as an open notebook.
Open a section
Projects4 projects
- BerylAn installable set of repository files and scripts that tell coding agents how to work in a project and check that some of those rules were actually followed.
- Notes — this siteThe site you are reading: a static build that turns my Notion study notes into public, searchable pages while keeping math, code, and nested pages intact.
Evaluating my work
Who I am, two projects with real output and stated limits, then the CV and a way to reach me.
- AboutPage
Current role, experience, and focus.
- BerylProject
Repository checks for AI-assisted development, with a real check result.
- Notes — this siteProject
How this site turns Notion notes into static pages.
- CV (PDF)Page
Two-page résumé.
- ContactPage
Email, GitHub, and LinkedIn.
Notes125 pages
Unmarked notes are working notes: public, not yet reviewed.
- AlgorithmsAlgorithms explained with intuition, formal models, proof sketches, and implementation tradeoffs.
- Agentic CodingEngineering habits for working with coding agents: design concepts, feedback loops, tests, and review.
- Operating SystemsOperating-system design from the kernel boundary up: processes, threads, scheduling, synchronisation, memory, and I/O. Some pages are study plans for topics not yet written.
- AI EngineeringHow ML workloads run on hardware: GPUs, matrix multiplication, memory systems, compilers, and distributed training. Assumes basic linear algebra and some systems background.
- Software SystemsHow production software is built and operated: services, logs and event streams, testing, reliability, security, and team practice.
- Building AgentsSoftware-engineering principles for building agent applications (as opposed to using coding agents): when to use an agent, workflows, and memory.
- C Deep DiveThe C language up close, built and tested with GCC on Linux: syntax, types, operators, pointers, memory, and files.
- C++ Deep DiveC++ from a C programmer's point of view: the build model, memory layout, and ownership with RAII and smart pointers. Examples assume C++14 or later (they use std::make_unique).
Writing19 posts
- How to Win a HackathonA practical essay on why hackathons are won by matching the idea, demo, and technical work to the organizers and judging criteria.
- Why AGENTS.md Wasn't Enough for My RepoA first-person account of why scattered instruction files failed me and why a repo-owned boundary became the real problem to solve.
- What Beryl Actually Does (and What It Deliberately Doesn't)A practical walkthrough of the first working structure: `.beryl/agent/`, a deterministic check, and review evidence in files.
- Week 1 of Building Beryl in Public: What People Told MeWhat the first feedback cycle exposed in week one: strictness tradeoffs, false positives, and direction for future iterations.
- The mental models of deep learningAI research explained through foundational deep learning papers: universal approximation, convolutional architectures, transformers, reinforcement learning, and the open question of task-fit architecture.
About
I work on AI tooling, applied machine learning, and technical systems that can be inspected rather than taken on trust.