Skip to content
View itsmobsys's full-sized avatar
😅
Finding problem for my project
😅
Finding problem for my project

Block or report itsmobsys

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
itsmobsys/README.md
header wave
profile views followers status: active build



⚡ HEY, I'M DEV

@itsmobsys / @boink_2068

I build things because I want to know how they work.

real projects · weird problems · performance · automation · backend

GitHub profile Browse projects Featured project



typing animation

Python JavaScript Linux Flask SQLite Docker

About · Featured · Stack · Philosophy · Workflow · Projects · Stats


Fast · Lightweight · Reliable · Maintainable · Actually useful

🧠 About Me

I'm a developer who enjoys building real projects, solving weird problems, optimizing things that probably didn't need optimizing, and then finding out why everything broke.

I like working on software where the interesting part isn't just the UI. The stuff underneath matters too — caching, APIs, concurrency, resource usage, failure modes.

🔨 Build
real things, not demos
💥 Break
on purpose, to learn
🔍 Understand
why it broke
⚡ Optimize
measure, then fix
┌───────────────────────────────────────────────────┐
│                    HOW I BUILD                    │
├───────────────────────────────────────────────────┤
│                                                   │
│                       idea                        │
│                        ↓                          │
│                    prototype                      │
│                        ↓                          │
│                     break it                      │
│                        ↓                          │
│                   understand why                  │
│                        ↓                          │
│                     optimize                      │
│                        ↓                          │
│                     test it                       │
│                        ↓                          │
│                     ship it                       │
│                                                   │
└───────────────────────────────────────────────────┘

I don't particularly care about writing the most code. I'd rather write less code that does less unnecessary work.


🚧 What I'm Focused On

Focus backend systems Active build Backend plus infra

Backend systems that are lightweight, cached, and measured — not guessed.

caching → APIs → automation → infra → performance

I'm most interested in the stuff underneath the UI:

SystemWhat I work on
⚡ CachingReducing unnecessary requests
🔌 APIsConnecting systems together
🤖 AutomationMaking repetitive work disappear
🧠 AI / LLMsExperimenting with useful AI workflows
🖥️ InfrastructureKeeping things lightweight and reliable
📊 PerformanceMeasuring instead of guessing

🗺️ How I think about systems

flowchart TB
    REQ["Request / Job"] --> API["🔌 APIs"]

    API --> CA["⚡ Caching Layer<br/>reduce repeat work"]
    CA --> AU["🤖 Automation"]
    AU --> INF["🖥️ Infra<br/>lightweight + reliable"]
    INF --> PERF["📊 Performance<br/>measure, don't guess"]

    PERF --> AI["🧠 AI / LLM Experiments"]
Loading
🧩 View as terminal map (same idea, text version)
                Request / Job       
                      │             
                      ▼             
                 APIs (glue)        
                      │             
                      ▼             
               Caching layer        
            (avoid repeat work)     
                      │             
                      ▼             
            Automation + Infra      
         (lightweight + reliable)   
                      │             
                      ▼             
           Performance + AI tests   
          (measure, then experiment)
⚙️ What “infrastructure” means here

Get it correct before making it fast — then make it cheap.
Caching sits in front of repeated work — if we already know the answer, don't recompute it.
Automation removes the repetitive glue so the system stays maintainable.
Measure real behavior — resource usage, failure modes, bottlenecks — instead of guessing.


🎮 Featured Project

Featured Python lightweight L1 plus L2 cache HTTP minimized

YouTube video → game detection → cached result

A lightweight Python module that identifies the game associated with a YouTube video — without throwing a giant stack of dependencies at the problem.

View project

Problem → Approach → Architecture → Optimization → Testing → Result

StepQuestion it answers
1. ProblemHow do we detect a game without a browser, without an LLM, without bloat?
2. ApproachValidate → check memory → check disk → fetch once → extract → store
3. ArchitectureL1 memory + L2 SQLite + single-flight HTTP
4. OptimizationCoalesce callers, bound concurrency, TTL everything
5. TestingAutomated tests + resource measurements
6. ResultPredictable, lightweight, graceful under failure

Problem ↓ Approach ↓ Architecture ↓ Optimization ↓ Testing ↓ Result

✨ The design

flowchart TD
    VID["YouTube Video"] --> VAL["Validate ID"]
    VAL --> L1{"L1 Memory Cache?"}
    L1 -- "HIT" --> RET1["Return"]
    L1 -- "MISS" --> L2{"L2 SQLite?"}
    L2 -- "HIT" --> RET2["Return"]
    L2 -- "MISS" --> HTTP["Single HTTP Request"]
    HTTP --> EXT["Extract Game"]
    EXT --> STORE["Store L1 + L2"]
    STORE --> RET3["Return"]
