Kim Slawson

Design

Optimized user experience for mobile, web, and print media.

Development

Quickly, accurately iterates from mockup or vision to reality.

Contact Kim to discuss your needs

Made in Maine

Profile

A designer and developer proficient in both screen and print media, Kim espouses simplicity and consistency. He speaks for the user, whose needs inform the design and development process from start to finish.

Kim’s work includes websites, product design, print design, logos and branding. He has experience working as a freelancer, with agencies, and directly for his clients.

Strengths

UI/UX design

Kim brings deep, cross-platform expertise in mobile, web, and print design, delivering intuitive, high-impact user experiences tailored to each medium.

Front-end development

HTML, CSS, JavaScript, oh my! Kim is a standards-bearer throughout the whole process. He even dreams in code*. As fun as this sounds (and looks in movies) in real life most of coding is debugging, not exactly the stuff of dreams.

Typography

Typography isn’t just a minor detail of a design, it’s the backbone. Kim sweats the spacing, the rhythm, the weight of every glyph. Bad kerning is a personal affront. Comic Sans? That’s war.


* no, really. He dreamt of vertical floats and combining horizontally-flowed and vertically-aligned elements only to wake up to the reality of poor browser support for layout of CSS-transformed elements.

Portfolio

Selected works including digital design, websites and webapps, print work, and product design.

Colophon

This site was developed in Midcoast Maine with love and care (and plenty of coffee). I couldn’t have done it without the help of the following:

  • Solarized color palette

    Precision colors for machines and people. (Thanks, Ethan)

  • Vim

    The ubiquitous text editor. (RIP, Bram)

  • CSS Responsive Grid Overlay

    A lifesaver for making sure that your columns and baseline grids are laid out properly. Go ahead! Try it for yourself on this site:

Blog

My (very) occasional ramblings.

Filter by tags:

June 2025

December 2016

July 2013

February 2013

Previously…

Older blog entries are available at the archive

Blog › 

New Site, Who Dis?

Tagged:

Design Development slawson.org

Today I’m proud to show off the latest evolution in my personal branding. This site uses the same color palette (Solarized) as the previous jQuery mobile-based site, but besides that it’s brand new. While the old site was mobile-focused, this new site takes advantage of larger screens and also reformats to display well on mobile devices. One thing that hasn't changed since 2013 is my personal brand — why mess with a good thing?

Two great tastes

Previously I struggled to represent the dual nature of my services, half design, half technology. This dichotomy led to me making two separate business cards; the better to serve both types of clientele.

Unfortunately, this extended to two separate but parallel websites, one for each audience. This fragmented digital presence proved fraught to maintain, bad for SEO, and entirely lacking in synergy.

Coincidentia oppositorum

Terence McKenna said, “It’s my assumption, whenever I am confronted with opposites to try to unify them.” I followed the wise words of the bard, and after a few sketches and rounds of prototyping I had something that seemed usable and elegant.

The two sides of my business — facets of my personality — if you will, are stacked like cards on top of each other. Transitions and animations are used sparingly, and to advance to plot, as it were. Scroll-snap helps navigate between sections, whether by swiping, using the arrow keys, clicking on the arrows beside the titles, or clicking on the navigation. Navigation in each domain happens independantly, so if the user isn’t linear and prefers to flip back and forth they can do so without losing their place.

Recent CSS advancements have made the implementation far easier than it would have been when I first envisioned it (thanks, Internet standards bodies!) That said, there’s nothing truly bleeding-edge, so it should render well across browsers and platforms (but please tell me if you find a bug).

Giving credit

I am grateful to those that make the tools and tooling that make development easier, shoutouts in the colophon section.

Maintaining a through-line with the last iteration of this site, I continue to use an old favorite, the Solarized color palette. I’ve kept the colors the same for my site, resume, and business cards: Blue means design, yellow is development, green is technology, and red is management. Recently, browsers and operating systems have begun supporting dark mode. Happily, Solarized ships with dark mode support baked in! Go ahead, choose sides:

Choosing the right type makes a design sing, so I‘m proud to continue using Hoefler&Co’s Mercury Text and Tungsten. Betting on the right horse from the start means never having to rebrand. Thanks, past me 🤝

