CAMERON CALCLUTH

next
I'm a web developer from the UK and I'm currently available to take on your next project.

LATEST WORK

Screen App

I just created this fluid element handler without the use of a grid. All these elements are given percentage coordinates (eg [50%,50%] would be positioned in the center of the page). When you resize the window they move as close as possible to their coordinates but rather than overlapping they jump to the nearest possible free space.

Screen App

This is the perfect UI for anything involving elements, whether it be a collaboration engine or file storing service.

ASL Films

ASL Films

I created this really simple site a little while ago, it’s just a really basic independent film site where you can book to go and see screenings of films. There wasn’t much work involved, in fact the only real development was browsing showings of the films but I’m still quite pleased with how it turned out!

Whirly It | 2014

Whirly It is a search engine for lists! I'm not able to talk about it in much detail because it's still under development at the time of writing this but it was a really interesting project to work on.

Whirly It

The main feature of the site was the organisation of "items" into "lists". This involved the processing of queries in English to database queries which could be easily sorted.

Although the whole project wasn't particularly complicated, it involved a lot of small features which were all extremely important in their own right. For example a spell checking feature was necessary which suggested to the user words which either sounded similar to what they had written or words which may have been attempted to spell but with a typo.

Summd | 2013

Summd is a blogging system that was discussed and then abolished; I then went to France for a week and when I returned I found my partner had created a coming soon page for the site, which received 2000 subscribers in 3 days. It's a blogging system that is controlled by your email.

Summd

The idea is that you can register and pick a theme and Summd will send you an email on a frequency determined by you. When you reply to the email it will update your blog for a hassle free posting system.

I originally found Zander, my partner by chance on craigslist when looking for a web development job. He needed a business partner for some ideas that he had came up with but he had no experience with web development. The original idea was called Qwommble; it was a site that you pitched your project and people could crowd fund it by $5 at a time. Unfortunately, it didn't kick off however the whole site was up and running within a week.

Once Qwombble had been discontinued we decided to create a new type of social networking. The idea was called Crinkld; your homepage was a canvas where you could draw and share drawings with other members. Eventually it would create an automatic timeline of drawings and embedded media, a sort of portfolio. Although this idea seemed great it never really got anywhere. We only received around 10 subscribers in total.

We realised the problem with Crinkld was that it was too complicated for people to understand. It would have involved a lot of complex programming and would have needed a big investment to get people interested. We decided to discontinue this idea but we learnt a lot from the experience. This is when we began thinking about a really simple idea. We first thought of a site for freelancers and clients that simply sign up to a mailing list and receive emails from high quality developers and high paying clients. Somehow this idea evolved into Summd however due to the recent failure we decided to have a break. About a month later I went to France and when I returned I was overjoyed to find the 2000 subscribers.

Zander is key to the design of the site but he is currently engaged with other projects. We will soon being the redevelopment and hopefully create a site with a huge potential. I have started creating some of the code required but it's difficult to develop some major parts of the site without the HTML design.

Flashout | 2012

I started using "Internet Relay Chat" channels when I first learnt PHP but I kept checking back for the occasional help with more complex problems. I found somebody looking for a freelance developer to join a small team of designers and developers in New York. I was very keen and soon got involved in the development of a site that they had started 3 months ago. I finished the project in three days and was promoted to manager of the company.

Flashout

The website was for a small martial arts business but the team was simply not very motivated. Although they were entirely capable of producing amazing work, it took them a lot longer than it should have done to produce a good website. The main problem was that they weren't motivated enough and they also all had additional jobs. Other than school, I was completely free to work on the site and so within 3 days the site was finished. I received a very generous bonus from the client as well as a payment from the company. Due to the speed of the work I was also promoted to manager as I had the most time to work on the projects and was also the most motivated.

The team managed to produce some extremely high quality websites and the time it took dropped dramatically.

HiLOS | 2011

HiLOS stands for 'High Level Operating System' and I first got involved with the language after finding somebody on a PHP channel who was looking for open source contributors. The idea of the project was to create an easy structure to be able to create a personalized site within minutes. It worked in a similar way as a desktop operating system would.

The founder was immediately impressed with my PHP skills and saw potential in me. I began by creating a function that converted a stored array to a tree view so that a user didn't take long before he was explaining complex mathematical problems and soon after that he taught me how object orientated programming worked.

