
Cursed
Listen to a preview, then choose where to listen or save the song.
Frequencies of the Heart · The Heart Hurts
Emo & sad rap artist, visual storyteller, animator, and digital creator. Every frequency I put into the world is a piece of what aches, bleeds, and heals. Welcome to the signal.
Custom artwork, animation, streamer assets, and interactive websites — made to feel like you.

Listen to a preview, then choose where to listen or save the song.
Explore the work. Find a style. Let’s make something for you.

Listen to a preview, then choose where to listen or save the song.
A custom website should feel like you. Explore two live examples of artwork, motion, and useful features working together.
Live website
A black, cream, and red artist website built around an illustrated room. Weather, seasons, and passing clouds change the scene and its lighting.
Interactive demo
An animated landscape with drifting clouds, a moon, and a star-filled sky. Try sunrise, day, sunset, and night, then change the weather yourself.
Have a different idea? Tell me about your brand, the pages you need, and the experience you want to create. Scope and pricing are agreed before work begins.
Custom art, animation, streamer assets, and websites for your next project.
Share your idea. Scope, price, and delivery date are agreed before work begins.
Starting prices are in USD for the scope below. Your final price, usage rights and delivery date are confirmed in your quote before work begins.
An illustration or cover artwork built around your idea and visual style.
Custom badges that give your channel a recognizable identity.
A coordinated static overlay set designed around your channel.
Careful retouching and cleanup that keeps your image looking natural.
A short animated loop or music promo built around your visual direction.
A custom website that feels like your brand and works on phones and desktops.
This is a general estimate, not a guaranteed delivery date. Your project's timing is confirmed with your quote.
Choose an available contact option below.

Listen to a preview, then choose where to listen or save the song.
Find me across the internet 🌐

