


<!doctype html>
<html class="no-js" lang="">
	<head>
		<meta charset="utf-8">
		<meta http-equiv="x-ua-compatible" content="ie=edge">
		<title>Scott Kerns Portfolio</title>
		<meta name="description" content="Scott Kerns Full Stack Web Developer PHP/Laravel/HTML/CSS/JavaScript">
		<meta name="viewport" content="width=device-width, initial-scale=1">

		<link rel="apple-touch-icon" href="favicon.png">
		<link rel="icon" href="favicon.png?v=2">

		<link href="https://fonts.googleapis.com/css?family=Roboto+Slab" rel="stylesheet">

		<link rel="stylesheet" href="css/scottknet.css?q=2018-05-17-01">
	</head>
	<body>
<header data-section="#about">
	<div class="constrain">
		<div class="left">
			<h1><a href="/">Scott Kerns</a></h1>
		</div>
		
		<nav>
			<ul>
				<li><a href="#about">About</a></li>
				<li><a href="#work">Work</a></li>
				<li><a href="#what">What?!</a></li>
				<li><a href="#code">Code</a></li>
			</ul>
		</nav>
	</div>
</header>
<main>
	<div id="about" class="section large-text" data-section="#about">
	<div class="constrain-narrow hide-small">
		<h2>About me</h2>
		<p>I am a full-stack web developer (PHP, HTML, JS, jQuery, Vue, CSS/SASS, Mysql/mariaDB/SQL, Apache, Nginx, Linux/BSD, and all that goodness) in Somerville, NJ with a strong IT administration background and, in darker days, developed applications for the Windows ecosystem. Yes, it still burns.</p>
		<p>NXTCLB is a collaboration SaaS where I am:</p>
		<ul>
			<li>Architect</li>
			<li>Developer: front end and back end</li>
			<li>Designer</li>
		</ul>
		<p>As Lead Developer for JK Design I was fortunate enough to have provided support for a talented and dedicated team of developers, project and account managers, designers, and our clients for over ten years.</p>
		<p>But my experience goes back further than that: Prior to JK I provided consulting services: software development and IT administration.</p>
		<p>I also worked as an environmental analytical chemist. Bet you didn't see that coming.</p>
		<p>
			Scroll down to learn more about a sample of different projects I've worked on or look at my r&eacute;sum&eacute;:
			<a href="scott-kerns-resume.pdf" class="download">Download my r&eacute;sum&eacute;</a>
		</p>
	</div>
</div>	
<div id="work" data-section="#work">
	<div class="constrain">
		<h2>My work</h2>

		<article class="work-sample">
	<h3>NXTCLB</h3>
	<div class="flex-container">
		<div class="img">
			<div class="video-container">
				<video
					controls
					preload="metadata"
					src="/vids/nxtclb-preview-original.mp4#t=0.001"
				></video>
			</div>
		</div>
		<section>
			<p>NXTCLB is currently under development and should be ready for alpha testing fairly soon.</p>
			<p>I am the architect, developer, and designer of this SaaS targeted at allowing people to securely communicate through private channels. Channel administrators are in control rather than opaque constantly-shifting algorithms and invasive tracking needs of advertisers.</p>
			<p>NXTCLB is built on:</p>
			<ul>
				<li>PHP/Laravel</li>
				<li>OpenSSL/JS Crypto API</li>
				<li>SHA256/RSA4096/AES256</li>
				<li>MySQL/MariaDB</li>
				<li>Vue JS/JS/jQuery</li>
				<li>Laravel Echo/Socket.IO</li>
				<li>Nginx/PHP-FPM/NodeJS</li>
				<li>SASS/Zurb Foundation</li>
				<li>Laravel Mix/Webpack</li>
			</ul>
			<p>The video is a preview of the current build showing the process of signing up, creating a channel, and positing two messages to the channel.</p>
		</section>
	</div>
</article>		<article class="work-sample">
	<h3>Formyula</h3>
	<div class="flex-container">
		<div class="img"><a href="https://formyula.com"><img src="/img/formyula.jpg" alt="Formyula"></a></div>
		<section>
			<p>JK partnered with the Formyula team to develop a marketing site and the Formyula portal, an SaaS that facilitates collecting and analyzing data for a variety of purposes.</p>
			<p>I developed most of the portal front end code (in Angular) and some of the back end (in ruby on rails, a language/platform I did not have a lot of experience with), while another one of my colleagues developed the Ionic mobile app.</p>
			<p>We subsequently went back and reworked the code to act as a starting place for developing custom solutions, which was then used for two clients while I was with JK Design.</p>
			<p><a href="https://formyula.com">Visit the site</a></p>
		</section>
	</div>
