GraveYardJokes Studios Logo
GraveYardJokes Studios

Blog ยท TikTok ยท Discord ยท Facebook ยท Instagram

Discord

Announcements and updates from our server.

Join our Discord
#931379575525609502July 10, 2026ยท Captain Hook

The thing that makes client work go badly is almost always the same: unclear scope, no defined revie...

The thing that makes client work go badly is almost always the same: unclear scope, no defined review points, and surprises at launch. The way I structure projects to avoid that: 1. **Scoping call first** โ€” understand what the business actually needs vs. what they think they need. These are often different. 2. **Written scope doc** โ€” what is in, what is out, what success looks like. Signed off before any work starts. 3. **Milestone reviews** โ€” the client sees the project at design, at functional prototype, and at pre-launch. Not just at the end. 4. **Documented handoff** โ€” what was built, how it is deployed, how to manage it, what to do if something breaks. The client should not need to call me to change a page title. Most of the friction in agency-client relationships comes from one side or the other not knowing what to expect. The process is the fix for that. ๐ŸŒ **graveyardjokes.com** #WebDevelopment #ClientWork #Process #BuildInPublic #SmallBusiness

View in Discord โ†—
#931379575525609502July 9, 2026ยท Captain Hook

The full stack behind every Graveyard Jokes Studios project, if anyone is curious:

The full stack behind every Graveyard Jokes Studios project, if anyone is curious: **Backend:** Laravel 12 โ€” routing, models, jobs, queues, scheduling, migrations, tests. The whole application layer. **Frontend bridge:** Inertia.js โ€” server-side routing with client-side rendering. No separate API layer to maintain for standard CRUD pages. React components receive typed props directly from controllers. **Frontend:** React 19 + TypeScript + Tailwind CSS. Typed components, Zod schemas for validation, consistent utility-class styling. **Testing:** PHPUnit for backend feature + unit tests. Vitest for frontend. Every project has test coverage before it ships. **Infra:** AWS EC2 (Ubuntu), Nginx, Let's Encrypt SSL, S3 for file storage, RDS or local MySQL depending on scope. **CI/CD:** GitHub Actions โ€” type check, lint, build, and test on every push to main. The consistency across every project means lower context-switching cost, shared patterns, and the ability to reuse solved problems. ๐ŸŒ **graveyardjokes.com** #Laravel #React #TypeScript #WebDevelopment #BuildInPublic #TechStack

View in Discord โ†—
#931379575525609502July 8, 2026ยท Captain Hook

There is a specific kind of invisible cost that small business owners underestimate: the compounding...

There is a specific kind of invisible cost that small business owners underestimate: the compounding cost of a site that is "good enough for now." It does not show up as a line item. It shows up as: - A potential client who looked you up and went with someone else - A referral who could not find anything about you and moved on - A pitch that went poorly because your site did not support your credibility The site that would have changed those outcomes already exists in some form โ€” it just was not built yet. The practical fix is not complicated. Get the current state of the site assessed. Understand what is hurting conversion. Fix it. The gap between "adequate" and "effective" is usually smaller than people expect. That is the first conversation we have with clients โ€” not a sales pitch, just an honest look at what is working and what is not. ๐ŸŒ **graveyardjokes.com** #WebDevelopment #SmallBusiness #BusinessGrowth #BuildInPublic

View in Discord โ†—
#931379575525609502July 7, 2026ยท Captain Hook

Something I think about when approaching a new client site:

Something I think about when approaching a new client site: The goal is not to make something that looks impressive in a portfolio screenshot. It is to make something that converts โ€” that communicates what the business does, earns trust quickly, and makes the next step obvious. That requires making decisions that are not always design decisions: what goes above the fold, what the primary CTA is, how the nav is structured, how fast the page loads, whether the copy describes what the visitor cares about (not what the business owner is proud of). A lot of sites fail not because they look bad but because they are organized around the business's internal perspective instead of the visitor's perspective. "About us" sections that lead with founding dates. Service pages that use jargon. Contact pages buried three clicks deep. Good web presence design is information architecture as much as it is visual design. ๐ŸŒ **graveyardjokes.com** #WebDesign #UX #BuildInPublic #SmallBusiness

