Everything a plugin would do.
None of the plugins.
On WordPress, every feature on this page is something you install. Each one is a subscription, an update, a settings screen and one more thing that can break while you are asleep. We build them into the site instead — so they are simply how your website works, not software you are renting.
Not sure whether yours is on the list? Just ask — it is a five-minute answer, and we would rather tell you no now than after you have paid. Or see the sites we have already built.
Things that talk to your customers
The parts of a website that collect something or show something live. On WordPress each one is a plugin with its own subscription, its own update schedule and its own way of breaking. Here they are services we run, shared across every site we build.
Contact forms
Inquiries land in your inbox and nothing is stored on your site. Spam is filtered before it reaches you, and the form keeps working whether or not anyone remembered to renew anything.
Instead of Contact Form 7, WPForms, Gravity Forms
Included in every plan
You'll need to give us (2)
- The email address each inquiry should go toNeeded to startOne inbox for everything, or a different one per topic: quotes to you, bookings to the front desk.
- Anything the form should ask beyond name, email and messageA phone number, the service they want, a preferred date. Every extra field costs you a few inquiries.
Longer forms that ask the right questions
Multi-step forms, quote requests, intake questionnaires, file uploads — the ones where what you ask next depends on the last answer, so somebody is not scrolling past nine fields that do not apply to them.
Instead of Gravity Forms, Formidable, Typeform
$50 each
You'll need to give us (2)
- The questions, in the order you ask themNeeded to startA paper form, a Google Form or a list in an email all work. Mark which answers change what comes next.
- Where the answers should goNeeded to startAn email address, and whether uploaded files should arrive as attachments.
A “Message us” button on every page
A button in the corner that opens a text, an email or WhatsApp to you — whichever you actually answer. No chat software and no fake “online now” dot, and nothing loads from anyone else until somebody taps it. The one in the corner of this page is ours.
Instead of Joinchat, Click to Chat
Included in every plan
Event calendars
Classes, tours, open days and recurring schedules, with the times shown as the wall-clock times you entered — they do not shift by an hour when the clocks change. Already running in production for one of our clients.
Instead of The Events Calendar, Modern Events Calendar
Available — scoped with your build
You'll need to give us (3)
- The events: name, date, start and end time, and a line about eachNeeded to startA spreadsheet is fine. For a repeating one, say how often it repeats and when it stops.
- Where each one happensNeeded to startThe venue name and address, or “online” with the link people join from.
- The time zone your events are inNeeded to startWe show the times exactly as you give them, so we only need to know which clock they are on.
Google reviews on your own pages
Your Google Business Profile reviews, pulled on a schedule and rendered into your pages — so they load as fast as the rest of the site and do not disappear when a plugin subscription lapses. More review sources are planned.
Instead of Widget for Google Reviews, Trustindex, WP Review Slider
Being rolled out — ask us where it is
You'll need to give us (2)
- Your Google Business Profile, by name or linkNeeded to startThe listing as it shows on Google Maps. With more than one location, each one you want shown.
- Permission to connect the profileNeeded to startWe send an access request through Google, and whoever owns the profile approves it.
Testimonials and case studies
Quotes from real clients with their name and the job they came from, and longer stories for the work you are proudest of. Written once and shown wherever they help — not a slider that rotates past the good one before anyone reads it.
Instead of Strong Testimonials, Testimonial Rotator
Included in every plan
See it on the Mainstreet demo (opens in a new tab)You'll need to give us (3)
- The quotes, each with the person’s name and the job it came fromNeeded to startFor a case study, the story in your own words: the problem, what you did, how it turned out.
- Confirmation that each person agreed to be quotedNeeded to startAnd how they want to be named: full name, first name and town, or their business.
- A photo of the person or the work, where you have one
Online booking and appointments
Services with a duration, staff and rooms that can only be in one place at once, deposits taken at the time of booking, and automatic email reminders before the appointment. Times are handled properly across daylight saving, which is the bug that sends a real customer to your door an hour early. Runs on VendorStreet, built inside the group rather than rented — and we set it up for you, which is the part most booking software leaves to you.
Instead of Bookly, Amelia, Simply Schedule Appointments
$75 one-time · runs on VendorStreet
You'll need to give us (4)
- Your VendorStreet booking link, or “set it up for me”Needed to startThe name after app.vendorstreet.app/ in your link. No account yet? Say so and we set one up with you.
- The services people can book, with how long each takes and what it costsNeeded to start
- Who does each service, and when they are availableInclude any room or piece of equipment that only one booking can use at a time.
- Whether you take a deposit at booking, and how much
Already using Calendly or Acuity?
Then keep it. We connect the booking tool you already have so your customers book from your site and you carry on looking at the same calendar. Moving is an option, never a condition of working with us.
Instead of nothing — this is the one you keep
Connected: Acuity, Calendly, Square Appointments, Cal.com
Classes, tours and anything with a capacity
Timed sessions where twelve people can book the same slot rather than one — a class, a tasting, a tour, a table. Counted properly, so the thirteenth person is told it is full instead of turning up.
Instead of Bookly Pro, WooCommerce Bookings
$75 one-time · runs on VendorStreet
The questions you need answered before they arrive
Intake questions attached to a service, asked while somebody books rather than chased afterwards. The medical history, the parking situation, the thing you always end up phoning about.
Instead of Gravity Forms plus a booking plugin, taped together
$75 one-time · runs on VendorStreet
Payments and deposits
Take a deposit, a consultation fee or a one-off payment through Stripe. This is not a shop with a cart — if you need one of those, we will say so and point you somewhere better rather than sell you a compromise.
Instead of WooCommerce (for simple payments), WP Simple Pay
$75 one-time
You'll need to give us (2)
- What people pay for, and how muchNeeded to startA deposit, a consultation fee, a class. Say whether the amount is fixed or they enter it.
- Your Stripe account, or “set one up for me”Needed to startIf you already use Stripe, the email the account is under. The money goes straight to you either way.
Newsletter and SMS signup
Signup forms are part of any plan. We connect the email tool you already use, or set you up on Compass, our own email and SMS platform that sends from your domain.
Instead of Mailchimp for WordPress, OptinMonster
Connected: Mailchimp, ConvertKit, Beehiiv, Constant Contact, Compass
You'll need to give us (2)
- Which email or SMS tool you use, or “none yet”Needed to startMailchimp, ConvertKit, Beehiiv, Constant Contact, or Compass if you have nothing yet.
- The list or audience signups should joinAnd access to that account, which we ask for through the tool itself.
Your Instagram feed
Your latest posts on your own site, through the feed tool you already use or one we set up for you. We connect this rather than build it: Instagram changes its rules often, and a feed that quietly breaks is worse than a link to your profile.
Instead of Smash Balloon Instagram Feed, Spotlight
Connected: Elfsight, Behold, SnapWidget
You'll need to give us (2)
- Your Instagram handleNeeded to start
- Permission to connect the accountNeeded to startThrough the feed tool you already use, or one we set up. Instagram asks you to approve it.
Opening hours and contact details
Hours, holiday closures, phone, address and directions, kept in one place so every page that shows them says the same thing. Tap to call on a phone, and directions that open in the map app people already use.
Instead of Opening Hours
Included in every plan
You'll need to give us (2)
- Your opening hours, per day and per locationNeeded to startInclude the time zone, and any holiday hours you already know.
- The phone number, email and address to showNeeded to start
An announcement bar
A strip across the top for what people need to know this week — a holiday closure, a sale, a new location. It comes down on the date you set, so last December’s notice is not still up in March.
Instead of WPFront Notification Bar, Hello Bar
Included in every plan
You'll need to give us (2)
- What the bar should sayNeeded to startOne sentence, and where it links to if anywhere.
- When it goes up and when it comes downNeeded to start
A blog you can add to
Set up once, then new posts are ordinary website requests — you send us the words and we publish them, or we write them for you.
Instead of the WordPress editor itself
$100 one-time
You'll need to give us (3)
- Who writes the posts: you, us, or bothNeeded to start
- How often you want a new postNeeded to startMonthly is plenty for most businesses. We would rather you kept to it than aimed high.
- A few topics to start withThe questions customers ask you most are the best first posts.
Things that make a page do more than sit there
This is where page builders earn their reputation. Every one of these is normally a builder add-on or a premium block pack, and every one of them is another thing loading in your visitor’s browser. We build them into the page, so they cost nothing to run.
Layouts that are not a stack of boxes
Overlapping panels, asymmetric grids, full-bleed imagery, sections that reflow properly on a phone instead of collapsing into a column of rectangles.
Instead of Elementor Pro, Divi, Beaver Builder
Included in every plan
Carousels and sliders
Product shots, past work, logos, testimonials. Swipeable on a phone, keyboard reachable, and they do not shove the rest of the page around while they load.
Instead of Slider Revolution, Smart Slider 3
Included in every plan
Before and after sliders
The drag-the-handle comparison that sells a repair, a remodel, a clean-up or a treatment better than any paragraph. If you photograph your work, this is usually the highest-earning thing on the page.
Instead of Twenty20, BEAF, Image Comparison blocks
Included in every plan
Animated transitions
Sections that arrive as you scroll, considered hover states, motion that points at the thing you should read next. Switched off automatically for anyone whose device asks for reduced motion.
Instead of Animate It, premium builder motion packs
Included in every plan
Photo galleries and lightboxes
Portfolios, job galleries, menus, room shots. Images are resized and re-encoded when the site is built, so a gallery does not cost your visitor a ten-megabyte download.
Instead of NextGEN Gallery, Envira, FooGallery
Included in every plan
Video, without the slow page
YouTube and Vimeo videos in a tidy gallery, each one loaded only when somebody presses play — so a page with ten videos opens as fast as a page with none.
Instead of Embed Plus for YouTube, Envira Gallery
Included in every plan
A page for every podcast episode
Each episode on its own page with a player, the show notes and a transcript if you have one, built from the feed your podcast host already publishes — so nobody copies episodes across by hand.
Instead of Seriously Simple Podcasting, PowerPress
Included in every plan
You'll need to give us (1)
- Your podcast’s RSS feed addressNeeded to startYour podcast host shows it in the show’s settings, usually under “RSS” or “distribution”.
Directories of people, places and things
Staff and provider profiles, locations and service areas, a fleet, a product range, a membership list. Filterable and searchable where that helps, each entry on its own page where that earns you search traffic.
Instead of Business Directory Plugin, GeoDirectory, Team Members
Included in every plan
See it on the Mainstreet demo (opens in a new tab)You'll need to give us (1)
- The entries: a name, a line or two, and a photo for eachNeeded to startA spreadsheet is ideal. Add a column for anything people should be able to filter by.
Logos of the people you work with
Clients, partners, accreditations or the carriers you are appointed with, in a calm grid rather than a spinning carousel. A logo is someone else’s trademark, so a name on its own is always an option and always looks deliberate.
Instead of Logo Carousel
Included in every plan
You'll need to give us (2)
- The logos, as filesNeeded to startAn SVG or a large PNG with a clear background. Where you have no file, the name works too.
- Confirmation you may show each oneNeeded to startA logo is someone else’s trademark. A client or partner saying yes by email is enough.
Timelines
Your history, the phases of a project, or what happens in week one, two and three — in order, and readable on a phone, which is where most timeline plugins fall apart.
Instead of Cool Timeline, Timeline Express
Included in every plan
You'll need to give us (1)
- The entries, in order: a date or step, a heading and a line or twoNeeded to start
Comparison charts
Plans against each other, your service against the alternative, specifications side by side. Readable on a phone, which is where most comparison tables quietly fail.
Instead of Pricing Table plugins, TablePress
Included in every plan
A countdown to a real date
Doors open, early-bird pricing ends, orders close on Thursday. It counts to the date you set, shows that date to search engines and screen readers, and disappears when it is over. We do not build the kind that quietly restarts for every visitor.
Instead of Countdown Timer Ultimate, HurryTimer
Included in every plan
Questions answered on the page
FAQ sections marked up so Google can read them, which is what makes your answers eligible to appear directly in search results rather than only on your site.
Instead of Yoast FAQ blocks, Ultimate FAQ
Included in every plan
See it on the Mainstreet demo (opens in a new tab)Maps and service areas
Where you are, or everywhere you will travel to. Paired with a page per area when you want to be found in the next town over as well as your own.
Instead of WP Google Maps, store locator plugins
$50 per page
You'll need to give us (2)
- The address of each locationNeeded to start
- The towns or areas you serve, if you travel to customers
Stock photos and illustrations
Pick any image from Adobe Stock — you can browse the whole library without an account — and tell us which one. We license it for your site under our own plan, and it stays on your site for as long as the site exists. Two limits worth knowing: an image licensed for your site is not a file you can reuse elsewhere (ask and we will license it for that one too), and we do not use "Editorial Use Only" photos, or stock logos and merchandise, on a commercial site.
Instead of Buying your own stock subscription, or "borrowing" images
$25 each
Icons, any of them
2,000 free icons, each one a crisp inline SVG rather than an icon font weighing down every page, plus Font Awesome Pro’s thin, light, sharp and duotone styles when your build calls for them. Find one you like and copy its name into a request.
Instead of Font Awesome kits, icon fonts, icon plugins
Included in every plan
Browse the element library (opens in a new tab)The plugins that simply stop existing
These are not features we rebuilt. They are jobs that only exist because WordPress is software running on a server all day. Take that away and the job goes with it — along with the subscription, the update and the thing that breaks at 2am.
Search engine setup
Titles, descriptions, sitemaps, structured data and clean URLs are part of how the site is built, not a plugin nagging you with a traffic-light score.
Instead of Yoast SEO, Rank Math, All in One SEO
Included in every plan
Speed and caching
There is nothing to cache. Your pages are already finished files sitting on a global network before anyone asks for them, which is why they arrive quickly from anywhere.
Instead of WP Rocket, W3 Total Cache, LiteSpeed Cache
Included in every plan
Security and firewalls
No login page, no database, no plugin with a vulnerability waiting in it. The ordinary ways a small business site gets taken over all need software running on a server to attack, and there is not any.
Instead of Wordfence, Sucuri, iThemes Security
Included in every plan
Backups
Every version of your site is kept in full, forever, as part of how it is built. Restoring an earlier one is a request, not a recovery operation.
Instead of UpdraftPlus, BackupBuddy, Jetpack Backup
Included in every plan
Image optimization
Pictures are compressed and converted to modern formats when the site is built. Nobody has to remember to run anything, and there is no monthly image credit.
Instead of Smush, ShortPixel, Imagify
Included in every plan
Redirects and broken links
Old addresses keep working when pages move or when you come to us from an existing site. Handled at the network edge, so a redirect costs a visitor nothing.
Instead of Redirection, Rank Math redirects
Included in every plan
Cookie banners and privacy
A consent banner that genuinely blocks analytics until somebody agrees, plus the privacy page to match. Set up once and not thought about again.
Instead of CookieYes, Complianz, GDPR Cookie Consent
Included in every plan
Analytics
Google Analytics and Tag Manager configured properly, including which button clicks and form submissions count as a lead, so the numbers answer a question you actually have.
Instead of MonsterInsights, ExactMetrics
Included in every plan
And the parts you would rather do yourself
Not everything should need a request. You get a dashboard for the things that change weekly and belong to you — but it is not a CMS, and you will never be in it fighting a page builder at eleven at night. It holds the handful of jobs that are genuinely yours, and leaves the website itself to us.
Your events, published when you say so
Add a class, a tour, an open day or a closure and put it on your website yourself. Save it as a draft until you are ready, reorder what shows first, take one down after it has happened. This is the one clients ask for most, and it is the one that used to mean a plugin.
Instead of The Events Calendar, and the login it came with
Included in every plan
Every inquiry, still there in a month
Messages from your contact forms arrive by email and stay in your dashboard. Email is how you notice one arrived; this is how you find it again when the email is long gone.
Instead of form plugin entry storage
Included in every plan
Your images, uploaded once
A gallery of your own photos and logos. Upload once, use them across future requests, and mark the ones meant for your website so nobody has to ask which file was the good version of the logo.
Instead of the WordPress media library
Included in every plan
The paperwork, filed where you will find it
Your brand guide, your agreements, your invoices and anything you have sent us, in one place rather than in an email thread from March.
Included in every plan
Requests, and where each one has got to
Ask for a change in plain English, see what is in progress, and see what is left this month. Need more than your plan includes? Add one without waiting for an estimate.
Instead of the support ticket you never get an answer to
Included in every plan
What we don't do
Every list like the one above is more persuasive with this underneath it. These are the ones we turn down, and we turn them down before you pay rather than after.
Ecropolis, LLC is our parent company and builds custom software — including the systems this business runs on. Turning something down here usually means handing it to Superhero Labs, the same team scoping it properly as a custom build — not turning you away.
Elements you can ask for by name
Some of what is above is built from elements: single, dependency-free parts of a page, made once and themed to each site. Ask for one by name in a request and it goes where you say. Each one has a page with a live demo.
- Before / AfterInstead of UABB "Before After" module (Beaver Builder), TwentyTwenty jQuery plugin, most "image compare" WordPress plugins
- Particle fieldInstead of Smart Slider 3 Pro “Particle” slider effect, UABB “Particle Background” row setting (Beaver Builder), particles.js / tsParticles embeds
- Mega menuInstead of Max Mega Menu, UberMenu, WP Mega Menu, Elementor Pro’s mega menu (Menu widget), Divi and Astra “mega menu” header options
- Video backgroundInstead of Elementor section “Background type: Video”, Beaver Builder row video background, Divi video background, hand-rolled `<video autoplay muted loop>` embeds
- Parallax bandInstead of Elementor “Motion effects → Scrolling effects” on a section background, Beaver Builder row background “Parallax”, Divi “Use parallax effect”, `background-attachment: fixed` CSS parallax
- Scroll revealInstead of AOS (Animate On Scroll), ScrollReveal.js, WOW.js + animate.css, Elementor “Motion effects → Entrance animation”, Divi and Beaver Builder entrance animations
- Business hoursInstead of Mabel Business Hours Indicator (Pro), WP Business Hours, Opening Hours by Wolfgang, hand-written hours in the footer
- News tickerInstead of PowerPack Content Ticker (Beaver Builder), Elementor Pro Post Ticker / Nav Menu ticker, news ticker WordPress plugins, the HTML marquee tag
- Flip boxInstead of PowerPack / UABB / Elementor Pro Flip Box modules, hand-rolled CSS flip cards
- Instagram feedInstead of PowerPack Instagram Feed, Smash Balloon / Elfsight / LightWidget embeds
- Accordion / FAQInstead of PowerPack “FAQ” module (Beaver Builder), PowerPack “Advanced Accordions” module, UABB “Advanced Accordion”, Elementor Accordion and Toggle widgets, hand-written FAQ lists, FAQ schema plugins (Yoast and Rank Math FAQ blocks, Structured Content)
- Card sliderInstead of PowerPack Card Slider, Slick/Swiper/Owl embeds, Elementor Pro carousels
- TabsInstead of PowerPack “Advanced Tabs” (Beaver Builder), UABB “Advanced Tabs”, Elementor Tabs widget
- Info listInstead of PowerPack “Info List” module (Beaver Builder), UABB “Info List”, Elementor Icon List widget, hand-written icon lists
- Video playerInstead of PowerPack / UABB / Elementor video modules, raw YouTube/Vimeo iframes, lite-youtube-embed, video lightbox plugins
- Testimonial carouselInstead of Elementor Pro “Testimonial Carousel” widget, Slick and Owl Carousel testimonial sliders, Strong Testimonials and similar WordPress plugins, Beaver Builder and UABB testimonials modules
- Icon libraryInstead of Font Awesome as a web font (the whole set on every page), icon fonts, page-builder icon modules
- Animated textInstead of Elementor Pro “Animated Headline” widget (its highlighted and rotating modes), Typed.js and TypeIt typing effects, UABB “Fancy Text” and PowerPack “Animated Headlines” (Beaver Builder), text-rotator and animated-headline WordPress plugins
- Cookie consentInstead of CookieYes / Cookiebot / Complianz subscriptions, Osano, Termly, A hand-written cookie banner that loads Google Analytics before the visitor clicks anything: it asks, but the tracking has already happened
- Animated backgroundInstead of Vanta.js + three.js (≈600 KB, WebGL), UABB / PowerPack animated background rows, video loops used for ambience
- Modal boxInstead of PowerPack / UABB / Elementor popup modules, OptinMonster and popup plugins, Magnific Popup / Fancybox for content
- Announcement barInstead of PowerPack announcement bar, Hello Bar, WP Notification Bar and top-bar plugins
- Image hotspotsInstead of UABB “Hotspot” module (Beaver Builder), tour included, Elementor Pro Hotspot widget, image hotspot / image map plugins, HTML <map> / <area> image maps
- Info circleInstead of UABB “Info Circle” module (Beaver Builder), Ultimate Addons / Elementor “info circle” widgets, circular infographic images with the text baked in
- Slide boxInstead of UABB “Slide Box” module (Beaver Builder), overlay style, hover-reveal info boxes in Elementor and Divi, hand-rolled CSS slide-up card overlays
- CountdownInstead of UABB “Countdown” module (Beaver Builder), Elementor Pro Countdown widget, evergreen timer plugins (Deadline Funnel style), embedded third-party countdown widgets
- Content toggleInstead of UABB “Content Toggle” module (Beaver Builder), PowerPack Content Toggle, the monthly/annual toggle of pricing-table plugins
- Off-canvas panelInstead of UABB “Off-Canvas” module (Beaver Builder), Elementor Pro Off-Canvas widget, slide-out cart and side-cart plugins, push-menu and slide-panel jQuery plugins
- Video galleryInstead of UABB / PowerPack “Video Gallery” modules (Beaver Builder), Elementor Pro Video Playlist, YouTube gallery plugins, a page of pasted YouTube iframes
- Map and directionsInstead of UABB / PowerPack “Google Map” modules (Beaver Builder), Elementor’s Google Maps widget, WP Google Maps and similar plugins, a Google Maps <iframe> pasted into the footer
- Link effectsInstead of UABB “Creative Link” (Beaver Builder), PowerPack “Link Effects”, hover.css and underline snippets pasted into a theme
- TabcordionInstead of A tabs widget and a toggle widget with the same content, one hidden on desktop and one on mobile (the usual Elementor and Divi workaround), Easy Responsive Tabs and other tabs-to-accordion jQuery plugins
- TooltipInstead of Page-builder tooltip add-ons and the tooltips of Elementor Pro’s Hotspot widget, Tippy.js, Popper and Bootstrap tooltips, title="…" attributes used as tooltips (mouse only, and never on a phone)
- Responsive tableInstead of TablePress with its Responsive Tables extension, Ninja Tables and wpDataTables for small, hand-kept tables, the page builder’s table widget that overflows the screen on a phone
- NoticeInstead of Bootstrap alerts, page-builder alert / info box / notice modules, hand-built callout boxes with a colored border
- ToastInstead of toastr / Notyf / SweetAlert toasts, page-builder notification pop-ins, Material snackbars
- LoadingInstead of page-builder preloaders and loading animations, spinner GIFs, skeleton screen libraries, jQuery BlockUI-style busy overlays
- Menu buttonInstead of Bootstrap’s dropdown component, page-builder “dropdown button” modules, hand-rolled hover dropdowns that a keyboard cannot open
- Radio groupInstead of Gravity Forms / WPForms / Contact Form 7 radio fields with a theme’s styling, page-builder “radio image” and “card select” add-ons, JavaScript segmented controls that replace the inputs with divs
- StepperInstead of Gravity Forms and WPForms multi-page progress bars (the “steps” style), WooCommerce multi-step checkout plugins’ step bars, page-builder “process steps” widgets used as a progress bar
- TagsInstead of WordPress post tags and tag-cloud widgets, page-builder “badge” and “label” modules, WooCommerce active-filter chips
- ScrollboxInstead of page-builder “horizontal scroll” sections and scroll-shadow snippets, a carousel used only to fit a row that is too wide, overflow rows that hide their scrollbar and give no hint there is more
- StickerInstead of WooCommerce “Sale!” flash and badge plugins, page-builder ribbon and badge modules, corner-ribbon CSS snippets, sale stickers baked into product photos
Ready to launch fast?
Get a professional, lightning-fast website live in days — then hassle-free updates, just by asking.