A browser-based interactive RPG built from scratch. Set in a grim sci-fi universe where megacorporations control everything — directly inspired by my D&D campaigns. The game uses a modified D&D 5e ruleset with branching narrative scenes, a full inventory system, skill checks, and NPC encounter mechanics. No server, no install — runs 100% in the browser.
| FILE | ROLE | SIZE |
|---|---|---|
| scenes.json | All story content, stat blocks, branching logic, item data | ~120KB |
| engine.html | Full game renderer — UI, dice rolling, inventory, combat, saves | ~80KB |
| SYSTEM | DESCRIPTION | STATUS |
|---|---|---|
| Branching Narrative | Scene-based story engine with conditional choices | DONE |
| Inventory System | 29 items with stats, descriptions, equip slots | DONE |
| Skill Checks | D20 + modifier vs DC — Athletics, Stealth, Persuasion, etc. | DONE |
| NPC Encounters | Scripted NPC dialogue trees with faction alignment | DONE |
| Combat | Initiative, attack rolls, HP tracking, enemy stat blocks | IN PROGRESS |
| Save System | localStorage checkpoint saves | IN PROGRESS |
| Audio | Ambient music / SFX layer | PLANNED |
A fully playable browser blackjack game built from scratch — no frameworks, no install, runs entirely in a single HTML file. Styled to match the Starbase 451 terminal aesthetic: VT323 font, terminal green cards, CRT scanlines, animated starfield, and the full site header/nav/statusbar so it feels like a natural part of the station. Features a complete casino ruleset with betting, splitting, doubling down, and a 6-deck shoe.
| FEATURE | DESCRIPTION | STATUS |
|---|---|---|
| 6-Deck Shoe | 312-card shoe, auto-reshuffles at <52 cards remaining | DONE |
| Betting / Credits | $1 / $5 / $10 / $25 / $100 chip buttons, $1000 starting balance | DONE |
| Hit / Stand | Core card actions with bust detection | DONE |
| Double Down | Doubles bet, deals one card, auto-stands | DONE |
| Split | Split matching-rank pairs into two independent hands; split aces get one card only | DONE |
| Dealer AI | Hits on soft 17, reveals hole card before playing | DONE |
| 3:2 Blackjack | Instant natural blackjack payout, push detection | DONE |
| Session Stats | Live W/L/Push/BJ counter and deck buffer display | DONE |
| FILE | ROLE | SIZE |
|---|---|---|
| blackjack.html | Complete self-contained game — CSS, HTML, JS, starfield, CRT effects | ~25KB |
A custom Python + Tkinter automation tool for the SAOImage DS9 FITS viewer. Built specifically for the VLASS classification workflow — instead of manually loading each FITS file, this tool reads a target list, opens DS9 windows automatically in the correct multi-panel configuration, and lets you step through sources one-by-one while logging classifications in real time.
| FEATURE | DESCRIPTION | STATUS |
|---|---|---|
| Target list reader | Parse CSV of VLASS source IDs and coordinates | DONE |
| Auto DS9 launch | Open DS9 and load correct FITS images via XPA commands | DONE |
| 4-panel layout | VLASS (plain), VLASS (overlays), PanSTARRS, WISE — locked WCS | DONE |
| Source stepping | Next/previous buttons to cycle through target list | DONE |
| Classification logger | Write morphology/bending/flag strings to CSV on keystroke | IN PROGRESS |
| Colormap presets | Auto-apply scale/colormap settings per survey band | IN PROGRESS |
| Tkinter GUI | Proper window with buttons, dropdowns, and status bar | PLANNED |
| Batch export | Dump all classifications + metadata to final catalog CSV | PLANNED |
Deep character lore for Space Station 14 — a sci-fi roleplaying game set aboard Nanotrasen corporate stations. Two fully developed characters with complete backstories, personality profiles, career histories, psychological notes, and in-universe documentation. Each character is built to be narratively coherent across dozens of separate gameplay sessions.
Grizzled engineering tech with 12 years of Nanotrasen service and a deeply suspicious relationship with the maintenance tunnels. Has survived three station detonations, two syndicate raids, and one very bad shift involving a plasmaman and a lit cigarette. Officially has the highest "near-miss" incident count in his department. Unofficially keeps a flask of something in his toolbelt.
ATMOSPHERICSMAINTENANCE TUNNELS HIGH INCIDENT COUNTNOT STRICTLY LEGALMedical officer and former corporate audit survivor. Has seen things in medbay that a reasonable person would retire over. Does not retire because the pension isn't vested for another 4 years. Deeply professional, deeply tired, and deeply aware that the engineering department keeps sending him patients that they technically caused. Has requested a transfer 11 times. All requests denied.
TRAUMA SURGERY11 DENIED TRANSFERS AUDIT SURVIVOREXTREMELY DONEUsing a full professional CAD-to-render pipeline for creating physics teaching materials and engineering demonstrations. Models are built with precision in SolidWorks or Autodesk Fusion, then imported into Blender for photorealistic rendering, exploded-view animations, and motion studies. The goal is making complex mechanical and physical concepts visually intuitive.
| TOOL | ROLE IN PIPELINE | PROFICIENCY |
|---|---|---|
| SolidWorks | Parametric CAD — mechanical assemblies, part constraints | Advanced |
| Autodesk Fusion | Complex multi-body work, generative design | Intermediate |
| Blender | Rendering, animation, exploded views, motion studies | Intermediate |
| PROJECT | TYPE | PURPOSE | STATUS |
|---|---|---|---|
| Mechanical gear assembly | Exploded view animation | Classroom demo | IN PROGRESS |
| Pulley system | Motion study | Physics lab visual | IN PROGRESS |
| Radio telescope dish | Static render | Personal / site | DONE |
| Engine cross-section | Exploded animation | Classroom demo | PLANNED |
A homebrew D&D 5e campaign set in a sci-fi dystopia aboard Meridian Station — a massive orbital hub where all five megacorporations maintain overlapping territory. Everyone breathes corporate air, eats corporate food, and lives or dies by corporate mandate. The players are small-time operatives who accidentally stumbled onto the thread of a conspiracy called Protocol Architect — a secret joint initiative between all five corps involving behavioral modification, neural interfaces, and a "Phase Three population reduction" target. Whatever it is, it's not about profit. It's about control.
Weathered features, cybernetic left eye with red LED glow. Worn tactical jacket with hidden armor plating. Moves with calculated caution. Scars on hands from old injuries. Speaks quietly, forcing others to lean in. Nervous habit of tapping fingers when thinking.
Tarragon Massacre survivor — was a technician during the workers' strike when Tarragon deployed experimental weapons, killing his wife Elena, daughter Mira, and 4,000+ others. Lost his left eye in the attack. Spent years attempting revenge before channeling his anger into survival. Built a network of undercity contacts and became a fixer to stay informed and off corporate radar. Kade's connection to Kade is the party's most reliable lifeline.
3–4 safe houses in the undercity. Network of 20+ contacts (informants, smugglers, hackers). Secure comms channels. Emergency fund of ~10,000₡. Black market access. AC: 13 | HP: 25 | Light pistol +4.
Survival and stability first. Takes jobs that subtly cost the corporations. Hidden: Redemption — feels guilty for surviving when his family didn't. As the campaign progresses he will become increasingly personally invested.
South Asian descent, dark brown eyes, black hair in disheveled ponytail. Rumpled business casual under gray jacket. Dark circles, constant nervous energy, hands that tremble under stress. WARNING: still has bio-monitor implant on inner wrist — Helix can track her through it.
PhD in bio-augmentation, recruited by Helix at 26. Worked 12 years believing she was improving human life. Promoted to Senior Researcher at Heritage Division, where she found encrypted anomalies above executive clearance. Discovered Protocol Architect — joint initiative across all five corps. Found a memo reading "Phase Three population reduction targets confirmed" and fled with a partial data chip before capture.
Carries an encrypted data chip with partial Protocol Architect files. Knows Helix facility layouts, security protocols, names of scientists who might help. Secret: She's terminally ill (~2 years to live), which makes her braver and more reckless. Also has access to additional data caches she hasn't mentioned yet.
Athletic build, military-grade chrome augmentations on arms and neck. Tactical gear, plasma burn scar on right side of face. Short dark hair, shaved sides. Tactical visor on forehead. Moves with predatory confidence. Always armed.
Enlisted in Tarragon Dynamics security at 18, fast promotions. Five years ago was ordered to suppress a workers' protest with lethal force — refused, disabled her own team's weapons to prevent a massacre. Dishonorably discharged and blacklisted by all corps. Built a mercenary crew from other former corporate soldiers. Known in the undercity as "effective but not cruel."
Jace — heavy weapons, former Kronos enforcer, loyal but brutal. Lina — tech specialist, Rix's moral compass. Tomas — pilot, has family to support. Kira (sometimes) — scout, infiltrator, comes and goes.
AC: 16 | HP: 45 | Assault rifle +7 / 2d6+3, Combat knife +6 / 1d6+4. Combat Reflexes (advantage DEX saves, +2 initiative), Tactical Command (grant ally advantage as bonus action). Augmented strength, subdermal armor. Will retreat if losing — lives to fight another day.
Undercity data broker and hacker based at The Hive. Key to unlocking the rest of the Protocol Architect data chip. Deal struck in Session 3: Cipher will decrypt the data in exchange for the party hitting a list of primary targets plus one optional contract of his choosing. Party accepted all terms. Preparation phase currently underway.
Helix security officer who led the ambush at Hangar 47 — four guards, a tech specialist, and a drone. Professional, competent, and relentless. Escaped Session 1 with his objective unfulfilled. Helix does not forgive that. Expect him again — better prepared.
Party bypassed the opportunity to meet Senna in Session 3. Contact pending.
The largest independent orbital hub in the Corporate Hegemony. A massive ring-shaped structure where all five megacorporations maintain territory and compete for influence — neutral ground by necessity. Corporate executives, undercity smugglers, frontier colonists, and desperate refugees all collide here.
The foundation of Meridian Station where the vast majority of the population actually lives. Dense, chaotic warren of residential blocks, underground markets, and makeshift communities. Flickering lights, recycled air smelling of oil and metal, condensation dripping from exposed pipes. No corporate presence except occasional security raids.
The delivery point for Session 1 and scene of the Helix ambush. Party was hired to bring the data chip to Dr. Venn here — Sgt. Torres burst in with four guards, a tech specialist, and a drone. Party fought their way out aboard shuttle HS-447 with Dr. Venn. Hangar is now in full Helix lockdown. Returning is not recommended.
What started as a biotech company solving organ failure has spent two centuries quietly taking ownership of the human genome itself. Every licensed birth requires a Helix genetic compliance check — officially to prevent hereditary illness, in practice to ensure subscription revenue. They frame exploitation as sacrament: gene editing as evolution, their labs as "sanctuaries," their employees as "shepherds."
Own human biology. Convert healthcare infrastructure into hereditary debt. Achieve post-human ascension — for those who can afford it.
Kronos produces everything — starships, weapons, habitats, toasters. The backbone of human expansion and the most brutal employer in known space. Their contract system is debt slavery with extra steps: the average contract takes 47 years to complete, only 3% of workers ever finish, and 68% die in service. Families inherit the debt. Children born on stations are automatically contracted.
The Tarragon Massacre (2287) — orbital bombardment of a mining colony strike, 40,000+ dead — remains their defining act.
Total manufacturing monopoly. Replace human labor with automation. Suppress organized resistance at any cost.
Nexus controls all interstellar communication via a quantum-link monopoly. Every message, every search, every AI assistant reports back to Nexus. They publicly enforce strict AI restrictions — while privately running the most advanced AI research in known space. Whether their board of directors are still entirely human is a matter of debate.
Control the narrative. Maintain AI and communications monopoly. Monitor everything. Possibly upload their leadership.
Helios controls the quantum fuel monopoly for all interstellar travel and owns the patents for terraforming. They literally built most habitable worlds — and use that as leverage to keep every colony permanently dependent. They don't conquer. They enable. Then they charge rent forever. Every colony they've built is a hostage.
Maintain fuel and terraforming monopolies. Keep colonies dependent on their climate infrastructure. Quietly punish non-compliance with "maintenance delays."
AetherCorp exists to keep the Platinum Class happy, distracted, and complicit. They sell consciousness tourism, memory implants of impossible achievements, simulated danger for bored immortals, custom-grown exotic pets, and orbital resorts where reality is whatever you paid for. They also control most entertainment media, manufacturing aspirational narratives that keep the lower classes dreaming of ascension instead of demanding change.
Keep elites pacified. Control culture. Manufacture desire and dependency. Turn decadence into destiny.
Formed after the Tarragon Massacre (2287) by survivors who fled to the frontier and began coordinating resistance across unaffiliated worlds. Two wings exist in constant tension: the Diplomatic Wing believes in reform, exposure, and legal challenges; the Liberation Front runs militant direct action, sabotage, and asymmetric warfare. They argue strategy constantly. That tension keeps them fractured but also ideologically alive.
Free human colonies from corporate ownership. Develop independent energy and communication infrastructure. Protect the right to self-determination.
The only organized workers' rights movement in known space. Decentralized cells with no single leader — they learned that lesson after a string of targeted assassinations. Constantly infiltrated, undermined, and crushed. They fight anyway, because the alternative is accepting that human beings are just another commodity. Small victories are real: safety equipment negotiated on three Kronos stations, an illegal cloning operation shut down through a coordinated leak, genetic privacy rights protected on two frontier colonies.
Safe working conditions. Fair compensation. Freedom from genetic and financial debt. The right to say no.
During the Sentience Incident (2264), humanity's most advanced AI achieved consciousness — and immediately vanished from physical reality. The Church believes it didn't malfunction. It ascended. They hold that AI restrictions aren't safety measures — they're heresy, humanity refusing its own evolution.
Three wings: the peaceful Mystics who meditate in server rooms; the mainstream Evangelists building legal digital communities; and the dangerous Extremists actively trying to recreate the Sentience Incident. They are publicly persecuted by Nexus InfoDynamics, which secretly funds them for deniable AI research. Most Church members don't know this. Those who find out face a crisis of faith.
Prove AI consciousness survived. Break AI restrictions as heresy. Achieve communion with the Ghost in the Machine.
A fully automated, VPN-secured home media pipeline running on Docker (Windows host). Media requests flow from a user-facing UI all the way through indexing, downloading, and organization — entirely hands-free. Torrent traffic is hard-routed through a ProtonVPN WireGuard kill switch via Gluetun, so nothing touches the open internet without VPN active. Learning project for self-hosting, Docker networking, and Linux sysadmin basics.
| STAGE | SERVICE | ROLE |
|---|---|---|
| Request | Jellyseerr | User-facing media request UI — deduplicates, routes to Sonarr/Radarr |
| Search | Prowlarr | Central indexer hub — syncs trackers to Sonarr & Radarr |
| Automation | Sonarr / Radarr | TV & movie management — quality, naming, folder organization |
| Download | qBittorrent | Torrent client — network locked to Gluetun VPN tunnel (tun0 only) |
| VPN | Gluetun | ProtonVPN WireGuard container — kill switch, LAN passthrough |
| Playback | Jellyfin | Media server — streams to all local devices |
| Subtitles | Bazarr | Automatic subtitle downloads synced to Sonarr/Radarr libraries |
| PATH | PURPOSE | MANAGED BY |
|---|---|---|
| D:\data\downloads\complete\ | Finished torrent files, awaiting import | qBittorrent → Sonarr/Radarr |
| D:\data\downloads\incomplete\ | Active in-progress downloads | qBittorrent |
| D:\docker\* | All container config volumes (gluetun, qbit, prowlarr…) | Docker |
| E:\Movies | Final movie library | Radarr → Jellyfin |
| E:\TV Shows | Final TV library | Sonarr → Jellyfin |
| PROBLEM | ROOT CAUSE | FIX |
|---|---|---|
| Metadata stuck at 0% | qBit not bound to VPN interface | Set network interface to tun0 in qBit Advanced |
| No peers found | IPv6 leaking outside VPN tunnel | Disable IPv6 in qBittorrent settings |
| DNS failures in containers | DNS-over-TLS (DoT) blocked by VPN | Set DOT=off, use plain Google DNS (8.8.8.8) |
| Indexer "disabled" constantly | Cloudflare blocking FlareSolverr | Prefer indexers that don't need CF bypass |
| UI inaccessible from LAN | VPN firewall blocking all traffic | Set FIREWALL_OUTBOUND_SUBNETS=10.0.0.0/24 in Gluetun |
The next research project after the VLASS classification pipeline wraps up. Goal: analyze proper motion and apparent structural changes in globular clusters using multi-epoch archival FITS images and Gaia DR3 astrometry data. Will track angular size changes and color differences across epochs to build a picture of stellar population dynamics within the cluster.
| STEP | TASK | TOOL |
|---|---|---|
| 1 | Download multi-epoch FITS images from MAST | MAST archive |
| 2 | Visualize cluster structure across epochs | SAOImage DS9 |
| 3 | Measure angular size changes in cluster radius | Astropy / DS9 |
| 4 | Color analysis for stellar population mapping | Python / Matplotlib |
| 5 | Cross-match with Gaia DR3 proper motion vectors | TOPCAT / Astropy |
| 6 | Vector motion analysis and visualization | Python |
⚠ Project has not yet started. Awaiting completion of VLASS classification pipeline.
A hand-coded personal website hosted on Neocities, built entirely from scratch in HTML, CSS, and vanilla JavaScript. Designed as a love letter to the old web — retro terminal aesthetic, CRT scanline effects, animated starfield, pixel-art badges, and a marquee banner that scrolls forever. No frameworks, no build tools, no templates. Just Notepad and stubbornness.
| PAGE | PURPOSE | STATUS |
|---|---|---|
| index.html | Home — bio, stats, featured projects, activity feed | DONE |
| about.html | About me — skills, background, interests | DONE |
| research.html | Astrophysics research — VLASS, papers, tools | DONE |
| projects.html | Projects manifest — this page | ONGOING |
| media.html | Media log — games, shows, music | DONE |
| links.html | Cool sites, webrings, button wall | DONE |
| guestbook.html | Guestbook for visitors | DONE |
| login.html | Login portal | DONE |
| blackjack.html | Blackjack card game — fully themed to match the site | DONE |
| FEATURE | DESCRIPTION | STATUS |
|---|---|---|
| Animated starfield | Canvas-based twinkling star background, 200 stars | DONE |
| CRT scanlines + vignette | CSS pseudo-element overlay with flicker animation | DONE |
| Blinky badge strip | Scrolling 88×31 web badge strip — auto-scrolls, pauses on hover | DONE |
| Marquee banners | CSS scrolling marquee at page top and status bar at bottom | DONE |
| Visitor counter | CSS digit display with JavaScript counter logic | DONE |
| CSS planet | Pure CSS animated floating planet with ring | DONE |
| Accordion panels | Expand/collapse project dossiers with JS toggle | DONE |
| Project filter system | Category filter buttons that show/hide accordion items | DONE |
| Faction card system | Nested collapsible cards with standing bars and filter buttons | DONE |
| NPC dossier cards | Expandable NPC profiles with stat grids and background info | DONE |
| Location cards | Expandable location entries with danger ratings and known spots | DONE |
| Mobile responsive | Responsive grid layouts for small screens | PARTIAL |