The stored array to tree worked like this, I first defined an array.

$array = "person[head[eyes[pupil][iris][retina[cones][rods]]]][torso[heart][stomach[pizza][chocolate]][liver][bladder[urine]]][limbs[arms[hands[fingers[fingertips]][palms]]][legs[feet[toes]]]]";
        

I could then create a function that processed the array to be formatted into a tree. I started by defining a counter at 0 so that every time a '[' appeared it would go up a level and every time a ']' appeared it would go down. Otherwise the letter would be echoed.

$level = 0;
for ($x = 0; $x < strlen($array); $x++) {
if($array{$x} == "["){
  $level++;
  echo "<br>";
  for ($i = 0; $i < $level; $i++) {
    echo "|----";
  }
  echo ">";
}elseif($array{$x} == "]"){   
  $level--;
}else{
  echo $array{$x};
}
}

This was quite a simple task but it took me a while to fully understand how to make this work. HiLOS also left me with object orientated PHP knowledge which was invaluable to the future. Rather than using a standard order the code was processed through classes and objects so it was much easier and faster to write code once I got used to it.

4th Dimension Studios | 2010

I had made a few YouTube tutorials about Blender 3D, some of them got over 4000 views and so I thought it was time to create a website for people to look at my tutorials. After creating SparesList I was quite confident that I would be able to make a site from scratch. At this time SparesList was still in early development but I thought I could use the SparesList code as a framework. I decided that I still wasn't completely secure with using PHP and so I used WordPress instead.

4th Dimension Studios

I had seen it used on other sites and had even considered using it for SparesList but thought I should have at least a basic understanding of PHP first. By this time I knew exactly how the code worked but WordPress was just a much simpler solution than having to write all the code from scratch.

I uploaded quite a few video tutorials on a regular basis and created the site from a WordPress theme. I also added plugins to help me understand exactly how WordPress worked. WordPress uses some shorthand PHP which can get complicated because a full "IF" statement can be written on one line. Here is an example of this:

echo 'Welcome '.($user['is_logged_in'] ? $user['first_name'] : 'Guest').'!'; 

The code will echo "Welcome" and then if the user is logged in it will echo their first name, but if they aren't it will echo "Guest" as their username. It ends the line with an exclamation mark. Shorthand PHP statements first define the condition, in this case that is

$user['is_logged_in'] 

and so if this variable is true then the value for the bracketed output is

$user['first_name'] 

because it is defines after the question mark but then if it is instead false it echoes 'Guest' instead because it comes after the colon.

To begin with getting my head round this was a pain but once I understood how it worked I also understood many other things and reasons why people code the way they do.

Simple One Page Sites

Sometimes the most effective sites are really simple. I've recently worked on a few "one page" websites which function in the same sort of way as my portfolio. The purpose of the page is to draw your attention to concise information without overwhelming the user.

Clan Gluten Free | Cameron Calcluth

Clan Gluten Free gives presents all of the necessary information to the user in a clean and simple way. The user is able to sign up without any hassle which is really important when trying to attract registrations

Logical Translations | Cameron Calcluth

Logical Translations is a translation service which has served companies such as Xerox and eBay. When designing their site I ensured that the services they could provide were obvious and that there was no confusion around their professionalism.

NavHawk | 2014

Like Whirly It, NavHawk is still under development right now so I can't go into too much detail, but again it was a great experience. The main feature of the project is the tracking of vehicles for commercial purposes.

NavHawk

This is probably one of the biggest projects I've ever worked on and I was introduced to not only some new ideas about programming, but also management and how a smooth company should run.

Yours & Mine | 2013

Yours & Mine is a jewellery company based in New York. I began development by creating a site using the content management system, open cart. I also created a ring customizer using JavaScript and jQuery that allowed users to create their own customized rings. They could choose colours and choose the type of stone, head and shank.

Yours and Mine

The site is still in development as the client has had to take pictures of all the ring parts separately in good quality and in a format that can be used for the ring builder. Open cart is a content management system which is really easy to customize. Rather than building a system from scratch I decided to use open cart as it was a lot faster and there is no point in re-inventing the wheel. It was similar to WordPress but slightly more complicated as it assumed you know more about PHP than a user might know when using WordPress. It was interesting to learn but I now know how easy it is to use a service like this.