Baseline, online

An elegant typographic weapon from a more civilized era, the baseline grid helps maintain rhythm and flow on the printed page, and is table stakes in any respectable desktop publishing tool. Not so much on the web, where measures of text and alignment are fluid. There have been attempts to make native baseline grids in CSS, but for now it’s a labor of love, and somewhat of a manual process. I’ve done what I can to ensure that most of the text on the site conforms to a 28px baseline. You can, as the old adage goes “trust, but verify” by turning on the baseline grid overlay.

A stable foundation

It’s my hope that this design and implementation will pay dividends down the line. I look forward to living in this cozy digital home for a long time.

Blog › 

Shorthand Stack: Font Shorthands for Consistent Metrics in CSS Font Stacks

Tagged:

Development

Inconsistent font metrics are the bane of a front-end developer’s attempt to present as uniform as possible an appearance across browsers and platforms. Different fonts can have different metrics that cause unexpected differences in layout and positioning. When matched poorly in CSS font stacks, fallback fonts with metrics sufficiently different from the specified font can cause jumps and realignment as the browser loads the fallback font.

Problem, Solution.

To address all of the above deficiencies in mismatched CSS font stacks I have pinpointed a simple, concise, reliable solution*. It uses repeated declarations of the CSS2 font shorthand property, progressively overriding each other. In contrast to the CSS font stack order of most-preferred to least-preferred, this technique progresses from least-preferred font rule to most-preferred font rule.

Exempli Gratia

A classic CSS font stack is ordered in descending preference, as follows:

font-family: CharisSILW, Georgia, serif;

Let’s see the difference in metrics between these three fonts before compensation:

  • serif
  • Georgia
  • Charis

Checking the fallback fonts in the latest project I was working on, I noticed that Times (the font my system picks for serif) is substantially smaller than either Georgia or the desired Charis. To compensate, I’ve increased the font size to 18px for serif and adjusted the line height proportionately to 1.125em. My shorthand stack technique works as follows:

font: 18px/1.125em serif;
font: 16px/1.25em Georgia;
font: 16px/1.25em CharisSILW;

Note that while Georgia and Charis have similar optical sizes, they have substantially different vertical positions. This technique corrects for both optical size and vertical position by allowing separate combinations of font size and line height per font. After compensation:

  • serif
  • Georgia
  • Charis

Note that while this technique is less elegant than stacks based solely on font-family, it has the advantage of giving added flexibility whilst being almost as concise. Feel free to reach out on Twitter to discuss the #shorthandstack idea, and if you know of prior art, let me know!

What the FOUC?

A related issue, albeit one not covered in the scope of this technique, is the so-called FOUC (Flash Of Unstyled Content) or FOUT (Flash Of Unstyled Text).


* And yes, I know about font-size-adjust, but the browser support is abysmal. It also doesn’t allow changes to line-height or other metrics.

Blog › 

CSS Clock with Connected Hands

Tagged:

Development

The idea came to me to implement a clock with connected hands, rather than the traditional arrangement having the hands pinned at the same point. It occurred to me that I could use CSS transforms and animation to move the hands. Below is a picture of a proof-of-concept that is animated using CSS. It produces neat shapes at certain times, notably equilateral triangles and zig-zags. It works in Firefox but renders more smoothly in Webkit-based browsers like Chrome and Safari.

The only Javascript that is used sets the initial position of the hands to the local time and updates the digits once a second, since that can’t (yet) be done in CSS. Check out the fiddle. I’m happy with the result, and even happier that front-end development with HTML/CSS/JS allows prototypes like this to be rapidly constructed and tested.

A complication of the hands being connected is that the clock tends to drift over time proportional to the movement of the hour and minute hand, since the CSS transformation doesn’t take into account the origin of the cascading frames of reference. If it were possible to set the frame of reference for rotation in CSS, this could be avoided. Perhaps in CSS version 4?

Blog › 

They Might Be Giants Interview

They Might Be Giants - John Flansburgh and John Linnell

