Latest update
2025-06-24 - internet outage, sorry for the inconvenience
documentation has moved here:
https://rentry.org/tgcgce3q
2024-03-26
hey [small corpo enjoyers], I'm building a thing to find waiting rooms easier and wanted to get your feedback on it so far.
some notes:
simple view is for mobile. it's also set up so you can copypaste it
dev view is for extra info. specifically for ctrl+f
dense view puts more links on the screen. I think it gets less useful when the stream is a week out, but I like seeing the collage
link: https://pomu.pages.dev/schedule/corpo?id=dense
it's just my dev site for now, so there are some bugs and stuff might change/break without warning.
next on my list is to add a filtering system by date/group/individual.
extra context >>71842145
2024-04-15
gm, pomudex should be running again.
I'm in the process of migrating the code somewhere more resistant to 3am windows updates, so the development has slowed down a bit.
roadmap:
- QA for scripts on new machine
- display for channel listings
- form for adding additional channels
- add twitch
- edit page for channel listings
- rehaul for catching ghost waiting rooms
- more schedule displays
- domain name
2024-04-26
- got some progress on the data rework, so ghost and schedule waiting rooms will be have increased coverage when I finish updating the front-end.
- I got a request to include someone's mother (bri's mom). I've added them with the caveat that access to these "& friends" accounts may shift in the future. the plan so far is to have the corpo page for collective vtubers that have passed auditions (so including ex-corpo) and a namepending page that will include both corpo and indie friends. shortlinks will be redirected to include friends accordingly
2024-04-30 snapshot
- channels: 337 (274 active)
- waiting rooms: 548
- archive: 93,455 videos
- 0 min, 2400 max
- 190 median, 277 average
2024-05-10
- updated algorhythm project, bondlive, eufone live, m.entertainment, nawasena, oshilink, project kavvaii, project orbit, project: verses, and zenithve. thanks google form users for compiling
side note: as the list continues to grow, remember to use the filter= and hide= params as needed.
https://pomu.pages.dev/schedule/corpo?filter=Vyvid
example filter for debuts today
2024-05-20
hello, I'm back and mostly caught up on the google form. thank you as always for submissions
- amber glow, avallum, lightmotif, project:verses, yume+, and zenithve updated
- some of them were on there, so if there are visibility issues please leave a note and I can investigate further
- usual reminder that the filter= and hide= params are recommended. keyword reference available on the channels view
- regarding nanobites, there will be a separate /phase category; idea being yes I'd like to include them but discussion seems to have migrated from /corpo. I just need to sit down and go through the list of ~30
- nyaranaika nyanyanya
- I'll be out again for offkai and late july -> most of august. updates to the list are still possible but availability to catch small corpo news and site issues will be limited
2024-06-13
- caught up on submissions! thanks as always for compiling
- added phase as their own category https://pomu.pages.dev/channels/phase+
- recent mentions of nanobites have been more in the phase threads, so I've added her there
- added a color for special event stuff like debuts, relays, and concerts. twitch: purple, youtube: red, premiere: orange, event: yellow
2024-06-20
I removed v-sea since the whole thing seems to have imploded. seeing as they never debuted, I'll add any talents back if they resurface in another org properly.
in removing them, I tripped a bunch of fail-safes and the script stopped working for a few hours. site should be refreshing again now
2024-09-01
- moe!live added
- nexas talents now reordered to match their rentry
- general cleanup, eg inumaromugi -> erifuwette, vdere gen 1 -> realm:era
- caught up on the spreadsheet, thanks as always for submissions!
currently on the radar:
- aegis-link
- nexas yume
- stellarversepro project infinity
- variance project (formerly known as digilive)
- vdere gen 2
- v4mirai gen 4
I'm finally home and stable enough to work on logging member streams!
2024-09-29
- added /wool shortcut and their own topic
- lillie is cute
- all the #RockinRelay participants should be available in the /corpo+ topic now, highlighting will be available once the playlist is up
- bilibili support is backlogged. sorry if you wanted it soon
- converting the bunch of yaml files into a proper db is in progress
- picked up a domain name for corpodex
2024-11-29
to pomudex users,
happy thanksgiving! and thank you as always for your channel submissions and site feedback. it means a lot to see people contribute to the roster and use this goofy experiment as a resource
I'm here to update that unfortunately the server went offline; not sure what happened ~18 hours ago. I've got the script running again on a temp setup for now. until I'm home next week, the data will be a little slower (every 30 minutes instead of every 10). sorry for any waiting room confusion earlier and latency while I resolve this.
2024-12-18
I didn't get around to making that status page, so I will probably add a rentry next to the documentation link.
I'm going offsite for the holidays again. Last Thanksgiving the server's internet went out, but a slower temp server was able to make waiting room updates. In case it happens again, I have it set up better so that running another instance doesn't break the original (probably).
In other news, server v3 and my database are working! I still have to hook it up to the webpage, but it will have updates every 1 minute for livestreams (no more waiting rooms lingering for 10 minutes) and you'll be able to do stuff like check the vod archive for a whole company, including twitch start/end times. Hopefully updated soon next year.
Until then, merry crimbus!
2025-01-12
- updated cloudflared
- updated the cloudflare tunnel config to use the docker container name
I pushed a UI change around 4am, and woke up to API downtime wtf.
how it works is the website will ping my server for the full URL, and if the server is down it's supposed to fallback to some default value. some IP reference expired, so cloudflare couldn't ping my server, and the fallback process didn't account for the error code. boring technical stuff, but big picture I think the website is becoming less duct tape and more solid.
also for reference, here's the current design, including server v3.
as of v2, all the data (livestreams, channels, associations) lives in the backup DB. migrating everything into the v3 formal database is a big task. I want to clean up the original rentry article with full commentary some time.
predicably, holding a website together with duct tape has its limits. github's 5 minute cache gets annoying, and when I had to pull the repo over thanksgiving, it was 1.5GB of disk for 50MB of json files because it's 36k commits. the way I set up my data was also bad. corpos have gens or members, gens have members, and members can be in multiple groups; the bandaid solution was to have 5 CHIkafuji LIsas.
2025-01-12 snapshot
- channels 897 (525 active in the last week)
- youtube 625 (382)
- twitch 272 (143)
- waiting rooms 823 (467 scheduled)
- archive 203,369
- youtube streams 157,972
- min 1
- median 184
- max 1934 (@channelkimaseri)
- youtube videos 42,949
- min 1
- median 35
- max 1137 (@AdmiralTrina)
- twitch streams 2448 (started querying Dec 2024)
- min 1
- median 12
- max 71 (miyuyus)
- youtube streams 157,972
2025-01-21
caught up on submissions, thanks as always for finding these twitch accounts.
server keeps disconnecting from the internet. I haven't changed any settings since initial setup ~8 months ago, so it's a mystery. I changed a number in the settings and it reconnected automatically. hopefully that fixes it. otherwise, I'll finally look into an ethernet connection.
in other news, I've been using the new endpoint and keep flipping back and forth between wanting to share the WIP early and finding some critical bugs. I think the youtube style thumbnail UI has reached a good stopping point. dayjob has been dramatic lately. I might be toast for a bit.
todo: get it to work for 7 days in a row, migrate all the channel associations, set up a DIY filtering system, set up an archive UI given a list of channels, and maybe funny charts like typical start times and active days for a list of channels.
2025-02-23
before I could make it home, the server reconnected again. almost exactly 24 hours of downtime like the thanksgiving episode. apparently the cause of these outages might be something called "router ip lease time"? it stays online for months at a time when I'm home, so this issue is a real PITA. my best guess is the router drops my server after 48 hours without ssh and finds it again on a daily scan. I'll get that extra ethernet cable then.
2025-03-31
pushed a few minor changes.
- error screen is more informative if there's a server error
- on the multiviewer
- if you add a video again it will show up at the end (in case you put in a twitch channel multiple times)
- test button is now share button
- now fetches youtube thumbnails from video IDs. visible in mado and dex view for a nice taste summary
- if you are a fellow 100+ thumbnail degen, this deploy will likely wipe your history sorry
- april fools
- 50% chance of short links redirecting back
- 10% chance of a random encounter
2025-04-24
I had to unplug the server and router a few times from shifting furniture around, but I think it's done!
I moved! I already had my own place before but now it's a different, cheaper, closer to family place.
what does this mean for the website? this area has a slightly higher chance of a tree falling over and killing the electricity, but I also save enough that I can look into cloud hosting for uptime. I'll also have more time to work on adding features and stuff once work either calms down or I find a new job.
the usual space isn't around so I'll post some WIPs for those who actually read this yappery (I appreciate it).
- /archive
- the main change from /channels is that you can include multiple channels, including twitch. the vision is something like /archive/<corpo name> and you can get the whole vod list of a group; it requires remapping all the associations to the new format which isn't quite done yet. for now here's an example of using url args because I haven't gotten around to making a nice UI or infographic.
- /schedule (v3)
- currently no filtering capability besides search! again dependent on finishing the channel mapping and setting up the filtering UI.
- the timings on this page are slightly different: there's a daily scan to see if memberships opened or the channel is active in the past month, then every 30 min there's a check for new waiting rooms from active channels, then every 1 minute there's a check on active waiting rooms. ideas being
- it's very rare that a vtuber comes back from a month absence without advance notice,
- the vast majority of streams start on :00 or :30, and
- checking the status of multiple streams is cheap on quota.
- once I consolidate my quota usage between the old and new system, I can tweak the numbers more or add a ton of channels too.
- there's also a youtube style card layout! I ended up falling back to the dense catalog spread for day-to-day usage, but there are definitely cases when I like to see the stream thumbnail/topic.
- https://corpodex.app/
- this is the "official" name, unassociated with any communities
- mainly because I needed a domain name for cloudflare tunnels.
- a bunch of endpoints ping my server directly
- some latency is expected because it's just a raspi in my living room instead of a globally distributed datacenter
- there is probably a way to host frequent data like waiting rooms somewhere better than github's 5 minute cache
- I have no idea what it would cost to move to cloud. it's potentially cheaper to just by some battery packs and use my phone hotspot in case of internet/electricity outage
- the old pages (/channels, /schedule) will still be available after v3 is finished
- data will eventually drift out of sync with the main system
- mainly I want to put this extra scraper quota, writing channels in two places, and bloated github repo to bed (55k commits)
- any links that point to old endpoints will be moved when things are done/stable
2025-05-02
I might have solved a long time problem very simply. users might see improvements to membership stream reporting and ended streams being cleaned out.
tl;dr I have a frequently used packet of data (waiting rooms) and github wasn't handling it in realtime or efficiently. I found out cloudflare KV can be used just as easily (maybe easier) and solves the realtime and maintainability issue.
which is a weird feeling because that was also the whole point of the rebuild that started almost 6 months ago. more details:
my first instinct was to use a github repo; it worked well as a proof-of-concept and has nice things like version history and timestamps, but the main pain points are 1) github servers only refresh every 5 minutes and 2) it's updated so often that it's reached 56k commits, making it difficult to download and work with. at the end of the day, I just needed to upload a JSON file somewhere for the website to find. it turns out that cloudflare has some databases I can use on the free tier.
I've used AWS dynamoDB before too, but I figured cloudflare would be simpler since the website is also on cloudflare (spoilers: the latency is somehow kind of shit). I took a second look at KV and it turns out there is REST API access (for curl or fetch or whatever barebones retrieving) and I don't have to install the whole worker/wrangler/whatever the heck proprietary cloudflare thing just to grab a JSON file. it does mean I have API keys floating around in places they shouldn't be, but I wasn't planning to open source the thing anyways. I like the freedom to just overhaul stuff and would hope that the blueprints and blog of issues like this are enough.
At the very least, I think the upcoming youtube-style UI, multi channel archive, and twitch tracking are value add.
UPDATE: I woke up to finding out the free plan has a limit of 1k writes per day. 1440 minutes in a day and I was writing two items, so that was short lived. also some poor soul saw 900+ ms latency. gonna stop messing with production and let these things test for a day
2025-05-17
I'm back and site should be up again.
judging by the flashing clock on my fridge, the power was out for 40 minutes. something in the config is preventing my server from docker composing properly on reboot.
lately seeing random showstopper issues like this that blow up after months of working without issue. I'll have to do maintenance this week at some less busy hour to can test the auto-reboot scenarios.
2025-05-25
pomudex v3 is deployed!
the v2 urls still work, but I won't be updating stuff regarding the channel mapping.
more details later when I have time to reach out for testers
stream pin mode - new toggle to keep non-filtered livestreams on the page
filter select mode - I got it to select the group name if enough members are selected
multichannel archive - you can use the channel, shortname, gen name, or corpo name (links provided in channel page)
2025-06-24
I thought connecting my raspi to a mobile hotspot was a neat backup plan, but apparently my data service blocks something at the DNS level. meaning outside computers can't contact the server (resolving shortlinks and filters) and the server can't reach out the APIs (latest youtube info).
the backup data I had set up kinda works, but I should really back up the filtered views. sorry again for the inconvenience during peak hours