• Easy-to-use interfaces
    We'll create easy-to-use admin dashboards and web applications that interface with APIs.
  • Simple payments
    Need to collect payments from customers or clients? How about sending money electronically, or KYC validation? We work with any payment solution and can build a custom solution for you.
  • Intuitive reporting
    Get more control over your metrics, view historical data, and produce reports to help grow your business.
  • Fast prototyping
    On a short timeframe or looking to test an online concept? We can deliver results in very short time frames. Get ready to start managing your sales pipeline.
  • Custom apps
    Everything we build is custom. We believe that custom applications are faster and better. Move your business away from out-of-the-box software and give your business the efficiency it deserves.
  • namespace App\Events;
  • use App\Models\Property;
  • use Illuminate\Broadcasting\Channel;
  • use Illuminate\Queue\SerializesModels;
  • use Illuminate\Broadcasting\PrivateChannel;
  • use Illuminate\Broadcasting\PresenceChannel;
  • use Illuminate\Foundation\Events\Dispatchable;
  • use Illuminate\Broadcasting\InteractsWithSockets;
  • use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
  • class AmenityUploaded implements ShouldBroadcast
  • {
  • use Dispatchable, InteractsWithSockets, SerializesModels;
  • public $property_id;
  • /**
  • * Create a new event instance.
  • *
  • * AmenityUploaded constructor.
  • * @param $property_id
  • */
  • public function __construct($property_id)
  • {
  • $this->property_id = $property_id;
  • }
  • /**
  • * Get the channels the event should broadcast on.
  • *
  • * @return \Illuminate\Broadcasting\Channel|array
  • */
  • public function broadcastOn()
  • {
  • // return new PrivateChannel('channel.amenity.'.$this->property_id);
  • return ['channel.amenity.'.$this->property_id];
  • }
  • public function broadcastAs()
  • {
  • return 'amenity-uploaded';
  • }
  • public function broadcastWith()
  • {
  • // This must always be an array. Since it will be parsed with json_encode()
  • $prop = Property::find($this->property_id);
  • if($prop->completed == 1){
  • $class = 'btn btn-xs btn-primary d-inline-block';
  • $href = url('/?property='.$this->property_id);
  • $btn_text = 'Amenity';
  • }elseif($prop->completed == 2){
  • $class = 'btn btn-xs btn-warning d-inline-block';
  • $href = '#';
  • $btn_text = 'Pending';
  • }elseif($prop->completed == 3){
  • $class = 'btn btn-xs btn-secondary d-inline-block';
  • $href = url('/admin/property/create/'.$this->property_id);
  • $btn_text = 'Par. Completed';
  • }else{
  • $class = 'btn btn-xs btn-secondary d-inline-block';
  • $href = url('/admin/property/create/'.$this->property_id);
  • $btn_text = 'Amenity';
  • }
  • return [
  • 'id' => 'am_btn_'.$this->property_id,
  • 'class' => $class,
  • 'href' => $href,
  • 'btn_text' => $btn_text
  • ];
  • }
  • }
  • // Brand Enamel Home Page // Custom built applications
  • 'App' => Illuminate\Support\Facades\App::class,
  • 'Auth' => Illuminate\Support\Facades\Auth::class,
  • $data['add_btn_html'] = $this->getEventAddBtnHtml();
  • $data['event_list_route'] = $this->getEventListRoute();
  • $promoter_first_name = $this->
  • searchEventsByNameInAdminIndex('u.first_name', end($text));
  • DB::table("events")
  •  ->leftJoin('transaction', 'events.id', '=', 'transaction.event_id')
  •  ->groupBy('transaction.event_id')
  •  ->selectRaw('sum(transaction.ticket_qty)
  •  as sold_tickets, transaction.event_name, transaction.event_id')
  •  ->get();
  • Ratio = $selectedEvent.data('ratio');
  • maxCroppedWidth = $selectedEvent.data('width');
  • maxCroppedHeight = $selectedEvent.data('height');
  • minCroppedWidth = $selectedEvent.data('width');
  • minCroppedHeight = $selectedEvent.data('height');
  • var modal = $("#myModal .modal-content");
  • $selectedEvent.on('change.bs.fileinput', function() {
  • imageVal = $(this).find('.fileinput-preview.thumbnail img').attr('src');
  • $(this).find('#originalImage').val(imageVal);
  • $selectedEvent.find('#base64Image').val(imageVal);
  • });
  • if ($selectedEvent.find('#originalImage').val() == '') {
  • imageVal = $selectedEvent.find('.fileinput-preview.thumbnail img').attr('src');
  • $selectedEvent.find('#originalImage').val(imageVal);
  • } else {
  • imageVal = $selectedEvent.find('#originalImage').val();
  • }

We build web applications that transform.

Drive your business. Gain control. Give your customers more.

Custom Software

Get the latest payment tech for your business. Build your dream.

We build everything from e-commerce sites to full admin applications.

Revamped Systems

Rebuild parts of your software to help meet your business demands.

We can tap into everything from CRMs to spreadsheets, to create a new experience for your company and customers.

Rapid Prototypes

We will work with anything from ideas scribbled on napkins, to fully wireframed designs. We’ll put your ideas into action effortlessly and cost-efficiently.

And you're a part of ours, too.

You've done the market research, crunched the numbers, and you're ready to set this thing in motion. The idea is ready and so are you. The only thing missing is the technology and the team to help run your software, website, or app.

For the cost of one full-time developer, you will get 2-3 full-time senior developers - and a kick-ass application.

If you need an efficient, scalable, and easy-to-use software system then we can help. We're your partner; we build, update, maintain, and run the software that runs your business. We're a team of startup experts, coders, and designers.

We're not happy until you're ecstatic.

Whether you're just starting up, or you received a quote that seemed too high, we'll beat any competitor's services, pricing, and skills. Our business relies on repeat business and referrals, and we won't settle for anything less than 100% satisfaction.

We believe that custom coded applications
are more efficient
become more scalable
and they perform better

Custom software & MVPs

Web applications for startups or established businesses.

Subscriptions & MRR tools

Rule a subscription business with recurring revenue.

Admin dashboards

Manage users, download reports, and get the detailed reporting you need.

Mobile Apps

Connect with your customers on a deeper level by offering iOS and Android.

APIs & Hardware integrations

Integrate point of sale or fulfillment tools to increase productivity.

Payment Processing

Bring payments, invoices, and tools to collect money from your customers.

Client testimonial

Check what's our clients say about us

I've been involved in many software projects over the years. The Brand Enamel team built my application quickly, efficiently, and accurately. We're building another application now, and the progress has been outstanding. Highly recommended.

Donald Davidoff

Owner, D2 Demand Solutions

We've built 3 websites with the team so far. They operate at a high level of productivity and I've been happy since day 1. My wedding and events business, profiled at CrysalisWeddings.com, helped many more happy brides and their families.

Maura O'Hara Kehoe

Director, Connected Concierge