</article>		<article class="work-sample">
	<h3>AD HQ</h3>
	<div class="flex-container">
		<div class="img"><a href="https://adhq.com"><img src="/img/adhq.jpg" alt="AD HQ"></a></div>
		<section>
			<p>This was a site I inherited, which is something that happened a lot for a variety of reasons. I had worked with the original developer, mainly with regards to a tricky Oracle integration and API integrations.</p>
			<p>After taking it over, some of the changes I made included:</p>
			<ul>
				<li>Security enhancements for their corporate compliance requirements</li>
				<li>Forking their Member Locator tool to support an additional type of digital campaign</li>
				<li>Reworking their analytic tools which was a significant undertaking.</li>
			</ul>
			<p><a href="https://adhq.com">Visit the site</a></p>
		</section>
	</div>
</article>		<article class="work-sample">
	<h3>Armand Products</h3>
	<div class="flex-container">
		<div class="img"><a href="http://armandproducts.com"><img src="/img/armand.jpg" alt="Armand Products"></a></div>
		<section>
			<p>Armand, better known for their ARM &and; HAMMER&trade; Baking Soda product, had an extremely tight deadline for initial review of the site. I had to develop the full site as static pages integrated with the CMS' framework but not the CMS and then go back and port it properly into the CMS and develop the custom CMS tools following that initial client review and implementing their revisions.</p>
			<p>Deployed the site and then worked closely with their IT team and web host to debug an SMTP issue that arose because of a hosting security configuration that their tech initially thought was not the cause.</p>
			<p><a href="http://armandproducts.com">Visit the site</a></p>
		</section>
	</div>
</article>		<article class="work-sample">
	<h3>Integra sales app</h3>
	<div class="flex-container">
		<div class="img"><a href="https://cms.sales.integralife.com"><img src="/img/integra.jpg" alt="Integra Sales app"></a></div>
		<section>
			<p>I came up with search optimizations, moving rebuilding the cache tables to an independent job queue, and moving them from php5.6 to HHVM (php7 was not officially released at the time), all contributing to massive speed gains and a significantly better user experience.</p>
			<p>When we went live performance was still far from acceptable. Server specs were not what we had requested, a network node throttled transfer speeds to the NJ region, which included the client's HQ. Also, the live data structure deviated from our working test data so I had to rework the content/permissions algorithms.</p>
			<p>Created a Laravel mail driver to send emails through the SalesForce API to meet security requirements and migrated them to php7.</p>
			<p><a href="https://cms.sales.integralife.com">Visit the site</a></p>
		</section>
	</div>
</article>		<article class="work-sample">
	<h3>Becker website</h3>
	<div class="flex-container">
		<div class="img"><a href="https://beckerlawyers.com"><img src="/img/becker.jpg" alt="Becker"></a></div>
		<section>
			<p>Worked with the front end developer on many of the tougher design challenges (and there were a lot of them) and JS issues the developer was struggling with.</p>
			<p>Replaced the PDF generator plugin with a better command line tool. I had to get this working on our staging server as well, which was of course on a different OS.</p>
			<p>Migrated the site from their poorly-performing server to a reliable one on a Saturday because of a timing requirement.</p>
			<p><a href="https://beckerlawyers.com">Visit the site</a></p>
		</section>
	</div>
</article>		<article class="work-sample">
	<h3>All-Clad Beginnings</h3>
	<div class="flex-container">
		<div class="img"><img src="/img/allclad-beginnings.jpg" alt="All-Clad Beginnings"></div>
		<section>
			<p>This was the first of the All-Clad sites that we worked on. Because of a tight deadline, worked with another developer on different areas of the site.</p>
			<p>It set us on good terms with the client. In addition to the Chefs site, there was a third site, though I did not work on that one.</p>
		</section>
	</div>
