๐ About Me
class ATSDopi:
def __init__(self):
self.name = "ATS-Dopi"
self.role = "Cybersecurity Student"
self.current_project = "CTF Toolbox"
self.languages = ["Python", "TypeScript", "JavaScript", "C", "C++",
"C#", "Java", "PHP", "Rust", "Swift", "Kotlin"]
self.web = ["HTML5", "React", "Next.js", "Node.js", "Electron",
"WordPress", "Android"]
self.databases = ["MySQL", "PostgreSQL", "Firebase"]
self.tools = ["Docker", "PowerShell", "Figma", "Photoshop",
"Lightroom", "After Effects", "Arduino"]
self.interests = ["CTF", "OSINT", "Pentest", "Reverse Engineering",
"LLM", "Automation"]
self.location = "France"
self.hub = "https://guns.lol/atsdopi"
self.profile_readme = "100% self-generated โ zero external services"
- ๐ Cybersecurity Student based in France
- ๐จ Currently building a CTF Toolbox โ a collection of tools for Capture The Flag competitions
- ๐ฑ Always learning: Offensive Security, Reverse Engineering & LLM Agents
- ๐ฌ Ask me about Python, TypeScript, Backend architecture, CTF challenges
- โก Fun fact: I turn coffee into commits, and commits into trophies ๐
๐ ๏ธ Tech Stack
๐ Featured Projects
๐ GitHub Stats
๐ Trophies
๐ Activity Graph
๐ Commit Activity
๐ฎ Pac-Man ate my commits
๐ Find Me Everywhere
๐ Central hub: guns.lol/atsdopi โ all my links in one place
๐ง How this profile works
Every SVG on this page is self-generated โ no external services, no third-party badge hosts, no rate-limited APIs. Pure Python + GitHub data.
The tools/ directory contains Python scripts that:
- Fetch real data from the GitHub API (REST + GraphQL): contribution calendar, pinned repos, public events, aggregated stats
- Render SVG cards โ including SMIL animations (typing effect, waves, animated Pac-Man)
- Run daily via GitHub Actions (
.github/workflows/generate-assets.yml)
| Asset | Source | Generated by |
|---|---|---|
banner.svg / footer.svg | static | generate_banner.py |
typing.svg | static | generate_typing.py |
badges.svg | static | generate_badges.py |
skills.svg | static (real brand paths) | generate_skills.py |
social-*.svg | static | generate_socials.py |
quote.svg | daily rotation | generate_quote.py |
stats.svg / top-langs.svg | REST + GraphQL | generate_stats.py |
streak.svg | contribution calendar | generate_streak.py |
trophies.svg | real counters | generate_trophies.py |
activity-graph.svg | contribution calendar | generate_activity.py |
contributions.svg | contribution calendar | generate_contributions.py |
pacman.svg | contribution calendar | generate_pacman.py |
feed.svg | public events | generate_feed.py |
project-*.svg | pinned repos | generate_projects.py |
To regenerate manually:
pip install -r tools/requirements.txt
GITHUB_TOKEN=<token> python tools/generate_all.py ATSDopi