Release notes

Changelog

Every meaningful change to SoShiny, dated and categorized.

July 2026

New Jul 16, 2026

Association Health — a report dashboard for the board

A new report under Operations answers three questions at a glance: how complete your member profiles are, who you can actually reach, and who has engaged with the portal. Vitals up top, a chart of where members stall on their setup checklist, an email-reachability breakdown, text opt-in and sign-in meters — and a worst-first worklist of every member below 100%, one click from their profile. Payments and financials will join this report as those features roll out.

New Jul 14, 2026

Export the directory to CSV

Board members and managers can download exactly what the directory filters show — search, role, owners-only, and contact-gap views included — as a spreadsheet with names, units, roles, emails, phones, mailing addresses, and last login. One click in the filter toolbar.

New Jul 14, 2026

Choose your postage: First-Class or Standard

Every mailing now offers two speeds: ✉️ First-Class for time-sensitive notices (arrives in about 3–5 business days) or 🐢 Standard for newsletters and non-urgent mail (cheaper, arrives in about 1–2 weeks). The compose page shows the per-letter price for each and recalculates the total live as you switch.

New Jul 13, 2026

Renter's insurance & lease tracking

Every rented unit can now carry its two must-have documents: the renter's insurance policy and the lease agreement. Upload them on the unit page under Documents, and the board dashboard shows exactly which rented units are missing either one — click the alert to see the list.

New Jul 13, 2026

Send a letter or text to one member

Board admins and managers can now reach a single member by paper or text: 📮 Letter and 💬 Text buttons sit right on the member's directory profile, next to Email. The composer opens locked to that one person with the exact cost shown. Sent letters also now include a "View the letter that was sent" panel, so the paper trail shows what went out, to whom, and what it cost.

New Jul 13, 2026

One letter per unit — primary owner audience

Letters and texts gain a "primary owner per unit" audience: co-owned units get ONE letter instead of two, cutting postage on a full mailing by about a third. The unit's primary owner is chosen automatically.

New Jul 12, 2026

Nine new announcement types

Announcements now speak your community's language: ✨ What's New, 🗣️ Have You Heard?, 🔍 Lost & Found, 🚔 Safety & Security, 💧 Utility & Outages, 🅿️ Parking & Towing, 🏢 Office Notice, 🏛️ Board & Governance, and 🎉 Celebration — each with its own badge color on the dashboard, the public page, and the lobby TV.

New Jul 11, 2026

Lobby TV: forecast, tides, sunrise, trivia, history — and weather alerts

The lobby TV learned a lot of new tricks: a 5-day forecast for your city, today's tide times from the nearest NOAA station, a sunrise & sunset card with the UV index, a Trivia-of-the-Hour question (answer revealed the next hour), and This Day in History. Active National Weather Service alerts for your area appear automatically as a red alert card at the front of the rotation. Dad Jokes and Quotes to Make You Think now bring fresh entries every hour, and the whole screen deals its cards in a new order on every refresh.

New Jul 4, 2026

Finish setup — a friendly checklist for new residents

New residents now see a gentle "Profile completion" bar on their dashboard with a Finish setup link. The setup page walks through the essentials — confirm your mailing address, cell, and email; allow text alerts; add a photo, vehicle, guest, service animal, and emergency contact — each with a one-tap action. Anything that doesn't apply can be skipped with a reason ("I don't have a vehicle") and counts as answered. Items complete automatically when you do the real thing anywhere in the portal, and the bar disappears at 100%.

New Jul 4, 2026

Communications balance + smarter text sending

Texts and (soon) printed letters are now paid from a prepaid communications balance — top up $25, $50, or $100 by card right from Text Members, and every send shows its cost up front (5¢ per message segment per recipient). Email broadcasts stay free. Text sending also got guardrails: a live cost preview as you type, quiet hours (9pm–8am local, with an emergency override), a monthly sending limit, and a warning if you try to send the same text twice in a week.

New Jul 4, 2026

Text alerts are now live

Community text messaging is live. Boards and managers can send SMS alerts — meeting and event reminders, maintenance and amenity notices, and urgent building alerts — to members who have opted in, right from Text Members. Members opt in under My Profile → Text alerts, and can reply STOP at any time to unsubscribe. Fully A2P 10DLC-registered and TCPA-compliant.

New Jul 3, 2026

Resident quick actions: register a vehicle or guest, and mark yourself away

Right from your unit card on the dashboard, you can now register a vehicle, register a guest, or tap "I'll be away" — each opens a quick pop-up form, no page-hopping. When you're away the button flips to "I've returned" so one tap marks you home. Your unit shows an "away" ribbon and a "guests staying with you" ribbon at a glance, and My Profile shows your current away/returned status plus everyone you've got visiting.

New Jul 3, 2026

See who has guests registered

Board members and managers get a new Registered Guests page (under Operations) that rolls up every guest a resident has registered — guest name and party size, unit, visit dates, vehicle, and who registered them. Filter by Current & upcoming, Past, or All, search by guest or unit, and tap any row to open the full registration. Requested by a community through the in-app suggestion box.

New Jul 3, 2026

Lease renewal reminders for the board

When a rental lease is coming up for review, the board's daily summary now flags it — "Unit 421 — lease ends in 30 days" — with a link straight to the unit's lease record. Reminders arrive at 60, 30, 14, 7, and 1 days before the end date (and on the day itself), so nothing slips through without becoming a daily nag. Requested by a community through the in-app suggestion box.

New Jul 3, 2026

See what’s assigned to you

Staff and managers get a focused view of everything assigned to them — maintenance tasks, work orders, and to-dos — in one place, so nobody has to dig through the whole portal to find their own work.

New Jul 3, 2026

Quieter, smarter board emails

The board inbox no longer fills up with one email per event. New activity — join requests, amenity bookings, property listings, feedback, forms, architectural requests, and marketplace posts — now rolls into a single end-of-day summary for the board, while the property manager still gets the operational ones right away. Overdue maintenance is a single 8am rollup instead of a message per task, and the daily summary also counts what was completed that day plus any new announcements, events, and items for sale. Choose how your community is notified under Settings → Board notifications (three modes; a daily summary for the board is the default).

New Jul 1, 2026

Bulk-import a maintenance schedule from CSV

The PM Scheduler now has an “Import CSV” button with a downloadable template. Upload one preventive-maintenance task per row — title, frequency, start date, category, location, and assignee — and each task is created with its first occurrence and email reminders. It matches assignees by name or email, creates any location that doesn't exist yet, and shows a per-row report of what imported.

June 2026

New Jun 29, 2026

Community directory goes national — New York, Texas & Arizona

The public community directory now spans four states. Browse roughly 50,000 registered community associations — condos, HOAs, mobile-home parks, marinas, and lake communities — at /communities, with new state landings for New York, Texas, and Arizona alongside Florida. Each listing links to the statutes that govern it.

New Jun 28, 2026

RSS feeds for the blog & features

Follow SoShiny in any feed reader: the blog (soshiny.com/blog/feed) and the feature library (soshiny.com/features/feed) now publish standard RSS feeds, with auto-discovery built into the site.

New Jun 27, 2026

New: HOA Glossary

A plain-English glossary of 49 HOA and community-association terms — assessments, CC&Rs, reserves, quorum, lien, fiduciary duty and more — grouped into six topics and searchable A–Z. Definitions cross-link to related terms, and every term has its own shareable link. Find it under Resources → HOA Glossary.

New Jun 26, 2026

Track leases and renewals on rented units

Each unit now has a Lease section where the board records the lease term (start/end + monthly rent) and logs renewal decisions (approved or denied, with notes) — keeping a full history. The Units list flags rented units whose lease is expiring within 60 days (“lease ends Mmm d”) or already expired, so renewals don’t slip through the cracks.

New Jun 26, 2026

Sign documents you write in-app

You can now request signatures on a document you compose right in SoShiny — not just uploaded PDFs. When composing, add required signers (leave it empty if no signature is needed). Each signer gets a “read & sign” prompt at the top of their dashboard, signs with a saved signature, by drawing, or by typing, and the signatures appear in a block at the bottom of the document. The documents list is also now mobile-friendly: tap any row to open the document, where you can read, edit, sign and print.

New Jun 25, 2026

Install the portal as an app (PWA)

SoShiny is now a Progressive Web App — residents and board members can add it to their phone or computer home screen and open it like a native app (full-screen, no browser bar). On a community’s own custom domain it installs under that community’s name. It also shows a friendly offline screen when the connection drops. On iPhone: Share → Add to Home Screen. On Android/Chrome: the Install prompt or menu → Install.

New Jun 25, 2026

Per-member contact log (CRM-style)

Each member profile now has a Contact log to track every interaction like a CRM: log a call, text, or email as inbound or outbound, or jot a general note. Entries show as a timeline with who logged them and when. Board/manager-only. Great for keeping a running history of communication with an owner or renter.

New Jun 25, 2026

Attach documents to a member

From a member’s profile in the Directory you can now upload documents (PDF, images, Word/Excel, text) that stay attached to that person — leases, agreements, correspondence, IDs. They’re board/manager-only, listed on the member’s profile with quick view and remove, and stored securely outside the public web.

New Jun 25, 2026

Attach evidence to a violation

You can now attach photos, screenshots, and documents (images or PDF) to a violation and keep them with the case as you work toward resolution. They show as a thumbnail grid on the violation, open in a new tab, and can be removed. Access is board/manager-only and files are stored securely outside the public web.

New Jun 25, 2026

Email a violation notice to the owner

Each issued violation notice now has an “Email to owner” button — a genuine send step alongside print. It emails the notice (branded as your community, with the signer’s name and office) to the resident named on the violation and the unit’s owner(s) of record, real email addresses only. The notice shows an “Emailed” badge once sent, and you can resend. If no one has an email on file, it tells you to print and mail instead.

