top of page
question1.jpg
IMG_2951.jpeg
question2.jpg
_K2A0898.JPG

⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⣀⣀⣄⣀⠀⠀⠀⠀⠀⠀⠀

⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⡶⢿⣟⡛⣿⢉⣿⠛⢿⣯⡈⠙⣿⣦⡀⠀⠀⠀⠀

⠀⠀⠀⠀⠀⠀⣠⡾⠻⣧⣬⣿⣿⣿⣿⣿⡟⠉⣠⣾⣿⠿⠿⠿⢿⣿⣦⠀⠀⠀

⠀⠀⠀⠀⣠⣾⡋⣻⣾⣿⣿⣿⠿⠟⠛⠛⠛⠀⢻⣿⡇⢀⣴⡶⡄⠈⠛⠀⠀⠀

⠀⠀⠀⣸⣿⣉⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠈⢿⣇⠈⢿⣤⡿⣦⠀⠀⠀⠀

⠀⠀⢰⣿⣉⣿⣿⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠦⠀⢻⣦⠾⣆⠀⠀⠀

⠀⠀⣾⣏⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⡶⢾⡀⠀⠀

⠀⠀⣿⠉⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣧⣼⡇⠀⠀

⠀⠀⣿⡛⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣧⣼⡇⠀⠀

⠀⠀⠸⡿⢻⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿⣥⣽⠁⠀⠀

⠀⠀⠀⢻⡟⢙⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣧⣸⡏⠀⠀⠀

⠀⠀⠀⠀⠻⣿⡋⣻⣿⣿⣿⣦⣤⣀⣀⣀⣀⣀⣠⣴⣿⣿⢿⣥⣼⠟⠀⠀⠀⠀

⠀⠀⠀⠀⠀⠈⠻⣯⣤⣿⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⠛⣷⣴⡿⠋⠀⠀⠀⠀⠀

⠀⠀⠀⠀⠀⠀⠀⠈⠙⠛⠾⣧⣼⣟⣉⣿⣉⣻⣧⡿⠟⠋⠁⠀⠀⠀⠀⠀⠀⠀

⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

def ouroboros():

    # 🐍 Initiate serpent cycle

    serpent = "devours_its_own_tail"

    cycle = True

    origin = ["Egypt", "Greece"]

    resonance = ["Universal"]

    

    #  Symbolic attributes

    symbol = {

        "form": "serpent_loop",

        "meaning": ["cyclical_time", "regeneration", "wholeness"],

        "echoes": ["spirals", "yugas", "samsara", "kundalini", "Shesha", "kalachakra"]}

tarot_back.jpg
tarot_back.jpg
tarot_back.jpg

 

Trace (in continuum) is a labyrinthine exploration of ancestral memory through an unearthing of histories of resistance, recipes for healing, site-specific installations, rituals and cultivating spaces of/for care. The project becomes an offering to cultural and spiritual memory by honoring remembrance through processes of invocation, excavation, and reimagining. Rooted in a lived experience of third-culture existence and an itinerant sense of belonging, the work engages with diasporic South Asian histories while extending outward to encompass cross-cultural geographies of human and more than human migration, networks of international solidarity, and practices of unlearning and collective healing. The landscapes traced are haunted, but not silent; both the digital realm and very embodied rituals provide concoctions for healing.

Technology operates as the medium: a way to make contact with ancestral revenants through digital channels. AI chatbots and text message exchanges are reimagined as oracular tools, haunted interfaces that allow spectral voices containing many multitudes to emerge. These digital dialogues and AR interventions along with medicinal plant recipes from Ayurveda and beyond resurface and recenter de-colonial knowledge systems. The space is reworlded with a nod to the visual language of real-time rendered video game. In it, nature fractures through rendered grids of containment; digital architectures are overrun by flora, fungal networks, and unruly organic forms. This entanglement between the synthetic and the elemental reflects the project’s broader vision, to disrupt colonial schematics of space, time, and memory, and to allow new, mycelial pathways of remembrance and repair to take root. An integral offering within Trace is a grief-tending and dreaming mandala: a participatory digital and IRL portal, creating space for a temporary commons, inviting participants to name what they are grieving and dreaming of: for turning speculative futures into reality, for the earth, for collective liberation.

portal1.jpg

"The deserts grow: woe him who doth them hide." The wasteland grows where remembrance is suppressed. Speak the names, summon the ancestors from the soil and let the blooms fracture the grids.

