Skip to content

jay06rathod/Ember

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔥 Ember — Entropy-Seeded URL Shortener

A URL shortener that uses a live lava lamp animation as a pseudo-random seed for short code generation — inspired by Cloudflare's lava lamp wall.


Demo Video

Final_Draft_Demo.mp4

How It Works

Most URL shorteners just increment an ID. 1, 2, 3. Predictable and guessable.

Ember renders a live metaball lava lamp simulation in the browser. When you shorten a link, it samples pixel data from the animation at that exact moment and mixes it into the short code seed. Every code is unique and unpredictable — derived from real-time visual chaos.

It's pseudo-random, not true entropy. But it's a better story than id + 1.


Stack

  • Backend — Python, Flask, SQLite
  • Frontend — HTML, CSS, JavaScript, GSAP
  • Algorithm — Base62 encoding seeded with canvas pixel sampling

Getting Started

Prerequisites

  • Python 3.x
  • pip

Clone the repo

git clone https://github.com/jay06rathod/Ember.git
cd Ember

Create a virtual environment

python -m venv env
source env/bin/activate  # Windows: env\Scripts\activate

Install dependencies

pip install flask

Run

python app.py

Visit http://localhost:5000 in your browser.


Project Structure

Ember/
├── app.py          # Flask routes and core logic
├── db.py           # Database setup
├── index.html      # Frontend — lava lamp + UI
├── urls.db         # SQLite database (auto-generated)
└── README.md

License

MIT License — feel free to use, modify, and distribute.


Author

Jay Rathod

About

**Ember** — A URL shortener with entropy-seeded short code generation, inspired by Cloudflare's lava lamp RNG. Built with Flask and SQLite on the backend, with a live metaball canvas animation in the browser that samples pixel data as a pseudo-random seed for each short code.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors