🌏 Project URLβ†—
https://my-name-is.e-kezia.com
🐈 Githubβ†—
https://github.com/ekkezia/my_name_is_____
πŸ‘€ Overview

A site that subverts the functionality of the <a> HTML element, as part of an assignment for School for Poetic Computation: Digital Love Language (2024).

πŸ“š Tech Stack
HTML
CSS
Javascript
Pyodide
πŸ–οΈ Description

Exploring Language as Interface

This work subverts the traditional function of HTML’s <a> and <p> tags by treating writing itself as a clickable interface.


Instead of composing a paragraph within a <p> tag β€” which passively renders text β€” the site wraps each word within an <a> tag, transforming the text into a constellation of interactive hyperlinks.

my-name-is-type

Typing your name / a looong paragraph and see what happens next


πŸ’‘ Conceptual Background

The project began as an in-class experiment with button UI, developed in response to a β€œmeaning of your name” writing prompt.
By converting my paragraph about the meaning of my name into a field of links, the piece questions:

  • What happens when meaning becomes mediated by external search engines?
  • Can a paragraph still hold poetic coherence when its structure is fragmented by functionality?
  • Where does authorship sit when each word redirects to a corporate algorithmic space (Google Search)?

Through this, the work reimagines HTML not as a neutral markup language, but as a performative system of meaning-making, where the semantics of tags shape how language is experienced.



βš™οΈ Technical Process

  1. Input Submission
    • The user submits a paragraph through a simple input field.
  2. Python Script Transformation
    • A Python script processes the paragraph:
      • Strips whitespace between words.
      • Inserts <a></a> tags around each tokenized word.
      • Generates a corresponding hyperlink to a Google search of that word (href="https://www.google.com/search?q={word}").

text = "Elizabeth means oath of God and carries the notion of devotion."
words = text.split()
html = " ".join([f'<a href="https://www.google.com/search?q={w}">{w}</a>' for w in words])
print(html)

  1. Dynamic Rendering
    • The resulting text is rendered in the browser as a grid of clickable β€œbuttons.”
    • Each click extends the semantic meaning of the paragraph outward into the network β€” a poetic act of semantic dispersion.


4. Frontend Display

  • The paragraph appears visually cohesive but is functionally fragmented β€” every word redirects elsewhere.
  • CSS styling treats each <a> tag as a button element, echoing UI affordances but breaking linguistic flow.

my-name-is-2

Transforming each word into button then into a link

The site is a single page built with Vanilla CSS, JS and pyodide to enable JavaScript to run a snippet of python code.

πŸ“ Notes

The use of Python is unnecessary here as the conversion from paragraph to a group of <a></a> can be done with JavaScript as well. Here I'm just exploring on ways to inkkkkclude Python code in a client-rendered HTML-based website.

Elizabeth Kezia Widjaja Β© 2025 πŸ™‚