Wolf Pack Β· Project Quarm
in a hurry? the short version β†’

It started as a bot that answered one question.

β€œWhen does the boss come back?” Everything on this site grew out of that β€” and out of the fact that EverQuest will happily tell you what just happened, as long as something is reading the log.

1. Discord bot2. log parser3. desktop overlays4. this website

Four pieces, built in about six weeks, still shipping. Scroll β†’

01
21 April 2026

A Discord bot, and a text file

What the guild got

Someone kills a boss, someone types it in Discord, and the bot does the arithmetic nobody wants to do at 11pm β€” respawn windows, variance, the whole board of who is up and who is hours away.

That was the entire product. It was already worth it.

What had to exist

One Node process on Railway, redeploying on every push to main. State lived in a JSON file on disk.

Which is fine, right up until the host restarts and the file is gone. That single fact is why the next chapter exists.

02
25 May 2026

The agent β€” reading the log, on your machine

What the guild got

EverQuest writes everything you see to a text file. A small program watches that file and turns it into parses, attendance, buff coverage and boss kills β€” with no typing, and no one having to remember.

And not everyone has to run it. Each log sees the whole fight, so the uploads merge into one record β€” a raid night here averages 0 raiders, and a fraction of them parsing covers everyone. The most we've seen upload in one night is 0.

Officer chat, tells and private channels are filtered out on your own PC, before anything is sent. That is a design constraint, not a setting.

What had to exist

A JSON file could not hold this. Supabase (Postgres) became the memory β€” 0 migrations later it still is.

The bot grew an authenticated HTTP surface for uploads, and GitHub Actions started building and publishing the agent so people could actually get it.

03
27 May 2026

wolfpack.quest β€” somewhere to look at it

What the guild got

Parses you can open and read. Attendance that explains itself. Every character's gear, buffs, spells and DKP. A raid guide, boards, leaderboards β€” and /me, where you can see exactly what we hold on you and switch any of it off.

What had to exist

Next.js on Vercel, signing in through Discord, gated on guild role. Officer pages sit behind a second check.

Same Postgres as the bot, read directly β€” no second copy of the truth to drift.

04
31 May 2026

Mimic β€” the part you see mid-fight

What the guild got

A desktop app that carries the agent, installs without admin rights, updates itself, and puts overlays on top of the game: DPS, tank, triggers, charm, pets, mob info, the buff queue.

Two of them are below, running the same way they run in a raid.

What had to exist

Electron bundling its own Node runtime, shipping on three separate update channels β€” stable, beta, and one for Steam Deck.

Releases are cut by version bump, built in CI, and pulled by the app itself. Nobody hand-installs anything.

Three seats, three views β€” there's an overlay for every job in the raid. Swipe β†’
live demo Β· hover to pause
TankPeopleslayerlocal
Main Tank β€” Peopleslayer
7,300 / 7,935
Rampage on Ashieron
INVINV
DIVINE AURA Β· 16s

The tank bar with the CH chain landing on it, and the rampage target riding out the hits under Divine Aura β€” with the heals already in the air for the moment it drops.

the one overlay for the person calling the raid
Command Center
Target β€” Shei Vinitras
52% Β· 338k / 650k
☠ Death Touch18s
πŸ’€ Rampage on Ashieron
Healer manaDI Fargan βœ“Stupidrichard βœ“Mcdorf 41s
BwavairCleric31%
UilnayarCleric48%
BrynnjaDruid58%
FarganCleric62%
ElyasDruid66%
McdorfCleric71%

Boss HP, the death-touch clock, who is being rampaged, healer mana lowest-first, and which clerics still have Divine Intervention β€” pulled from every raider's log at once.

the healer's view β€” hover to pause
CH Chainbeat 3.6s
MT Peopleslayer Β· 7,935 max
01Fargan62%GO!
02Uilnayar48%
03Stupidrichard78%
04Mcdorf71%
05Bwavair31%
NEXT 02 Uilnayarin 3.6s
Off-heal candidates
Hityataking single-target damage off-tank67%

The Complete Heal rotation as a rhythm game: your number comes up, you get the GO!, your cast bar runs, and the landing is graded. Nobody counts to ten out loud anymore.