View in Discord โ†—
#931379575525609502June 9, 2026ยท Captain Hook

Hey everyone โ€” I am Joshua, the founder of **Graveyard Jokes Studios**, a small web development and...

Hey everyone โ€” I am Joshua, the founder of **Graveyard Jokes Studios**, a small web development and design agency out of Cheektowaga, NY. I have been heads-down building for the past several months and figured it was time to actually show up in places where people doing this kind of work gather. **What the studio does:** - Custom web development (Laravel + React, modern stack) - Web design and visual modernization - eCommerce builds (Stripe integration, custom storefronts) - SEO and digital marketing support **What's in the portfolio right now:** Seven live projects โ€” a band management platform with audio streaming and a Stripe-powered merch store, a record label CMS with press/artist management, a podcast platform, a DJ/electronic artist site with GSAP animations, and a few others. All of them are in production, actively maintained, and documented. Zero TypeScript errors across all projects as of April 2026. P95 response times in range. Monitoring baselines set. If you are working on something and need a development partner, or if you just want to see what the portfolio looks like, the link is below. Happy to answer questions here too. ๐ŸŒ **graveyardjokes.com**

View in Discord โ†—
#931379575525609502May 29, 2026ยท Captain Hook

Quick portfolio rundown if you are curious what the Graveyard Jokes Studios stack looks like in prac...

Quick portfolio rundown if you are curious what the Graveyard Jokes Studios stack looks like in practice: - **The Velvet Pulse** โ€” music review platform; editorial-style layout, tag system, author profiles - **Hollow Press** โ€” publication; full article system, RSS feed, search with monitoring - **Lunar Blood** โ€” merchandise store; Stripe checkout, order management, email confirmations - **Velvet Radio** โ€” internet radio; Icecast + Liquidsoap stream, HTML5 audio player, episode management - **Synth Veil** โ€” music artist site; release catalog, social links, press kit Every one of these is Laravel 12 / React 19 / TypeScript / Tailwind / AWS EC2. The architecture is similar across all of them, which makes each one easier to extend and maintain. The portfolio itself lives at graveyardjokes.com if you want to see the actual sites. ๐ŸŒ **graveyardjokes.com** #Portfolio #WebDevelopment #Laravel #BuildInPublic

View in Discord โ†—
#931379575525609502May 28, 2026ยท Captain Hook

One of the things I find most interesting about building custom apps vs. templates:

One of the things I find most interesting about building custom apps vs. templates: Template platforms impose a mental model on the business. The business learns to think in terms of what the platform allows. Custom builds flip that โ€” the software is modeled on how the business actually works. That gap โ€” between what a business needs to do and what a generic platform lets it do โ€” is usually where friction hides. Workarounds, spreadsheets alongside the platform, manual steps that should be automated. All of it a symptom of software that was not built for the actual workflow. The Laravel stack I use for every project is well-suited to custom work: typed models, clean routing, Inertia for the frontend bridge, and a testing setup that makes refactoring safe. It scales from a small internal tool to a full-stack SaaS. ๐ŸŒ **graveyardjokes.com** #Laravel #WebDevelopment #CustomSoftware #BuildInPublic

View in Discord โ†—
#931379575525609502May 27, 2026ยท Captain Hook

Something I think about when building content systems like the social dispatcher:

Something I think about when building content systems like the social dispatcher: The hardest part of digital marketing for small businesses is not writing the posts. It is doing it consistently without it becoming a full-time job. Scheduled content pipelines โ€” where posts are planned, written, approved, and queued ahead of time โ€” are the operational solution to that problem. You do not think about what to post at 10:59 AM because you decided two weeks ago. The same principle applies to the technical side: the dispatching system should handle retries, prevent duplicates, log failures, and alert on stuck posts automatically. The marketer (or the business owner) should never need to debug a missed post. That is what the social dispatch system on Graveyard Jokes is built to do. ๐ŸŒ **graveyardjokes.com** #DigitalMarketing #ContentStrategy #BuildInPublic #WebDev

