Portfolio

I’m a mobile software developer specializing in writing native iOS and Android apps. I have many years of experience writing software applications and have a BS degree in Computer Science from UC Santa Cruz. I would be glad to speak with you about how to make your app ideas into reality!

Here are just some of the apps that I have developed.

Custom Cut App
PolyKeyboard App
Graffwriter App
AMP Coach App
AMP Athlete App
AMP SkillsQuest App
Mega Picker App
Lines App
511 QuickMatch Website

What others have said...


Carl has a fantastic work ethic, is quite capable, and finds creative ways to both solve and circumvent challenging iOS problems. We were lucky to partner with him at Hackerlist.

– Mek Karpeles, CEO Hackerlist.net

Carl is a great iOS engineer and came through for us on a gaming project at the last minute, solving problems other engineers could not solve. He allowed us to finally take our app to market after other engineers kept it tied up for weeks with bugs. It was a pleasure to work with him. I recommend Carl to any company or individual seeking a talented, easy going iOS developer.

– Leila Rose G., Managing Director, Lexplique.com

Carl is a pleasure to work with and he demonstrates timely responsiveness and technical competence. I would not hesitate to work with Carl again. He understood our needs and produced an innovative application in a timely manner within budget.

– Jon Eastlund, IT Manager, 511 Regional Rideshare Program

Contact Me

What do you get when you multiply 6 by 9?
Custom Cut

Custom Cut App

For iPhone 4/5 & iPad
VersionReleased
1.0July 24, 2014
2.0Nov. 15, 2014
2.1Feb. 19, 2015
RemovedJuly 2015
Frameworks Used
  • CoreGraphics
  • CoreAnimation
  • AVFoundation
  • GPUImage
  • AFNetworking
  • TOWebViewController

Custom Cut captures your measurements for custom made-to-order and off the rack clothing. With just two pictures we calculate your sizes without visiting a tailor or using a measuring tape. Using Custom Cut, you can confidently purchase tailored products, such as jackets, suits, shirts, and even off the shelf items, knowing they will fit to your own specific dimensions.

With Custom Cut, I worked on all aspects of app creation and deployment, including planning and design, native Objective-C programming, graphics editing, app screenshot marketing and deployment to the App Store.

Development included implementing account creation and login views with animated UI. I solved seemless integration between 2 separate server APIs: a shopping service, and a custom computer vision compute server. I replaced and improved an initial prototype UI/UX with a pan and zoom interface for body measurements, developing custom algorithms, and using Core Graphics and Animation. Then I refined it further using edge detection to fit measurements to body outlines. Delievered measurements to backend server for further refinement and processing. Integrated debugging & demo options through the Settings App, and seemless shopping through a modified web view.

The Custom Cut app and website were taken down in mid-July 2015 due to lack of funds. Below are screenshots of the app on the App Store, and to your left is a video of it in action. We later reduced the number of measurements required to a subset of what's shown in the video.

App Store Screenshots
PolyKeyboard

PolyKeyboard App

For iPad
VersionFinished
1.0June 2013
Frameworks Used
  • CoreGraphics
  • MessageUI
  • Custom Keyboard UIView

The PolyKeyboard App makes it easy to type in several languages with the same keyboard layout, based on a standard PC physical keyboard.

Traditionally, changing language settings means using a completely different keyboard layout. With the PolyKeyboard, you'll no longer need to switch between different layouts, because the same layout will accommodate all of its supported languages.

I developed this app for Polyglotte Inc. in the first half of 2013 from scratch, including all UI/UX, coding, and graphic design.

Given only the keyboard character layout in unicode from the client, I designed the entire interface for the iPad, including the composition of graphics from a variety of sources and some of my own creation. The keyboard layout supported 6 shift states and 32 dead-key states, for a total of 38 layout combinations. I used UIPageViewControllers to simulate a notepad with realistic animated page flipping. Each note is timestamped and saved onto the iPad's local filesystem, and may be retrieved and exported to the user's computer using iTunes. Notes may be shared through email and social media. Additional features include a tutorial, a help document viewer, and a notepad font selector.

A beta version of the Polykeyboard was ready in time for an initial launch party, and within budget. Another developer built the latest version which includes language filtering with in-app purchasing.

Download on the App Store
AMP Coach

AMP Coach App

For iPhone 4/5 & iPad
VersionReleased
1.0Dec. 20, 2012
2.0Nov. 24, 2013
Frameworks Used
  • CoreData
  • CoreMedia
  • CoreGraphics
  • AVFoundation
  • ImageIO
  • MessageUI
  • MKNetworkKit
  • PullToRefreshView

Athlete Management Platform (AMP) is a software platform for professional athletes and their coaches for improving athletic performance by optimizing management processes.

AMP Coach is an iPhone & iPad app for coaches to use to log training sessions while offline and sync that information to their athletes’ profiles once back online.