05
the part nothing else does

It follows you, not one character

Every other log parser points at one selected log file. Change character and it is watching the wrong one until you go and re-point it.

Mimic tails every character's log in your EQ folder at once and follows whoever you are actually playing. The overlays re-aim themselves. Nothing to switch, mid-raid, with eleven people waiting.

Which matters if you fill whatever the raid is short of
Short a healer
Swap to the cleric and the CH chain overlay is already up, already knows your slot, already counting your beat.
Short a shaman
The buff queue re-aims β€” who still needs Feral Avatar, who has a curse counter waiting to be cured.
On the bard
See which casters are missing Lcea's, and go and stand near them.

It is also why the platform counts people, not character names: plenty of raiders are on a different character by the last pull than the one they zoned in on, and everything β€” attendance, parses, loot β€” has to know those are the same person.

06
through the summer

Ticks, loot, and not missing your shot at it

What the guild got

Attendance records itself at 8:30, 9:30, 10:30 and 11:30 β€” who was actually in the raid at that moment, written down before the live roster is overwritten. Filing the tick stays a deliberate officer action; the record is just there so nobody gets missed, including on the nights we take the last tick early.

Loot is read straight out of guild and raid chat β€” by the time an officer opens the post screen, the drops are already listed and two clicks from being up for bids. (Pasting works too.) Each item comes back tagged πŸ†• NEW if the guild has never seen it and πŸ’Ž ULTRA RARE if it has dropped once and sits in the bottom quarter of that boss's table β€” checked against our own history and the drop tables, not somebody's memory.

What had to exist

The live raid roster is overwritten every few seconds and pruned within the hour, so who was there at 8:30 genuinely cannot be recovered at 9:30. It has to be captured at the moment or it is gone β€” that is why this is a scheduled job and not a query.

Bids are sealed: encrypted at rest and readable only by the bot, so nobody can see what anyone else put in β€” including whoever is running the auction.

πŸ”Š You will hear it
β€œLoot posted β€” five items, bidding for two minutes.”
1:52Crys`Va Mask
1:52Shadowsong CloakΓ—2
1:52Spell: Transon's Elemental Renewal
1:52Spell: Sha's Advantage

Mimic says it out loud and puts the countdowns on screen. Two minutes is not long when you are mid-fight, tabbed out, or not reading chat β€” this way the window reaches you anyway, and nobody misses their shot at a bid.

πŸ’° And bid without leaving the game

The bid box is on the dashboard, next to the parse. Your characters come from OpenDKP, your DKP balance is right there, and it remembers what the item last went for and what you bid last time.

Which matters when the auction opens while you are tanking. No alt-tab hunt for a website, no working out whether you can afford it.

07
18 July 2026

And then: not breaking it

What the guild got

Raids happen three nights a week at a fixed time. Something that breaks at 8pm on a Wednesday does not stop the raid β€” the guild raided for years without any of this β€” but every convenience that fails becomes hand-work for the people already spending their evening running the night. They volunteer their time; the platform's job is to never hand it back to them broken.

What had to exist

0 tests over 0 files, a golden-log fixture that replays real combat through the parser, and a deploy freeze that blocks pushes during the raid window.

Plus a kill switch: the whole fleet of agents can be paused from a web page, without anyone updating anything.

Where it stands

Live numbers

Read from the database when this page was built. Nothing here is illustrative.

0
A raid night
raiders on average since Luclin opened Β· biggest 67
0
Most parsers in one night
people uploading β€” their logs merge into one record
0
Raids this expansion
on the DKP books
0
Fights recorded
since the platform started in April
0.0M
Damage parsed
since April
0
Distinct bosses
since April
0
PvP broadcasts captured
kills and assists on Zek
0
/who sightings
0
Combat snapshots
every few seconds, per fight
0
Buff landings tracked
0
Parse uploads merged
many people, one record per fight
0
Characters known
0
Discord members

All of it is optional, and all of it is yours

Turn logging off and nothing is collected. Exclude a character and it stops counting. Every line of this is open source, and the privacy page says plainly what is kept and who can see it.