Loading
📟 Same flow as terminal diagram
                  YouTube Video            
                        │                  
                        ▼                  
                 Validate ID               
                        │                  
                        ▼                  
                 L1 Memory Cache           
                    │       │              
                  HIT       MISS           
                    │       │              
                    ▼       ▼              
                 Return   L2 SQLite        
                              │            
                         ┌────┴────┐       
                         │         │       
                        HIT       MISS     
                         │         │       
                         ▼         ▼       
                      Return   HTTP request
                                   │       
                                   ▼       
                              Extract game 
                                   │       
                                   ▼       
                              Store result 
                                   │       
                                   ▼       
                                Return     

🔥 Things I specifically cared about

✅ No browser automation✅ No LLM calls✅ Minimal dependencies
✅ Two-level caching✅ SQLite persistence✅ Request coalescing
✅ Bounded concurrency✅ TTL-based expiration✅ Graceful failures
✅ Automated tests✅ Resource measurements✅ Predictable memory usage

🧪 The interesting part — request coalescing

When multiple callers ask for the same video simultaneously, they shouldn't all independently hit YouTube.

Instead:

Caller 1 ─┐                    
Caller 2 ─┤                    
Caller 3 ─┼──► ONE HTTP REQUEST
Caller 4 ─┤                    
Caller 5 ─┘                    
                 │             
                 ▼             
             Shared result     

That's the sort of optimization I enjoy finding — one request does the work, everyone shares the result, the cache makes the next call free.

🔬 Engineering decisions (expand)

No browser: launching a browser for something solvable with one HTTP request is waste.
No LLM: classification here doesn't need inference — it needs parsing + caching.
L1 + L2: memory for speed, SQLite for persistence across restarts.
TTLs: cached truth goes stale — expire it on purpose instead of serving lies forever.
Bounded concurrency: parallelism without a limit is just a slower DDoS against yourself.
Graceful failure: upstream fails → return something sane, don't take the whole system down.
Tests + measurements: RAM, behavior under concurrent load, weird IDs — tested, not assumed.


🛠️ Tech Stack

everything below is stuff I actually use or am actively exploring — no filler

Languages

Python JavaScript HTML5 CSS3 Bash PowerShell

Frontend

React Tailwind CSS Bootstrap HTML5 CSS3

Backend

Flask Node.js Express.js REST APIs JSON WebSockets

Databases & Storage

SQLite PostgreSQL MySQL Redis MongoDB

APIs & Integrations

YouTube API Twitch API WebSockets JSON

DevOps & Cloud

Docker GitHub Actions Nginx Render Vercel Ubuntu

Linux & OS

Linux Ubuntu Windows Bash PowerShell

Testing & Code Quality

Pytest Jest ESLint Prettier

Developer Tools

Git GitHub VS Code Neovim

Architecture & Practices

REST APIs · Async Programming · Caching Strategies · Request Coalescing
Background Workers · Rate Limiting · Database Design · Error Handling  
Logging & Monitoring · CI/CD Pipelines                                 

Currently Exploring

AI / LLMs · Cloud Infrastructure · Backend Architecture          
Performance Engineering · Automation · Distributed Systems       
Linux Internals · Developer Tooling · React Ecosystem            
Container Orchestration · Observability · Security Best Practices

⚙️ My Engineering Philosophy

I like solving problems that look something like this:

          BEFORE              
 Request arrives          
        │                 
        ▼                 
  Do expensive thing      
        │                 
        ▼                 
  Do expensive thing      
        │                 
        ▼                 
  Do expensive thing      
        │                 
        ▼                 
    Return result         
                          
                          
      AFTER               
                          
 Request arrives          
        │                 
        ▼                 
   Check memory           
        │                 
   ┌────┴────┐            
   │         │            
  HIT       MISS          
   │         │            
   ▼         ▼            
Return     Check DB       
             │            
        ┌────┴────┐       
        │         │       
       HIT       MISS     
        │         │       
        ▼         ▼       
     Return    One request
                   │      
                   ▼      
                Cache it  
                   │      
                   ▼      
                Return    

And when something does need to be complicated, I want to know why.

less code           
   ↓                
less complexity     
   ↓                
less work           
   ↓                
less resource usage 
   ↓                
fewer failure points

🧪 Things I Like Optimizing

🌐 Network

Can I avoid the request?         
        ↓                        
Can I cache the result?          
        ↓                        
Can requests share the same work?
        ↓                        
Can concurrency be bounded?      
        ↓                        
Can failure be graceful?         

💾 Memory

How much RAM does this actually use?

Not:
"It should be fine."

But:
measure it
test it
stress it
find the limit

⚡ Performance

"It feels faster" isn't a measurement.

I like benchmarks because feelings don't scale. Numbers do — as long as you're measuring the right thing.


🔁 How I Build

Idea ➜ Prototype ➜ Break it ➜ Understand why ➜ Measure ➜ Optimize ➜ Test ➜ Ship
flowchart TD
    A["💡 IDEA"] --> B["🧪 PROTOTYPE"]
    B --> C["💥 BREAK IT"]
    C --> D["🔍 UNDERSTAND WHY"]
    D --> E["📏 MEASURE"]
    E --> F["⚡ OPTIMIZE"]
    F --> G["🧪 TEST"]
    G --> H["🚀 SHIP"]
