Illuminating the path to precision brain therapies

The human brain is a complex network containing billions of interconnected neurons. Neurons communicate by sending electrochemical signals, creating an extensive web of neural pathways.

Under normal conditions, the information carried along these neural pathways gives rise to all of our sensations, emotions, actions, and thoughts.

Many neurological disorders disrupt the balance within specific neurons and pathways, leading to pathological activity that interferes with normal brain function.

The primary challenge in treating these disorders stems from a lack of precision therapies that target only the affected neurons and pathways. Consequently, millions of patients are overtreated with therapies that have broad and often negative effects on brain function.

At Modulight.bio, we are pioneering a revolutionary optogenetic therapeutic platform for severe neurological disorders that restores balance to the brain by precisely targeting pathological activity when and where it occurs.

Our Technology

A New Generation of Optogenetics for Medicine

Precision in Space & Time

Optogenetics harnesses the power of light to control neural activity with precision in space and time by introducing light-sensitive proteins – opsins – to targeted neurons.

Increased Efficacy

Our platform leverages a new generation of inhibitory G protein coupled receptor (GPCR) opsins, developed at the Weizmann Institute of Science, that can rapidly reduce communication between neurons on demand when activated with light.

The Next Frontier

Optogenetics revolutionized the field of neuroscience but has faced challenges in therapeutic applications. Our groundbreaking inhibitory opsin is the first opsin that can be used to modulate pathological activity and treat neurological disorders in humans.

Our Platform

Delivering precision therapy where it matters most

A new class of precision brain therapeutics

The Modulight.bio platform combines the strength of our next-generation opsin with validated approaches in gene delivery and light delivery to enable a new class of precision brain network therapeutics that can target neurological disorders range from epilepsy, Parkinson’s disease, and neuropathic pain to essential tremor, narcolepsy and other conditions.

Our platform delivers:

- Precision in space by controlling which cells and pathways to modulate and
- Precision in time by controlling when to deliver light.

Rebalancing the brain - only where and when needed

Our precision network therapeutic approach restores brain function while minimizing unwanted side effects so that patients can achieve enhanced well-being and a greater quality of life.

About Us

Modulight.bio is a preclinical stage company developing precision treatments for severe neurological disorders characterized by pathological activity in the brain. We have assembled an exceptional team with established track records of innovation in neuroscience, business and therapeutic development.

