Year 1

See where is all started. Go behind the scenes with our inaugural winning filmmakers and see what is takes to finish the script!

Watch now
pause play

Stream all four Finish the Script Year 1 films. Right here. Right now. To get the full Dolby experience, stream them on a Safari browser and on iOS devices.

Can’t wait to see what they do next

From script treatments and proposals to finished films and premieres, watching the journeys of these five up-and-coming filmmakers has been an inspiration to everyone at Dolby and Ghetto Film School. Antonio, Amy, Alejandra, Eleanor, and Christian: thank you for sharing your unique stories and creativity with us and the world!

Can’t wait to see what they do next

From script treatments and proposals to finished films and premieres, watching the journeys of these five up-and-coming filmmakers has been an inspiration to everyone at Dolby and Ghetto Film School. Antonio, Amy, Alejandra, Eleanor, and Christian: thank you for sharing your unique stories and creativity with us and the world!

Year 2 is now over!

Ghetto Film School
With locations in New York City, Los Angeles, and London, Ghetto Film School (GFS) is an award-winning nonprofit founded in 2000 to educate, develop, and celebrate the next generation of great storytellers. For complete Finish the Script 2024 entry information and guidelines click here.

The Dolby Institute
The Dolby Institute was created to educate, inspire, and empower the next generation of content creators. Through events, instruction, and awareness, we help creatives think critically and creatively about sound and image, unlocking the power of technology to help tell their stories.
// This view acts as a rendering template to render InitScript(and server-side Form's descriptor) in FormContainerBlock's client-side for Form[2141b107-db3c-4a4b-b157-711a23c672e7]. // TECHNOTE: all serverside (paths, dynamic values) of EPiServerForms will be transfered to client side here in this section. (function initializeOnRenderingFormDescriptor() { // each workingFormInfo is store inside epi.EPiServer.Forms, lookup by its FormGuid var workingFormInfo=epi.EPiServer.Forms["2141b107-db3c-4a4b-b157-711a23c672e7"] ={ Id: "2141b107-db3c-4a4b-b157-711a23c672e7" , Name: "GFS Sign up form" , // whether this Form can be submitted which relates to the visitor's data (cookie, identity) and Form's settings (AllowAnonymous, AllowXXX) SubmittableStatus : {"submittable":true,"message":""}, ConfirmMessage: "Submission successful!", ResetConfirmMessage : "", ShowNavigationBar : true, ShowSummarizedData : false, // serialize the dependency configuration of this form to clientside DependenciesInfo : JSON.parse("[]"), // keep all fieldName which are not satisfied the field dependency conditions DependencyInactiveElements: [], // Validation info, for executing validating on client side ValidationInfo : JSON.parse("[{\"targetElementName\":\"__field_38099\",\"targetElementId\":\"c2a2e017-4b72-4fa2-ae90-6c458676c722\",\"validators\":[{\"type\":\"EPiServer.Forms.Implementation.Validation.RequiredValidator\",\"description\":null,\"model\":{\"message\":\"This field is required.\",\"validationCssClass\":\"ValidationRequired\",\"additionalAttributes\":{\"required\":\"\",\"aria-required\":\"true\"}}},{\"type\":\"EPiServer.Forms.Implementation.Validation.EmailValidator\",\"description\":null,\"model\":{\"jsPattern\":\"^((([a-zA-Z]|\\\\d|[!#\\\\$%\u0026\u0027\\\\*\\\\+\\\\-\\\\/=\\\\?\\\\^_`{\\\\|}~]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])+(\\\\.([a-zA-Z]|\\\\d|[!#\\\\$%\u0026\u0027\\\\*\\\\+\\\\-\\\\/=\\\\?\\\\^_`{\\\\|}~]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])+)*)|((\\\\x22)((((\\\\x20|\\\\x09)*(\\\\x0d\\\\x0a))?(\\\\x20|\\\\x09)+)?(([\\\\x01-\\\\x08\\\\x0b\\\\x0c\\\\x0e-\\\\x1f\\\\x7f]|\\\\x21|[\\\\x23-\\\\x5b]|[\\\\x5d-\\\\x7e]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])|(\\\\\\\\([\\\\x01-\\\\x09\\\\x0b\\\\x0c\\\\x0d-\\\\x7f]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF]))))*(((\\\\x20|\\\\x09)*(\\\\x0d\\\\x0a))?(\\\\x20|\\\\x09)+)?(\\\\x22)))@((([a-zA-Z]|\\\\d|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])|(([a-zA-Z]|\\\\d|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])([a-zA-Z]|\\\\d|-|\\\\.|_|~|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])*([a-zA-Z]|\\\\d|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])))\\\\.)+(([a-zA-Z]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])|(([a-zA-Z]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])([a-zA-Z]|\\\\d|-|\\\\.|_|~|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])*([a-zA-Z]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])))$\",\"dotNetPattern\":\"^((([a-zA-Z]|\\\\d|[!#\\\\$%\u0026\u0027\\\\*\\\\+\\\\-\\\\/=\\\\?\\\\^_`{\\\\|}~]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])+(\\\\.([a-zA-Z]|\\\\d|[!#\\\\$%\u0026\u0027\\\\*\\\\+\\\\-\\\\/=\\\\?\\\\^_`{\\\\|}~]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])+)*)|((\\\\x22)((((\\\\x20|\\\\x09)*(\\\\x0d\\\\x0a))?(\\\\x20|\\\\x09)+)?(([\\\\x01-\\\\x08\\\\x0b\\\\x0c\\\\x0e-\\\\x1f\\\\x7f]|\\\\x21|[\\\\x23-\\\\x5b]|[\\\\x5d-\\\\x7e]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])|(\\\\\\\\([\\\\x01-\\\\x09\\\\x0b\\\\x0c\\\\x0d-\\\\x7f]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF]))))*(((\\\\x20|\\\\x09)*(\\\\x0d\\\\x0a))?(\\\\x20|\\\\x09)+)?(\\\\x22)))@((([a-zA-Z]|\\\\d|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])|(([a-zA-Z]|\\\\d|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])([a-zA-Z]|\\\\d|-|\\\\.|_|~|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])*([a-zA-Z]|\\\\d|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])))\\\\.)+(([a-zA-Z]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])|(([a-zA-Z]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])([a-zA-Z]|\\\\d|-|\\\\.|_|~|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])*([a-zA-Z]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])))$\",\"message\":\"Please enter a valid email address.\",\"validationCssClass\":null,\"additionalAttributes\":null}}]}]"), // Steps information for driving multiple-step Forms. StepsInfo : { Steps: [{"index":0,"attachedUrl":"","dependField":null,"dependCondition":null,"isActive":true,"attachedContentLink":"","dependValue":"","elementName":"__field_","guid":"00000000-0000-0000-0000-000000000000"}] }, FieldsExcludedInSubmissionSummary: [], ElementsInfo: JSON.parse("{\"__field_38098\":{\"type\":\"EPiServer.Forms.Implementation.Elements.TextboxElementBlock\",\"friendlyName\":\"Name\",\"customBinding\":false},\"__field_38099\":{\"type\":\"EPiServer.Forms.Implementation.Elements.TextboxElementBlock\",\"friendlyName\":\"Email\",\"customBinding\":false},\"__field_38101\":{\"type\":\"EPiServer.Forms.Implementation.Elements.SubmitButtonElementBlock\",\"friendlyName\":\"Submit button\",\"customBinding\":false}}"), DataSubmitController: "/EPiServer.Forms/DataSubmit" }; /// TECHNOTE: Calculation at FormInfo level, and these values will be static input for later processing. workingFormInfo.StepsInfo.FormHasNoStep_VirtualStepCreated=true; // this FLAG will be true, if Editor does not put any FormStep. Engine will create a virtual step, with empty GUID workingFormInfo.StepsInfo.FormHasNothing=false; // this FLAG will be true if FormContainer has no element at all workingFormInfo.StepsInfo.AllStepsAreNotLinked=true; // this FLAG will be true, if all steps all have contentLink= ="" (emptyString) epi.EPiServer.SystemSettings = { RequestVerification: { FormFieldName: "__RequestVerificationToken", HeaderName: "RequestVerificationToken" } }; })();
function reloadEpiFormJs(url) { const dataEl = document.querySelectorAll('[data-id="fsasync"]'); if (!dataEl.length) { var theScript = document.createElement('script'); theScript.src = url; theScript.setAttribute('data-id', 'fsasync'); document.head.appendChild(theScript); } } window.setTimeout(function () { reloadEpiFormJs('/Util/EPiServer.Forms/EPiServerForms.min.js'); }, 3000);