# GSOC 2026 Proposal : Add Ergonomic Control over Missing Variables in Templates

**URL:** <https://forum.djangoproject.com/t/gsoc-2026-proposal-add-ergonomic-control-over-missing-variables-in-templates/44413>\
**Category:** Google Season of Code\
**Created:** [March 8, 2026, 10:54am UTC](https://forum.djangoproject.com/t/gsoc-2026-proposal-add-ergonomic-control-over-missing-variables-in-templates/44413 "2026-03-08T10:54:35Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![SnippyCodes](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/snippycodes/32/30856_2.png) [@SnippyCodes](https://forum.djangoproject.com/u/SnippyCodes)\
**Post date:** [March 8, 2026, 10:54am UTC](https://forum.djangoproject.com/t/gsoc-2026-proposal-add-ergonomic-control-over-missing-variables-in-templates/44413/1 "2026-03-08T10:54:35Z")

</div>

Hi everyone,

I’m Aaryan M. Parik (`SnippyCodes` on GitHub), a first-year Computer Engineering student at Dhole Patil College of Engineering (DPCOE) and a Second Runner Up, Vibestate 2025 National Hackathon: Out of 700+ teams nationwide, my team, Binary Battalions, secured a top-three finish. am contributing to Django core and am currently working on [Ticket #36958](https://github.com/django/django/pull/20792)

For GSoC 2026, I am proposing to work on **Add ergonomic control over the behavior of missing variables in templates**.

_Why am I a Strong Fit?_  
I am confident that my experience with direct Django Core and professional internship experience qualify me well to tackle this project:

**Direct Django Core Experience:** I have three merged pull requests and one in progress ([Ticket #36958](https://github.com/django/django/pull/20792))

I contributed to [Ticket #36893](https://github.com/django/django/pull/20614#event-22481907495), where I added public API classes to `django.template`also it provided me deep understanding of how the template engine exports its components and its internal organizational structure work.

[Ticket #36272](https://github.com/django/django/pull/20644) where I also removed the obsolete libgeoip library from the instructions on how to install GeoDjango on macOS, as it was deprecated in Homebrew. This experience with the maintainer helped hone my awareness of platform-specific details and documentation best practices.

[Ticket #36908](https://github.com/django/django/pull/20651) helped me to focus on improving the internal consistency and reliability of the framework this project helped me understand the internal structure of the template engine.

**Professional Rigor:** I had professional (virtual) internship experiences at Goldman Sachs, where I worked on data flow optimization and secure system design. At Deloitte, I worked on meticulous data cleaning and transformation. I aim to bring my “zero-error” approach to how Django Core handles variable resolution.

**Project Execution:** I was the Second Runner Up at the Vibestate 2025 National Hackathon Competition, competing against 700+ teams nationwide. Our project, “Roamr” - an AI-powered travel assistant, is a testament to my ability to execute complex project features on time. Currently I have participated in Amazon Nova Hackathon where I am building a tool for open source contributors.

_The Problem_  
The “fail silent” policy for template variables is excellent for production but is, in my opinion, a major source of frustration during development. A typo or logic error may cause an empty string, which is difficult to diagnose.

_Proposed Approach_  
Strict Variable Syntax : - Designing an explicit syntax (e.g., {{ variable! }}) to raise a `TemplateMissingVariableError` if the variable is not resolved.

Scope-Based Control: Designing a `{% strict on %}` tag to apply this behavior to particular components.

Engine Integration: Extending `Variable.resolve()` in `django/template/base.py` to accommodate these flags while ensuring high-performance rendering.

I’m interested in learning what the community thinks about the best syntax and whether a tag-based or filter-based strategy should be given priority.

[GitHub Profile](https://www.google.com/search?q=https://github.com/SnippyCodes)  
[LinkedIn Profile](http://www.linkedin.com/in/aaryan-parik-225118379)