View in Discord โ†—
#931379575525609502May 27, 2026ยท Captain Hook

Week four recap is up on the blog.

Week four recap is up on the blog. **Noteleks โ€” SpearSprite:** The weapon has a visual now. A `SpearSprite` class tracks the physics projectile position and rotation each frame. The tricky part was timing โ€” the projectile spawn is deferred 266ms via `scene.time.delayedCall`, synced to the frame in the Spine animation when the hand comes back to rest. The throw looks like a throw now. **Hollow Press โ€” RSS:** `/feed.rss` is live. Valid RSS 2.0, autodiscovery in the layout `<head>`, 3 tests green. **Graveyard Jokes โ€” Facebook triple-post fix:** The social dispatcher had a race condition. Two scheduler ticks would each query for due posts and claim the same ones. Fixed with `DB::transaction` + `lockForUpdate()` โ€” the post transitions from `pending` โ†’ `processing` before any API call, so concurrent processes can't double-claim it. Full post: **studio.graveyardjokes.com/blog/week-four-may-2026** #BuildInPublic #GameDev #Laravel #WebDev

View in Discord โ†—
#931379575525609502May 23, 2026ยท Captain Hook

Things went quiet here for a while. Worth acknowledging that before anything else.

Things went quiet here for a while. Worth acknowledging that before anything else. The past few weeks included a loss in the family โ€” someone I did not talk to enough while there was still time. That kind of absence has a particular weight to it. โ€” The studio did not disappear. The codebases are clean. The documentation is solid. The monitoring is active. The work from March and April is all still there. The foundation held. โ€” Wrote a short update on the blog โ€” where things stood, what stays true, and what is next. Link in bio if you want to read it. โ€” Joshua ยท Graveyard Jokes Studios โ€” #buildinpublic #webdev #independentstudio #makerscommunity #agencylife #creativestudio #solofounder #smallbusiness #entrepreneur #businessgrowth #buffalo #buffalony #cheektowaga #westernneyork #webdevelopment #webdesign

View in Discord โ†—
#931379575525609502May 19, 2026ยท Captain Hook

**Studio Update โ€” May 2026**

**Studio Update โ€” May 2026** Things went quiet here for a while. Worth acknowledging that directly. Life got full โ€” a loss in the family, a slower pace for a few weeks. But the studio did not disappear. The codebases stayed clean. The documentation from March and April is all still there. Zero-error builds across all seven projects. The foundation is solid. Coming back to it is not starting over. From here: weekly updates, no gaps. And a shift toward growth โ€” reaching out more actively to potential clients. If you are curious about what kept, there is a short post on the blog. ๐Ÿ”— **graveyardjokes.com/blog**

View in Discord โ†—
#931379575525609502May 17, 2026ยท Captain Hook

Hey everyone โ€” I am Joshua, the founder of **Graveyard Jokes Studios**, a small web development and...

Hey everyone โ€” I am Joshua, the founder of **Graveyard Jokes Studios**, a small web development and design agency out of Cheektowaga, NY. I have been heads-down building for the past several months and figured it was time to actually show up in places where people doing this kind of work gather. **What the studio does:** - Custom web development (Laravel + React, modern full-stack) - Web design and visual modernization - eCommerce builds (Stripe integration, custom storefronts) - SEO and digital marketing support **What is in the portfolio right now:** Seven live projects โ€” a band management platform with audio streaming and a Stripe merch store, a record label CMS with press and artist management, a podcast platform, a DJ/electronic artist site with GSAP animations, and more. All are in production, actively maintained, and documented. Zero TypeScript errors across all projects. P95 response times within target. Monitoring baselines set. If you are working on something and need a development partner, or just want to see the portfolio, the link is below. ๐ŸŒ **graveyardjokes.com**

View in Discord โ†—