</article>		<article class="work-sample">
	<h3>LG OLED</h3>
	<div class="flex-container">
		<div class="img"><img src="/img/lg.jpg" alt="LG OLED"></div>
		<section>
			<p>This was another tight deadline project. Worked closely with a designer over several iterations to develop the responsive experience for LG's new OLED product.</p>
		</section>
	</div>
</article>		<article class="work-sample">
	<h3>All-Clad Chefs</h3>
	<div class="flex-container">
		<div class="img"><img src="/img/allclad-chefs.jpg" alt="All-Clad Chefs"></div>
		<section>
			<p>Worked closely with the design team to develop a very custom and responsive experience for All-Clad's ambassadors site, which highlights top chefs and their use of All-Clad products.</p>
			<p>Included css and js refinements to offer an optimized experience for different display sizes.</p>
			<p>It is a static site but was set up with an expectation that it <b>might</b> later be converted into a CMS. So it uses MVC, but the content comes from a complex configuration resembling a relational database rather than a database.</p>
		</section>
	</div>
</article>		<article class="work-sample">
	<h3>JK Design website</h3>
	<div class="flex-container">
		<div class="img"><img src="/img/jkdesign.jpg" alt="JK Design"></div>
		<section>
			<p>I wasn't the primary developer for this iteration of the site because of project scheduling issues, although I assisted the developer that did and maintained it.</p>
			<p>But one of the interesting recent additions I added was integrating a SnapApp questionnaire with our MailChimp account. SnapApp has integration options for multiple mail SaaS providers, but not the one our Digital team needed.</p>
		</section>
	</div>
</article>	</div>
</div>	<div id="what" class="large-text hide-small" data-section="#what">
	<div class="constrain-narrow">
		<h2>What?!</h2>
		<p>The favicon is a small version of an image from a rendering I made of a binary version of PI <a href="img/Universal2007-10-23.jpg">Here</a>.</p>
		<p>The background image at the top of the page is a DSLR's shutter (I like photography) but haven't been snapping many photos lately.</p>
		<p>What did I start programming on? A Casio graphing calculator.</p>
		<p>Years ago, I wrote a 3D room you could explore using Visual Basic 1 (it was for DOS, so many, many years ago). I textured the walls with smiley faces.</p>
		<p>My brother and I wrote a reverse ray trace program for rendering 3D parametric equations during college in our free time.</p>
		<p>At the last office I worked in I was almost always the first one so I'd open it'. A colleague I had worked with a couple years had to start early one day because he was traveling in the afternoon. As he came to the top of the steps I heard him say with some surprise, "So the stories are true!"</p>
		<p>Most of my career has been as a developer but my degree is a B.S. in Biology. Software development was originally just a hobby.</p>
		<p>Many of my comics posted at <a href="https://comics.scottk.net">comics.scottk.net</a></p>
	</div>
</div>	<div id="code" class="large-text hide-small" data-section="#code">
	<div class="constrain-narrow">
		<h2>Code Samples</h2>

		<p>
			My portfolio site was originally built as a static HTML page. I changed it into a simple PHP template system to make maintaining it easier without introducing third-party dependencies on my limited VPS.
			<a href="/samples/scottk.net.zip" class="download">scottk.net</a>
		</p>
		<p>
			Prior to scottk.net being the current portfolio page I wanted to bring back my web comics as a separate sub domain. I wrote a quick MVC framework with pattern-matching router and database migrations that would run on the current limited VPS host - so minimizing the need for dependencies or running the command line:
			<a href="/samples/comics.scottk.net.zip" class="download">comics.scottk.net</a>
		</p>
		<p>
			Sample of Laravel/Vue code from NXTCLB, which is still under construction.
			<a href="/samples/nxtclb.com-sample.zip" class="download">NXTCLB</a>
		</p>
		<p>
			Sample of JavaScript algorithms used to create some of my comics targeted at web developers and programmers.
			<a href="/samples/comic-algorithms.zip" class="download">Comic Algorithms</a>
		</p>
	</div>
</div></main>



<footer data-section="#what">
	<div class="constrain">
		<p id="c"></p>
	</div>
</footer>		<script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
		<script>window.jQuery || document.write('<script src="js/jquery-3.2.1.min.js"><\/script>')</script>
		<script src="js/modernizr-custom.js"></script>
		<script src="js/smooth-scroll.min.js"></script>
		<script src="js/scottknet.js?q=2022-10-15-001"></script>
	</body>
</html>
