jaames.co.uk
My personal site – the one you’re reading right now! If you’re interested in how it was built, I put together a little article about exactly that.
My personal site – the one you’re reading right now! If you’re interested in how it was built, I put together a little article about exactly that.
Web-based player and converter for animations made with Flipnote Studio and Flipnote Studio 3D – beginner-friendly animation apps for the Nintendo DSi / 3DS.
The export options within both of these apps have always been considered… lacklustre. However, since native Flipnote files can be saved to an SD card and transferred to a PC, I thought it might be neat to build a web tool where users can just drag & drop these files to view and convert them into standard formats.
There was a lot of reverse-engineering and optimization involved to make that possible, but it’s since become a go-to tool within the Flipnote community. It’s especially cool seeing so many artists using it to share their work online, such as Kéké, svdpony, Zane Little, and raxd!
A JavaScript colour picker library, and also my longest-running open source project! I’m slowly working on a rewrite focusing on better UI, modularity and extended functionality, including adding support for a bunch of extra colour models and all the new CSS colour features.
It’s kinda wild how often I come across it organically; I once set up some Nanoleaf lights only to spot it in their web-based control panel, and I noticed it in Mt. Mograph’s Motion Toolkit when I was trying out motion graphics tools.
A JavaScript library for parsing and playing animation files created with Flipnote Studio and Flipnote Studio 3D.
This is the underlying core that powers Flipnote Player, split into a library so that it can be used in other projects. It also has some extra quality-of-life features sprinkled on top, such as Web Component support to make embedding a Flipnote into your website as easy as using a <video> tag.
As well as Flipnote Player, it is currently used by the Playnote Studio landing page and community projects like Flipnote Archive and Kaeru Gallery.
Logo for Rabbitude, a group of folks that were working on reverse-engineering the rabbit r1 “AI assistant” device, exposing its flaws and maybe even slightly redeeming it from its fate as future e-waste? :^)
JavaScript library that facilitates interacting with a Playdate console over USB; useful for things like capturing screenshots, controlling the console, or communicating with games. It inspired some neat USB functionality in games like Shadow Gadget and Playwrite, before support was officially added to the SDK!
Documentation and tools for Playdate console internals, covering things like ROM file formats, serial protocol, APIs, etc.
I did the initial reverse-engineering and documentation myself, and then the project was passed on to the community who filled in the rest!
A digital painting app for the Nintendo Switch game console, aiming to apply game design philosophies to a creative tool.
I joined just before the wildly successful Kickstarter campaign (for which I can take no credit!), and as part of the small team I hopped between development, UI/UX design, QA, copywriting and community management.
This is also the first (and so far only) thing I’ve worked on that has shipped as a physical product on store shelves – it felt pretty validating to pick up a copy at the game store I used to frequent as a kid!
An app for the Panic Playdate that can play animations created with the DSiWare version of Flipnote Studio.
I was lucky enough to be part of the Playdate Developer Preview before the console was officially released (cheers, Matt!), so this was my way of getting familiar with the Playdate SDK. Plus flicking through animation frames felt like a super perfect use-case for the console’s crank!
A tool for viewing and editing user-created games made with the Game Builder Garage game for the Nintendo Switch.
Design, frontend and file format tooling for Flipnote Archive, a comprehensive archive of Flipnote Studio animations (over 44 million of them!) that were posted to the Flipnote Hatena online service prior to its closure in 2013.
A community-driven effort, informally led by me, to comprehensively reverse-engineer Flipnote Studio and Flipnote Studio 3D, with the goal of documenting their various file formats, web clients, and inner workings.
Logo for Inochi2D, an open-source 2D animation engine.
An overly elaborate April Fools’ prank involving fake screenshots of a Flipnote Studio app for the Nintendo Switch. Originally intended for some small fan communities that were “in” on the joke, it grew wildly beyond our control after somehow being picked up by gaming news sites - it apparently even trended on Twitter in a few places… (oops)
2D raster drawing and bitmap image encoding library implemented entirely in the SCSS/SASS stylesheet preprocessor language. Done mostly as a goofy technical exercise, rather than serving any practical purpose - it takes over a minute just to encode a small 32 x 32 image!
Text drawing plugin for Zdog, David Desandro’s quirky pseudo-3D graphics engine.
Python tooling to parse 3D models created with the PowerVR SDK and convert them to the standard GLTF model format.
Logo, branding, and early UI/UX exploration for an ill-fated image editor project. The goal was to create an alternative to “GIMP”, with a modernized user experience and more palatable branding. Sadly, it never quite got off the ground, however most of the branding assets were preserved by Heather Ellsworth here.
Web-based tool that can convert Flipnote Studio animation files into a format that is compatible with Clipnote Studio; a Flipnote-esque animation tool for Windows PCs that was created by Calcium.
API proxy & reverse-engineering notes for Dreams; a user-generated-content PS4 game created by Media Molecule.
Blog theme and branding for security researcher derrekr.
Experimental renderer for the proprietary vector-ish painting format used by Colors! 3D, created prior to joining the Colors Live team.
Logo, branding, and contributions to Kaeru Team, a group of developers building replacements for several of now-defunct online game services.
I mainly focused on Kaeru Gallery - a replacement for Flipnote Studio 3D’s online service - where I worked on reverse-engineering the app’s proprietary file formats and implemented tools for working with them.
Logo and branding for ShinyBlink, an organization creating open-source tools for LED matrix displays. Also made a personal logo for the project lead, Adrian Pistol.
The de-facto homebrew software launcher for the Nintendo Switch. I designed its logo as well as its initial UI and icons. My original mockups can be found here.
Blog theme and logo for security researcher Rasmus Moorats.
Logo and branding for Moonmoon, an open-source RSS feed reader.
Logo for the Nintendo Switch / Nintendo 3DS homebrew save editor.
Logo, branding, boot screen and various other graphical assets for Atmosphère, the popular Nintendo Switch custom firmware that provides extra features and enables users to load homebrew applications.
Logo and branding for the ReSwitched Team, a loosely organized group of modders and reverse-engineers who tinker with the Nintendo Switch.
I was invited to join the team in the very early days since I had been poking at the Switch’s hidden web browser. My involvement was ultimately quite minimal, although I did also contribute a small webpage for PegaSwitch, the first publicly available Nintendo Switch exploit toolchain.
A fan-made online service for Flipnote Studio that brings back the ability to post and share Flipnotes online directly from the Nintendo DSi console, replacing the now-defunct Flipnote Hatena service.
I joined as a fan who could barely write HTML, and there was always more to do than people to do it – so I just kept picking up whatever was needed next; UI/UX design, frontend and backend development, community management, and eventually reverse-engineering. I couldn’t have asked for a better project to cut my teeth on! I moved on in 2017, but they’re still going strong.