Front-end Website & App Development
In 2017 we embarked on a quest to remaster the front-end. Since then we
have built things that we never could have imagined in JavaScript! In 2021 we
took on some interesting animation work and conquered loading process
animation (goodbye page jank... forever!). That project was built with
SvelteKit, but we eventually hit the wall... and so began our adventure into
custom Vite-based builds (while still using Svelte.js).
If you are interested in running Svelte.js outside of SvelteKit, you might
want to try out our starter kit repo, vite-plugin-ssr-svelte,
which will get you "just the minimum" needed to make a static site (this site
is based on it).
In 2023 we moved all of our Vue and Svelte.js projects to this Vite + Svelte.js
configuration as it seems to deliver the ultimate compile-time performance and
stability. Hosting and custom builds on 512MB of RAM in 2024? Yes it is
possible.
Why Us? Look at the things we do:
- Expertise with Svelte.js, SvelteKit, and custom Vite+Svelte builds
- Build process and webhook optimization
- Correct prerendering for best SEO
- Fix "janky" page loading problems
- Tasteful viewport animations
- Simple methodology for animation planning
- Visual parity between "no-JavaScript" and "animation-complete" versions of site
- Assistance with PCI compliance and accessibility (a11y) standards
- Search, taxonomy, and metadata solutions
- Marketing/Landing pages & Donation pages
- Feeds and APIs for alternative forms of access
- Minimalist hosting configurations
- Migrations to Svelte.js
- Data migrations and automated imports
- Gated content / virtual (optionally search-indexable) paywall content
- Multilingual (i18n) sites to meet every requirement
- Custom visualizations and reports with filtering, sorting, and exports
- Custom business & ecommerce workflows
- Custom-built frameworks for your unique problems
APIs, Databases & Distributed Systems
Our business started in the Content Management Systems space and we continue
to work with web "documents" but try to shy away from using
relational data systems so we can deploy content to a distributed
document store.
In a distributed system, if you have multiple servers and one goes down,
nobody should need to urgently know about it, nor should the admin have to
stop their life to get it going again. It will just keep going until the
janitor passes by.
We build so that our containers could run with a big vendor using all the
fancy orchestration tools, but we also run autonomously on commodity hardware.
Or in web functions or edge functions. Etc.
We believe in the philosophy that a team of 3 developers should be able to
manage a fully-scaleable system. So distributed data system is the only
answer. Some thinking and planning needs to be done upfront, but the benefit
is in the peace of mind and stability that comes from forethought.
Does it need to cost a fortune though? Apache Cassandra setup and support
may cost a bundle but don't forget documents can be stored in many
distributed systems, such as git. We can help you evaluate the scale of the
tasks you need done and help pick an appropriately priced runtime solution for
your datastore.
Recent offerings
- Database schema development
- ScyllaDB, Apache Cassandra distributed data evaluation
- Sqlite & Fossil
- Migration planning
- Data migration implementations
- Content type and field mapping
- Schema-based API implementations
- Git-as-a-database document solutions
- CSV, XML, TSV import/export
- Hosting and platform migrations
- Move your site to Digital Ocean
Unlike most other vendors in our industry we prefer to build and
support your project on an ongoing basis after the project is complete.
We build things to be maintainable so upgrades are easy and new features can
be added as we go.
Typical Ongoing Maintenance
- Help diagnosing misbehaving APIs and gateways
- Applying security updates
- Routine module and systems updates
- Monitoring and automated testing
- Implementing compliance, performance and security recommendations
- General editing support (for our point of contact on your team)
- Custom development tasks that fit within maintenance budget