I also created the ring creator's Photoshop template which greatly expanded my Photoshop skills. I decided that it was time to learn how to create a good design. I began by finding inspiration from many other sites and read articles about how to design well. It did take a while but eventually I created an elegant design that suited the site's feel. I was really happy with the end result and so was the client. It was my first step towards becoming a true designer as well as a developer.

Overall, it was a good experience, I converted the Photoshop to HTML and designed a complex JavaScript program. I also created a basic theme for open cart which gave me a good introduction as to how it all worked.

Gothamads | 2013

GothamAds is a performance network that I was hired to build the framework and the web-app style user interface. The network used an API for the offers but I created a content locker for users to customize and add to their site.

GothamAds

The network used an API with details about adverts that could be used across an array of sites to make money. There was code to add affiliate adverts to the network to earn money but also to earn money by posting links to the affiliates. The idea of the API is that once the user signs up to a service offered by the advertiser it sends a payment to the user. I used this API to create a system that already had advertisers willing to pay and so I created a JavaScript content locker that only allowed a user to see a page's content once they had filled out a survey, as provided by the advertiser. I also created an easy to use graphical interface for the user to see their progress in formats such as graphs.

The user settings panel included easy to use features such as slide-able buttons for turning the individual surveys on and off. The entire system was also based around a similar style Ajax page navigator to twitter. A URL looked like this:

http://gothamads.com/#!/page

Where page is the page to be displayed. This enabled the page to only refresh individual parts of the page. The content div id updated when clicking on links but the rest of the page is not loaded. This ensured that the speed of the site increased but also the page didn't load unnecessarily every time and so it looked cleaner.

This experience gave me a good insight into how a business on a larger scale worked as well as a relatively large payment. It was a great project because I had always wondered how the twitter interface worked but although this may not be the way it does, it shows that it is possible to create something with the same functionality.

Slorryy | 2012

Slorryy is a computer repair shop in Glasgow, Scotland. I managed to arrange a week's work experience myself after my Scottish grandparent made the suggestion I stay at his house and work there. I mainly learnt about search engine optimization and after just one week of free work I managed to get a link to the top of Google.

Slorryy

I began the week by designing a simplistic site for games console repairs. After creating a Photoshop mockup I made the HTML version of the site, I learn how to use search engine friendly URLs. Before this, I was simply using IDs for URLs whereas the shop owner taught me that using keywords in URLS can be hugely beneficial as a search engine such as Google will treat the URL keywords as search criteria. I also learnt about how to use htaccess to control URLs to make them look a lot cleaner. For example a URL such as this:

http://thisisawebsite.com/index.php?pageid=23

could be turned into something like this:

http://thisisawebsite.com/Blog/HowToWriteLinks

Internal linking is something else I had never even considered. It helps both robots and visitors to find the content on your site easily. Also, it's important to consider keyword density as if you use the same word too often Google may consider that it is what the article is about. It's also important to use the right keywords often so that Google can see that it's what the article is about.

I also learnt a lot more about how the working environment actually functioned. It was a really interesting experience as I was able to get a glimpse at what a physical job would be like in the real world.

Project Stratos | 2011

Project Stratos started in 2009 but I started work on the website in March 2011. The idea of the project was to successfully launch a balloon and take pictures of the edge of space. I began by creating some mock-ups of a site and sharing them with the team. After much creative criticism, a week later I presented a HTML and CSS version of the site that everyone was happy with. I then developed a PHP blog that used a BB Code parser that I wrote myself which uses regex. I then added new features such as a balloon tracker and a live feed to the launch.

Stratos

The balloon tracker took a CSV file from a weather balloon flight path predictor. It was a list of the predicted longitude, latitude and altitude of a balloon every 30 seconds dependent on a launch site and launch time. It predicted the path based on the weather and wind speed. The script took this data and plotted the path on a Google map along with the launch site, land site, burst position and current location. If a user hovered over the "current location" marker they were presented with details about the longitude, latitude, altitude and speed of the flight.