New Jun 25, 2026

Send a suggestion or bug report

There is now a lightbulb button in the top bar of every dashboard page to send a suggestion or report a bug directly to the SoShiny software team (not your board). It goes straight to our queue with the page you were on, so we can act on it fast.

New Jun 25, 2026

Board-meeting activity report

A new Activity report lets you pick a date range (this week, last week, this month, or custom) and print a clean summary of what happened in your community — perfect for the board packet. Routine sign-ins are left out by default.

New Jun 25, 2026

Tasks + a “My Work” inbox

There is now a shared, assignable to-do list under Operations → Tasks. Managers can assign tasks to any employee or board member (with a due date, priority, and an email when it lands on someone’s plate), and board members and employees can add their own. Alongside it, the new My Work page is a single personal inbox that pulls together everything assigned to you — open tasks, maintenance coming due or overdue, and work orders — sorted by urgency, so you see your whole day in one place.

New Jun 24, 2026

PM Schedule — recurring maintenance with reminders

Boards and managers can now schedule preventive-maintenance tasks that repeat on any cadence — daily, weekly, every two weeks, monthly, quarterly, twice a year, yearly, a custom number of days, or one-time. Assign each task to an employee or a board member, and SoShiny emails them a reminder before it is due and an overdue warning if it slips. Mark a task done and the next occurrence is scheduled automatically. Find it under Operations → PM Schedule, with All / Mine / Due soon / Overdue views.

New Jun 23, 2026

Download the full feature list (PDF)

Want something to hand your board? There is now a one-click “Download the full feature list (PDF)” button on the homepage features section. It generates a clean, branded handout of every SoShiny feature — always up to date because it is built straight from our live feature list — with our logo, phone number, and a tidy two-section layout. Grab it any time at soshiny.com/soshiny-feature-list.pdf.

New Jun 22, 2026

Text alerts (SMS) — members can opt in now

Members can now opt in to text-message alerts from their community under Settings → Your account. Boards will be able to send urgent texts (Operations → Text Members) once we finish the carrier registration (A2P 10DLC) the U.S. requires for business SMS. Texts only ever go to members who opted in, and you can reply STOP to any message to opt out anytime.

New Jun 22, 2026

Community surveys & polls

Run quick community polls — pick-one, pick-many, or open-ended questions, with an optional comment box. Choose anonymous or named responses and when members see results (right after they answer, or once the poll closes). It is separate from formal Voting, so there are no quorum or record-keeping requirements — just an easy way to gauge what your community thinks. Find it under Community → Surveys.

New Jun 22, 2026

Manage your subscription and billing online

Board admins can now start a subscription, add a card or bank account (ACH), update payment methods, and download invoices — all from a new Billing & Subscription page in Settings. Every association gets a 30-day free trial with no credit card required up front.

New Jun 21, 2026

America 250 pricing — every feature, $25/mo, locked in for life

To celebrate America’s 250th, our base plan is now $25/mo (down from $50) plus $0.33 per unit — every feature on every plan, no tiers, no setup fees. Start before December 31, 2026 and your rate is locked in for the life of your account. The pricing page now shows your exact monthly and yearly savings as you size it to your community.

New Jun 20, 2026

Download the statute Quick Reference as a PDF

Each state statute Quick Reference now has a one-click PDF download (and the emailed copy links the PDF too) — a clean branded cheat sheet for board meetings.

New Jun 20, 2026

Free statute Quick Reference by email

The public statute Quick Reference pages now offer an optional popup to get the guide emailed to you. It is opt-in only — the page stays completely free — and captures interested community leaders into a marketing list so SoShiny can follow up. Includes one-click unsubscribe.

New Jun 20, 2026

New Lobby TV slideshow mode

The Lobby TV has a third layout: a full-screen slideshow that shows one item at a time (big image with title and details) and auto-advances every 7 seconds. Pick it under Settings → Lobby TV → Display Mode, or on the soshiny.com/tv sign-in screen.

New Jun 20, 2026

See who unsubscribed + a clearer opt-out

Members who opt out of broadcast email now show a "Unsubscribed" badge in the directory, and the manager dashboard has an "Unsubscribed: N" chip that opens the filtered list. The unsubscribe link in broadcasts now leads to a last-chance page explaining what they’ll miss versus what they’ll still always receive (emergencies, dues, legal notices) before anything changes.

New Jun 19, 2026

Bounced & missing-email flags in the directory

The Community Directory now flags email problems: members with no email on file show a "Call to get email" prompt, and members whose email has bounced show a "Bounced" badge. The manager dashboard shows clickable alerts that jump to a filtered list of exactly those members so the board can collect or fix addresses.

New Jun 19, 2026

Email open tracking for broadcasts

Email Members broadcasts now track opens. The broadcast results page shows how many recipients opened (with a percentage) and an opened timestamp per person. Bounces and spam complaints are also captured automatically and suppress future sends.

New Jun 17, 2026

Pin your most-used sections with sidebar Favorites

Your dashboard sidebar now has a Favorites group at the top. Click the heart on any section to pin it there; click again to send it back. Board members start with Directory, Units, Who’s Away, Parking, and Feedback; owners start with Announcements, Events, Marketplace, Directory, and Feedback. Your favorites are saved to your account, so they follow you across devices.

New Jun 17, 2026

Governance safeguards on rule & bylaw changes

Adding or editing a rule now shows a governance-change confirmation — a reminder that changes require board approval and/or a community vote — stamped with your name, role, date, and IP. On confirmation, the change is logged, the board is emailed, and members are notified in-app. A no-op save changes nothing and notifies no one.

New Jun 16, 2026

Print minutes, and email them to the Board or Owners

Open any board meeting minutes and you can now print a clean letterhead copy, or email them to your Board or to your Owners. Before sending you get a full preview of the branded email and a checkable recipient list, so nothing goes out until you say so. SoShiny also remembers when each set of minutes was emailed and warns you before sending a duplicate.

New Jun 9, 2026

Add your community’s details to the directory — and a new Pro listing

Community listings can now carry real contact details — phone, email, website, and a short description. Anyone who knows a community can “Suggest details,” and our team reviews each submission before it goes live. Listings show a full-width street map with the location, plus what’s nearby. A new Pro listing ($10/yr) adds a verified badge, featured placement, clickable links, photos, and instant self-serve editing (rolling out).

New Jun 8, 2026

Aerial maps and nearby restaurants, parks & dog parks on community listings

Every community in the directory now shows an interactive aerial (satellite) map of its location — no click needed — plus nearby restaurants (within 5 miles), parks and dog parks (within 10 miles), so you can get a feel for the area at a glance. Place data comes from OpenStreetMap.

New Jun 8, 2026

Claim your community from the directory

Found your community in the new directory? You can now claim it in a couple of taps — tell us who you are and we will verify you and get your board set up on SoShiny. The directory is also wired into the “find your community” search on the sign-in page: if your community is already on SoShiny you go straight to sign-in, and if it is one of the 30,000+ listed-but-not-yet-joined communities, you can claim it on the spot.

New Jun 8, 2026

Browse 30,000+ Florida communities in the new public directory

We published a public directory of more than 30,000 Florida community associations — condo associations, HOAs, and mobile-home parks — at soshiny.com/communities. Browse by type and by county, and open any community to see its address, size, registration status, and the Florida statutes that govern it. If one is yours, claim it to bring transparent, statute-ready governance to your board in minutes.

New Jun 7, 2026

Members can find their community and request an invite

Residents who land on SoShiny without an invite can now search for their community by name and either sign in (one-click email link) or request access from their board — all without needing to know their community’s web address. Communities that have published a public landing page are searchable; anyone whose community isn’t listed can send a quick manual request that routes to our team. New "Request access" links added to the sign-in and signup pages.

New Jun 7, 2026

New communities get a guided Getting Started checklist

When your board first signs in, the dashboard now shows a Getting Started checklist that walks you through the launch steps — set up your community website, add units, invite members and your board, upload governing documents, and post your first announcement and event. Each step checks off automatically as you complete it, with a progress bar, and the card disappears once you’re done (or you can hide it any time). New communities also receive a warm welcome note from the SoShiny team with pointers to the in-app help videos and our success@soshiny.com support inbox.

New Jun 6, 2026 View →

Tenant sign-in + join flow at /join — passwordless magic links + board-approved community access

Big rework of what a visitor to a tenant host (bellaircondos.com, badassdemo.com, etc.) experiences when they hit /signup.php. The old behavior dropped them on the SoShiny.com marketing-style 'create a new association' form, which made no sense for someone looking for THEIR community. Now: /signup.php on any tenant host 302s to a new /join.php page that knows which community it's on (from the host). The page asks for the visitor's email and forks two ways. (1) If the email matches an active member, SoShiny sends a one-click passwordless 'magic link' to their inbox — single-use, 1-hour TTL, SHA-256 hashed at rest — and the visitor sees a 'check your inbox' confirmation. Clicking the link lands on /login.php?magic=<token>, calls login_user(), and drops them on the dashboard with no password required. (2) If the email is not on file, the page shows a join-request form prefilled with their email — first name, last name, unit number (validated against units table — no fake unit submissions), phone (optional), an optional 'anything the board should know' note. Submitting fires notify_association_managers() so every board member + property manager gets emailed about the new request and inserts a pending row in the new join_requests table. Board admins manage the queue at /dashboard/join-requests.php with pending/approved/rejected filter pills and per-request Approve and Reject actions. Approving creates an active user (auto-roles them owner unless the unit already has an owner-occupant, in which case renter), generates a temp password as fallback, and emails the new member a magic-link sign-in URL so they never need to type the temp password. Rejecting emails them the board's reason. A pending-count badge on the 'Join requests' nav entry in the Operations group lets the board see new requests at a glance. Anti-abuse: 5 magic-link requests per IP per hour, 3 join requests per IP per hour, full audit log on approve/reject. Two new tables: magic_signin_tokens + join_requests (migration 118, additive).

