Every push, in plain language, with the reasoning. If a change doesn't have a why, it doesn't ship.
August 19, 2026
arnd.app, everywhere
Feature
- The site lives at arnd.app now. Every address the project publishes, canonical links, share previews, the sitemap, the app's legal and crash-report links, the applicant email, moved to the short domain in one sweep: 41 references across 22 files, zero left behind.
- All three QR codes were regenerated to encode the short address and re-proven against it. Shorter address, simpler code: the squares got chunkier, which scans better from across a room.
- Photos of the old codes keep working forever: the vercel.app address still serves and simply hands visitors to the same site.
Why: arnd.app/fans is an address you can say out loud across a bar, and the handle promise on the signup pages, arnd.app/@you, now names a domain we actually hold. Short enough to speak is the whole point of having bought it.
Packed for the App Store
Docs
- The submission guide now carries the whole store listing ready to paste: name, subtitle, keywords, promotional text, and the full description, in the site's own voice.
- The privacy declaration was corrected before it could mislead: check-ins store the reported location point per account, that is what makes verified attendance real, so location is declared as linked data. Saying otherwise to Apple would have been false.
- One new step on the list: allow arnd.app in Supabase's redirect settings, because password-reset emails now point at the short domain.
Why: TestFlight is the next stop, and review goes smoothest when every answer is already written down and every answer is true. The location correction matters most: a privacy label is a promise to users, not paperwork.
The desk can no longer die silently
Fix
- The desk broke again, the same way as before: an escaping mistake in how the page's code is generated produced invalid JavaScript, and the whole page died without a word. The broken line is fixed, and rewritten in a form that cannot hit that trap at all.
- The check that was supposed to catch this class of bug was checking a slightly wrong version of the page, so it approved code that then failed in a real browser. It is now a permanent test that processes the page exactly the way a browser does, and it provably catches both past breakages.
- The page also tells you when it is broken now: a tiny separate guard survives even when the main code dies, and shows what happened, in plain words, with the reassurance that it is our bug and not your key. Blank staring is retired.
Why: This page has now failed twice by dying with no message, and both times the person at the keyboard was left to suspect their own key. A tool you rely on owes you a straight answer when it is broken, and a test suite owes you the truth about what will actually run.
Tips will never carry a percentage
Feature
- The future fee model changed before it ever charged a cent: tips are no longer 5%, they are never a percentage at all. When tipping moves in-app, the fan covers payment processing plus a flat amount capped in writing at 25 cents, both shown before they send, and the artist receives every dollar of the tip.
- The $10 example on the fees page now ends the way it starts: $10 sent, $10 received, today through the artist's own CashApp, Venmo, or PayPal, and later in-app too.
- Processing fees were never ours and never hidden: the fees page now links the payment networks' own published rates (Stripe, Cash App, Venmo, Apple) so every number can be checked at the source.
- Ticketed shows stay at 10% and venue bookings at 15%, both still ceilings, both still announced on the fees page before anything changes.
Why: A tip is a gift from someone who watched you play, and percentages punish the artists who succeed: 5% of a generous night is real money taken from a gift. A flat few cents covers the cost of moving the money and nothing more, and 'every dollar reaches you' is a promise that stays true at any size.
A suggestion box, with a person on the other end
Feature
- New page at /feedback: ideas, bugs, rooms that deserve more people, music we are missing, or anything else. Name, email, and the message itself; topic chips and the rest are optional. The stamp on success says what happens next: HEARD.
- Every note lands on the applications desk in its own card, full text, topic, and sender, with the same Remove control as everything else. Each note is its own row, so one person can send ten ideas and each is handled on its own.
- The box is linked from every marketing footer, and from Help inside the app: Send an idea.
Why: The fans form already proved that the open box collects the best information we get, but it only asked people who were signing up. This is the same door for everyone else, and it keeps the promise that made the first box work: a person reads every one.
Placeholder text you can actually read
Fix
- On iPhones, the grey example text inside form fields was nearly invisible, dark grey on a dark background, because the site never told the browser it was a dark design. It does now, and placeholder text is pinned to a readable grey on every form, the applications desk included.
- Autofilled fields no longer flash white over the dark inputs when the browser fills in your email.
Why: A form you cannot read is a form you do not fill in. The bug never showed on the desktop browsers we tested in, which is exactly why it survived until someone looked at a phone.
Remove a row from the desk itself
Feature
- Every row on the applications desk now has a Remove button, so clearing out a test entry no longer means opening a terminal and pasting a database password.
- It asks first, by name: remove Jasmine Lin (her address) from fan signups? Nothing happens unless you say yes, and cancelling sends no request at all.
- Deleting is permanent, so the removed record stays on screen in a Removed panel until you reload, with its full details, in case the click was a mistake.
- The waitlist finally has a table of its own. Its emails were being counted but never shown, so there was no way to see or manage who was on it.
- The server only accepts the three intake tables by name and only ever matches a whole address, never a pattern, so a request can remove exactly the one row it names and nothing else.
Why: The desk is where real people's applications live, and the only way to tidy it was a terminal command with the database password in it. Anything you do often should be doable in the place you already are, and anything irreversible should say what it is about to do first.
The desk stops blaming you for the server's problems
Fix
- The key check now trims both sides. A key pasted into a hosting dashboard usually carries an invisible trailing space or line break, and the old comparison rejected the correct key forever because of it.
- When something fails, the page now says which thing failed: no admin key set on the server, a key that does not match, a database that is not connected, or a server error. Before, all four said the same thing, that your key was wrong, which sent you looking in the one place that was fine.
- The endpoint finally has tests: the keyless viewer page carries no data, a wrong key never reaches the database, the right key returns all three tables, and a failed table read is reported rather than passed off as zero.
Why: This desk is the only door to real people's applications, and when it would not open there was no way to tell why. An error message that guesses wrong costs more time than no message at all.
The audit after the party
FixSecurity
- A fourteen-agent audit swept everything shipped for the event: both funnels, the scan page, the intake endpoint, the desk, and the docs. Every finding was adversarially verified before it was fixed.
- The landing page had been promising platform fees in the present tense, contradicting the fees page's own 'we take nothing today'. It now tells the same story as /fees: nothing charged today, the future caps in writing, with a link to the sourced version.
- Tapping the arnd logo on the landing or fees page dropped visitors into the app's private-beta onboarding instead of the marketing site. Every wordmark now stays on the site.
- Spreadsheet safety at the desk: a signup whose name or note starts with a formula character could have executed in Excel when the CSV was opened. Cells are neutralized now.
- If the database is unreachable, the desk says so instead of quietly showing zeros as if nobody had ever applied.
- A fan who later applies as a musician with the same email keeps their handle, in both directions. Same person, same name.
- Smaller catches: the artists page now links its sibling /fans page and shows the red border on a taken handle, a genre chip can no longer look selected while not being counted, both pages state that underscores are allowed in handles, the scan page holds still at every phone width and its tabs answer to arrow keys, and the waitlist now says what the email will be used for.
- The test suite had a blind spot: a missing headers object meant the rate limiter was silently skipped in every test. It is now exercised for real, which also caught two tests passing for the wrong reasons.
Why: Before advertising this to a room full of people, the site has to say one true thing everywhere. The audit's job was to catch the places where three weeks of fast shipping left two pages telling different stories, and the fixes make the honest version the only version.
August 18, 2026
A third code, for the people who already run the rooms
Feature
- The scan page has a third tab, For hosts: venues, promoters, and anyone who puts nights together. It points at the Instagram DMs and the email rather than a form, because that conversation should start as a conversation.
- It says the true thing out loud: you know this city better than I do, so I would rather listen than pitch. There is nothing to sign up for on that tab.
- Every address under a code is now a real link. Held up in a room it is still a code to scan, and sent to someone in a message it is a page you can tap straight through.
- Switching tabs no longer moves the page. Each tab reserves the same space, so the code, the addresses, and everything under them stay exactly where they were when you tapped.
Why: The people booking rooms have been doing this for years and have more to offer us than we have to offer them right now. Asking them for a form would get the relationship backwards, and a tappable address means the same page works whether it is held up at a show or sent in a DM.
The app stops handing out a personal inbox
Fix
- Support inside the app pointed at a personal Gmail, shown in Help and attached to every report link. It now uses allen@mooque.xyz, the same address as the website, which the domain forwards to a real person.
- The Help screen's Twitter row is now an Instagram row pointing at @arnd.app. It had been linking a placeholder account that was never ours, the last copy of a link already removed from the website.
Why: One published address, in one place, that actually reaches someone. A personal inbox on every screen is the kind of detail that is easy to ship and awkward to unship once people have it.
A real address, and no more mail to nowhere
Fix
- Every contact address on the site now goes to allen@mooque.xyz, a real inbox. The site had been publishing support@, hello@, artists@, and venues@arnd.app in twenty places, including the Privacy Policy and Terms, and none of them existed. Anyone who wrote to us was writing into the void.
- The in-app venue enquiry and the error messages on both forms point at the same real address.
Why: Telling someone to email you and then not receiving it is the quietest way to lose them, and it is worse on the legal pages, where a contact address is the whole point. One real inbox beats four handsome fake ones.
Something to hold up at a show
Feature
- New page at /qr: a full-screen code you can hold up in a room. One tap switches between the fan code and the musician code, and the address is printed underneath for anyone who would rather type it.
- The code always sits on white, whatever the theme, because scanners are far less reliable on an inverted code in a dim room.
Why: ARND is being built in person, at shows, and asking someone in a dark bar to type a long address is asking them to give up. Pointing a camera takes a second.
A good night can no longer lock people out
Fix
- Raised the signup limit from 20 to 60 an hour per network. A whole room at a venue shares one wifi, so the old ceiling would have started turning people away on exactly the night we most wanted them.
- If it ever does trip, both forms now say so plainly: lots of people are joining from this wifi right now, wait a minute and send it again.
Why: The limiter exists to stop scripts, not to stop a crowd. Being punished for a successful night is the wrong failure, and a person who gets a blank error at a party does not try again.
An open box, and a person on the other end of it
Feature
- The last question on /fans is wide open: anything else on your mind. An idea, a question, something we are getting wrong, a room that deserves more people. Optional, and as long or short as you like.
- These do not get buried in a spreadsheet column. The applications desk now has a What people said section under the fans table where every note is quoted in full with the name attached, so they get read instead of scrolled past.
Why: Everything else on the form is a field we chose in advance. This is the one place someone can tell us something we did not think to ask, which is usually the most useful thing they have to say.
Follow along at @arnd.app
FeatureFix
- ARND has an Instagram, @arnd.app, and it is now linked from the footer of every marketing page and offered right on the success screen after you join or apply. That moment, when someone has just said yes, is the one time a follow button is a gift rather than an interruption.
- Removed a placeholder link to a Twitter account, @arndapp, that was sitting in three footers. It was never a real ARND account, so pointing people at it was a promise to somebody else's page.
Why: People who sign up at a show want somewhere to watch this get built, and until now there was nowhere to send them. The removed Twitter link is the other half of that: an unowned handle in a public footer is worse than no link at all.
The front row, not the founding listener
Design
- The button on /fans now says put me on the list, because that is exactly what it does. Being on the list is the best feeling in live music, and it needs no explaining when you are handing someone your phone at a show.
- The people who join are the front row now, not founding listeners. The word shows up on the section head, on your card badge, and in the stamp you get when you join: YOU'RE ON THE LIST.
- Front row means first and closest here, not a reserved seat we cannot promise at somebody else's venue. The copy is careful about that difference.
Why: Founding listener was startup language wearing a band tee. It described a funding round, not a night out. The front row is a thing every person who has ever loved a show already understands, and it costs nothing to explain in person.
Two questions worth asking a music fan
Feature
- Joining at /fans now asks where you go to hear something good, and who we should be listening to. Both optional, both free-form, both answered in a few words.
- Answers land at the applications desk in their own columns, Listens at and Recommends, and ride along in the fans CSV. A named room is a venue to go visit; a named act is a musician to reach out to.
- Nobody is quizzed. The placeholders invite real answers: a room, a night, a friend who always knows.
Why: The map is only as good as what is on it, and the people signing up already know the rooms and the acts we have not found yet. Asking their taste instead of their data makes the signup feel like a conversation, and it turns the fan list into the map's own scouting report.
The fans page gets the full poster treatment
Design
- /fans now speaks the same visual language as /artists: floating hero stickers, a live listener card that fills in as you type, and the stamp-and-confetti payoff when you join. The first version was a plain form; the two funnels are siblings now, and they finally look like it.
- The listener card is editable in place, just like the artist card. Type your name on the card or in the form, they stay in sync, and your handle shows up on it as the address it will become: arnd.app/@you.
Why: Fans deserve the same craft musicians got. If the invitation to be a founding listener looks like an afterthought, it reads like one, and the people we meet at shows deserve a page that feels like the product they are joining.
Where did we meet?
Feature
- Both application forms now ask one small human question: where did we meet? We onboard people in person, at shows, and a name in a database loses the story of the night it came from. Now the answer rides along with the application and shows up at the desk next to the name.
- It is optional and free-form: 'your set at The Rex' or 'the Kiku session on Dupont' is exactly the right amount of detail.
Why: ARND is being built at shows, face to face. Remembering that the person behind an email was the one dancing at the Kiku session is worth more than any analytics field, and it keeps onboarding personal as the list grows.
The applications desk looks like ARND now
DesignFix
- The private applications desk was a plain white utility page from another universe. It now wears the site's own skin: dark, bellflower accents, the wordmark, and a proper Musicians and Fans layout with the new where-we-met notes highlighted.
- Fixed a bug that had quietly broken the desk in the browser: a wrong escape in the fans CSV export was a syntax error that stopped the whole page script from running, key gate included. Downloads and the gate both work again, and the file now carries a note explaining the trap so it is not reintroduced.
Why: The desk is where real people's applications are read and decided on. A broken, off-brand page invites mistakes and makes the work feel unserious; the private tools should hold the same standard as the public ones.
Peek at the map always shows the real map
Fix
- The 'Peek at the map' button on /fans now explicitly switches demo mode off before opening the feed. If a device had been used for an in-person demo, it could keep showing the demo catalog (sample artists like Marcus Bell) instead of the real Toronto listings. Public pages now always land on live data; the demo catalog stays where it belongs, behind the demo link.
Why: Honesty is the house rule. A public button that says peek at the map has to show the actual map, not a leftover demo state from someone's earlier pitch.
Fans get a front door of their own
Feature
- A new page for listeners at /fans: become a founding listener in about a minute. Name and email, and if you want them, your phone, Instagram, and city.
- Fans can claim a handle too, and it is one namespace for everyone: once a fan or a musician claims a name, nobody else can. First come, first served, held until launch.
- The signup gate now comfortably clears a crowd. Signing up a whole table of people at a show from the same venue wifi no longer trips the bot protection.
Why: Musicians need an audience waiting when they arrive, so onboarding fans is not a side quest, it is the other half of the marketplace. And a fan who claims a handle is not an email on a list, they own a small piece of the thing before it opens.
Claim your handle before anyone else does
Feature
- Applying as a musician now lets you claim your handle, the address your page will live at when ARND opens. First come, first served: once you claim it, nobody else can, and the application form shows your future address as you type it.
- Handles follow the same rules the app will enforce at launch (3 to 20 characters, letters, numbers, dots, underscores, dashes), so a handle we hold for you is one we can actually deliver.
Why: Your name is the first thing you own as an artist. Reserving it early is a real, concrete thing we can give musicians for signing up before launch, and it only means something if the reservation is enforced, so it is: the database itself refuses a second claim on the same handle.
Musician applications got a real desk, and the demo stopped bending time
FeatureFix
- Applications from musicians now land somewhere a human can actually work with: a private table of every applicant, their genres, links, and tip handles, with a one-tap spreadsheet download. Same locked door as before, just a readable room behind it.
- Applying will soon earn a real reply. The plumbing is in for a thanks-you're-on-the-list email the moment someone applies, plus a heads-up to us, switching on as soon as the mailing account is connected.
- The demo city's two real shows now wear their true calendar dates. Once those nights pass, the shows retire like any ended show instead of claiming to be today forever.
Why: A musician trusting us with their info deserves two things: that a person actually sees it, and that they hear something back. And the demo obeys the same honesty rule as everything else: nothing gets to pretend it is happening today when it is not.
July 25, 2026
Blocking a reviewer now sticks to the person, not just their name
Fix
- Now that reviews are real, blocking someone keys off their account, not their display name. So a block holds even if they rename themselves, and it never sweeps up a stranger who happens to share a name. Demo reviews, which have no account behind them, still block by name.
Why: A block should mean the one person you meant, and it should keep meaning that tomorrow. Matching on a name is easy to slip past and easy to get wrong; matching on the account is neither.
Reviews go live, with a verified mark you can actually trust
Feature
- Show pages now read real reviews from the backend instead of the demo set. A review can carry a verified mark, and that mark is earned: it shows only when the reviewer actually checked in to that show, worked out on the server where a phone cannot fake it.
- Until the first real reviews land, a show's reviews section is simply empty rather than padded with samples pretending to be real.
Why: A review is only worth trusting if the "was really there" mark cannot be gamed, so the check runs on the server, out of reach of the app, and we would rather show nothing than show a fake. Same rule the whole app runs on: never look more real than you are.
Put the new report and block logic under test
Fix
- Added unit tests for the report-and-block store: filtering hidden and blocked reviews, deduping, saving, and loading on start. Nothing you see changes; it just keeps the moderation controls working as the code grows around them.
Why: Report and block are exactly the kind of quiet safety feature that should never silently break. Tests are how we keep a promise like that honest over time.
Reporting or blocking a review now actually does something, everywhere
FixFeature
- Reporting a review hides it for you right away, and blocking a person hides every review they have left, across the whole app, not just the show you happened to be looking at. Both choices stick between sessions.
- The report action used to promise a review within 24 hours and then quietly do nothing. It now has a real effect and says only what actually happens.
Why: A moderation control that only pops a thank-you is worse than none: it tells people they are protected when nothing changed. Report and block should change what you see, immediately and everywhere, and the wording should promise only what it delivers.
Trimmed a dead data layer out of the app
Fix
- Removed a second, unused data-fetching system that had been shipping in the app without ever running. Reads now take one clear path, through the same seam every screen already used, and the download is a little smaller for it.
Why: Two overlapping ways to load the same data is the kind of quiet debt that makes every later change slower and riskier. One is enough, so the dead one is gone. Nothing you see changes; the app just carries less weight.
Deleting your account really deletes it, a site search engines can read, and one font across the app
FeatureFix
- Deleting your account now truly deletes it. On the live backend, "Delete my account" removes your record on the server, which cascades to your profile and everything tied to it, instead of only signing you out. If the delete cannot go through, the app says so plainly rather than pretending it worked.
- The website can finally be found. Added a sitemap, a robots file, and canonical and social-preview tags to every page, so search engines and shared links resolve to the right page instead of guessing.
- The venue board and artist pages now use the same Inter type as the rest of the app. Three screens had drifted onto a different font; the chrome reads as one app again, while the gig posters keep their display type.
Why: Account deletion is something Apple checks, and more importantly something people deserve to have actually work: if you ask to be forgotten, you should be. The search basics let the artists and fans we are trying to reach find the site at all. And one consistent typeface is part of the difference between an app that feels considered and one that feels stitched together.
July 22, 2026
The front door got the poster treatment, and the design system wrote itself down
DesignFeature
- The who-are-you screen joined the poster family: dark canvas, big display headline, and each role wearing its own performer color, matching the welcome carousel and the performer pitch. It used to look like step zero of a survey.
- The design system page grew up: every shared component with rules for when to use it, the color and shape scales, the poster-vs-tool screen split, and the honesty patterns, all written down at arnd-alpha.vercel.app/design.
- The website's menu is the same on every page now. Updates, the design system, and the app atlas live together under Changelog as three tabs, so the main menu never changes shape as you browse.
Why: A design system that lives only in the code is folklore. Writing the rules down, and making the front door follow them, is how the look survives the next hundred changes.
A way back from a forgotten password, and colors everyone can read
FeatureFixDesign
- Forgot your password? There's a reset flow now: request a link from the sign-in screen, set a new password, you're back in. Before this, a forgotten password meant a lost account.
- The performer dashboard says RSVP counts sync later in the beta instead of showing a fabricated zero, and publishing a show says plainly that it lives on your device while cross-device publishing rolls out.
- The welcome screens' buttons wear the brand blue on every slide and pass accessibility contrast; the per-slide colors still paint the artwork. The candy and paper themes' accents deepened just enough to clear the same bar.
- Behind the scenes: the application and crash endpoints are rate limited, the admin export key moved out of URLs, database setup left the request path, and tip links are built so a crafted handle can never point somewhere unexpected.
Why: The unglamorous fixes are the ones a beta tester actually hits: a lost password, a number that lies, a button they cannot read. Each one is a small promise kept.
Your library keeps every real show, and breakage stops being invisible
FixInfra
- Saving a real Toronto listing sticks now. Saved shows and followed artists load through the shared data layer, so live listings no longer silently vanish from your Library, and achievements and profile stats count check-ins at real shows too.
- If live data cannot load, the app says so and offers a retry instead of quietly presenting demo content as if it were real.
- Switching how you use ARND (fan, performer, scout) saves to your account again. For signed-in accounts the switch silently did nothing.
- When the app breaks, it now tells us: a technical crash report (what broke, never who you are) is sent automatically, so beta problems get found without you filing a bug. The privacy page says exactly this.
- The notifications preview stopped inventing events. No more fake tips or fake badges; it shows your real followed artists and the real upcoming-show count.
Why: A beta earns trust by remembering what you saved, admitting when it fails, and never inventing good news.
Money and claims you can trust
FixInfra
- Tipping is purely person to person now: pick an amount and jump straight into the artist's own CashApp, Venmo, or PayPal. The old in-app tip screen could show a success message while no money actually moved. That screen is gone for good.
- Claiming a community listing goes through a quick review before the shows link to a page, so nobody can claim another band's shows or point their fans' tips at the wrong pocket.
- Check-in records are locked down: nothing about your attendance can be edited after the fact except the tip marker, so a verified badge always means what it says.
- The venue gig board says what it is: sample gigs from fictional venues, previewing how briefs and applications will work. Pitches save on your device, and the old "application sent" confirmation that sent nothing is gone.
Why: Trust is the product. A success screen that lies, a claim that steals, or a verified badge that can be forged would each poison it. Better an honest preview than a beautiful fake.
Fresh shows every week, and a feed that never lies about them
FeatureFix
- The feed, map, and search now only show performances you can still walk to. A show that already happened stays on the artist's page as track record, but discovery never advertises it as happening.
- The happening-now banner counts real upcoming sets, and on a genuinely quiet day it steps aside instead of shouting about nothing.
- Twenty-three fresh community listings landed, covering every day through August 9 at The Rex, curated straight from the venue's public calendar.
- Restocking the calendar is a written weekly routine now, so the city never quietly runs dry.
Why: ARND's pitch is that what you see is really happening. That has to be literally true: the number on the banner, the pins on the map, every card in the feed.
July 17, 2026
Your whole identity, saved: vibe, tips, and cover follow your account now
Feature
- A performer's full identity now lives in their account, not their phone: vibe color, tip handles (CashApp, Venmo, PayPal), TikTok, genres, custom tags, and their generated cover choice all save to the shared database.
- Tip handles are editable anytime from Edit Profile, so adding or changing where fans pay you takes seconds.
- Artist pages honour a saved vibe and cover: pick your identity once and every visitor sees it, on any device.
Why: Half of a performer's setup used to quietly stay on the device that typed it. Now the page a musician builds is the page everyone gets.
Covers with a pulse, edits that stick, and one button radius
DesignFeatureFix
- Artist pages wear generated minimal covers now: a waveform, radiating rings, or a drifting dot field, drawn in the performer's own color. No more stock photos, no more bare placeholder. Each artist's cover is theirs and stays theirs.
- Editing your profile saves to your account for real. Before, on a live account, edits quietly stayed on your own phone; now your name, bio, and links update in the shared database and everywhere the app shows them.
- Every button on the artist page finally agrees on a corner radius, and chips, cards, and buttons each follow the design system's tokens instead of hand-typed numbers.
Why: A musician's page should look designed, not defaulted, and editing it should mean everyone sees the change. Details like a consistent corner radius are how a page earns trust before a single note is played.
See what your page could be: the sample artist
Feature
- Musicians can now see a finished artist page before creating one: a labeled sample page (meet Amara, the park busker) with real-looking shows, verified reviews, and everything a performer gets.
- It's linked where the decision happens: from the performer pitch and from every community listing's claim card.
- The sample page ends with the invitation that matters: you don't need a venue booked. A park corner, a patio, your street: post it, go play, and the neighbourhood can find you.
- Honesty guardrails: the page wears a "Sample artist page" badge, and tipping is disabled on sample pages so no real money can go to a fictional handle.
Why: ARND isn't a mirror of venue calendars. It's a place to originate shows, and the fastest way to say that is to show a busker's finished page and hand over the pen.
Artist pages have a story now: past shows, reviews, and a place to listen
Feature
- Every artist page now shows their track record: Past shows with the rating and how many people were verified there. Proof they actually perform, not just a promise.
- A "What fans say" section pulls reviews from across their shows, from people who checked in on site. The unfakeable kind of praise.
- A "Listen" section puts their music one tap away instead of buried in a tiny social icon.
- Under the hood, artist pages load through the shared data layer, so a real musician who claims their page gets a real profile, not just the demo artists.
Why: An artist page is a musician's storefront. It should answer the question a fan or a booker actually asks: are they any good, and do they really show up? ARND can prove both, so the page should say so.
July 16, 2026
Artist page, tidied: one green, the brand's blue, and a real TikTok icon
DesignFix
- The tip buttons, verified badge, and the profile and check-in greens all use the same teal-leaning success color now, in both light and dark mode. Solid tip buttons pick a foreground that stays readable either way.
- The Follow button wears the brand's bellflower blue instead of the performer's accent color, which read as an off-brand pink. The performer's color still washes the hero, the genre chip, and the glyph.
- The social icons are one clean monochrome set. The TikTok icon used to be a black note that vanished against the dark button; it's a real, legible TikTok logo now.
- Tipping is now one shared button everywhere, always a green gift, whether it's the big "Tip" on an artist page or the compact one on a show. It used to be a different icon and color on each screen; now it's a single component with just a size and emphasis.
- The "Emerging" artist chip shifted into the same green family too.
Why: The artist page is a musician's storefront, so it has to feel considered. One green, the brand blue on the main action, legible icons, and a single tip style: small things, but together they read as care.
Two-persona audit: the fan never dead-ends, the musician's page is real
FeatureFix
- Every show page now ends with "More at this venue": the rest of that room's calendar, one tap away. Browsing never hits a wall.
- Show dates got warmer: "Today, July 16" and "Tomorrow" instead of a flat weekday when the show is close.
- Community listings stop saying the performer's name twice when the show is simply named after them.
- The big one for musicians: finishing your artist page now writes your stage name, bio, links, and home turf to the shared database, not just your device. Before this, a performer could complete setup and exist only on their own phone.
- Claiming pays off: if community listings match your stage name, they transfer to you the moment your page saves, and the success screen tells you how many shows are now yours.
- Known gap, said plainly: vibe theming, tip handles, extra genres, and custom tags still live on-device until the artist-extras migration lands.
Why: We walked the app twice, once as a fan, once as a musician, and fixed what each would hit first. The fan's map should keep unfolding; the musician's leap of faith (build a page, claim your shows) should land somewhere real.
Credit where it's due, and a museum for the demo city
Feature
- Every community listing now links back to the original public posting, the venue's own calendar or the listing site we curated from. The source keeps the credit and the click.
- Venues and performers can request a correction or removal right from any community listing, one tap, straight to us.
- The demo era is preserved: docs/HISTORY.md records the twelve shows and thirteen acts of the demo city, from Distillery Soul Sessions to After Hours, with a promise that the catalog never gets deleted. Demo mode remains the museum, and the exhibits still play.
- Marcus Bell, first face of the feed, gets his line in the history books.
Why: ARND should make venues stronger, not compete with their calendars, so the original posting gets honoured, not absorbed. And the demo city earned its place in the record: every screen in this app was built against it.
The map is real now: live Toronto shows
FeatureFix
- The map, feed, and search now serve real Toronto shows from the shared database: 19 curated community listings across The Rex, Jazz Bistro, the Reservoir Lounge, Grossman's, El Mocambo, and more.
- Live show pins know exactly where they are: venue coordinates decode straight from the database's geography column.
- Feed pills understand real shows: Live Tonight goes by the clock, Free Entry by pricing, Jazz & Blues by genre, instead of a hand-curated list that only knew the demo catalog.
- The map screen reads the same data source as everything else, so what you see on the map is what the feed knows.
Why: A discovery app earns trust the first time it points you at a real stage and the band is actually there. Tonight the Toronto map does that.
Real accounts: ARND is no longer single-player
Feature
- You can create a real account now, backed by a shared, secure database instead of one that only lived on your phone. Your name, profile, and how you use ARND are saved to your account.
- Signing in is instant during the beta: no confirmation email to wait on before you can start.
- This is the foundation the social side is built on. Following artists, RSVPs, and syncing across devices layer on top of it and are rolling out next.
Why: For months ARND was a polished demo you could explore but not truly join. This is the day it became a place real people can sign up to, and everything social is built on it.
Beta-ready: honest copy, help that helps, hardened plumbing
FixFeature
- Help & Support tells the truth now: the FAQ covers check-in, artist-on-site, community listings, and person-to-person tips, exactly how they really work.
- A "Send beta feedback" button prefills a bug report with your app version and platform, straight to the founder. Support email actually reaches a human inbox.
- Onboarding says its sample artists are samples, and the notifications inbox says its entries are previews, no fake activity presented as real.
- Two web-only bugs where a button lived inside another button (map results header, recent searches) are gone, along with the hydration errors they caused.
- The test suite is back from the dead and grew: 90 tests including full coverage of the public application endpoint's spam traps and validation.
- The application endpoint answers storage failures gracefully instead of crashing with a bare 500.
Why: Beta testers forgive rough edges, but not being misled. Before inviting people in, every promise in the app had to be one it can keep, and every report they send had to reach us.
Covers that coach you, and images you upload
FeatureDesign
- The title helper actually audits now: it simulates your real cover render and tells you which word sets the size, or which one will render small. No more reflexive "looks great".
- One-tap tag suggestions: acoustic set, full band, DJ set, open mic, jam session and more. Genres say what you play, tags say what the set is like.
- Cover images are uploaded from your library now, or dropped straight onto the preview on desktop. The URL paste box is gone.
- Classic covers wear a proper vintage print treatment: balanced colors, sunburst marks, halftone grain.
Why: The create flow is a musician's first minute in ARND. Every control in it should tell the truth: real feedback about the cover, real presets that save typing, and a real upload instead of a link that can rot or mislead.
A green that belongs, and colors everyone can read
DesignFix
- Verified moments (attendance, artist on site, tips received) wear a new teal-leaning green that sits in the same cool family as bellflower.
- Every semantic color now clears accessibility contrast in light mode: warning, danger, live, the rating gold, and both greens. Measured, not eyeballed.
Why: Trust colors only work if everyone can read them. The old green sat outside the brand's palette and under the contrast bar; the new one passes both tests.
Small things that respect you
FeatureFix
- "Search this area" actually searches now: it scopes the map and the list to what you're looking at, with one tap back out.
- The notification dot only appears when there's plausibly something new, not always.
- Add any show to your calendar in one tap. Recurring shows roll themselves forward to next week.
- Share a check-in as a printed ticket image, drawn in the poster language, ready for a story.
Why: Dead buttons and fake urgency are small lies, and small lies read loudest in a new app. Every control should do what it looks like it does.
July 4, 2026
A show page with poster energy, and a map that fits the mood
DesignFix
- The show page picks up the poster voice: playful display headings and a tilted gold rating sticker.
- The map now matches your theme, a clean light map by day and a dark one at night, with modern dot pins instead of the old teardrop on a glaring white map.
- Fixed the tip button sitting shorter than Get directions in the bottom bar.
- Tip and review prompts show a quick inline message instead of doing nothing on web.
- Added a one-tap 'live sets around you' card to the home feed that opens the map.
Why: Small misalignments and a jarring white map break the spell. The poster language and a theme-matched map make the whole thing feel considered, and the home card gives a first-time visitor one obvious thing to do.
No more white box around the icon
Fix
- The app icon and splash now have truly transparent corners, so the rounded mark sits cleanly on a dark browser tab instead of on a little white square.
Why: The icon was rasterized on a white background, which leaked into the rounded corners. Now it's exported with real transparency.
Your genres, your tags, everywhere
FeatureFix
- Listing a show now takes multiple genres plus your own custom tags, same as artist setup.
- Tags you've used anywhere come back as one-tap suggestions, the app remembers your vocabulary per account.
- Fans can add their own taste tags during preferences, and search now filters by several genres at once and matches custom tags.
- Fixed: your own shows could vanish from the feed and search on a fresh app start.
Why: Customization is the point of ARND, and it only works if it's the same everywhere: one picker, one tag memory, one behavior across artist setup, listing shows, fan preferences, and search.
Badges you mint, rings you chase
Design
- Achievement badges are now collectible seals: earn any tier and the badge becomes a scalloped stamp in its own color.
- A progress ring wraps each seal showing how close you are to the next tier, replacing the plain progress bar.
Why: The seal makes an earned badge feel minted and worth screenshotting; the ring keeps it alive by always showing the next goal. Collectible energy and momentum in one glyph.
Proof you were there, and there early
Feature
- New Achievements board (Profile, Your supporter status): badges for shows attended, neighborhoods explored, genres heard, artists you tipped, and rising acts you backed while they were still small.
- Each badge tiers up as you show up more, with a progress bar to the next tier.
- Your supporter stats now headline your profile.
Why: Being there in person, early, and often should count for something. This turns real-world support into earned status, the way Strava does for runs, and quietly rewards the behaviors the whole scene runs on: showing up, exploring the city, and backing small artists first.
July 3, 2026
Sharper icon at a glance
Design
- Reworked the app icon to four bolder waveform bars, thicker and taller, so it stays crisp at browser-tab size.
Why: The five thin bars blurred together as a favicon. Fewer, heavier bars read instantly small, the way the best app icons do.
A waveform to call our own
Design
- New app icon and favicon: a minimal white waveform on the brand blue, on iOS, Android, web, and the marketing site.
- Locked the brand blue to its final shade (#504BF1) across every surface.
Why: The old map-pin mark read generic and the blue was still a placeholder. A waveform says "live sound" at a glance and holds up at favicon size; fixing the exact hex means every screen now shares one deliberate color.
Address by area, not by doorstep
Feature
- "Where you perform" now autocompletes real places from a map service and only ever suggests an area or neighborhood, never a house number.
- A privacy note on the field, plus a warning if you type a specific street address.
Why: A performer's home address should never end up on a public profile. Suggesting areas (and nudging away from exact addresses) keeps artists findable without exposing where they live. The fuller "store precise privately, show only the area" pattern, like Airbnb, lands with the backend.
Safer tags, cleaner inputs
FeatureFix
- Custom tags are checked before they post: profanity, links, contact info, and stray symbols get a friendly heads-up instead of going public.
- Fixed the harsh blue focus box on the artist form; inputs now show a soft accent border instead of the browser default.
- Cleared the last amber callout boxes on the artist, venue, and profile pages.
Why: Tags are public, so they need a basic safety net, a fuller moderation pass (including off-topic detection) comes with the backend. And a focus ring that looks like a raw browser default makes a page feel broken.
The logo lands, and the lists come alive
DesignFix
- The arnd mark is now the app icon, favicon, and splash, on iOS, Android, web, and the marketing site.
- Library, Search, and the feed's artist cards animate in with a gentle stagger; every tappable card uses the same spring.
- Fixed the Profile page clipping the Edit button under the hero.
- Swept out the last stray oranges: a rating star, a grid chip, scout badges, the Android icon background.
Why: Small breaks in polish, a clipped button, a leftover orange star, an old favicon, are what make software feel unfinished. Motion is gated behind Reduce Motion so it never gets in the way.
Bellflower blue, everywhere the orange was
Design
- The whole app moved off amber to a bellflower periwinkle-blue: wordmark, buttons, active tabs, map pins, loading and error screens, the onboarding intro, and the marketing site.
- The time-of-day ambiance cooled to match, so the app no longer washes orange during the day.
- Star ratings stay gold and warning states stay amber; those aren't brand color.
Why: The original design spec called for a blue primary, but the build had drifted to amber and every surface read that one token. Blue is the brand identity we wanted. Because it's a single design token, the exact shade is a one-line change if we want to fine-tune it.
Nothing matches. Try a different word or filter.