Built with Modern Technology

We use battle-tested, enterprise-grade technologies to ensure Presently is fast, secure, and reliable. Here's what powers your studio management platform.

Technology Stack

Core Framework

Laravel 12

PHP Framework

The most popular PHP framework, known for elegant syntax, robust security features, and excellent developer experience.

Livewire & Volt

Reactive UI

Build dynamic, reactive interfaces without writing JavaScript. Provides a smooth, SPA-like experience with server-side rendering.

Tailwind CSS

Styling

Utility-first CSS framework for rapid UI development. Ensures consistent, responsive design across all devices.

Flux UI Pro

Component Library

Premium Livewire component library providing beautiful, accessible UI components out of the box.

Vite

Build Tool

Lightning-fast build tool for modern web development. Instant hot module replacement during development.

Alpine.js

JavaScript

Lightweight JavaScript framework for adding interactivity. Perfect companion to Livewire for client-side behavior.

Infrastructure & Performance

Redis

Caching & Queues

In-memory data store for lightning-fast caching and background job processing. Sub-millisecond response times.

Meilisearch

Search Engine

Blazing fast, typo-tolerant search engine. Find families, students, and classes instantly as you type.

Laravel Reverb

WebSockets

Real-time WebSocket server for instant updates. Powers live chat, notifications, and real-time data sync.

DomPDF

PDF Generation

Generate professional PDF reports, invoices, and statements. Export rosters, schedules, and financial documents.

Intervention Image

Image Processing

Automatic image optimization and resizing. Ensures fast load times while maintaining quality.

Activity Log

Audit Trail

Complete audit trail of all data changes. See who changed what and when for full accountability.

Payments & Security

Stripe

Payment Processing

Enterprise-grade payment processing. PCI DSS Level 1 certified with 99.99% uptime. Supports cards and ACH.

Laravel Fortify

Authentication

Secure authentication with two-factor authentication, password confirmation, and email verification.

Spatie Permissions

Access Control

Fine-grained role and permission management. Control exactly what each user can see and do.

Analytics & Communication

PostHog

Product Analytics

Privacy-friendly product analytics to understand usage patterns and continuously improve the platform.

Postmark

Email Delivery

Industry-leading email deliverability. Your emails land in inboxes, not spam folders.

ApexCharts

Data Visualization

Beautiful, interactive charts for financial reports and analytics dashboards.

Changelog

We ship improvements constantly. Here's what's new in Presently.