New Jun 6, 2026 View →

Help library refresh: per-topic 'Go to feature' button, auto-video, and 2 new topics

Three coordinated upgrades to /dashboard/help.php. (1) Every help topic now ships with a per-topic 'Go to feature' deep-link — click 'Documents and files' in the help library and you get a primary CTA button that drops you straight into /dashboard/documents.php. Forty-seven existing topics backfilled with the right URL; new topics get a Feature URL field in the admin editor (additive migration 117 added help_topics.feature_url). (2) Help videos shipped via includes/help-videos.php now auto-surface in the matching help topic with a 'Watch the walkthrough' button next to the Go-to-feature CTA — zero DB work needed. A new slug ↔ nav-key map (help_nav_key_for_topic_slug) bridges the two registries; topic.youtube_url still takes priority when set so the admin can override per topic. (3) Two new help topics for sections that shipped this week and weren't covered: 'Notifications log' (the audit trail for every transactional email SoShiny sends on the association's behalf) and 'Digest' (the curated rollup email with the 'sent once per recipient' guarantee). Live topic count: 47 → 49, every one of them with a feature_url.

New Jun 5, 2026 View →

Welcome video auto-plays on first login + 'Welcome Video' button on every dashboard

Every member (owner, renter, board, manager, staff) now sees a short SoShiny welcome video on their very first /dashboard/ visit — a centered modal with a 16:9 player and a 'Got it — let's go' button. Closes via the X, the backdrop, the ESC key, or the Got it button; each path silently stamps users.welcome_video_seen_at so it never auto-opens again for that account. They can still re-watch any time via the new orange '🎬 Welcome Video' button under the dashboard greeting. Built on additive migration 116 (welcome_video_seen_at DATETIME NULL on users) + a CSRF-protected /dashboard/welcome-mark-seen.php endpoint. The mark-seen call is fire-and-forget on the client, so a flaky network never blocks the user from getting into the dashboard.

New Jun 5, 2026 View →

Help video: Property Listings

Property Listings (/dashboard/listings.php) now has a 'Watch a quick video' button next to the page H1. Click → modal player with the YouTube walkthrough at youtu.be/zBTVdC_eORo. ESC, click-outside, or X closes; the video auto-stops on close. Help-video registry now covers 6 sections (announcements, events, marketplace, media, area attractions, property listings).

New Jun 5, 2026 View →

New: Branded welcome drip for every new association (day 0 + day 3 + day 7)

Every newly-provisioned association now gets a three-touch welcome sequence — fully branded HTML with the SoShiny header bar, association logo (if uploaded), orange CTA button, and a soft-gray footer matching the existing broadcast emails. Day 0 fires inline when a super-admin approves the signup at /admin/associations.php: includes temp password, sign-in CTA, and a 'what to try first' checklist. Day 3 lands automatically 72 hours later: a nudge with four quick wins (upload rules + bylaws, post first announcement, add an event, invite other board members) plus the portal CTA. Day 7 lands a week in: a check-in pointing at the in-app help library and offering a 15-minute screen-share. Stop conditions are enforced at send time — if the association status flips to inactive / cancelled / suspended, or the board admin is deactivated, or their email looks placeholder, the row is skipped, not sent. Built on a new scheduled_emails queue (migration 115) drained by a /cron/drain.php endpoint Hostinger cron hits every 10 minutes. The queue is also reusable for any future delayed-send work.

New Jun 5, 2026 View →

New: Property listings from owners + renters now require board approval before publishing

When an owner, renter, or other non-board member posts a home for sale or rent on /dashboard/listings.php, the listing now enters a 'Pending review' state and is hidden from the community until a board member or property manager approves it. Board admins see a prominent orange '⏳ N awaiting review' button at the top of the Listings page whenever items are pending; clicking it opens a review queue with each pending listing's photo, title, price, specs, and poster info, plus Approve and Reject buttons. Approving makes the listing visible immediately and emails the poster a confirmation. Rejecting prompts for a reason, deletes the listing + photos, and emails the reason to the poster. Sellers can still see their own pending submissions in the regular list, marked with a dashed orange border and 'Pending review' badge, so they know it went through. The Status dropdown on the new-listing form is now board-only — non-board posts cannot self-assign any status. The 'Pending sale' status (an in-contract listing) is kept distinct from 'Pending review' (an unapproved listing) so the meanings don't collide. Implementation: additive migration 114 adds 'pending_review' to the property_listings.status ENUM. The submission email goes through notify_association_managers() with the in-app notification log context so it surfaces on /dashboard/notifications.php too.

New Jun 5, 2026 View →

New: Marketplace listings from non-board members now require board approval before publishing

When an owner, renter, or other non-board member posts an item on /dashboard/marketplace.php, the listing now enters a 'Pending review' state and is hidden from the community until a board member or property manager approves it. Board admins see a prominent orange '⏳ N awaiting review' button at the top of the Marketplace page whenever items are pending; clicking it opens a review queue with each pending listing's photo, title, price, description, and poster info, plus Approve and Reject buttons. Approving makes the listing visible immediately and emails the poster a confirmation. Rejecting prompts for a reason and emails it to the poster. Sellers can still see their own pending submissions in 'My listings' marked with a dashed orange border and ⏳ badge so they know the post went through. The post form itself now shows a one-line note to non-board posters that a review is required. Board posts continue to publish immediately. Implementation: additive migration 113 adds 'pending_review' to the marketplace_listings.status ENUM (no existing rows changed). The pending-submission email goes through notify_association_managers() with the new in-app notification log context so it surfaces on /dashboard/notifications.php too.

New Jun 5, 2026 View →

New: per-section video help — floating button + modal player

Every dashboard section can now ship with a short YouTube walkthrough that members can play in-app. A bright orange '▶ Watch a quick video' button floats in the bottom-right corner of any page that has a registered video. Click it and the video opens in a centered modal with a 16:9 player; click outside, hit the X, or press ESC to close. The video stops playing automatically when the modal closes. First section live: Announcements (/dashboard/communications.php) with the video at youtu.be/Aw6LB-MM_8Q. Adding a video for a new section is a one-line edit to includes/help-videos.php — no page-level code changes needed. The button is hidden on mobile labels (icon-only) and hidden entirely when printing.

New Jun 5, 2026 View →

New: Curated digest rollup for board (daily) and owners (weekly)

soshiny.com/dashboard/digest.php — a new way to send a single rollup email summarizing community activity, with each item sent at most once per recipient. Board admins pick a cohort (Board, Owners, or All Members), see candidate items pulled from the last 14 days (announcements, upcoming events, new documents, recent meeting minutes, new marketplace listings — plus for the Board cohort: new concerns, ARC requests, pending amenity bookings, open work orders, recent violations), check the ones to include, add an optional intro note, and send. The 'sent once per recipient' guarantee is enforced at send time: for every recipient, items they've already received in any prior digest are filtered out, and if all picked items have already been seen by them they're auto-skipped. The compose page reports recipient counts up front and the result page shows sent vs skipped per digest. Cadence is fully manual — no cron — so the board controls when to fire. Recipients receive a branded HTML email with a navy header and the new items grouped by category. Built on the new digests + digest_items + digest_recipients tables (migration 112). Goes through Postmark with per-recipient logging in the existing notification_log so each digest send shows up on /dashboard/notifications.php too.

New Jun 5, 2026 View →

See who gets emailed — preview chips on every submit + new Notifications log page

Two new transparency surfaces for outbound email. (A) Per-action preview chips: every form that triggers a notification (concerns, ARC, forms, amenity bookings) now shows a small '📧 Submitting will email N board managers' chip right next to the Submit button — so you know the blast radius before you click. Board responses on member-filed items show '📧 This will email <name>' instead. Anonymous concerns show 'No email will be sent.' (B) New page at /dashboard/notifications.php (board-only) listing every transactional email this association has sent in the last 7/30/90 days — recipient, subject, type filter, status (sent/failed), Postmark MessageID, link to the underlying record. Headline counters at the top (total in window, sent, failed, queued). Filter pills by email type. Deep link to the Postmark Activity feed for full delivery + open + bounce data. Backed by a new notification_log MySQL table (migration 111) populated by an optional $ctx argument on send_mail() — call sites pass association_id + kind + related_id + sent_by, and the log row writes itself. Existing send_mail() calls without context continue to work; they just don't show up in the in-app log (Postmark Activity still has them). The previously-discussed Path C (per-user digest + immediate-vs-daily preferences) is logged as a separate admin_todo for when notification fatigue becomes a real signal — today's Bellair volume of ~5 emails per concern is manageable.

New Jun 5, 2026 View →

Quick Reference cards now live for New York, Texas, and Arizona

v1 Florida was the prototype; the lead-magnet model is now shipped for all four statute-hub states. soshiny.com/newyork/quick-reference, /texas/quick-reference, and /arizona/quick-reference each render a 2-page printable cheat sheet specific to that state's governing statutes — NPC + RPL Article 9-B + the Martin Act for New York; Property Code Ch. 81/82/202/204/209 + BO Code Ch. 22 for Texas; ARS Title 33 Ch. 9 + Ch. 16 + supporting Title 10 nonprofit provisions for Arizona. Same SoShiny navy + orange branding, same print CSS that paginates to two letter-size pages, same QR codes pointing back to the per-state hub, same dynamic last-updated date, no email gate. Each state hub got a Download card linking to its quick-reference page (Florida's card pattern, generalized). Architecturally, the original single-file florida-quick-reference.php was refactored into a shared state-quick-reference.php template + a per-state content registry at includes/quick-reference-content.php, so adding a 5th state (Massachusetts, North Carolina, California) is now a content-only change — append an array entry, add an .htaccess rewrite, done.

