Skip to content

A personality-driven, neuro-genetic algorithm-powered creative username generator built with Python and vanilla HTML, CSS, and JavaScript.

License

Notifications You must be signed in to change notification settings

zeegma/epithet-ai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

136 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

Epithet

Personality-Driven Username Generator via Genetic-Neuro Ensemble
Explore the poster »

View Demo · Report Bug · Request Feature

Demo

Demo

About The Project

This project integrates a neural network and genetic algorithm to generate personalized usernames based on user personality traits. Users start with a personality quiz that quantifies traits into a numerical vector. A neural network then translates these traits into desired username characteristics (e.g., character types, length, tone). A genetic algorithm iteratively evolves username suggestions based on these characteristics, optimizing for highly personalized and creative usernames reflective of user preferences.

Table Of Contents

  1. About The Project
  2. Application Snapshots
  3. Folder Structure
  4. Contributors
  5. License

Features

  • Landing Page: A visually engaging welcome screen introducing users to Epithet AI, with a clear call-to-action to start the quiz.
  • Personality Quiz Page: Gathers key personality traits for profiling
  • Genetic Algorithm (GA): Optimizes user input to form a refined personality profile
  • Neural Network (NN): Predicts the user’s epithet using trained personality data
  • Results Page: Displays the user’s unique epithet (personality label), includes descriptive traits and is designed for easy sharing or screenshotting

Technologies

Backend & AI

  • Python – Core language for backend logic, neural network, and genetic algorithm implementation.
  • FastAPI – Web framework for building and handling REST API endpoints.
  • Keras / TensorFlow – Deep learning libraries used to train and run the personality-to-username neural network model.
  • PyTorch – Deep learning framework used to train and deploy the neural networks for personality and creativity modeling.

Frontend

  • HTML – Markup language for structuring the UI of the landing page, quiz, and results.
  • CSS – Stylesheet language for visual presentation, including layout, fonts, and responsiveness.
  • JavaScript – Scripting language used to handle quiz logic, interactivity, and dynamic UI behavior.

Development Tools

  • Git & GitHub – Version control and collaborative development.
  • pipenv or requirements.txt – Dependency management for consistent environments.

Application Snapshots

Landing Page

Screenshot 2025-07-01 204006

Questions

User Input

image

Categories

Folder Structure

Here's the folder structure. This is of course not definitive. Feel free to change the files/structures on your own respective folder (again I suggest that you avoid nesting for your own sake)

epithet/
│
├── app/                               # Contains main assets and logic for the frontend
|   ├── assets/                        # Static files like icons, images, or fonts
|   ├── data/                          # Preprocessed data, constants, or external files used by the app
|   ├── scripts/                       # JavaScript files controlling UI behavior and interactivity
|   ├── styles/                        # CSS files for styling the interface
├── index.html                         # Entry landing page with the "Start" button
├── name.html                          # Name input for the user.
├── quiz.html                          # Renders the 15-question personality form
├── result.html                        # Shows generated username & explanation
│
├── core/                              # Core logic: models + GA
│   ├── creativity_nn.py               # Load/use trained NN2
│   ├── gen_algo.py                    # Genetic algo
│   ├── personality_nn.py              # Load/use trained NN1
│   ├── preprocess.py                  # Vector/text preprocessing
│   ├── word_pools.py                  # Word pools ofc
│
├── models/                            # Trained model weights
│   ├── personality_model.pt           # Future contents (txt for now)
│   ├── creativity_model.pt            # Future contents (txt for now)
│
├── training/                          # Training code (not part of Streamlit app)
│   ├── gen_algo/                      # Base training/logic for GA
│   │   ├── main.py
│   │   ├── sample_dataset.txt
│   │   ├── train.py
│   ├── nn_creativity/                 # Base training for creativity NN
│   │   ├── main.py
│   │   ├── creativity_dataset.txt
│   │   ├── train.py
│   ├── nn_personality/                # Base training for personality NN
│   │   ├── main.py
│   │   ├── train.py
│
├── .gitignore
├── README.md                          # This README
├── requirements.txt                   # torch, streamlit, numpy, etc.

Contributors

Name Avatar GitHub Contributions
Acelle Krislette Rosales krislette Fullstack Developer: Acelle oversaw the entire development process, created the neural network for personality profiling, and handled the website’s backend.
Regina Bonifacio feiryrej Frontend Developer: Regina was responsible for designing the landing page and quiz page. She also chose the overall UI theme for both the website and poster.
Henry James Carlos hjcarlos Frontend Developer: Henry was responsible for creating the results page, enhanced the website's overall smoothness, and creating the project poster.
Syruz Ken Domingo sykeruzn Backend Developer: Syke implemented the genetic algorithm (GA) that iteratively evolves candidate usernames and lead the content making process.
Fervicmar Lagman perbik Backend Developer: Fervicmar collaborated on the development of the genetic algorithm, contributing to the design of its core mechanisms, including selection, mutation, and crossover.
Chrysler Dele Ordas soalaluna Technical Writer: Chrysler created the content for the project poster, assisted in its design, and provided the physical board for presentation.
Hans Christian Queja HansQueja Backend Developer: Hans contributed to the design of the neural network, focused on its creative logic for mapping personality traits to username characteristics.
Princess Jane Drama pj-drama UI/UX: Princess Jane assisted in designing the website’s user interface and helped with the poster layout.

License

Distributed under the Creative Commons Attribution-NoDerivatives 4.0 International License. See LICENSE for more information.

[Back to top]

About

A personality-driven, neuro-genetic algorithm-powered creative username generator built with Python and vanilla HTML, CSS, and JavaScript.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6