The BB Code parser used regex to convert the BB code tags to HTML. The Project Stratos team consisted of students who had no idea what HTML even was and so it wasn't an option for me to ask them to write in it. I instead asked them to write in BB Code or Bulletin Board Code. It's a lightweight markup language usually used to format posts on online forums. Originally it was used to protect a site from HTML injection or JavaScript exploitation where a user could close the code and then write their own malicious code to be displayed afterwards. It is now used as a standard, easy to use and understand, format for people to format text online.

The form on the site also includes graphical buttons which allow users to change the style by highlighting and when they click a button it will wrap the text in the desired format. For example if they wanted to make their text bold they would wrap the text in tags such as these:

Hello this text will be [b]bold[b].

This will output as "Hello this text will be bold.", other tags can also be used such as image tags which take an image url or uploaded image and display it on the page as desired.

Although the project wasn't very complicated I did learn how to use regex and I developed more team working skills that would, in the future, give me more confidence. I also learnt more JavaScript and jQuery along with some more PHP techniques.

Spares List | 2010

In 2008 my dad registered a few domain names centered around an idea; a trading site specifically for stamps. He is not a web developer and had no idea how to start, I've always considered myself to be an aspirant entrepreneur and so I offered to help out in 2010. I had already made a few basic HTML and PHP websites when I was younger but this was the first full site I had ever created.

Not knowing much about what I had to do I first refreshed my PHP knowledge by going through some YouTube video tutorials. These tutorials helped me out a lot and along with trial and error with the site it didn't take me long to fully understand what I was doing. This is when I signed up for a free reliable host so that rather than hosting the site locally I could let the public see the work. Unfortunately the first draft was a mess because I knew nothing about security and I was learning as I was going and so I had to start again once I had finished. Along the way, I added mysql injection prevention techniques and other features that made the site easier to use. More recently, I added a Google Instant-style search bar that searches as you type. It uses PHP and Ajax to display the content.

This is the Ajax that replaces the '#content' div with the data from the auto_search.php script every time a key is released.

$('#searchQuery').keyup(function () {
$.post("http://spareslist.com/auto_search.php",
{ query: $('.query').val() },
  function(data) {
    $('#content').html(data);
  }
);
});

This code is written in jQuery and first binds the #searchQuery textbox input with a function when a user releases any key on the keyboard. It then posts the query data to the auto_search.php page and takes the returned data to be inserted in the #content div. The auto_search.php script simply checks the keywords from the database and outputs them to be embedded into the page.

I also added other JavaScript user interfaces which allow users to easily access the site. They can add a select number of items by choosing the number from a drop down menu which also adds the correct number of item form boxes.

I learnt a lot from this experience, the entire site creation was vital to my skills as a developer. I learnt exactly how the code ran through a notepad file. At this time I had a very basic laptop with Notepad++ as my editor. The site itself wasn't entirely great but it still contributed to a huge learning curve. I had learnt how to make my HTML sites have content that changed when a different user logged on.

CLIENTS

ABOUT

Bio

Hello, my name’s Cameron Calcluth and I’m a web developer from the UK. I've created web applications for a range of different clients across the world and I'm currently available to work on your next project.

Skills

My main interest is PHP and back-end development but I do venture into front-end development for responsive user interfaces. I've created a wide range of web applications and at different times worked in all areas including design, and user experience.

Testimonials

If you're looking for someone that's easy to work with, does amazing work, and takes your projects seriously, then Cameron Calcluth is the man for the job. Not only does he do an amazing job, and works quickly, but he's an efficient developer as well. If you want someone capable of taking care of your project, and giving it the attention it deserves, look no further!

Derek Neeley from Chilybin

Cameron is a self motivated individual who strives for the best in what he does. I've worked with Cam on a few projects and it's always been a pleasure. Not only is he technically savvy, but he is also fun to be around!

Amos Todman from Pubfuse

Cameron is a hard working professional with the skills to back up his fantastic vision and ideas. I would highly recommend him!

Jay Gale from Tank Web Solutions

Throughout the projects we provided him, he has been extremely professional, punctual, reliable and all around a great person to work with.

Mike Henken from Profile Your City

CONTACT

I'm currently available for freelance contracts, so drop me an email:

cameron@calcluth.com

Or send me a message on People Per Hour:


© 2015 CAMERONCALCLUTH.COM | Cameron Calcluth | Web Developer