Last week I was honored to interview John Flansburgh of They Might Be Giants. I came out of retirement from being a WRFR volunteer and DJ for one night only and for a good cause. Many thanks to Joelle and Rachel for letting me be a guest host on their show "Jo & Cheech’s Radio Hour" on WRFR. Edited 20130226: The hour-long interview was split into two parts and broadcast as two separate shows:

  1. Part 1, 20130219 (1:00:03, 52.2MB MP3)
  2. Part 2, 20130226 (58:26, 50.4MB MP3)

Nanobots

Notable talking points include:

TMBG iPhone app

I hope you enjoy listening to the show and the interview as much as I enjoyed putting it together.

Games


I run a one-man retro game studio churning out BASIC games for Atari computers for fun and absolutely zero profit.

These games are written in historic and contemporary BASIC dialects (TurboBasic XL and FastBasic), tested in emulation and on real hardware, commented for clarity, and (if being entered into a contest) obfuscated and minimized for brevity.

The ethos driving the development of these little games is "creativity from constraints" — the games may be sizecoded, but (hopefully) they’re still fun.

Give them a try and let me know what you think! If you’re a fellow game developer or retro computing enthusiast, get in touch!

Resume

Contact Kim

If you would like to get in touch to hire me, to discuss a project, or just to say hi, please:

Kernel Panic Consulting

Technology

Local and remote software, hardware, and networking support and solutions for businesses and individuals.

Management

Fractional CTO, technology direction, and project management services.

Contact Kernel Panic to discuss your needs

Made in Maine

Windows, Mac & Linux Computers

Yes, we do Windows! (and Mac, and Linux too)

Drop-off & on-site service

Drop off your equipment in Owls Head, Maine for service, or I’ll come to your location to help you out in person. I do house calls and offer on-call support to businesses.

Remote access & phone support

Call for troubleshooting and assistance over the phone or let your computer be controlled remotely — for those times you wish you could just show your screen to the person on the phone.

Configuration and updates

Let me handle the time-consuming and often complex task of setting up programs and equipment and keeping them properly up-to-date. Avoid downtime, data loss and other problems caused by improperly applied updates.

Backup and disaster recovery

Are your important documents, pictures, songs, videos and other files backed up in case of hard drive failure or disaster? Do you have a contingency plan in place for recovery from disaster? I can help ensure that your critical data is safe and secure.

Software & Hardware

Setup and configuration

Installing a new program or new operating system for the first time and unsure what to do? Rely on my experience and expertise to ensure everything is set up correctly the first time.

Application & operating system updates

Still running an older operating system and wondering if newer software will work with it? Looking to upgrade to the latest version of your operating system, but not sure what to expect? Trust my experience with upgrades of all sorts and sizes to effortlessly and painlessly migrate your programs, data, and workflow.

Purchasing, installing and maintaining components

Need more memory? A faster hard drive? I help you choose the right internal components to match your needs and budget — whether you’re upgrading an aging machine or building something new. Installation is handled carefully, with full testing to make sure everything runs smoothly. I also offer ongoing support to keep your hardware running well for the long haul, including cleanups, diagnostics, and preventive maintenance.

Researching, installing and supporting peripherals

Need a printer, webcam, or external drive that just works? I’ll help you pick the right device, install it properly, and make sure it plays nice with your setup. If something stops working, I’m here to fix it.

Network Design & Build

I help small businesses get fast, reliable, and secure networks in place — whether you’re starting fresh or fixing something that’s not working.

Smart planning

Good networks start with a clear plan. I look at your space, your team’s needs, and your growth goals to design a setup that works. Proper planning prevents guesswork and overkill.

Right-sized hardware

You don’t need the most expensive gear. You need the right gear. I recommend and source equipment that fits your budget and will hold up over time.

Secure, clean setup

Everything’s installed with care and configured to keep your data safe and your network running smoothly. No mess of wires, no open doors for bad actors.

Ongoing support

I stay available for updates, fixes, and changes as your business evolves. If something breaks, I help you sort it out quickly, with as little disruption as possible.

Websites & Web Apps

A well-crafted website or app is key to reaching your audience. I create clear, reliable, and scalable digital solutions that work smoothly across devices and grow with your needs.