New Jun 4, 2026 View →

New shared to-do list for super admins at /admin/todos.php

A persistent, shared to-do tracker for SoShiny super admins, replacing the ad-hoc 'REMAINING / next-session candidates' list that lived inside CLAUDE.md. Add an item with title, optional body, priority (High/Medium/Low), and category (SEO/email/features/ops/billing/bug). Status flow is Open → In Progress → Done (or Won't Do); reopen anything any time. Filter pill row at the top toggles between Active / Open / In Progress / Done / Won't Do / All. Each item tracks who added it and who completed it. Backed by a new admin_todos table (migration 109); audit-logged like every other admin action. Seeded with 8 starter items pulled from the standing big-ticket queue (Stripe wiring, feature-page screenshots, v1.5 PDF email modal, NY/TX/AZ quick-reference cards, extend password toggle, VPS+Caddy move, DMARC tighten, BadassHOA decommission).

New Jun 4, 2026 View →

Free Florida statute Quick Reference Card — printable, no email required

Shipped v1 of the per-state Quick Reference lead-magnet asset (Florida first). soshiny.com/florida/quick-reference is a 2-page printable cheat sheet that summarizes Chapters 718, 719, and 720 — the 5–6 most-cited sections of each, the notice rules by meeting type (board / members / budget / assessments / rules), quorum thresholds for condos and HOAs, minutes retention, the 10-business-day estoppel turnaround under §718.116(8), and a one-line plain-English explanation of how condos, HOAs, and co-ops differ. Branded SoShiny navy + orange, with two QR codes pointing back to /florida. Print/Save-as-PDF button at the top. Page-break CSS produces a clean 2-page document when sent to a printer or a PDF target. No email gate — the page is free and fully indexable, so it can attract backlinks from law-firm and management-company resource pages. New CTA card on /florida links to it between the headline search bar and the chapter cards. The sitemap auto-includes the new URL. Postmark + email-gated v1.5 comes next.

New Jun 3, 2026 View →

Edit meeting date + new Description field from the meetings list

Two improvements to the board meeting workflow at /dashboard/meetings.php. (1) Each upcoming and past meeting card now has an Edit button next to Open — one click jumps straight to the editable details form (date, time, title, description, location, virtual link), no longer hidden two clicks deep behind the Notice & Print tab. (2) Meetings gained an optional Description field — a short paragraph explaining what the meeting is about (topics, special votes, anything members should know up front). Description is editable on the same details form, appears under the date line on the meetings card, in the read-only meeting header, and on the printed Notice of Board Meeting between the date/location header and the State/County block. Schema change is purely additive (TEXT NULL); existing meetings carry an empty description until edited.

New Jun 2, 2026 View →

Public statute hubs now live for New York, Texas, and Arizona

What was a Florida-only public statute hub is now a 4-state Law Library: /florida (existing — 232 sections), /newyork (NEW — 83 sections), /texas (NEW — 116 sections), and /arizona (NEW — 93 sections). Each state's hub has its own chapter overview pages plus dedicated section pages with plain-English summaries, official statute citations, related-section cross-links, Article + BreadcrumbList + FAQPage JSON-LD, and a state-specific CTA block. A new “Law Library” dropdown lives in the main nav on every public page, and the footer gained a 4-state Law Library column. The homepage statute-coverage strip auto-updates as more states come online. Sitemap grew from ~190 URLs to 607 — including 546 statute pages indexable by Google. Florida URLs are byte-for-byte preserved; no broken inbound links. Internal refactor: the three Florida-only templates were generalized into reusable state.php / state-chapter.php / state-section.php that read from a new includes/statutes-config.php — adding the next state (MA, NC, CA) is now a CSV import plus 3 lines of config.

New Jun 2, 2026 View →

New /about and /security pages + national-availability homepage hero

Three coordinated changes that reposition SoShiny on first impression: (1) Homepage hero copy rewritten to position SoShiny as the transparent governance platform for HOAs, condos, and co-ops anywhere in the United States — keeping the existing video hero. (2) New /about page at soshiny.com/about with the founder bio, company facts (legal entity, Daytona Beach HQ, all-50-states availability, pricing), values cards, and a hiring CTA. (3) New /security page at soshiny.com/security with documented data-protection posture: TLS 1.3, libsodium-encrypted sensitive fields, nightly off-site backups, role-based access, comprehensive audit log, bcrypt + rate-limited login, multi-tenant isolation, and our GDPR/CCPA alignment. Plus: legal entity name corrected to “So Shiny Software, LLC” everywhere (footer, schema.org Organization, privacy & terms). A new “Statute coverage” strip on the homepage explains that Florida’s statute hub is a bonus compliance layer, not a geographic limit — SoShiny still works for any U.S. community association.

New Jun 1, 2026 View →

Arizona and Texas statutes now indexed inside SoShiny

Added 209 more statute sections covering the laws that govern community associations in Arizona (93 sections across Title 10 Nonprofit, Title 33 Ch. 9 Planned Communities, Title 33 Ch. 16 Condominiums) and Texas (116 sections across Property Code Ch. 81/82/202/204/209 and Business Organizations Code Ch. 22). Surfaces automatically in /dashboard/legal.php for any association with an Arizona or Texas address — no per-state code change needed. SoShiny’s legal index now covers Florida (232), New York (83), Arizona (93), and Texas (116) — 524 sections of community-association law, fully searchable inside the portal.

New Jun 1, 2026 View →

New York association statutes now indexed inside SoShiny

Added 83 New York statute sections covering the four laws that govern NY community associations — Not-for-Profit Corporation Law (NPC), Real Property Law (RPP), Real Property Actions and Proceedings Law (RPA), and General Business Law (GBS §§ 352-e/eee/eeee). Available now in the board-side legal search at /dashboard/legal.php for any association with a New York address. The Florida hub is unchanged — same 232 FL sections, same public URLs at /florida/{ch}/{slug}. Internal id format was upgraded to {STATE}-{CHAPTER}-{SECTION} so the next state (TX/CA/MA) drops in without ambiguity.

New Jun 1, 2026 View →

Honest comparisons: SoShiny vs. RunHOA, HOALife, and Condo Control

Launched a comparison hub at soshiny.com/vs plus three head-to-head pages — soshiny.com/vs/runhoa, /vs/hoalife, and /vs/condo-control. Each page shows where the competitor wins, where SoShiny wins, a 12-row feature matrix, real switch stories, and 5 honest FAQs. The hub has a 4-column decision guide that names which platform fits which kind of community — even when SoShiny isn't the right answer. Commercial-intent landing for boards Googling 'condo control alternatives', 'hoalife vs', or 'runhoa review' — the SEO category most likely to convert directly to signups.

May 2026

New May 31, 2026 View →

Florida Statute Hub — every condo, co-op & HOA law in plain English

Launched a public reference at soshiny.com/florida covering all 128 sections of Florida Chapter 718 (Condominium Act), 719 (Cooperative Act), and 720 (Homeowners’ Association Act). Each section gets its own page with a plain-English summary, the official source link, the full statutory text in a collapsible block, related sections in the same chapter, prev/next navigation, and a Frequently-Asked-Questions block (with HOA-specific answers acknowledging that Chapter 720 disputes go to civil court, not DBPR). Pillar hub has a client-side search across every section, three chapter cards, and a curated 'most-referenced statutes' strip. Board members and homeowners googling a specific statute (e.g. 'florida statute 718.112') will now find a SoShiny page at the top of the results.

New May 31, 2026 View →

Features library + dedicated landing pages

Built a real CMS for product features. The 22 features on the homepage marquee are now managed through a new Admin → Features area: edit the icon, title, card copy, and order without touching code. Each feature also gets its own deep landing page at soshiny.com/features/{slug} with hero image, demo video, full overview, benefits grid, how-it-works steps, related industries, and a CTA — published one at a time as content gets written. Drafts keep their homepage card but their landing page shows a friendly 'Coming soon' and stays out of the sitemap, so Google never sees thin pages.

New May 30, 2026 View →

Author profiles + a real SEO panel on the blog editor

Every SoShiny team member can now have a real author profile — display name, avatar, bio, job title, LinkedIn, and X handle. Each author gets a public landing page at soshiny.com/author/{slug} showing their bio and every post they've written, complete with Person structured data so Google can attribute articles to a real human (E-E-A-T). Blog posts now show a proper byline with avatar and a link to the author's profile, both on the index and on individual post pages. The post editor got a full SEO & social panel: separate SEO title (≤70 chars + live counter), SEO description (≤170 + live counter), focus keywords, social-share image override, tags, and a live Google search-result preview that updates as you type. Author picker is a dropdown of your team instead of free text. Authors are managed in the new Admin → Authors area.

New May 30, 2026 View →

SEO-friendly media library

The Media library got a major upgrade. Every image now carries alt text, a title, a caption, and dimensions. A live SEO score flags generic filenames (IMG_1234, Screenshot…), too-short/long names, and missing alt text. Click any tile to open a detail editor with a Google-ready SEO panel, quick Copy <img> tag and Copy markdown buttons, a Used-in list showing every post / industry page / changelog entry that references the image, and an SEO-friendly filename rename that automatically updates all references across the site so nothing breaks. A red dot on the tile and a running 'X of Y have alt text' counter at the top keep gaps visible.

New May 29, 2026 View →

Privacy Policy and Terms of Service are live

Published our Privacy Policy and Terms of Service at soshiny.com/privacy.php and soshiny.com/terms.php. Both are linked from the footer of every page, and signup now requires an explicit checkbox agreement before an association can be created. We also added our Daytona Beach address and contact info to the site footer and structured data so search engines can show them in knowledge panels.

New May 29, 2026 View →

The SoShiny blog is live

We launched a blog at soshiny.com/blog — guides, tips, and product news for running condos, HOAs, marinas, campgrounds, RV parks, and 55+ communities. Behind the scenes, the marketing site is now managed through a new admin CMS: write and publish blog posts with a rich-text editor, manage a reusable image library, and edit the by-industry landing pages — no code required.

New May 28, 2026

Landing pages for every kind of community

SoShiny now has dedicated pages for the communities it serves — condos & co-ops, HOAs, marinas, RV parks, campgrounds, and 55+ communities. Each one speaks to that community's real workflows and questions, with the same every-feature-on-every-plan platform behind it. A new 'By industry' section on the home page and footer links tie them all together.

New May 28, 2026

Drag to reorder your community photos

Boards can now set the exact order community photos appear on the public site. On the Media page, drag any photo to a new spot — the order saves automatically and is reflected in the public gallery (and the lobby/lightbox). New uploads land at the end so they're easy to place.

New May 28, 2026

Community photos open in a lightbox you can arrow through

On a community's public site, clicking a photo in the Community Photos gallery now opens it in a full-screen lightbox instead of jumping to a bare image page. Use the on-screen arrows or your keyboard's left/right arrow keys to move between photos, Esc or the backdrop to close, and a counter shows your place in the set.

New May 27, 2026 See it live →

SoShiny.com is live

soshiny.com is now serving from its own Hostinger environment with its own database, its own success@soshiny.com mailbox, and its own super admin. Hero lede refreshed to spotlight the full feature lineup (community website, rules, documents, announcements, lobby TV, work orders, architectural review, electronic signatures, committees, events, employees, member and renter directory), and Lobby Announcement TV moves up into the marquee feature grid alongside Email Broadcasts.

New May 26, 2026 See it live →

Vehicle Registry — every car, truck, RV, and golf cart on the property

A proper registry for every vehicle parked on the property. Members register their own from their profile (✈️ My travel schedule sits next to 🚗 My vehicles); board admins and property managers see and edit the whole lot from /dashboard/vehicles.php. Each vehicle captures plate + state, year / make / model / color, kind (car, truck, SUV, motorcycle, RV, trailer, golf cart, other), parking choice (assigned spot, general parking, or off-site), and a board-assigned sticker number with issue date. Two printable PDF-style views: a per-vehicle parking pass (laminate-ready, identifies the car as authorized) and a 'wrong car in the lot' warning notice the board fills in on the fly with the offending plate. A print-ready list of every active vehicle in the association is one click away.

New May 26, 2026 See it live →

Who's Away — unit travel schedule for management and the board

A digital housekeeping board so management knows who's out of town, especially during snowbird season, hurricane prep, and scheduled maintenance. Residents add their own travel ranges from their profile (✈️ My travel schedule), and property managers + board admins can enter on their behalf from the new /dashboard/whos-away.php. Each absence captures the start/end dates (end-date optional for open-ended trips), kind (short trip / snowbird / vacant / authorized worker access), emergency contact, who's authorized to enter, pet on premises, vehicle left on site, and an encrypted-at-rest key location. A one-click Emergency view prints a sorted list of every currently-away unit with all the contact details — the page managers hit before a hurricane or water shutoff. Broadcast email now has a Who's Away filter so boards can send 'we're shutting off water Thursday' to people who are actually home, or 'building impact incoming' to people who are away. Work-order and concerns forms warn when the chosen unit is currently away. Snowbird auto-prompt: returning snowbirds get a 'Heading south again this year?' card on their profile that clones last year's range one year forward. PRIVACY: Who's Away is hard-coded to property management and board roles. It does not appear on the Lobby TV, the public community landing, the community directory, or any broadcast preview — and the permission is not configurable, by design. Every key-location read is individually audit-logged.

New May 26, 2026 See it live →

Custom-domain sign-in page now wears your community's branding

Associations on a custom domain (e.g. bellaircondos.com) now get a fully branded sign-in page. Visitors who go to bellaircondos.com/login.php see the community's logo above the sign-in card and its hero image as the full-page background, with a navy gradient overlay for legibility. The page title and headline read 'Sign in to <association name>'. A '← Back to <association>' link below the form returns to the community's landing. The SoShiny marketing nav (Features / Pricing / FAQ / Get started) is hidden on custom-domain visits — only the 'Powered by SoShiny' credit in the footer links back to the platform.

New May 25, 2026 See it live →

Amenity bookings now post to the community calendar — open or private

When a member books an amenity (clubhouse, pool deck, BBQ area, etc.) they pick whether the gathering is 'Open to members' or a 'Private event / party'. As soon as the booking is approved (or instantly if the amenity allows auto-approval), an event is added to the community calendar so neighbors can see the space is reserved. Open events show the purpose so people can join; private events only show 'reserved — private event' so the space isn't accidentally double-booked. Denying or cancelling a booking automatically removes the event.

New May 24, 2026 See it live →

PDF signing — place your saved signature on any uploaded PDF

Any member can now sign uploaded PDF documents directly in the portal. Click Sign on a PDF row to open the signing page: the full document renders via PDF.js, you pick a saved signature (or draw a new one), click to place it on any page, and the document is baked client-side by pdf-lib before being saved as a signed copy. Signed copies are stored separately so the original is never modified.

New May 24, 2026 See it live →

Platform messages — SoShiny team can push banners to association dashboards

Super admins can now post messages directly to any association's dashboard from the admin panel. Messages appear as a navy banner labeled "From SoShiny" at the top of every dashboard page. Each message can target all members or board-only roles, carry an optional expiry date, and be paused or deleted at any time.

New May 23, 2026 See it live →

Board meeting agenda builder — agendas, resolutions, notices, and proof of notice

Board members and managers can now build and manage full board meeting agendas. Propose agenda items throughout the month, approve or table them, and attach resolutions with per-member yes/no/abstain votes. Print-ready outputs match Florida statute requirements: Proof of Notice Affidavit (§718.112), Notice of Board Meeting (with Zoom/Google Meet info), numbered Agenda, and a Resolution record with individual vote tallies.

New May 21, 2026 See it live →

Board notes — log calls, emails, and conversations per member or unit

Board admins and managers can now log private notes on any unit or member. Notes are tagged by type (📞 Call, 📧 Email, 💬 Text, 🤝 In person, 📋 General), include a backdatable date field, and support full edit and delete. A 📋 icon with note count appears on each occupant row in the unit detail page and on every member row in the directory — click to open the notes log. Notes are never visible to residents.

New May 19, 2026 See it live →

Assign rental and real estate agents to units

Board admins can now link a rental/property management agent or real estate agent to any unit. Agent contacts are stored association-wide so the same agent can be linked to multiple units without re-entering their info. The unit detail page shows a new Agents card with dropdowns for each agent type, and an inline form lets you add a brand-new agent on the spot without leaving the page.

New May 18, 2026 See it live →

In-app help center

A help center is now built into the dashboard. Every page has a ? button in the top bar and a Help link at the bottom of the sidebar. The help viewer has a searchable sidebar with topics grouped by category, and shows role-appropriate content — a resident only sees topics relevant to residents, while board admins see everything. Topics include getting started, directory privacy, changing your password, announcements, events, marketplace, concerns, architectural review requests, documents, legal reference, and more. The system is designed to grow over time.

New May 18, 2026 See it live →

Residents can opt out of the member directory

Unit owners and renters can now hide themselves from the resident directory without involving the board. A new 'Directory privacy' checkbox in Settings > Your account lets you opt out with one click. Other residents won't see your name, unit, email, or phone in the directory — but the board and management can always see your information for community management purposes. Board and management roles don't get the toggle since their presence in the directory is part of their community role.

New May 18, 2026 See it live →

Lobby TV PIN kiosk login — no more sharing the token URL

The Lobby TV now has a proper PIN-based login screen at /tv. Enter your community ID (the slug, e.g. 'bellair') and your 4–10 digit PIN, and you get a bookmarkable URL you can load on any TV or kiosk browser. The PIN is managed by the board admin in Settings > Lobby TV — it's randomized on first setup and can be changed any time. The kiosk is rate-limited: 10 wrong PIN attempts from one IP locks out that IP for 15 minutes. Legacy token-based URLs still work if you have one bookmarked. The TV display also gained infinite scroll (content loops seamlessly instead of jumping), a 10-minute page refresh, a high-visibility footer CTA pointing residents to the portal, and copyright.

New May 14, 2026 See it live →

Legal reference — Florida HOA and condo statutes, searchable in-app

A new Legal page (balance-scale icon in the sidebar, under Resources) gives every signed-in member access to Florida's HOA and condo statutes — chapters 718 (condominiums), 719 (cooperatives), 720 (HOAs), and 553 (building codes). FULLTEXT search across all 232 statutes, plus filters for chapter, what it applies to, and category. For statutes with full text loaded in-app, click Expand to read it right there. For the rest, the Official site button opens the Florida Legislature's page directly. Board admins can import additional states or update the statute list via the admin panel (Admin > Legal import, CSV format).

New May 13, 2026 See it live →

Marketplace — buy, sell, and give away within your community

Residents can now post items for sale, free giveaways, or wanted ads directly in the community marketplace at /dashboard/marketplace.php. Each listing has a title, category (Furniture, Appliances, Electronics, Clothing, Vehicles, Real estate, Services, Free, and more), price (or 'Free'), description, and an optional photo. Listings default to active and can be marked sold or removed by the poster. Board admins can remove any listing. Active listings appear on the Lobby TV in the third column and are counted on the dashboard home tile. The category set and moderation settings can be extended by the board.

New May 13, 2026 See it live →

Birth and death notices as announcement types

Two new announcement types — Birth notice and Death notice — let the board share community life events with residents who want to know. They have their own distinct badge colors and are categorized separately so residents can filter or ignore them. Like all announcements, the audience can be scoped (all residents, owners only, board only).

New May 13, 2026 See it live →

Per-unit photo gallery + document archiving

Each unit now has its own media gallery — floor plan images, interior photos, renovation before/after shots — managed from the unit detail page (/dashboard/unit.php). Images are scoped to the unit, board-only by default, and served through the secure file gatekeeper. Separately, documents can now be archived (soft-deleted) instead of permanently removed. Archived documents stay in the database and can be restored by a board admin, but they don't appear in the regular document listing. Useful for superseded rules, old insurance certificates, or past floor plans you want to keep but not surface.

New May 13, 2026 See it live →

Formal violation workflow — issue notices, track cures, print official letters

Board admins and property managers can now record formal violations (noise, parking, pets, unauthorized modifications, and more), cite the specific governing-document rule, and link the violating unit and resident. From the violation detail page, issue any of four notice types: Warning, Cure Notice (with a deadline), Fine Notice (with a dollar amount), or Hearing Notice. Each notice pre-populates a legally-shaped letter body that you can edit freely before saving. Every saved notice appears in a timeline and generates a print-ready letter: association letterhead (logo + address), recipient, rule citation, due date or fine amount callout, body text, and a signature block. The print page auto-fires the browser print dialog. Violations also integrate into the Concerns workflow — a new 'Convert to Violation' button on any concern detail page pre-fills the violation form. Fine amounts are captured for the record; fine payment tracking is wired in once the billing module ships.

New May 13, 2026 See it live →

Saved signatures — reuse your signature on future forms (private to you)

After signing any form, you can now tick 'Save this signature to my account for future forms' (with an optional label like 'My signature' or 'Initials'). Next time you file a form, a new ⭐ Saved tab appears on the signature pad with your saved signatures — pick one and you're done. Strictly private: only the owner can see and use their saved signatures. Even board admins can't see them. Manage (delete) them from the new 'My signatures' card on your profile. Each form submission still embeds its own copy of the signature image, so deleting a saved signature doesn't invalidate forms you've already signed.

New May 13, 2026 See it live →

Configurable permissions dashboard — board sets who sees what

Board admins can now configure exactly which role is required to access each feature. A new Permissions page (board-admin only) shows a matrix: rows are features, columns are roles. Pick the minimum role for each feature and save. Features you can configure include: viewing meeting minutes, viewing work orders (read-only), viewing violations (read-only), viewing the employee roster, viewing insurance records, the full resident directory, submitting concerns, and submitting ARC requests. Management-write actions (creating work orders, issuing violation notices, editing employees) are always restricted to board/management roles and are not configurable. Changes take effect immediately and are per-association — you're not changing settings for any other community. If you haven't customized a feature, it falls back to a sensible default. Custom overrides are labeled 'custom' in the matrix so you always know what you've changed.

New May 13, 2026 See it live →

Work orders — post a resident announcement when status changes

When a board admin updates a work order status, an optional 'Post an announcement' section now appears in the status form. Tick the checkbox to expand it, pick the audience (All residents, Owners only, Renters only, or Board only), and write the announcement body. The title auto-fills based on the new status — 'Work completed: [title]' when marking done, 'In progress: [title]' when starting work — but you can change it to anything. Handy for closing the loop with residents: when the pool pump is finally fixed or the elevator comes back online, one status change both updates the work order and notifies residents without a second trip to the announcements page.

New May 13, 2026 See it live →

Electronic signatures on forms — E-SIGN / Florida UETA compliant

Every form that carries legal weight (guest registration, amenity reservation, estoppel request, hurricane prep) now requires an electronic signature before it can be submitted. Three sign methods are offered side-by-side: ✍️ type your name (rendered in a cursive font), draw with your finger or mouse on an HTML5 canvas, or upload a PNG/JPG of an existing signature. Required consent checkbox cites the federal E-SIGN Act and Florida's Uniform Electronic Transactions Act. Audit trail captured automatically on submit: IP address, timestamp, user agent, and a SHA-256 hash of the form payload — if anyone edits the form later, the hash mismatches and a tampering warning appears next to the signature. The signature renders both in the on-screen detail view and on the printable permit (drawn/uploaded images are embedded inline). Note: not legal advice — confirm with your counsel before relying on this for binding contracts.

New May 12, 2026 See it live →

Forms library expanded — 8 new types + Bellair-card guest form

Guest registration now matches the official Bellair Registration Card (10/2025) — Name, full address, total in party + names of all others, Car license (make / color / plate / state), Owner / Family / Guest-of-Owner / Tenant / Guest-of-Tenant radio, house-rules-acknowledged checkbox (required), and Emergency contact (name + phone) fieldset. Eight new form types alongside: 🔧 Maintenance request (issue kind + urgency + access instructions), 🐕 Pet registration (species + breed + weight + vaccinations + emergency vet), 🚗 Resident vehicle registration (permanent, distinct from temp parking), 🔨 Contractor / work notice (dates + hours + access), 🎉 Amenity reservation (clubhouse / pool deck / BBQ pits with deposit acknowledgement), 🌪️ Hurricane prep checklist (storm name + staying vs evacuating + a 9-item checklist), ☎️ Emergency contact submission (who to call if you're unreachable), 📨 Estoppel / sale request (title companies for closings). All print as permits with the big confirmation code. On unit pages the form launchers are now inline text links instead of big cards.

New May 12, 2026 See it live →

Meeting minutes, maintenance-to-WO, and forgot-password rate limiting

Three things shipped together. (1) Board meeting minutes: a new Minutes page in the dashboard lets the board record official meeting minutes with a rich-text editor (Quill), attendee list, meeting type (Regular / Special / Annual / Executive Session), and date. All members can read; only board admins and property managers can create or edit. (2) Maintenance request → Work Order: when a member files a maintenance request form, board admins now see a 'Convert to Work Order' button on the submission detail that pre-fills the work order title, priority, description, location, and access instructions from the form payload. (3) IP rate limiting on the forgot-password page: the page now caps at 5 reset-link requests per IP address per hour and returns a clear error if exceeded. Previously there was no per-IP cap — an attacker could spam unlimited reset emails from a single connection.

New May 12, 2026 See it live →

Forms: guest registration, parking pass, move-in/out, key requests

New 📝 Forms page at /dashboard/forms.php. Residents pick a form type, fill it out, and get an instant printable permit with a unique confirmation code (e.g. AB72-9XKM) — no waiting for board approval. Five form types to start: 👋 Guest registration, 🅿️ Temp parking pass, 📦 Move-in notice, 📤 Move-out notice, 🔑 Key/fob request. Each form prints as a tilted-letterhead permit with the big confirmation code, valid-from/through dates, vehicle plate or guest name, and your unit. Board sees the full log + can revoke any permit (with optional reason). On the unit detail page, a Forms section shows recent submissions and quick-launch tiles for each form type. New form types are a one-line ENUM addition for the future.

New May 12, 2026 See it live →

ARC → Work Order, nav tidy-up, cleaner member edit

Approved (or any) ARC request can be promoted to a Work Order with one click — same pattern as concerns. Use it when the HOA needs to inspect after completion or do related work on the common area. The WO is pre-filled with the ARC's title, body, and unit, and back-links via source_arc_id; the ARC detail page shows a 'Linked work orders' card listing every WO spawned from it. The WO header also shows a 🏗 'from ARC #N' badge for the reverse link. Sidebar: Events moved up under Announcements (used to sit below Documents/Rules). Directory: when editing a single member, the Board + Residents listing below the form is now hidden — replaced by a 'Back to directory' button so the page isn't scroll-heavy.

New May 12, 2026 See it live →

Concerns can now say who or what they're about + cite rules

The Submit-a-concern form has a new optional 'Who or what is this about?' section with three pickers: a type-ahead member search ('the loud party was at John in 412'), a unit dropdown ('happened in Unit 217'), and a rule citation chip widget ('violates rule 3.4 No barbecues on balconies, type to filter by number or keyword, click chips to remove'). On the concern's detail page the targets surface in a warning-yellow card visible only to the board and the submitter — the person named never sees they were named. Foundation for proper rule-violation tracking down the line.

New May 12, 2026 See it live →

Architectural review + global search + insurance tracker + settings bug fix

Three new tools and a critical bug fix: 🏗 Architectural Review at /dashboard/arc.php — owners submit requests to change anything exterior (paint, dish, deck, windows, landscaping) with category, dates, contractor info, estimated cost. Board reviews with a thread, approves / denies / approves-with-conditions, and the submitter gets an email when the decision lands. 🔎 Global search box in the top bar — one search hits rules, documents, announcements, events, concerns, ARC requests, and members. Click any result to open it directly. Honors access controls (board-only docs hide from non-managers, members see only their own concerns + ARC). 📋 Insurance + COIs at /dashboard/insurance.php — track the association's policies and contractor certificates of insurance. Status badges color-code by expiry: expired (red), 30 days (yellow), 90 days (blue), beyond (green). Optional link to the actual PDF on file. 🛡 BUG FIX: editing the Association profile (name / slug / address) used to also wipe the Landing content (vision, about, amenities, contact info, social links) because both forms posted to the same handler that overwrote every column. Each form now scopes its update to its own field set.

New May 12, 2026 See it live →

Storage breakdown — see where your space is going (Drive-style)

Click the 💾 Storage widget at the top of the dashboard to open a new breakdown page. Headline shows total used / quota with a Drive-style stacked bar split by category — Documents, Photos & inline images, Member headshots, Logo & branding, Other. Below that, each category gets its own card with the 50 largest files (name, size, upload date) and a Manage link to the page where you can delete them. Documents and branding files link directly to their viewer so you can preview before deciding. Makes cleaning up much easier than scrolling through the document or media list trying to find the big ones.

New May 12, 2026 See it live →

Storage quota tracking — 1 GB free + $5/mo per extra GB

Every association now gets 1 GB of file storage free. A 💾 Storage widget at the top of the dashboard (managers only) shows current usage as a colored progress bar that turns yellow at 75% and red at 95%. Documents, media, and inline-image uploads check the quota before saving and refuse with a friendly message when an upload would put you over — no silent disk fill. The widget includes a 'Need more? $5/mo per extra GB · Contact us' link that emails success@soshiny.com. Super admin can grant paid GB to any association via /admin/associations.php (edit form → Storage section) until self-serve checkout exists.

New May 12, 2026 See it live →

Employees — track owner-employees, contractors, and volunteers

New Employees page at /dashboard/employees.php for the board to track anyone the association pays or relies on. Independent of role and owner status — an owner can also be the maintenance person, a board member can be an unpaid volunteer, a contractor can be on retainer. Each record: job title, type (Employee / Contractor / Volunteer), pay type (Hourly / Salary / Flat / Unpaid), start/end dates, status, and notes. The directory's Owner / Renter column now shows a small 💼 'job title' chip next to the owner badge when the person also has an active employment record. The user's own profile page gets a 💼 Your employment card showing what the board has on file (read-only).

New May 12, 2026 See it live →

Click any announcement or event to open the detail view, print it individually

Every announcement and upcoming event on the dashboard (and on the Announcements / Events full listings) now leads with a colored Month / Day calendar tile and is clickable end-to-end. Clicking opens a detail page with the full title, audience, timestamps, body, and a 🖨 Print button. Single announcements print via /dashboard/announcement-print.php with the date tile + letterhead on top; single events print via /dashboard/events-print.php?id=N (recurring series also list their next 12 occurrences in both the screen view and the printout). The Upcoming events column on the dashboard gets its own 🖨 Print link in the header that prints the next 60 days of events.

New May 12, 2026 See it live →

Dashboard refresh + suggestion edit button + filter-aware rule print

Dashboard tiles are now a 4-across grid with a colored icon, label, and big tabular-numeral count on each card — twelve tiles in total. Pending rule suggestions moved off the Rules tile into its own dedicated 🚩 tile that gets an orange left-edge when anything is awaiting review. New Board & mgmt tile shows the headcount and jumps straight to the Board section of the directory. Concerns tile gets the same orange edge when something's open. Above the tiles the page now shows a live local clock and date that ticks every 30s — same JS also drives the morning/afternoon/evening greeting from your browser's clock so 3:30 PM EDT reads correctly. Sidebar also gets a 🌐 Public site link that opens /<your-slug>/ in a new tab. Rule suggestions queue gets a dedicated ✏️ Edit button alongside Approve/Reject so cleaning up wording no longer requires going through the Approve form. The Print button on Rules is now context-aware: if you've searched or filtered by source, it becomes 'Print results' and prints only what's on screen. Suggestions queue also gets its own Print button.

New May 12, 2026 See it live →

Announcements: schedule + auto-expiry, deactivate moved to edit form

When you post an announcement you can now set a Start posting at time (defaults to now — schedule something for next Monday morning if you want) and pick how long it stays up: 1 day / 1 week / 2 weeks / 1 month / 3 months / pick a specific date / never expires. Members only see live announcements. The Announcements page header has a 'Show all' toggle so managers can review scheduled + expired posts; live posts also show a small 'expires Mar 14' hint, and the card visibly dims once expired. Directory's Deactivate button moved out of the listing rows and is now next to Save on the member edit form — fewer click targets per row and harder to misclick on the wrong row.

New May 11, 2026 See it live →

Work Orders + per-member documents + nav cleanup

New /dashboard/work-orders.php for admin-only operational tickets: open / in-progress / blocked / completed / closed, with priority, location, unit, assignee (board / PM), contractor (from your Contacts), cost estimate + actual, due date, and a full timeline that interleaves status changes with free-text notes. Concerns now have a 'Convert to Work Order' button that pre-fills a new WO from the concern's text and back-links them — you can see all WOs spawned from a concern right at the top of its detail page. Documents now accept an optional 'Attach to member' value alongside the existing 'Attach to unit' — a lease, an appointment letter, or any other paperwork tied to a specific person surfaces on their profile under My documents. Communications was renamed to Announcements and moved up near the top of the sidebar.

New May 11, 2026 See it live →

Board officer titles + contacts overhaul + rule-suggestion edits

Board members + property managers can now hold an officer title (President, Vice President, Secretary, Treasurer, Secretary-Treasurer, or Director). The title shows on the directory and "Meet your board" landing section in canonical order — President first. It's display-only; admin capabilities still flow from the role. Contacts page is now a single flat list (no more per-category sections) with two new print buttons: contacts-only, and contacts + board members & managers. Admins can also now edit a pending rule suggestion's wording before approving — a new Save edits (keep pending) button lets you clean up text without committing yes/no. Dashboard event count now correctly includes recurring occurrences (a weekly meeting seeded back in March still shows on the tile).

New May 11, 2026 See it live →

Dashboard refresh + printable event lists

Dashboard now opens onto a two-column layout — Recent announcements on the left, Upcoming events on the right — so the board can scan both at a glance. The stat tiles got a working Units link (to /dashboard/units.php), an accurate member count that includes pending residents, and three new tiles: Events (with upcoming count), Concerns (with open-count badge), and FAQs. The Events page also got Print buttons for Today / This week / This month — clean print-ready lists grouped by day, audience-scoped, with the association's letterhead and copyright footer.

New May 11, 2026 See it live →

Rules: flag for board review

Managers can now flag any rule for board review with an optional note ("conflicts with bylaw 5.2", "language needs updating", etc.). Flagged rules carry a red "Needs review" badge in the listing and a banner on the rule's detail page. One click to clear the flag once handled.

New May 11, 2026 See it live →

Compose documents inline + print any rule or document

Documents page now has a Compose button alongside Upload — write the document directly in a rich-text editor (headings, bold/italic, lists, blockquotes, inline images) instead of uploading a Word or PDF file. Every composed document and every rule now has a Print button that opens a clean print-friendly view and triggers the browser's print dialog, so save-as-PDF and paper copies work cleanly. Print-all-rules-in-number-order is also available from the Rules header.

New May 11, 2026 See it live →

Units: annual HOA and garage assessment amounts

Each unit now tracks an annual HOA assessment and an annual garage assessment (separate, since not every unit has a garage). Visible on the unit detail page header and editable on the unit form. CSV import accepts two new optional columns (annual_hoa_assessment, annual_garage_assessment).

New May 10, 2026 See it live →

Personal headshots + about-me bios

Every signed-in user can now visit /dashboard/profile.php to upload a headshot (PNG, JPG, or WEBP, 4 MB max) and write a short bio. Headshots show up next to your name in the directory, on board-member cards on the community landing page, and at the bottom of the sidebar where you click to edit. Bios appear under your role badge on the public landing for board members who've opted into showing on it.

New May 10, 2026 See it live →

Contacts directory: emergency lines, utilities, and recommended contractors

New /dashboard/contacts.php (manager-only) lets the board list emergency and non-emergency phone numbers, utility providers, and suggested contractors by trade. Items marked public render on the community landing in an "Important numbers" section. Contractors carry an auto-disclaimer that the association doesn't guarantee their work. The Settings page's Main email and Main phone fields are now labeled clearly (they were always there, just buried as "public contact").

New May 10, 2026 See it live →

Vision statement on the public landing + FAQ CSV import

Settings has a new Vision Statement field that renders prominently above the About section on the public landing. FAQ now supports CSV bulk-import (question, answer, optional sort_order) and shows when each FAQ was last updated.

New May 10, 2026 See it live →

Units: CSV bulk import + garage / parking spot tracking

Register dozens of units at once from a spreadsheet — required column is unit_number, plus optional type, bedrooms, baths, square_footage, ownership_percent, garage_number, parking_spot, and notes. Re-importing the same unit_number updates instead of duplicating. Garage and parking-spot fields acknowledge that those numbers often differ from the unit number (your unit 421 might have garage 64). Locations also picked up an optional category field so garages, event spaces, and amenities don't all sit in one bucket.

New May 10, 2026 See it live →

Concerns: complaints, compliments, and suggestions

Any signed-in member (resident or renter) can submit a concern — complaint, compliment, or suggestion — with an optional anonymity toggle. The board sees an inbox with status filters (open/new/in-progress/resolved/closed) and a counter banner for items awaiting attention. Each concern has a discussion thread with regular replies plus board-only internal notes. Resolved concerns can carry a resolution summary that's emailed to the submitter.

New May 10, 2026 See it live →

Co-owners, tenants, and per-unit documents

Each registered unit now tracks every person living in it — primary owner, co-owners, and tenants — independent of the single-string unit_number on a user record. Managers can add/edit/remove occupants from a unit detail page (/dashboard/unit.php) and upload documents scoped to that specific unit (rental agreements, deeds, insurance certificates). The new "Unit only" access level on documents means a rental agreement is visible only to the people listed on that unit plus the board.

New May 10, 2026 See it live →

Building locations: curate the spaces in your property

Managers can now add named locations (Clubhouse, Pool deck, Roof terrace, …) at /dashboard/locations.php, with optional descriptions and an active/inactive flag. The Events form auto-suggests from this list while still accepting free-text. The locations table is also the foundation for the maintenance work-order flow we're building next.

New May 10, 2026 See it live →

Members can suggest rules; board approves with a final adoption date

Any signed-in member (resident or renter) can submit a rule suggestion via a new form on the Rules page. The board sees a banner alert and a counter badge when suggestions are pending. Approving opens an editable inline form with all the suggestion's fields plus an adoption date — submit and it becomes a real rule with that date as the effective date. The suggester is emailed on either decision (approve or reject, with optional note).

New May 10, 2026 See it live →

Recurring events: weekly board meetings, monthly socials, etc.

Events now have a Repeats option (daily, weekly, biweekly, monthly, or none) plus an optional repeats-until date. Series are stored as a single row; occurrences are computed at display time and shown both on the dashboard listing and on the public community landing — no need to re-create a meeting every Tuesday.

New May 10, 2026 See it live →

Per-association activity log for the board

New /dashboard/activity.php page (board members, board admins, and property managers only) shows every audit event scoped to your association — who added a rule, deleted a document, posted an announcement, etc. Filter by action, actor, or date. When a SoShiny admin signs in as a user to help with support, the activity log makes that visible with a small "via SoShiny support" tag on the actor.

New May 10, 2026 See it live →

Document categories you can manage

Document uploads now use a curated category dropdown (Bylaws, Minutes, Insurance, Forms, Renters, General by default). Board users can rename categories — and the rename propagates to every existing document tagged with the old label — or add and delete categories from a Manage page accessible right from the upload form.

New May 10, 2026 See it live →

Send invitations and password resets from the admin panel

On /admin/users.php, leave the password field blank when creating a user and they'll get an emailed invitation with a link to set their own password (status starts as pending; first password set promotes them to active). Each existing user row now also has a Reset button that emails them a one-hour reset link. Welcome and invitation emails read "from your association" instead of generically from SoShiny.

New May 10, 2026 See it live →

SoShiny is live in production

https://soshiny.com is now serving the real SoShiny stack — marketing site, signup, login, board dashboards, super-admin panel, public community landings, the works. Real SMTP is wired (success@soshiny.com via smtp.hostinger.com:465), so password reset, signup notifications, and the contact form all send actual email instead of writing to a log file.

New May 10, 2026 See it live →

Events calendar — board meetings, socials, work parties

New /dashboard/events.php page (board admins create/edit/delete; signed-in members see read-only). Each event has title, start + optional end, location, description, and audience (Public / Members / Board). Public events render in an Upcoming events section on the community landing, with a calendar-tile date format. Past/upcoming + audience filters in the dashboard listing.

New May 10, 2026 See it live →

Embedded map on community landing

When a board admin saves a real address on /dashboard/settings.php, we geocode it via Photon and store latitude/longitude. The /{slug}/ landing then renders an OpenStreetMap iframe centered on the property — no API key, no fees. The address-only "View on map →" link still works as a fallback.

New May 10, 2026 See it live →

Social links in the landing footer

Five new fields on /dashboard/settings.php: Website, Facebook, Instagram, X/Twitter, Nextdoor. Each one renders as an inline-SVG icon in the landing footer when set. Empty fields render nothing. URLs auto-prefix with https:// if the board pasted just a domain.

New May 10, 2026 See it live →

Meet your board, public documents, and View-on-map link

Three more sections on the public landing: (1) Meet your board — auto-listed from active board roles, shown as first-name-plus-last-initial cards with role badges; (2) Documents & forms — anything in /dashboard/documents.php with access_level=public, served via the new /public-document.php gatekeeper; (3) View on map — link in the hero address that opens the property location in Google Maps.

New May 10, 2026 See it live →

FAQ + contact form on the public landing

Added FAQ section and a real contact form to /{slug}/. Boards manage FAQs at /dashboard/faq.php (Q + A, sort order, edit/delete). Contact form is CSRF-protected, has a hidden honeypot field for spam, validates name + email + min 10-char message, and emails the association's contact_email (or admin_email fallback) via the existing send_mail() pipeline. Submission audit-logged.

New May 10, 2026 See it live →

Public landing page is now a real community website

Added five content sections to /{slug}/: hero banner image, formatted About paragraph (Quill), Amenities list (one per line, two-column grid), public photo gallery (auto-pulled from media with visibility=public), and Contact info card (email + phone). All editable on /dashboard/settings.php (board admin only). Sections render only when content exists, so nothing looks empty if a board hasn't filled it in yet.

New May 10, 2026 See it live →

Board admins can customize their community URL slug

/dashboard/settings.php has a new Slug field that controls /{slug}/ — the public-landing URL. Format-validated (a-z, 0-9, hyphens), uniqueness-checked across all associations, and audit-logged when changed. Comes with a clear warning that changing breaks any existing bookmarks.

New May 10, 2026 See it live →

Public announcements feed on the community landing

Announcements posted with audience=all now render on the public /{slug}/ landing page — eight most recent, with type badge, date, author, and a 360-char excerpt. Board-only or owners-only announcements stay private.

New May 10, 2026 See it live →

Per-association public landing page at /{slug}/

Each association now gets a public, branded community page at https://soshiny.com/{slug}/ — name, address, logo, primary-color accent, and a sign-in CTA. Opt-in via Settings → Show public landing page (default off). Logo upload is also now in the Settings form (PNG/JPG/SVG/WEBP, max 1MB). Real paths like /dashboard/, /admin/, /login.php, /assets/ all take precedence so the rewrite never collides.

New May 10, 2026 See it live →

Real address autocomplete (Photon/OSM)

Type a partial street address on /signup.php, /admin/associations.php (edit), or /dashboard/settings.php and see a dropdown of real places. Click one to auto-fill street, city, state/province, ZIP, and country. Powered by Photon (komoot.io) — free, no API key, OpenStreetMap data. ZIP-only lookup is still wired as a fallback.

New May 10, 2026 See it live →

Per-unit details (bedrooms, baths, sqft, ownership %, type)

New units table keyed by (association_id, unit_number). Edit-member form on /dashboard/directory.php now has a Unit details section that upserts the unit row when you save. Properties belong to the unit so two members in the same unit share them.

New May 10, 2026 See it live →

ZIP / postal-code auto-fill

Type a US ZIP or Canadian postal code on /signup.php, /admin/associations.php (edit), or /dashboard/settings.php and the city + state/province auto-populate. Powered by Zippopotam.us — free, no API key. Manual entry still works for international addresses or if the API is unreachable.

New May 10, 2026 See it live →

Super admins can edit any user

/admin/users.php now has an Edit button on every row — full edit form for name, email, phone, role, association, unit, status, owner flag. Email-uniqueness check; self-lockout guard prevents super admins from demoting or deactivating their own account.

New May 10, 2026 See it live →

Public changelog launched

This page. Every meaningful change to SoShiny is logged here, categorized, and dated.

New May 10, 2026 See it live →

Signup detail view for super admins

Each pending signup row has a 'View' button that opens a clean detail card with full address, contact info (with mailto: + tel: links), submitted timestamp, and inline approve/reject buttons.

New May 10, 2026 See it live →

Structured address fields with US/Canadian state datalist

Replaced the freeform address input on /admin/associations.php, /dashboard/settings.php, and /signup.php with separate Street / City / State-Province / ZIP-Postal / Country fields. Type-ahead datalist lists every US state and Canadian province; free text still allowed for international.

New May 10, 2026 See it live →

Edit any association from the super-admin panel

/admin/associations.php now has an Edit button on every row — lets super admins update name, slug, address, plan, status, and primary color. Slug uniqueness enforced; audit-logged on save.

New May 9, 2026 See it live →

Rules CSV import + downloadable template

Board admins can bulk-import rules via CSV at /dashboard/search.php?action=import. Required columns: title, body. Optional: rule_number, category, source, effective_date. Unknown categories auto-create. Template available at ?download=template.

New May 9, 2026 See it live →

WYSIWYG editor + image upload on rules

/dashboard/search.php?action=new now has a Quill 2.0.2 editor for rule bodies. Toolbar includes formatting, lists, links, and an image button that uploads directly into the rule via /dashboard/upload-image.php (board admin only, MIME whitelist, 8MB cap, served via the existing file gatekeeper).

New May 9, 2026 See it live →

Rule categories with management UI + effective dates

Categories are now first-class — create / list / delete via /dashboard/search.php?action=categories. The new and edit-rule forms use a category dropdown (with an 'Add new' link). Each rule also has an effective_date input.

New May 9, 2026 See it live →

Activity log viewer for super admins

/admin/activity.php — paginated audit log (50/page) with filters for association, action, actor, and since-date. Pulls every audit event across every tenant. Linked from the audit-events stat tile on /admin/.

New May 9, 2026 See it live →

Committees with chairs and members

New /dashboard/committees.php — board admins can create committees (e.g. Rules, Beautification, Architectural Review), add or remove members, designate a chair (auto-demotes prior chair), and delete the whole committee. Committee count is a clickable stat tile on the dashboard.

New May 9, 2026 See it live →

Member directory: edit + CSV bulk import

Board admins can now edit any member (name, unit, role, email, phone, owner status, status) and bulk-import a roster via CSV. Sort is a proper alphanumeric natural sort — 101, 101A, 102, B2 in the right order. Owners-only filter.

New May 9, 2026 See it live →

Phase 1 launched

Multi-tenant SaaS for condo and HOA associations. Public marketing site, board dashboard, super-admin panel, full design system, 11-table schema with audit log, file uploads with secure gatekeeper, CSRF + login throttling, role-based access. Initial 6 dashboard pages: home, documents, rules, directory, communications, media, settings.