Blog.

Sample Page

This is an example page. It's different from a blog post because it will stay in one place and will show up in your site navigation (in most themes). Most people start with an About page that introduces them to potential site visitors. It might say something like this: Hi there! I'm a bike messenger by day, aspiring actor by night, and this is my website. I live in Los Angeles, have a great dog named Jack, and I like piña coladas. (And gettin' caught in the rain.) ...or something like this: The XYZ Doohickey Company was founded in 1971, and has been providing quality doohickeys to the public ever since. Located in Gotham City, XYZ employs over 2,000 people and does all kinds of awesome things for the Gotham community. As a new WordPress user, you should go to your dashboard to delete this page and create new pages for your content. Have fun!

Customers

Our customers. Building innovation for all …

Join our team OLD

Careers. We’re always looking for talented folks to join the family Accounting Accounting manager Location: Goleta, CA View details Lorem ipsum dolor sit amet, consectetur adipisicing elit. Optio, neque qui velit. Magni dolorum quidem ipsam eligendi, totam, facilis laudantium cum accusamus ullam voluptatibus commodi numquam, error, est. Ea, consequatur. Sr Finance director Location: Goleta, CA View details Lorem ipsum dolor sit amet, consectetur adipisicing elit. Optio, neque qui velit. Magni dolorum quidem ipsam eligendi, totam, facilis laudantium cum accusamus ullam voluptatibus commodi numquam, error, est. Ea, consequatur. Corporate systems Jr. Salesforce Adminitrator Location: Goleta, CA View details Lorem ipsum dolor sit amet, consectetur adipisicing elit. Optio, neque qui velit. Magni dolorum quidem ipsam eligendi, totam, facilis laudantium cum accusamus ullam voluptatibus commodi numquam, error, est. Ea, consequatur. Engineering Lead Enginner, Machine Learning Location: Goleta, CA View details Lorem ipsum dolor sit amet, consectetur adipisicing elit. Optio, neque qui velit. Magni dolorum quidem ipsam eligendi, totam, facilis laudantium cum accusamus ullam voluptatibus commodi numquam, error, est. Ea, consequatur. Site Reliability Engineer, DevOps Location: Alpharetta, GA View details Lorem ipsum dolor sit amet, consectetur adipisicing elit. Optio, neque qui velit. Magni dolorum quidem ipsam eligendi, totam, facilis laudantium cum accusamus ullam voluptatibus commodi numquam, error, est. Ea, consequatur. Sr. Communications Software Engineer Location: Goleta, CA View details Lorem ipsum dolor sit amet, consectetur adipisicing elit. Optio, neque qui velit. Magni dolorum …

Blog

Blog. Sample Page This is an example page. It's different from a blog post because it will stay in one place and will show up in your site navigation (in most themes). Most people start with an About page that introduces them to potential site visitors. It might say something like this: Hi there! I'm …

Ideas(atomic)

SingleMind ranked among Portland’s top developers Written by Cort Buchholz Chantey list ho spyglass gunwalls avast grog American Main clap of thunder run a rig. Log sloop list Sea Legs chase guns pirate crimp topgallant long clothes fire in the hole. Gally fire ship black spot bounty Barbary Coast yo-ho-ho scurvy chandler mizzen driver.Lugsail run a rig draught lugger Chain Shot rum draft squiffy yo-ho-ho Jack Ketch. Scurvy overhaul Privateer pirate tender crimp mizzenmast line shrouds piracy. Keel brigantine ahoy execution dock scallywag no prey, no pay spirits gunwalls chase salmagundi.Black spot clipper case shot parrel starboard hornswaggle scallywag list rope's end driver. Doubloon Jack Ketch draught hail-shot yawl ahoy holystone Spanish Main splice the main brace Pieces of Eight. Landlubber or just lubber chantey wherry swab smartly grog blossom topmast bowsprit dead men tell no tales Cat o'nine tails. Landlubber or just lubber Buccaneer Letter of Marque jolly boat Gold Road chantey pirate tack port Nelsons folly. Doubloon scallywag lookout smartly parley rope's end nipperkin spike barkadeer six pounders. Barkadeer keel gaff salmagundi brigantine pinnace keelhaul measured fer yer chains Blimey code of conduct. Land ahoy, you scurvy dog Hail-shot lugger lass clap of thunder gally landlubber or just lubber tack fathom clipper provost. …

Services

Services and process. Built for you & your users You define the project, we create what you need. To formulate the ideal path for user engagement, we partner with you to determine your product objectives and define what inspires your future users. With standardized processes at the forefront of our efforts, our data-driven researchers, strategists, and agile design and development teams transform your ideas into reality.  Top UX Design & Web Development Agency on Clutch.co More Process-driven product creationAlthough our team members are obsessed with creativity and innovation, our proven processes ensure your product is delivered on time and to your planned specifications. With a scrum project management framework, cross-department precision checks, workflow technologies, interdisciplinary backlog grooming, and an agile methodology driving us, your digital product remains cohesive and on-schedule throughout the entire product design and development process. Research Efficient and effective research in any business venture requires a certain skill set to produce ROI against time investments. Our researchers employ years of experience along with a toolkit of resources to guide your product's creation at minimal expense. Product ideas must be evaluated against existing products and target markets to determine the viability of your product after launch. How can you define opportunities for product optimization …

Home-old

.elementor-2354 .elementor-element.elementor-element-ba211c1{margin-top:0px;margin-bottom:0px;padding:0% 0% 2% 0%;}.elementor-2354 .elementor-element.elementor-element-df5d622.elementor-column .elementor-column-wrap{align-items:space-between;}.elementor-2354 .elementor-element.elementor-element-df5d622.elementor-column > .elementor-column-wrap > .elementor-widget-wrap{align-content:space-between;}.elementor-2354 .elementor-element.elementor-element-df5d622 > .elementor-element-populated{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2354 .elementor-element.elementor-element-09232d6{margin-top:160px;margin-bottom:0px;}.elementor-2354 .elementor-element.elementor-element-4704f34.elementor-column .elementor-column-wrap{align-items:space-between;}.elementor-2354 .elementor-element.elementor-element-4704f34.elementor-column > .elementor-column-wrap > .elementor-widget-wrap{align-content:space-between;}.elementor-2354 .elementor-element.elementor-element-4704f34 > .elementor-element-populated{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2354 .elementor-element.elementor-element-2e0af6f .elementor-divider-separator{border-top-style:solid;border-top-width:1px;border-top-color:#0c0c0c;width:42%;}.elementor-2354 .elementor-element.elementor-element-2e0af6f > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-2354 .elementor-element.elementor-element-7490f37{color:#000000;font-family:"Roboto Condensed", Sans-serif;font-size:22px;line-height:1.33em;}.elementor-2354 .elementor-element.elementor-element-7490f37 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2354 .elementor-element.elementor-element-fc329f3{margin-top:0px;margin-bottom:0px;padding:0% 0% 0% 0%;}.elementor-2354 .elementor-element.elementor-element-8dae3df.elementor-column .elementor-column-wrap{align-items:center;}.elementor-2354 .elementor-element.elementor-element-8dae3df.elementor-column > .elementor-column-wrap > .elementor-widget-wrap{align-content:center;}.elementor-2354 .elementor-element.elementor-element-8dae3df > .elementor-element-populated{margin:35px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2354 .elementor-element.elementor-element-b3e412e.elementor-widget-heading .elementor-heading-title{color:#0a141d;}.elementor-2354 .elementor-element.elementor-element-b3e412e .elementor-heading-title{font-family:"Roboto Condensed", Sans-serif;font-size:48px;font-weight:bold;font-style:normal;line-height:1.33em;letter-spacing:-0.2px;}.elementor-2354 .elementor-element.elementor-element-b3e412e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:15px 0px 0px 0px;}.elementor-2354 .elementor-element.elementor-element-5705b9d a.elementor-button, .elementor-2354 .elementor-element.elementor-element-5705b9d .elementor-button{font-family:"Roboto Condensed", Sans-serif;font-size:20px;font-weight:bold;line-height:27px;color:#000000;background-color:rgba(0,0,0,0);padding:0px 0px 0px 0px;}.elementor-2354 .elementor-element.elementor-element-5705b9d > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 30px 0px;}.elementor-2354 .elementor-element.elementor-element-5910384.elementor-column > .elementor-column-wrap > .elementor-widget-wrap{justify-content:flex-end;}.elementor-2354 .elementor-element.elementor-element-5910384 > .elementor-element-populated{text-align:right;margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2354 .elementor-element.elementor-element-c6ee7e9{text-align:right;}.elementor-2354 .elementor-element.elementor-element-c6ee7e9 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-2354 .elementor-element.elementor-element-abb9089 .elementor-image img{width:83%;max-width:84%;}.elementor-2354 .elementor-element.elementor-element-abb9089 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2354 .elementor-element.elementor-element-3340db9{margin-top:0%;margin-bottom:0%;padding:0% 0% 0% 0%;}.elementor-2354 .elementor-element.elementor-element-6011b27.elementor-column .elementor-column-wrap{align-items:center;}.elementor-2354 .elementor-element.elementor-element-6011b27.elementor-column > .elementor-column-wrap > .elementor-widget-wrap{align-content:center;justify-content:flex-start;}.elementor-2354 .elementor-element.elementor-element-6011b27 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-2354 .elementor-element.elementor-element-e87acdd a.elementor-button, .elementor-2354 .elementor-element.elementor-element-e87acdd .elementor-button{font-family:"Roboto Condensed", Sans-serif;font-size:20px;font-weight:500;font-style:normal;line-height:1.4em;color:#000000;background-color:rgba(0,0,0,0);padding:0px 0px 0px 0px;}.elementor-2354 .elementor-element.elementor-element-e87acdd > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-2354 .elementor-element.elementor-element-ac1283f.elementor-column .elementor-column-wrap{align-items:flex-end;}.elementor-2354 .elementor-element.elementor-element-ac1283f.elementor-column > .elementor-column-wrap > .elementor-widget-wrap{align-content:flex-end;}.elementor-2354 .elementor-element.elementor-element-6329e8e a.elementor-button, .elementor-2354 .elementor-element.elementor-element-6329e8e .elementor-button{font-family:"Roboto Condensed", Sans-serif;font-size:20px;font-weight:400;font-style:normal;line-height:1.4em;color:#0c0c0c;background-color:rgba(0,0,0,0);}@media(max-width:1024px){.elementor-2354 .elementor-element.elementor-element-ba211c1{padding:0% 0% 0% …

Reviews

Reviews. SingleMind Client Reviews With 1.25 million daily users and over 135 completed projects in website, mobile app, IoT, web app, and eCommerce development, we know what it takes to create user-centric digital product. Read what our clients are saying about our work. Top UX Design & Web Development Agency on Clutch.co More

Fixing Permissions On The Files Directory In Drupal

Unless you’re familiar with the Linux command-line, setting up file permissions can be tedious and difficult. Add a migration into the mix and it becomes very easy to have a Files directory that isn’t writable by the web-server. This tutorial is meant to make this process a bit easier and leave you with a files directory that is not only writable by the web-server but includes a “sticky” permission to ensure that all files created inside of it inherit the proper read/write access permissions.

Read moreimage


Create A Page Template For Anything You Want In Drupal

Out of the box, Drupal provides the ability to create page templates for different pages/sections. However, its flexibility is relatively limited, in our opinion. This page on drupal.org shows the following page.tpl.php naming conventions and uses:

1. page.tpl.php (global)
2. page-front.tpl.php (front page)
3. page-node-edit.tpl.php (node edit)
4. page-node-[#].tpl.php (specific node)
5. page-node.tpl.php (nodes - global)
6. page-[internal/path].tpl.php (specific path)

Read moreimage


Using your Gmail/Google Account as an OpenID sign-in

You know that all Google/Gmail accounts are also OpenID identities, right? Well, assuming so, have you ever wondered how you can use your Google/Gmail account as an OpenID sign-in to a website? Here is one way of doing such…

Read moreimage


Replacing Usernames With Real Names in Drupal

Replacing usernames with real names sounds like it should be easy, and it is. It hasn’t always been this way, though. Once upon a time, you’d need to create a theme override in the theme’s template.php, which is understandably scary to non-developers. We’ve put together this quick tutorial to help guide you through the simple process of getting this working on your Drupal environment.

Read moreimage


Adding A Region To The Node Template

Typically, regions are returned in a theme’s page.tpl.php file. This works for almost everything, but as we found recently, there are situations where a region might need to be made available to the node.tpl.phpfile for the purpose of more specifically control a block’s location within a node. A good example of this is a node that has comments enabled. The node content and its comments will appear one after the other, both being returned by the value $content in the page.tpl.php. How to add a block between them?

Read moreimage


Setting up Pressflow and Varnish to work with HTTP and HTTPS

Using Varnish and Pressflow together is an effective way to maximize the potential of your hosting environment, and can yield extraordinary results. The problem is, if you’re not intimately familiar with Varnish, or the Linux command-line, getting it into a functional state can be something of a challenge. Out of the box, it is adequate at caching content for anonymous users, but that’s where the fun ends.

On a recently completed (large) Pressflow project, we had to make some decisions about server architecture. Varnish, under heavy load, can suck down memory pretty quickly, so we opted to use two servers. The first one housed Varnish and Memcache, while the second one acted as the application environment (LAMP with APC).

Read moreimage


Fixing Permissions On The Files Directory In Drupal

Unless you’re familiar with the Linux command-line, setting up file permissions can be tedious and difficult. Add a migration into the mix and it becomes very easy to have a Files directory that isn’t writable by the web-server. This tutorial is meant to make this process a bit easier and leave you with a files directory that is not only writable by the web-server but includes a “sticky” permission to ensure that all files created inside of it inherit the proper read/write access permissions.

Read moreimage


Replacing Usernames With Real Names in Drupal

Replacing usernames with real names sounds like it should be easy, and it is. It hasn’t always been this way, though. Once upon a time, you’d need to create a theme override in the theme’s template.php, which is understandably scary to non-developers. We’ve put together this quick tutorial to help guide you through the simple process of getting this working on your Drupal environment.

Read moreimage


Create A Page Template For Anything You Want In Drupal

Out of the box, Drupal provides the ability to create page templates for different pages/sections. However, its flexibility is relatively limited, in our opinion. This page on drupal.org shows the following page.tpl.php naming conventions and uses:

1. page.tpl.php (global)
2. page-front.tpl.php (front page)
3. page-node-edit.tpl.php (node edit)
4. page-node-[#].tpl.php (specific node)
5. page-node.tpl.php (nodes - global)
6. page-[internal/path].tpl.php (specific path)

Read moreimage


Adding A Region To The Node Template

Typically, regions are returned in a theme’s page.tpl.php file. This works for almost everything, but as we found recently, there are situations where a region might need to be made available to the node.tpl.phpfile for the purpose of more specifically control a block’s location within a node. A good example of this is a node that has comments enabled. The node content and its comments will appear one after the other, both being returned by the value $content in the page.tpl.php. How to add a block between them?

Read moreimage


Using your Gmail/Google Account as an OpenID sign-in

You know that all Google/Gmail accounts are also OpenID identities, right? Well, assuming so, have you ever wondered how you can use your Google/Gmail account as an OpenID sign-in to a website? Here is one way of doing such…

Read moreimage


Setting up Pressflow and Varnish to work with HTTP and HTTPS

Using Varnish and Pressflow together is an effective way to maximize the potential of your hosting environment, and can yield extraordinary results. The problem is, if you’re not intimately familiar with Varnish, or the Linux command-line, getting it into a functional state can be something of a challenge. Out of the box, it is adequate at caching content for anonymous users, but that’s where the fun ends.

On a recently completed (large) Pressflow project, we had to make some decisions about server architecture. Varnish, under heavy load, can suck down memory pretty quickly, so we opted to use two servers. The first one housed Varnish and Memcache, while the second one acted as the application environment (LAMP with APC).

Read moreimage