Skip to content

Persist UI configuration


  • Difficulty: Medium
  • Skills needed: Python, SQL, JavaScript
  • Skills that could be helpful: Django, SQLAlchemy, Svelte, TypeScript
  • Length: Medium (~175 hours)

The Problem

  • Mathesar currently does not persist certain user-defined configurations, such as:
  • Column widths in tables and explorations
  • Open/closed state of the Table Inspector and Exploration Inspector
  • Sidebar widths
  • The objectives of this project are to:
  • Identify any other non-persisted user configurations
  • Store the aforementioned information in the backend


  • Come up with a specification document containing the database schema, backend work, and API request/response structure necessary to persist the data mentioned in “The Problem” section.
  • Work with the Mathesar backend and frontend teams to finalize the specifications.
  • Implement the necessary backend work.
  • Implement the frontend work to send API requests when user modifies any of these configurations.

Expected Outcome

  • Users’ changes to the UI should be persisted as described in “The Problem” section.

Application Tips

  • Show proficiency in the required skills.
  • Provide a preliminary approach to solving the challenge, including the database schema and API specifications.
  • Demonstrate a good understanding of the Mathesar codebase.


Primary Mentor: Dominykas Secondary Mentor(s): Pavish Kumar Ramani Gopal