Facility Inspection Analytics Dashboard
A Power BI dashboard over 50M+ rows of facility inspection data, covering 50,000+ licensed care facilities in California.
Reports that took weeks now refresh on demand.
BI, analytics & automation
50M+rows in a Power BI dashboard I built at CDSS. Reports that took weeks now refresh on demand.
Research Data Analyst II at the California Department of Social Services
Open to full-time, part-time and contract roles.
ResumeGitHub (opens in a new tab)LinkedIn (opens in a new tab)
AM Day shift
50M+
Inspection results for four licensing programs lived in extracts too large for Excel. Reports leadership asked for took weeks or months to assemble by hand.
PM Night shift
57%
After the day job I build sites for small businesses, apps of my own and agents on my own servers.
01 State work
I work in the Quality Management Bureau of the Community Care Licensing Division. These systems are internal, so I describe them in words, with no screenshots or data.
I start with the question someone needs answered, then work back to the data and the people who enter it. Most of my best dashboards began as a fix to how information gets collected.
A Power BI dashboard over 50M+ rows of facility inspection data, covering 50,000+ licensed care facilities in California.
Reports that took weeks now refresh on demand.
An intake form, tracking list and management dashboard that replaced a folder of Excel files for the Administrator Certification Bureau.
One digital workflow instead of scattered spreadsheets.
Daily view of required incident reports across residential care providers, for the unit that oversees them.
Delivered on the requested timeline.
Teaching my bureau to work in the division's new Salesforce licensing system and to pull their own data with reports and dashboards.
02 After hours / MorielLabs
Sites for small businesses in the San Gabriel Valley, a few apps of my own and an open-source Claude Code plugin.
A small slice of what I've built. Most of my work is for the state, for clients or for my own use, and almost none of it is public.
CTC Mobile Services
Booking site for a mobile Clean Truck Check emissions testing service in the San Gabriel Valley.
Next.js, TypeScript, Tailwind CSS
See the build: CTC Mobile ServicesEligh's Auto Detailing
Booking, payments and an admin dashboard for a hand detailing business in the San Gabriel Valley.
Next.js 16, TypeScript, Tailwind CSS v4
See the build: Eligh's Auto DetailingIndustry SGV
Mobile-first local hub for the City of Industry: jobs, food, a business directory and events.
Next.js, Convex, TypeScript
See the build: Industry SGVCampSnag
Texts campers when a sold-out campsite opens up, with a direct link to the open dates.
Next.js, TypeScript, Prisma
See the build: CampSnagAlso: You've Got Claude. Open-source Claude Code plugin that plays AOL Instant Messenger sounds on session, task and subagent events. Source on GitHub(opens in a new tab)
I set up self-hosted agent platforms on my own servers and wire them into the apps I already use.
Telegram, WhatsApp and Discord
I ran it from its Clawdbot and Moltbot days: four agents on AWS EC2, each in its own workspace, with Docker sandboxes, Caddy and Tailscale.
Talks overRead more about OpenClaw
Nous Research's Hermes Agent on my VPS, with a Telegram and Discord gateway, scheduled jobs and about ten MCP servers for market data, SEC filings and my YouTube notes.
Talks over
My own platform on the Claude Agent SDK. Seven agent personas share LightRAG memory over PostgreSQL with pgvector, plus scheduled jobs and a web dashboard.
Talks overRead more about Jimmy
A small Go agent on its own server that answers on Telegram.
Talks over
A Meta AI bot I set up and configured.
Everything after hours on this page started as a Claude Code session. I logged 563 of them in five weeks this year. I also run OpenAI Codex and Factory's Droid as harnesses, and pick whichever fits the job.
I learned to build software by directing AI agents. I write the plan, make one change at a time, read every diff, and test before anything ships.
Tools I use at work and after hours.