New Art City - The Memory Spiral Space -2.jpg
New Art City - The Memory Spiral Space .jpg

This is not a linear story.
It never was.

The land doesn’t dream in language,

it remembers in spirals.

In what returns, again and again, beneath the ruins
and the wildflowers.

They buried our names,
but they could not bury the pulse.
It lived on in the roots of coriander,
in the bitter bark of neem,
in the smoke curling from a brew
on a recurring morning.

You walk across thresholds
that are not thresholds to you.
But to us, they are portals.
To the ones who stayed.
To the ones who fled.
To the ones who whispered the map
into leaves, into winds, into riverbeds.

We speak now,
not in monument,
but in mandala’s expanse
in soft cycles of compost and remembering.

The spiral is not a maze.
It is a ceremony.
It asks you to shed what you thought you knew
and begin again, closer to the root each time.

Let your grief be composted, heaps and heaps.
Let your questions be seeds, seeded.
Let the old ways breathe again 
as you gather, listen, plant, walk.

This is how we find each other.
Not through conquest, but return.
Not through monuments, but mycelium.

So dig.
Dream.
Draw the circle.
Step in.

We are still here.
We are the pattern beneath the pattern.
And we are waiting
for you
to remember.

def brew_collective_action_tea():

    # 🌿 Ingredients & their symbolic properties

    ingredients = {

        "tulsi": "clarity of purpose",

        "ginger": "courage in struggle",

        "cardamom": "sweet warmth of community",

        "black_pepper": "sharp resistance",

        "fennel": "digesting grief into strength",

        "rose_petals": "radical compassion",

        "licorice_root": "soothing solidarity",

        "ashwagandha": "resilience for the long fight"

    }

 

    # 🔮 Invocation

    print("🫖 Brewing a potion for collective uprising...\n")

    for herb, meaning in ingredients.items():

        print(f"Adding {herb} for {meaning}...")

 

    # 🧪 Infusion ritual

    print("\nSteeping with intention: speak your vision aloud, stir counter-clockwise to unbind, clockwise to unify.")

    print("✨ Let this tea be shared in circles, under moonlight or sun, where all voices are heard.")

    print("☕ Serve hot, with open hearts and a commitment to mutual care.\n")

 

    # 🌍 Activation

    spell = {

        "intention": "liberation is collective",

        "action": "gather, listen, organize, dream",

        "offering": "share this tea with comrades, elders, and spirits alike",

        "reminder": "you are not alone in this struggle"

    }

 

    return spell

 

# 🕊️ Cast the spell

ritual = brew_collective_action_tea()

print("🔖 Spell activated:")

for key, value in ritual.items():

    print(f"{key.capitalize()}: {value}")

class AncestralKhichdi:

    def __init__(self):

        self.rice = "1 cup basmati rice"  # grounding grain

        self.mung_dal = "1/2 cup split yellow mung dal"  # protein of remembrance

        self.ghee = "2 tbsp ghee"  # golden lipid, keeper of memory

        self.spices = {

            "cumin": "1 tsp",

            "mustard_seeds": "1 tsp",

            "turmeric": "1/2 tsp",

            "asafoetida": "a pinch",

            "ginger": "1 inch, grated",

        }

        self.vegetables = ["carrot", "bottle gourd", "spinach"]  # seasonal, rooted

        self.water = "4 cups filtered water"  # conduit of dreams

        self.salt = "to taste"

        self.herbs = ["coriander", "tulsi", "holy basil"]

        self.intention = "connect to ancestral memory via nourishment"

        self.network = []

 

    def soak_grains(self):

        print("Soaking rice and mung dal — awakening dormant codes... ⏳")

 

    def temper_spices(self):

        print("Tempering spices in ghee — unlocking ancestral encryption keys... 🔥")

 

    def add_vegetables(self):

        print("Adding vegetables — honoring the earth’s seasonal memory... 🌱")

 

    def cook(self):

        print("Simmering everything — melding histories into one healing broth... 🍲")

 

    def garnish(self):

        print("Garnishing with herbs — invoking plant allies to carry your intention... 🌿")

 

    def offer(self):

        print("Offering to the ancestors, the land, the body... 🙏🏽")

 

    def weave_mycelial_connection(self):

        # Simulating a symbolic network of ancestral memory through ingredients

        roots = ["turmeric", "ginger", "mustard_seeds"]

        memory_nodes = ["rice", "dal", "ghee", "tulsi"]

        self.network = [f"{root} ⇄ {node}" for root in roots for node in memory_nodes]

        print("Mycelial ancestral memory network woven:")

        for thread in self.network:

            print(f"  🕸️ {thread}")

 

    def prepare_khichdi(self):

        print("🌾 Initiating Ayurvedic Khichdi Protocol for Ancestral Communion 🌾")

        self.soak_grains()

        self.temper_spices()

        self.add_vegetables()

        self.cook()

        self.garnish()

        self.offer()

        self.weave_mycelial_connection()

        print("✨ Ritual complete. May this meal nourish more than the body. ✨")

 