Effective digital presence

With over 30 years of experience designing and developing for the web, I’ve been hands-on from the early days of HTML to today’s fully responsive, mobile-first ecosystems. Whether you need a single, elegant landing page or a robust custom application, I bring deep design and engineering expertise to deliver reliable, performant work — on time and on budget.

Cross-platform fluency

Today’s digital landscape spans phones, tablets, laptops, desktops, watches. Navigating that complexity requires more than boilerplate fixes; it demands an understanding of nuance. I build sites and applications that behave gracefully across devices and screen sizes, honoring each platform’s capabilities without compromise.

Standards-based design and development

I build on solid foundations: semantic HTML, accessible interfaces, progressive enhancement, and performance-aware front-end architecture. This isn’t about chasing trends; it’s about creating durable work that’s fast, maintainable, and a pleasure to use.

System Administration

I help keep your systems secure, stable, and well-organized. Whether you’re running a single office or multiple sites, I make sure your infrastructure quietly and reliably supports your work.

Vulnerability testing & monitoring

Security isn’t one-and-done. I regularly scan systems for known vulnerabilities and misconfigurations. I help identify weak points before they become problems, and I set up monitoring tools to catch changes and threats as they happen.

Intrusion detection

I implement tools and strategies that watch for unusual activity, alert on threats, and log everything clearly. Whether you need a basic setup or something more advanced, I make sure you’re not flying blind when it comes to system breaches or suspicious behavior.

Email administration & filtering

From configuring Microsoft 365 or Google Workspace to setting up local mail servers, I manage email systems to keep them running fast and clean. I also implement filtering solutions to reduce spam and phishing, keeping inboxes useful and users safe.

User & group management

I organize access to systems and data with clear policies. I set up users, manage permissions, and build out sensible group structures to match how your team actually works. Applying "zero-trust" principles ensures that people get access to everything they need, and nothing they don’t.

Package management

Stuck in dependency hell? Give me a call. Whether it’s Linux, Windows, or Mac, I maintain systems through smart, safe updates. I manage software repositories, apply patches, and keep essential services up to date without disrupting day-to-day operations.

Technology Management

I help small teams and businesses stay on track and move faster. I bring technical and creative leadership to projects that need direction and follow-through.

Fractional CTO

Need tech leadership but not full-time? I step in as your part-time CTO. I help define goals, set priorities, and guide decisions. I translate business needs into technical plans that make sense and get results.

Project Management

I keep projects moving. I track tasks, set timelines, and remove blockers. I work well with developers, designers, and stakeholders. I know how to lead teams without adding noise.

Process & Workflow Improvement

I find what’s slowing you down and fix it. I bring structure where needed and cut out waste. Whether you’re building software or managing content, I help your team work better together.

Operations Oversight & Support

I keep day-to-day systems running smoothly. From network gear to cloud accounts, I set up tools, support staff, and maintain systems. I plan ahead so small issues don’t turn into big ones.

Pricing & Service Areas

  • I offer free estimates to help you understand your project scope and costs upfront.
  • Break/fix services are billed at $85 per hour.
  • For ongoing support or larger projects, retainer and project-based rates are available upon request.

Solutions that fit your budget

I understand that every business has unique financial and time constraints. That’s why I work closely with you to scope projects realistically and prioritize tasks to fit your budget and schedule. Whether pacing work in phases or focusing on high-impact areas first, my goal is to deliver value without surprises — helping you make smart investments in technology that grow with you.

On-site service

I am based in Knox County and I provide on-site IT service and user support to businesses and individuals in the Midcoast Maine area. Areas outside of those listed below may incur travel or mileage charges.

  • Owls Head
  • South Thomaston
  • Thomaston
  • Rockland
  • Rockport
  • Camden
  • Warren
  • Cushing
  • Saint George
  • Tenant’s Harbor
  • Port Clyde

Contact Kernel Panic

Call or text Kim Slawson at 207-370-7401

Email him at kim@slawson.org

Business address

Kernel Panic
52 Ballyhac Road
Owls Head, ME 04854

Fill out the form below