May 2026 Latest
  • Schedule Builder: a private planning canvas where you lay out a season's weekly grid with lightweight placeholder blocks (name, day, time, instructor) before any real classes exist. Drafts don't surface to families, instructors, or reports until you promote, which can happen one block at a time or all at once. Blocks are colored by instructor to make back-to-back scheduling obvious, day labels click to expand a single day to full canvas width with every block's full detail inline, and each block can override the draft's default season for studios planning a competition and regular season on the same sheet
  • Contracts for per-student offers: studios that audition for Ballet Company or Competition Team can now build a contract once (title, body, slate of offered classes, pick-one vs pick-any, respond-by date) and send it to a list of students. Each student's family receives their own email with a unique magic-link to a mobile-friendly signing page where they check the classes they accept and type their signature. Accepted classes auto-flow into the existing pre-approval pipeline as pending enrollments, so the family doesn't need a separate "now enroll for real" step. The studio sees a status board per contract: how many sent, accepted, pending, declined, and exactly which classes each student said yes to
  • Family balances import: tenants migrating from Jackrabbit, iClassPro, or a paper spreadsheet can seed every family's existing account balance on day one without writing them by hand. The new import type matches families by email or primary contact name, parses positive balances as posted charges and negative balances as posted credits, and tags everything with an auto-created "Opening Balance" / "Opening Credit" category so migration entries can be filtered out of regular reports. Common money formats are handled: $1,250.00, (75.00), -40, plain numbers
  • Value mapping in the import wizard: when a column maps to a field with known options (status, day of week, gender, enrollment status) or a lookup target (class type, location, instructor), the wizard collects the distinct source values from the CSV and lets you pick the canonical Presently value for each one. So "Withdrawn" becomes "dropped" and "Mon" becomes "monday" without find-replacing the file in Excel first. Empty targets mean "leave as-is," which is the right default for lookups (the importer creates the missing record) and harmless for enums. The step is skipped automatically when nothing in the mapped columns needs translating
  • Automatic subscription-tier sync: a nightly job now snapshots each tenant's active-student count and reconciles their Stripe subscription against the right plan. Upgrades fire the moment the 3-month max crosses a tier so revenue tracks the real load; downgrades only fire after the 30 most-recent days have stayed entirely below the current tier, which keeps off-season dips from flipping studios back and forth. Trial tenants are kept in local sync but Stripe is never touched until they're paying for real
  • Getting Started checklist returns as a dedicated card above the dashboard grid (it had disappeared when the dashboard moved to a customizable widget layout) and the "Create a season" item now drops new tenants into a guided wizard. The wizard opens with a welcome step that diagrams how seasons, billing sessions, rate groups, and class types fit together, then walks through each piece with a worked Fall 2026 example so new owners aren't staring at a "Season Name" input wondering whether to type "2026-09" or "Fall 2026." An "I'll set things up manually" escape hatch is there for owners who already know the model
  • "How does this fit together?" link on each of the four billing-setup index pages (Seasons, Billing Sessions, Rate Groups, Class Types) opens a shared modal that explains the four-piece model: Season is the container, Billing Session is when families get charged, Rate Group is how much, Class Type maps each class to a rate group. Designed for the moment a new owner is staring at an empty index page wondering what they're supposed to do next
  • Date-specific classes (camps, workshops, intensives) now support per-date location overrides on top of a class-level default. A summer camp that runs out of the studio for four days and a park for one can be set up exactly that way, and the public schedule + the tenant schedule readout both show the resolved location per date instead of a single fallback
  • Biweekly class support: each schedule row on a class can now be set to weekly or biweekly cadence, with an A / B week selector for alternating biweekly groups. Studios can rename the two week labels (A / B, 1 / 2, "Comp / Drill", whatever your team uses) under Settings. Dashboard, room schedule, instructor schedule, and conflict detection are all biweekly-aware — A-week classes don't appear on B-week days, and two biweekly classes on opposite weeks no longer trip the same-room-and-time warning. Billing stays controlled by rate groups, with helpful nudges on the class form when a biweekly schedule is paired with a non-biweekly rate group
  • Mobile-first attendance taking: instructors and admins now get a phone-sized attendance sheet with full-width student rows, big Present / Absent toggles, inline notes that stay collapsed until needed, and a sticky save bar that survives the on-screen keyboard. Admins can launch the same modal from a Take Attendance icon on every row of the Today's Classes / Upcoming Classes lists on the tenant dashboard, so the front desk can record attendance without drilling into the class
  • New Room Schedule card on the tenant dashboard lays out today's classes as colored blocks across a per-room timeline. The hour bounds auto-fit to the earliest and latest class of the day, the timeline stretches to fill the card width, and tapping any block opens that class's attendance modal directly. Mobile collapses to a vertical list per room
  • Drop-in and makeup bookings now attach to a specific class schedule, so classes that meet twice in the same day (e.g. Monday 10am AND Monday 1pm) record which session the student attended. The date picker in both modals is bounded to the season and visually disables days the class doesn't meet, and a Session Time picker appears when the chosen date matches multiple sessions
  • Mobile responsive cleanup pass across the admin site and instructor portal: modals collapse to full-screen on phones, multi-column grids fall back to single-column on narrow widths, action button groups wrap instead of crushing against text, family detail tabs scroll horizontally on mobile, and the instructor roster has a dedicated phone card list with one-tap email / call links, full emergency contact info, and primary-contact name surfaced for every family
  • Tag selector rebuilt around a single labeled trigger, a search-or-create input, and a one-click "Create X" affordance when the search term doesn't match any existing tag. New tags get a color auto-assigned from their name so users don't have to pick one in the popover, and a "Manage tags" link in the footer takes you to the existing tags admin page for editing and deletion
  • Global search polish: the topbar trigger is now an icon button with a ⌘K hint chip instead of a fake input that opened a modal, the search input auto-focuses when the modal opens, arrow keys + Enter navigate results from anywhere inside the modal, and the keyboard-selected row uses a distinct indigo highlight so it stays visible alongside any mouse hover
  • Theme picker on the instructor and family portals now actually works (the previous implementation called a Flux Pro API that didn't exist on the installed version), and the instructor portal swapped its background pattern from falling-triangles to a softer charlie-brown weave
  • Private lessons module: instructors maintain their own per-room availability with hourly rates and slot durations, families book on a public shareable page (one URL covers every instructor), and the slot reserves the moment payment clears. Includes a separate trial-booking flow for prospective families, automatic confirmation emails to both family and instructor, family-portal self-cancellation within the studio's policy window, and a public marketing landing page
  • Per-tenant private-lesson billing configuration: choose whether bookings post to the family ledger (pay later via autopay or invoice) or require payment up front to reserve the slot, and choose whether the ledger charge is due on the booking date or on the date of the lesson
  • Email tool rewrite with a stacked audience builder that targets families, students, instructors, leads, or custom email lists with filters like enrolled-in-season, has-tag, balance-over, lead-status, and conversion state. Live recipient count, optional preview list, and a "Send test to me" button that merges placeholders against a real recipient's data
  • Email drafts and scheduled sends: save a draft with its audience config, schedule a send for a specific date and time, and the scheduler re-resolves the audience at fire time. If the recipient list has drifted from the saved snapshot, the sender is emailed a diff and (per the draft's preference) the send either proceeds anyway or pauses for review
  • Email templates V3: duplicate any system or custom template (lineage is preserved so financial-table and pre-approval behaviors follow the clone), free-text categories with grouped Compose dropdown, optional default audience per template that prefills the audience builder, archival without losing send history, and template-level send-count and last-used stats on the index
  • Per-send email reports replace the old detail view with delivered/failed/opened/open-rate cards, a per-recipient table with open timestamps and failure messages, and a resend dropdown that can target all, non-openers, or failures only
  • Outgoing email "From" name now uses the tenant's display name (or business name) instead of the platform name, so families see "Sunshine Dance Academy" rather than "Presently" in their inbox
  • Global search rebuilt as a ⌘K command palette with categorized results (families, students, classes, pages, instructors, leads), match highlighting, recent searches stored locally, and curated "Jump to" shortcuts
  • Editable display name per tenant, used in compact UI surfaces (sidebar header, public booking heroes, browser titles) while the canonical business name stays in alt text, footers, and contact cards. Lets a studio show as "SDA" in tight spaces and "Sunshine Dance Academy" everywhere else
  • Settings page restructured into four grouped sections (Studio, Operations, Experience, Integrations) covering twelve sub-sections, with a ⌘K-style search field that filters settings as you type
  • Class calendar view rebuilt with absolute-positioned class blocks driven by minute offsets so the time axis on the left actually lines up with the classes on the right, plus side-by-side columns when multiple classes overlap at the same time
  • Sales Appointments feature for studios that take discovery calls: instructors publish availability, prospects book a slot on a public page, and the booking is tracked as a lead record with status and conversion-to-family tracking. Available as an emailable audience in the new email tool
  • Internationalized address and phone inputs so non-US studios can store full state names (NSW, VIC, QLD) and international phone formats instead of the previous US-only two-character state column
April 2026
  • Public class schedule page with a shareable link and embeddable iframe snippet, branded with the studio's logo and colors. Configurable optional fields (price, enrollment count, spots remaining, capacity, age range, class type, skills, register button), per-class visibility toggle, season and day-of-week filters, list view grouped by season, and calendar view with day-of-week grid for weekly classes plus real month grids for date-specific seasons
  • Promo codes with flexible eligibility rules including minimum purchase amount, minimum upcoming enrollments across selected class types, season restrictions, validity windows, and per-family usage limits
  • Adult registration mode for studios that primarily serve adult students, streamlining the public registration flow and using "Account" terminology in place of "Family"
  • Per-season "require payment at portal checkout" setting so studios can collect upfront for short sessions and camps while keeping monthly billing for ongoing classes
  • Configurable family self-cancellation policy: disabled, allowed within a time window after enrollment, or always allowed
  • Season setup wizard with a guided four-step flow for creating new seasons and their billing sessions
  • Multi-select calendar for date-specific class scheduling, replacing the one-by-one date picker, with a same-time-for-all-dates toggle
  • Top-of-page navigation progress bar so admins get immediate feedback when switching pages
  • Refined add-to-cart animation and a more compact, collapsible promo code field on the portal checkout
  • Schedule conflict warnings on class create and edit forms when a proposed class overlaps an existing class by location or instructor, and on enrollment when a student would land in two overlapping classes (admin and family portal)
  • Schedule exceptions for one-off rehearsals and tech week dates: layer extra meetings on top of a weekly-series class, with optional flat charges per family or per student. Visible in the family portal, the instructor schedule and dashboard, and the admin Schedule tab on the class detail pane
January 2026
  • Platform Launch feature for sending welcome emails to all families with secure password setup links
  • Multi-language support with Spanish translations for all portals
  • In-app support form for contacting Presently directly
  • Soft delete recovery for students, families, and classes with 60-day restoration window
  • User-friendly payment decline messages with activity log tracking for better billing transparency
December 2025
  • Twilio SMS integration for tenant messaging to families
  • Signed waiver PDF viewing and download with signature display
  • Waivers tab on family and student detail pages
  • Tab badge counts now visible before clicking (Notes, Costumes, Waivers)
  • Billing Overrides and Payment Plans moved to Actions menu modals
  • Added technology and changelog page
  • Expanded landing page features section with 25+ capabilities
  • New custom 404 and 500 error pages with brand styling
  • Added registration link to family portal login
  • Mobile-friendly improvements across dashboard and index pages
November 2025
  • Stripe subscription billing integration with Laravel Cashier
  • Add-on subscriptions for Events, Costumes, and Live Chat
  • Pre-approval email templates with multi-season support
  • Flexible tagging system for students and families
  • Redis caching for dramatically improved performance
  • PostHog analytics integration
  • Activity log and audit trail for all data changes
  • Credit card surcharge setting for payment processing
  • Standard email templates (invoices, confirmations, etc.)
October 2025
  • Pre-approval system for class enrollment
  • Bulk copy pre-approvals between classes
  • Drop all students modal with proration support
  • Background job progress notifications
  • Rate group recalculation for imported data
  • Email communications with placeholder system
  • Comprehensive test suite with factories
Coming Soon
  • Automated billing runs
  • Enhanced reporting dashboard
  • Mobile app for instructors
  • SMS notifications

Ready to experience the difference?

Join studios who trust Presently to run their business.

Start Your Free Trial