Listen to a preview, then choose where to listen or save the song.
The signal behind the frequency
TheHeartHz is both a frequency and a wound — the Hz your heart emits when it's breaking, healing, or screaming into the void. I make emo & sad rap music, physical and digital art, animations, music videos, and more. Every piece I create is a pulse of something real.
TheHeartHz stands for the frequencies your heart emits — and yes, it's also a play on The Heart Hurts. Two truths in one signal. 🫀
Customize your site & manage your posts
Choose your artwork, prepare a draft for each platform, then approve the exact caption and media. Pinterest and Instagram publish automatically once connected. TikTok and Reddit stay in your hands.
JPEG images and MP4 videos. The first item sets the carousel crop; use matching proportions.
Review the caption before saving.
AI uses the title, song details or artwork description, and your direction through Cloudflare. Always review the suggestion. Artwork suggestions use your artwork title and description. They are editable drafts. Saving an edit clears approval and its schedule.
No queue loaded yet.
If set, the Media URL above is shown as "after" and clicking the post opens a draggable before/after comparison instead of a plain image.
A YouTube or Vimeo link embeds that platform's player; a direct video file link (.mp4, .webm) plays natively. The Media URL above is used as the thumbnail/poster — for YouTube links with no Media URL set, the video's own thumbnail is used automatically.
The Media URL above is shown first; these appear after it, and clicking the post opens a gallery viewers can arrow or swipe through. Not used together with Video or Before Image.
A tag you add here joins your list for every post. Rename, reorder or remove tags in the Tags card.
Gives this piece its own address, like thehearthz.com/#heartbleed. Letters, numbers and dashes only. Leave blank to use the title; it stays the same if you rename the post later.
Featured pieces are pinned to the top of the portfolio and shown on the home page.
Upload images or videos to your media storage and get a link to paste anywhere — a hero picture, release cover, social preview image, or a post. (The Upload buttons inside the post form do this for you automatically.)
Photos: PNG, JPG, WebP, GIF, AVIF. Videos: MP4 or WebM, up to about 95 MB each. Uploads keep a short random code in the filename, so uploading a new version never overwrites an old one.
Adding, editing, or removing a post saves automatically — no separate save button needed. Just don't close this tab while it says "Saving…". Use the ★ to feature a piece (pinned to the top) and the arrows to change the order; this list shows the same order visitors see.
No posts yet. Add one! 🌸
These are the tags on your posts and the filter buttons on your Portfolio page. Changes save on their own.
Deleting a tag also takes it off any posts that use it. Renaming keeps every post's tag.
Any contact option left blank just won't show a button — fill in whichever ones you actually want to offer.
Shows "2 of 5 slots open" on the page. Leave "in total" at 0 to hide the counter. You update "open" yourself as you take on work.
Choose a public playlist. The compact player stays available while visitors browse. Music starts only when they press play. Clear this field to remove the music bar.
Set the starting prices, scope, turnaround, and revision limits you want to offer. Blank prices show “Custom quote”; blank timing and revisions are agreed with the client.
Add real client feedback with permission. Leave Publish unchecked to keep a draft hidden. Empty testimonials never appear on the site.
Paste the widget embed code as-is (the <div> and <script> tags together). A plain YouTube playlist URL or video ID also still works if you'd rather use YouTube's own player instead.
Design a dark version of your widget (SociableKit lets you pick the theme) and paste it here. Visitors see the one that matches the site's current theme, switching on its own at sunrise and sunset or when they change the theme. Leave either box empty to use the other one all the time.
On the post, click ••• → Embed → Copy Embed Code, then paste it here as-is. You can paste more than one post's embed code to show several.
Find this on your Spotify artist page: Share → Copy Link, then keep just the "artist/…" part. A track or playlist ID (e.g. track/…) still works if you'd rather show one release.
A link to one track still works if you'd rather show a single release.
Leave this blank to show the TheHeartHz logo.
For live weather for everyone, add OPENWEATHER_API_KEY as an encrypted secret in the TheHeartHz Cloudflare Worker. The key below is a private fallback for this browser only. Get one free at openweathermap.org.
How fast the clouds drift across the sky and sink behind the landscape. Lower is faster.
How many clouds are in the sky while it is day (the light theme). The weather adds or removes a few.
The same for night (the dark theme). To see it, set Theme above to "Always Dark". 0 means no clouds; very high numbers can slow older phones.
Clouds are flat when they first appear. Once they have drifted this far they start to narrow at the bottom, as if sinking away from you. A cloud comes on screen at about 1.0 and slips behind the landscape somewhere between 2 and 3. Lower = the pinch starts earlier.
By this distance the pinch has reached its full strength. The further this is from the start, the more gradual the pinch.
How narrow the bottom of a cloud gets at full pinch. 0 turns the pinch off completely.
Soft, see-through banks of mist that float in front of the painting. They fade out before they reach the boy, so he is never covered.
How solid the fog looks. Low is a faint haze; high is thick mist.
Off by default, so the sky always drifts. Tick it to honour that accessibility setting.
A preview is only for you and ends when you reload.
When on, the moon's lit side follows the real moon (new, crescent, quarter, gibbous, full). Off keeps it full all the time.
Whether you need to collect sales tax depends on where you live and how much you sell. Ask an accountant before turning this on. Stripe Tax also needs to be set up in your Stripe account first.
With this on, Stripe is the seller of your downloads: it works out, collects and pays the sales tax or VAT, and deals with disputes and customer-support questions for them. Downloads then check out separately from physical items (Stripe’s rule), and tax is added on top of the price. Turn on Managed Payments in your Stripe Dashboard first (Settings, Managed Payments), give each download a tax code below, and check Stripe’s pricing for the service. Physical items are never part of it.
Make the codes in your Stripe Dashboard (search for “Coupons”). A 100%-off code gives a free order, and digital downloads are still sent.
Music, videos or art drops with cover art and links. They show in the Content Hub, newest first. A future date shows "Coming soon".
Your page: TheHeartHz.com/music/cursed/ · Leave blank to use the title. Keep this name when updating a shared release.
A direct audio file link. It loads only when a visitor presses play.
No releases yet.
Open your last 30 days in PostHog. Preview plays, listening clicks and inquiries are measured separately. Owner visits stay excluded unless you enable Count my own visits. These are website actions, not streaming-service plays.
A link to wherever you sell things (Bandcamp, Etsy, Shopify…). Leave the link blank to hide it.
Everything you've added — posts, tags, commission info, embeds, settings — is stored in one place online. Download a copy now and then so any mistake can be undone.
Restoring replaces everything currently on your live site, and a backup of the current version downloads first. A backup holds your posts and the links to your images and videos, not the media files themselves.
Puts every post and setting on the live site back to the defaults. A backup of your current content downloads first, so you can restore it from the Backup & Restore card above.
Full screen is unavailable in this browser. You can still hide the panels.