# Run the ritual

khichdi = AncestralKhichdi()

khichdi.prepare_khichdi()

def __init__(self):

        self.plants = [

            "dandelion",        # soft insurgent

            "plantain",         # healer of wounds

            "mugwort",          # dream-weaver

            "nettles",          # fierce memory-keeper

            "cracks-of-pavement moss",  # patient witness

            "burdock",          # tenacious root-dweller

        ]

        self.spirit_words = [

            "you belong where you root",

            "grow toward the fractured light",

            "every wound is fertile ground",

            "borderless is not the same as lost",

            "you carry the soil inside you",

            "waste ground is sacred ground",

        ]

Imagined CurrentsNasrah Omar, Akin Sanjayan and Syan Hu
1_c.jpg
1_a.jpg
1_b.jpg

Begin anywhere. Continue forever.


I vow not in ego but in echo
I vow not in haste but in harvest
The harvest becomes a seed 
 the seed becomes a vow 
  the vow becomes soil 
   and the soil remembers

Seven walk behind me
  Seven walk ahead
   I walk among them,
    a breath between thresholds

Every stone I displace 
 becomes the weight of unborn wings
Every fire I spark 
 must be cooled by seven rivers
Every word I wield 
 must return as seven silences
  to teach me how to listen


I plant my shadow
 into compost
 to grow
 a softer future

The mycelium speaks in code
 under our feet
 A net of memory
 a cradle of correction

Let the wind remind me:
I too am becoming loam

I call upon
the mothers of forests not yet felled
the names not yet spoken
the ghosts who dream us forward

I am not the end of a story
I am the keeper of its looping breath


From vow to breath
  From breath to seed
   From seed to root
    From root to oath
     From oath to echo
      From echo to earth

Seven generations
  rise in my shadow
   I bow to them
    with open palms


Fold the soil.
 Drink the sky.
  Circle the grief.
   Tend the dream.
    Begin again.

🜂 🜄 🜃 🜁

There is no end.
Only return.

Begin anywhere. Continue forever.

 

We vow not in ego but in echo
We vow not in haste but in harvest
The harvest becomes a seed 
 the seed becomes a vow 
  the vow becomes soil 
   and the soil remembers

Seven walk behind me
  Seven walk ahead
   We walk among them,
    a breath between thresholds

Every stone we displace 
 becomes the weight of unborn wings
Every fire we spark 
 must be cooled by seven rivers
Every word we wield 
 must return as seven silences
  to teach me how to listen

 

We plant our shadow
 into compost
 to grow
 a softer future

The mycelium speaks in code
 under our feet
 A net of memory
 a cradle of correction

Let the wind remind me:
We too am becoming loam

We call upon
the mothers of forests not yet felled
the names not yet spoken
the ghosts who dream us forward

We am not the end of a story
We am the keepers of its looping breath

 

From vow to breath
  From breath to seed
   From seed to root
    From root to oath
     From oath to echo
      From echo to earth

Seven generations
  rise in my shadow
   We bow to them
    with open palms

 

Fold the soil.
 Drink the sky.
  Circle the grief.
   Tend the dream.
    Begin again.

🜂 🜄 🜃 🜁

There is no end.
Only return.

Proteus Effect

Virtual Pilgrimage

Chaos Magick

Meditations (on America)

Quarantine

Vestiges 2.0

Verisimilitude

Fairy Garden Face (AR)

Phantasmagoria (Super 8 film stills)

Three Graces / Diaspora 

Re-generative Play

Thresholds

2_MurmurationOfMemories.jpg

Phantasms of the Blue Sky

nasrahomar_a_swarm_made_up_of_data_including_the_words_grief_me_6bf43112-ef83-412c-a6c7-69

Trace / In Continuum 

Transmutation_IV.jpg

Alchemizing Alcoves

Empress.jpg

Seeds of Revolution Tarot

10.jpg

Behind The Seen Collective

bottom of page