gsap.registerPlugin(ScrollTrigger); // Select all elements with the class "paragraph_text_div" and loop over them document.querySelectorAll(".paragraph_text_div").forEach((element) => { // Create a timeline for this specific element let tl = gsap.timeline({ scrollTrigger: { trigger: element, scrub: 0, start: "top 90%", end: "top 70%" } }); // Add animations to the timeline tl.to(element, { opacity: 1, duration: 0.1 }); // Optional: Create another timeline for fading out or other effects let tl2 = gsap.timeline({ scrollTrigger: { trigger: element, scrub: 0, start: "top 40%", end: "top 30%" } }); tl2.to(element, { opacity: 0, duration: 0.2 }); }); document.querySelectorAll('.nav_link').forEach(link => { link.addEventListener('click', function (e) { e.preventDefault(); // Prevent default anchor click behavior const targetId = this.getAttribute('href').substring( 1); // Get the ID from the href attribute const targetElement = document.getElementById(targetId); // Find the target element if (targetElement) { const targetPosition = targetElement.getBoundingClientRect() .top; // Get the position of the target element const offset = window.innerHeight * 0.70; // Calculate 70% of the viewport height const offsetPosition = targetPosition + window.pageYOffset - offset; // Calculate the offset position window.scrollTo({ top: offsetPosition, behavior: 'smooth' // Smooth scroll }); } }); }); document.querySelectorAll(".item_wrapper").forEach((element) => { // Create a timeline for the first animation let tl3 = gsap.timeline({ scrollTrigger: { trigger: element, scrub: true, start: () => window.innerWidth <= 768 ? "top 90%" : "top 90%", // Mobile: 60%, Others: 75% end: () => window.innerWidth <= 768 ? "top 70%" : "top 70%" // Mobile: 40%, Others: 50% } }); // Add opacity animation tl3.to(element, { opacity: 1, duration: 0.2 }); // Create another timeline for the second animation let tl4 = gsap.timeline({ scrollTrigger: { trigger: element, scrub: true, start: () => window.innerWidth <= 768 ? "top 35%" : "top 20%", // Mobile: 35%, Others: 40% end: () => window.innerWidth <= 768 ? "top 30%" : "top 15%" // Mobile: 30%, Others: 35% } }); // Add opacity reduction animation tl4.to(element, { opacity: 0.2, duration: 0.2 }); }); $("[tr-scroll-toggle='component']").each(function (index) { // get elements let component = $(this); let lists = component.find("[tr-scroll-toggle='list']"); // set item total let itemTotal = lists.first().children().length; component.find("[tr-scroll-toggle='number-total']").text(itemTotal); // create trigger divs & spacer let firstTrigger = component.find("[tr-scroll-toggle='trigger']").first(); for (let i = 1; i < itemTotal; i++) { firstTrigger.clone().appendTo(component); } let triggers = component.find("[tr-scroll-toggle='trigger']"); firstTrigger.css("margin-top", "-100vh"); let trSpacer = $( "
").hide() .appendTo(component); // check for min width let minWidth = 0; let trMinWidth = component.attr("tr-min-width"); if (trMinWidth !== undefined && trMinWidth !== false) { minWidth = +trMinWidth; } // main breakpoint gsap.matchMedia().add(`(min-width: ${minWidth}px)`, () => { // show spacer trSpacer.show(); // switch which item is active function makeItemActive(activeIndex) { component.find("[tr-scroll-toggle='transform-y']").css("transform", `translateY(${activeIndex * -100}%)`); component.find("[tr-scroll-toggle='transform-x']").css("transform", `translateX(${activeIndex * -100}%)`); component.find("[tr-scroll-toggle='number-current']").text(activeIndex + 1); lists.each(function (index) { $(this).children().removeClass("is-active"); $(this).children().eq(activeIndex).addClass("is-active"); }); } makeItemActive(0); // scroll to trigger div on click of anchor let anchorLinks = component.find("[tr-anchors]").children(); anchorLinks.on("click", function () { let myIndex = $(this).index(); let scrollDistance = triggers.eq(myIndex).offset().top + triggers.eq(myIndex) .height() - 1; $("html, body").animate({ scrollTop: scrollDistance }); }); // triggers timeline triggers.each(function (index) { let triggerIndex = index; let tl = gsap.timeline({ scrollTrigger: { trigger: $(this), start: "top top", end: "bottom top", scrub: true, onToggle: ({ self, isActive }) => { if (isActive) { makeItemActive(triggerIndex); } } }, defaults: { ease: "none" } }); lists.each(function () { let childItem = $(this).children().eq(triggerIndex); tl.to(childItem.find("[tr-item-animation='scale-to-1']"), { scale: 1 }, 0); tl.from(childItem.find("[tr-item-animation='scale-from-1']"), { scale: 1 }, 0); tl.to(childItem.find( "[tr-item-animation='progress-horizontal']"), { width: "100%" }, 0); tl.to(childItem.find( "[tr-item-animation='progress-vertical']"), { height: "100%" }, 0); tl.to(childItem.find("[tr-item-animation='rotate-to-0']"), { rotation: 0 }, 0); tl.from(childItem.find( "[tr-item-animation='rotate-from-0']"), { rotation: 0 }, 0); }); }); // component timeline let tl = gsap.timeline({ scrollTrigger: { trigger: component, start: "top top", end: "bottom bottom", scrub: true }, defaults: { ease: "none" } }); tl.to(component.find("[tr-section-animation='scale-to-1']"), { scale: 1 }, 0); tl.from(component.find("[tr-section-animation='scale-from-1']"), { scale: 1 }, 0); tl.to(component.find("[tr-section-animation='progress-horizontal']"), { width: "100%" }, 0); tl.to(component.find("[tr-section-animation='progress-vertical']"), { height: "100%" }, 0); tl.to(component.find("[tr-section-animation='rotate-to-0']"), { rotation: 0 }, 0); tl.from(component.find("[tr-section-animation='rotate-from-0']"), { rotation: 0 }, 0); // optional scroll snapping if (component.attr("tr-scroll-snap") === "true") { let tl2 = gsap.timeline({ scrollTrigger: { trigger: component, start: "top top", end: "bottom bottom", snap: { snapTo: "labelsDirectional", duration: { min: 0.01, max: 0.2 }, delay: 0.0001, ease: "power1.out" } } }); triggers.each(function (index) { tl2.to($(this), { scale: 1, duration: 1 }); tl2.addLabel("trigger" + index); }); } // smaller screen sizes return () => { trSpacer.hide(); component.find("[tr-scroll-toggle='transform-y']").css("transform", "translateY(0%)"); component.find("[tr-scroll-toggle='transform-x']").css("transform", "translateX(0%)"); lists.each(function (index) { $(this).children().removeClass("is-active"); }); }; }); });