Curves Mobile App Kit

Pages and apps

58 page templates, seven packs and nine demo apps (Wallet, Trips, and each pack with its own welcome screen), built only from the kit's components. Open one, change the words and pictures, and keep the structure.

Page templates

PageBuilt from
Splashmk-splash, wordmark, spinner; goes on to onboarding after 2.6 seconds
OnboardingCover carousel, steps, Skip and Next
Sign in, sign up, forgot password, verifymk-auth hero with the curve, form card, fields, steps, one-time code with resend timer
Profile, edit profileAvatar, stats, lists, sign-out dialog, form
SettingsAccent, mode and depth pickers, switches, lists
NotificationsFilter chips, lists grouped by day, unread dots
Plansmk-plan cards, monthly or yearly switch
ChatBubbles, day separator, curved composer
Activity, calendarPill tabs and timeline; month grid with event dots and agenda
Help, contact, about, termsSearchable accordion, contact list and form, cover and team, sections with an index
404, offline, maintenancemk-state full-screen states; the offline page is also the service worker's fallback
Splash with photo, minimal splash, pick your interestsPhoto cover under the curve; wordmark only; interest chips that unlock Continue at three
Creator profile, language and region, compare plansCurved hero, follow toggle, tabs and gallery; language list that switches direction live; comparison table with a sticky first column
News, article, immersive story, readermk-article, mk-quote, mk-figure; cover with a curved corner; articles in a full-height sheet with a text size control
FeedOne feed shown as cards, a grid or a list; the choice is remembered and animates with the View Transitions API
Events, event detailsmk-date tiles, filter chips, ticket sheet
App landing, product landing, cover, coming soonCurved hero, mk-store-badges, mk-features, how it works, FAQ; mk-countdown
Services, team, careersNumbers that count up, team grid, job list with an apply sheet and file upload
People lists, business cardFour list styles; mk-vcard that downloads a real .vcf contact
Tasks, projects, data table, system statusmk-task and mk-priority with add, tick and a progress ring; project cards; mk-table with sorting and search; mk-status and mk-uptime bars
Gallery, map, embedsGallery with chip filter and view switch; mk-map pins that open a place sheet; mk-embed videos and maps that load only when tapped
Payment methods, addresses, security, notification settings, privacy and dataBank card, default radio list and an add-card sheet; addresses with a menu per row, Undo and "use my location"; password change with a strength meter, two-step switch, devices and sign-out dialog; push, email or SMS chips per topic with quiet hours (security alerts stay on); data download, choices, cookies and a delete dialog. Linked from Settings.
Messages, invoice, exchangeInbox with search, filter chips, unread counts and swipe to archive; tax invoice with VAT, a QR code and print or save as PDF (the bars don't print); currency converter with swap, rate and a 7-day MKChart.line.

Packs

Two small apps that show the kit in other industries. Each has its own bottom bar and accent theme.

Wallet (finance, 14 screens)

Open apps/wallet. Violet theme.

Trips (travel, 12 screens)

Open apps/trips. Lagoon theme.

Making a page yours

  1. Copy the page and keep the <head> as it is (fix the relative paths if you move it).
  2. Change the words. If you don't need Arabic, remove the data-mk-ar attributes; if you do, serve your own translations.
  3. Replace the demo pictures with your own: photos are in docs/assets/photos, drawings (avatars, map) in docs/assets/img. Keep the file names and nothing else needs to change.
  4. Set the theme on <html> (data-mk-accent) or make your own with the theme builder.
  5. Keep the curved bars. They are what makes an app built with this kit recognisable.

The page generator

Every page is generated from a short fragment in src/site/ with a settings comment at the top:

<!--mk {"title":"Bills","titleAr":"الفواتير","layout":"app","app":"wallet","tab":"home","back":"home.html"} -->
<section class="mk-card">…</section>

Layouts: component (kit demo pages), app (demo-app screens with their own bottom bar), bare (full-screen pages) and docs. Run npm run pages to regenerate. The finished HTML is plain, so you can also stop using the generator and edit pages directly.