This was the first app that I created for AMP Sport, written in Objective-C from scratch during the second half of 2012, and contributed to in 2013. I worked with the project manager and server team in creating APIs as well as all aspects of UI/UX, design, and app store deployment.

Features:

  • Login with password reset
  • Email support
  • Search & list athletes with profile photos
  • Log and retrieve training session notes
  • Contact athletes and teams through phone, text, and email
  • Capture photos and video, with title, description, and athlete tagging
  • All functionality works offline and syncs to server once back online

Download on the App Store
AMP Athlete

AMP Athlete App

For iPhone 4/5 & iPad
VersionReleased
1.0May 21, 2013
1.1.2Aug. 12, 2013
Frameworks Used
  • CoreData
  • CoreGraphics
  • MessageUI
  • MKNetworkKit
  • CKCalendar

The AMP Athlete app provides players the capability to track their daily wellness, which is integrated with the AMP Sport system. This app will track heart rate, illness, hours slept, sleep quality, fatigue, mood, stress, motivation — and report back to the system. Coaches will be alerted of outliers and requests for contact immediately.

AMP Athlete is the second iPhone & iPad app that I developed for AMP Sport in 2013. I worked on all aspects from gathering requirements, initial creation, coding, defining server APIs, UI/UX, design, and app store deployment.

Features:

  • Login with password reset
  • Email support
  • Wellness reporting and tracking
  • Custom notes
  • Daily stats calendar
  • All functionality works offline and syncs to server once back online

Download on the App Store
AMP SkillsQuest

AMP SkillsQuest App

For iPad
VersionReleased
1.0Nov. 5, 2013
1.1Dec. 11, 2013
Frameworks Used
  • CoreData
  • MessageUI
  • MKNetworkKit

The AMP SkillsQuest app is used by the US Ski and Snowboard Association's Alpine Training System designed to motivate and reward athletes in working towards improving their abilities.

The app gives evaluators the ability to capture scores while on the slopes. After an evaluator logs in, the app retrieves lists of events, skills, athletes, and scores for each, which are then cached offline in a local database. The evaluator selects the skill and current athlete while on the slopes, and records scores, which are later synced to AMP Sport once they regain internet connectivity.

AMP SkillsQuest is the third iPad app that I developed for AMP Sport in the later half of 2013. I worked on all aspects from gathering requirements, initial creation, coding, defining server APIs, UI/UX, design, and app store deployment.

Features:

  • Login with password reset
  • Email support
  • Data retrieval, recording, and syncing using REST JSON APIs
  • All functionality works offline and syncs to server once back online

Download on the App Store
Mega Picker

Mega Picker! App

For iPhone 4/5 & iPad
VersionReleased
for classApr. 7, 2012
1.0Feb. 3, 2014

Mega Picker is a simple app that randomly generates lotto numbers specifically for the Mega Millions lottery. Double-tap on the screen and see the balls bounce around while generating your next winning lotto numbers!

This iPhone & iPad app was developed within a few hours and was created for a class that I taught in iOS development at the California College of the Arts in San Francisco in the Spring of 2012. The lessons targeted graphic designers with minimal coding experience.

Students learned how to create Storyboards, how to design graphics for multiple devices, how to write code for gesture recognizers, using timers, simple animations, styling controls, and email feedback from the app. Lesson notes are provided with the source code.

Download on the App Store
Source Code on Github
Lines

Lines! App

For iPhone 1-4 & iPad
VersionReleased
1.0Sept. 10, 2010
Frameworks Used
  • CoreGraphics

Lines! is the classic screensaver app. Run the app, then place your iPhone, iPod touch or iPad upright on the table. Or just hold it in your hand. Watch as the lines move and bounce off the walls, as they smoothly transition between multiple colors. It's really pretty mesmerizing. Hope you enjoy it!

Lines! was the first app that I developed and released on the App Store on September 10, 2010 for iOS 3, with several thousand downloads its first weekend of release. It's based on code that I wrote many years ago, and is my Hello World app for graphics!

I've written a version for Apple Watch, and plan to update the Lines! App as soon as watchOS 2 becomes available to the general public.

Download on the App Store
511

511 QuickMatch

Website
VersionReleased
1.0Nov. 2009
updatedJune 2015
Technologies Used
  • HTML/CSS
  • Javascript
  • jQuery
  • PHP
  • Perl
  • MySQL
  • Windows Server
  • XML/Atom

QuickMatch is a rideshare search engine that I architected, designed, and developed for 511 Rideshare in 2009, including a full admin interface. I also created the carpool search widget that can be found on the home page of 511.org.

OpenTrip is an XML Atom-based protocol that I designed and advocated for the exchange of rideshare data among rideshare services. The Quickmatch website implements this protocol. I presented OpenTrip at conferences, including MIT's Real-Time Rides Workshop in April 2009.

Visit the Website