Loading
📟 Terminal version of the loop
$ build --idea "clip youtube fast"                  
[1/8] prototype ......... done                      
[2/8] break it .......... done (of course)          
[3/8] understand why .... reading logs at 2am       
[4/8] measure ........... no guessing, numbers only 
[5/8] optimize .......... cache > repeat            
[6/8] test .............. weird cases included      
[7/8] ship .............. people can actually use it
[8/8] repeat ............ more bugs, more learning  

🔬 A Few Rules I Try To Follow

┌──────────────────────────────────────────────┐
│  01  Measure before optimizing               │
│  02  Cache before repeating work             │
│  03  Fail gracefully                         │
│  04  Keep dependencies intentional           │
│  05  Prefer simple systems                   │
│  06  Test the weird cases                    │
│  07  Understand the bottleneck               │
│  08  Don't optimize imaginary problems  │
│  09  Automate repetitive work                │
│  10  Ship things people can actually use     │
└──────────────────────────────────────────────┘

🧰 My Favorite Kind of Problem

Something nobody notices until you look closely.

For example:

"Why are we making 10,000 requests?"         

"Why does this use 500 MB?"

"Why are five workers doing the same thing?"

"Why does this work until two users arrive?"

"Why are we launching a browser for something that could be solved with one HTTP request?"

Those are fun problems.


🤖 AI & Development

I use AI as a tool, not as a replacement for understanding the software.

My preferred workflow is roughly:

flowchart TD
    A["Human idea"] --> B["AI-assisted exploration"]
    B --> C["Prototype"]
    C --> D["Read the code"]
    D --> E["Break the code"]
    E --> F["Understand the code"]
    F --> G["Fix the architecture"]
    G --> H["Test"]
    H --> I["Ship"]
Loading
Human idea             
    ↓                  
AI-assisted exploration
    ↓                  
Prototype              
    ↓                  
Read the code          
    ↓                  
Break the code         
    ↓                  
Understand the code    
    ↓                  
Fix the architecture   
    ↓                  
Test                   
    ↓                  
Ship                   

The goal isn't to generate more code. The goal is to build better software faster — while still knowing how every important piece works, why it's shaped that way, and what happens when it fails.

AI helps withI still own
exploration + boilerplatearchitecture decisions
debugging hypothesesperformance tradeoffs
test scaffoldingfinal code review
docs + automationshipping responsibility

🧩 Projects

ProjectWhat it doesTechnologyInteresting technical detail
🎮 Game SortingLightweight YouTube game detection → cached resultPython · SQLite · CachingL1 + L2 cache, request coalescing, bounded concurrency, TTLs — no browser, no LLM
🌐 boink_2068Personal website / experimental web projectJavaScript · WebPlayground for trying web ideas fast and breaking them safely

More experiments, tools and projects will keep appearing here as I build them.

All repositories Featured project

📊 GitHub Dashboard

📈 Stats
GitHub stats
🧠 Top Languages
Top languages
🔥 Streak
Contribution streak

📈 Contribution Graph

Contribution graph

🧠 What I'm Learning

I'm constantly working on becoming better at:

AreaWhy it matters to me
🏛️ Software architectureBigger systems need cleaner boundaries
🔧 Backend engineeringAPIs, caches, workers, and databases
🐧 Linux internalsUnderstand what the machine is really doing
☁️ Cloud infrastructureFrom laptop prototype → reliable service
⚡ Performance optimizationMeasure, cache, coalesce, repeat
🤖 AI-assisted developmentBetter software, faster — without losing understanding
🤖 AutomationRepetitive work should disappear
🏗️ Building larger systemsPrototypes are easy, systems are hard
🛠️ Maintaining projectsSoftware lives after the first commit
🔁 Prototypes → reliable softwareTurning experiments into things people can use
AI / LLMs · Cloud Infrastructure · Backend Architecture          
Performance Engineering · Automation · Distributed Systems       
Linux Internals · Developer Tooling · React Ecosystem            
Container Orchestration · Observability · Security Best Practices

🌱 Still Building

I'm still early in the journey, which means there is a lot left to learn.

There will be:

more projects               
more bugs                   
more experiments            
more optimizations          
more terrible ideas         
more surprisingly good ideas

And hopefully, a lot more things worth showing here.

Curiosity + questionable amounts of debugging + probably too many optimizations.


📌 Explore

All repositories Featured project Profile

start with Game Sorting if you want the most technical read — then dig through the rest.


💭 "Build it. Break it. Understand it. Make it better."


Made with curiosity, questionable amounts of debugging, and probably too many optimizations.



footer wave

Popular repositories Loading

  1. itsmobsys itsmobsys Public

    1

  2. Game-sorting-for-clipwave Game-sorting-for-clipwave Public

    Python

  3. boink_2068 boink_2068 Public

    Website about me

    JavaScript

  4. giveaway-bot giveaway-bot Public

    Open-source Discord giveaways with a provably fair, independently verifiable draw. Python bot + Next.js dashboard on Turso.

    Python